ClicknContact
Discover business contact emails and autoresponders from websites and forms using scraping, automation, and MCP agents.
GitHub Stars
0
User Rating
Not Rated
Forks
0
Issues
0
Views
0
Favorites
0
π¬ 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:
π¦ 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 is a Principal Product Manager on the Microsoft Graph Team at Microsoft & the Product Group Lead for the MVP program in Microsoft Graph
28
Followers
44
Repositories
0
Gists
11
Total Contributions