ClicknContact

Discover business contact emails and autoresponders from websites and forms using scraping, automation, and MCP agents.

GitHubスター

0

ユーザー評価

未評価

フォーク

0

イシュー

0

閲覧数

1

お気に入り

0

README

npm build license

📬 ClicknContact

ClicknContact is an open-source tool that discovers business contact emails from websites using scraping, form detection, and metadata extraction — powered by the Model Context Protocol (MCP).

When businesses hide their emails behind contact forms or directories, ClicknContact steps in — using automation to scrape, detect, and surface real inboxes, avoiding traps like `noreply@`.


🔍 Features
  • 🔗 Extract emails from `mailto:` links and page content
  • 📄 Detect forms and identify field names for smart submission
  • 🤖 Fully compatible with AI assistants and agent frameworks using MCP
  • 🔁 Can be extended to simulate form submission and track responder behavior
  • 🧩 MCP-native tooling, modular and ready to compose in workflows

🚀 Use Cases
  • Lead enrichment and B2B outreach automation
  • Discover real contact channels for customer service escalation
  • Research contactability across business sectors
  • Intelligent email validation pipelines

⚙️ Project Structure
ClicknContact/
├── src/
│   ├── tools/                  # MCP tool definitions (e.g., discoverBusinessEmail)
│   ├── utils/                  # Scraper logic, fetchers, processors
│   └── main.ts                 # MCP server setup and transport binding
├── test/                       # Tests (coming soon)
├── README.md
├── LICENSE
├── .gitignore
├── package.json
└── tsconfig.json

🛠️ Getting Started
git clone https://github.com/fabianwilliams/ClicknContact.git
cd ClicknContact
npm install
npm run build
npx @modelcontextprotocol/inspector node ./build/main.js

☝️ This starts the MCP server and connects to MCP Inspector, letting you test the `discoverBusinessEmail` tool interactively.


⚙️ Usage Modes
✅ Option 1: Global Install (for local dev or CLI use)
npm install -g @fabianwilliams/clickncontact
clickncontact

This makes the tool globally available via the `clickncontact` command.

✅ Option 2: Ephemeral (latest version every time)
{
  "tools": [
    {
      "name": "ClicknContact",
      "command": "npx",
      "args": ["-y", "@fabianwilliams/clickncontact"],
      "transport": "stdio"
    }
  ]
}

Perfect for Claude Desktop or cloud-based agents that should always use the latest published version.


🧪 Tool: `discoverBusinessEmail`

This tool accepts a list of website URLs and returns:

{
  url: string;
  best: string | null;       // best candidate email
  all: string[];             // all discovered emails
  formDetected: boolean;
  formFields: string[];      // name/email/phone/etc.
}

🧾 Input Format Example

You can test the `discoverBusinessEmail` tool using either JSON or Form input in MCP Inspector.

✅ JSON Mode
{
  "websiteUrls": [
    "https://macona.org",
    "https://openai.com"
  ]
}

This passes an array of strings to the tool, matching the expected `inputSchema`.

📝 Form Mode

Use the Form tab in MCP Inspector to enter each URL as a separate item in a repeating input field. The tool expects an array — so do not pass a single stringified object.

🖼 Visual Example

You can also view the difference here:

Input Formats: JSON vs Form


📦 Publishing

The tool is also available on NPM:

npm install @fabianwilliams/clickncontact

📜 License

MIT — use it, fork it, improve it, PR it. Let’s make smart contact discovery real.


👥 Contributing

We welcome contributors! Coming soon:

  • ✅ Issue templates
  • 🧪 Test harness
  • 🛠 Form submission engine
  • 💬 Discussions

Open an issue or start a PR — and let’s build together.

Built with ❤️ by @fabianwilliams

作者情報
Fabian Williams

FABIAN WILLIAMS is a Principal Product Manager on the Microsoft Graph Team at Microsoft & the Product Group Lead for the MVP program in Microsoft Graph

Microsoft CorporationWashington, DC

28

フォロワー

44

リポジトリ

0

Gist

11

貢献数

トップ貢献者

スレッド