TAPAC MCP
This server lets AI agents find and verify real-time B2B contacts directly through MCP.
tapac_find_contacts: Search for B2B contacts by industry, job titles, company size, location, and source (website, Telegram, or Discord).
Returns structured contact data: name, title, company, email, source, and verification status.
Email verification: Contacts are validated via SMTP at request time, reducing bounce rates.
tapac_status: Check server version and API-key state.
Built as a native MCP server, so it plugs into Claude, ChatGPT, Cursor, Codex, Windsurf, and other MCP-capable agents.
Supports custom result limits (default 10) and works with a free API key.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TAPAC MCPFind 10 VP Sales at US SaaS companies with verified emails"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TAPAC — MCP Server for B2B Contact Finding
Find & verify B2B contacts in real time. Scrapes company websites, Discord, and Telegram — then validates every email via SMTP. Built as a native MCP server, so Claude, ChatGPT, Cursor, and any AI agent can call it directly.
Install in one command:
uvx --from git+https://github.com/axelfreeman/tapac-mcp tapac-mcpThen ask your agent: "Find 20 VP Sales at US SaaS companies with 50–500 employees."
Why TAPAC
Databases rot. 23% of contacts change jobs every year (ZoomInfo 2025), 40% of emails die within 2 years (NeverBounce). Buy a contact list and a quarter of it is stale before you send a single email.
TAPAC doesn't sell a database. It scrapes live and validates at request time:
TAPAC | Static DBs (Apollo, ZoomInfo, Hunter) | |
Data source | Real-time scraping | Frozen snapshot |
Bounce rate | 2–5% | 10–35% |
Validation | SMTP, in the moment | None / after the fact |
MCP / AI agents | ✅ native | ❌ |
Discord / Telegram | ✅ | ❌ |
Pricing | Pay-per-use, $0.10–0.50/contact | $34–$15,000+/mo or /yr |
Related MCP server: Bytemine MCP Server - Contact Search & Enrich
Quick Start
1. Install
uvx --from git+https://github.com/axelfreeman/tapac-mcp tapac-mcpRequires uv (one-liner installer: curl -LsSf https://astral.sh/uv/install.sh | sh).
2. Wire into your agent
The same command + args work everywhere. Pick your agent:
Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"tapac": {
"command": "uvx",
"args": ["--from", "git+https://github.com/axelfreeman/tapac-mcp", "tapac-mcp"]
}
}
}Claude Code (terminal):
claude mcp add tapac -- uvx --from git+https://github.com/axelfreeman/tapac-mcp tapac-mcpCodex (OpenAI) — ~/.codex/config.toml:
[mcp_servers.tapac]
command = "uvx"
args = ["--from", "git+https://github.com/axelfreeman/tapac-mcp", "tapac-mcp"]Cursor — .cursor/mcp.json:
{
"mcpServers": {
"tapac": {
"command": "uvx",
"args": ["--from", "git+https://github.com/axelfreeman/tapac-mcp", "tapac-mcp"]
}
}
}Windsurf — ~/.codeium/windsurf/mcp_config.json (same JSON as Cursor).
DeepSeek — the chat app doesn't register local MCP servers natively. Use DeepSeek through an MCP-capable client (Claude Code / Cursor with the DeepSeek API), or connect to the hosted endpoint https://tapacapi.com/mcp/sse.
3. Get your free API key
First run points you to https://tapacapi.com/get-key. Set it once:
export TAPAC_API_KEY=your_key_here4. Ask for contacts
"Find 20 VP Sales at US SaaS companies with 50–500 employees, verify emails."
The agent asks for the criteria it needs, calls tapac_find_contacts, and returns verified contacts (name, title, company, email, source, verification status).
100 free searches, no credit card.
Tools
tapac_find_contacts
Find and verify B2B contacts.
Param | Type | Description |
| string | Vertical, e.g. "SaaS", "healthcare", "fintech" |
| string[] | Roles, e.g. |
| string | "50-500 employees", "startup", "enterprise" |
| string | "US", "Europe", "DACH", "remote" |
| string |
|
| int | How many contacts (default 10) |
tapac_status
Server version + API-key state.
Status
Live. Install it, wire it into your agent, grab a free API key, and ask for contacts.
Demo script (no MCP wiring needed)
See the tool output shape instantly — run the tools directly without wiring the server:
uv run scripts/demo.pyIt prints tapac_status() plus a sample tapac_find_contacts() call.
Skill (optional)
SKILL.md documents the TAPAC tools for any agent that loads skills. Install it with a symlink so git pull keeps it fresh:
ln -s "$PWD" ~/.agents/skills/tapacLinks
Website: https://tapacapi.com
Deep Research Guide: https://tapacapi.com/deep-research-guide.html
Free toolkit (self-hosted): https://github.com/axelfreeman/b2b-contact-mining-kit
Author: Axel Freeman
License
MIT.
Available Tools
2 toolstapac_find_contactsA
Find and verify B2B business contacts in real time.
Ask the user for these criteria before calling:
industry: vertical, e.g. "SaaS", "healthcare", "fintech"
job_titles: roles, e.g. ["VP Sales", "CTO", "Head of Growth"]
company_size: e.g. "50-500 employees", "startup", "enterprise"
location: geography, e.g. "US", "Europe", "DACH", "remote"
source: where to search — "website", "telegram", or "discord"
limit: how many contacts to return (default 10)
Returns verified contacts (name, title, company, email, source, verification status) as structured data.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| source | No | website | |
| industry | No | ||
| location | No | ||
| job_titles | No | ||
| company_size | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While no annotations are provided, the description adds significant context by specifying that contacts are returned as structured data with fields like name, title, company, email, source, and verification status. It also discloses that contacts are verified, which is a behavioral trait. However, it does not mention authentication needs, rate limits, or what happens when no contacts are found—minor gaps that prevent a top score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct and well-structured, with a concise opening sentence followed by a bulleted list of criteria to ask for. Every sentence provides essential information without repetition or fluff. The structure is front-loaded with the main purpose, then details, making it easy for an AI agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity with 6 parameters, no required fields, and no annotations, the description covers the critical aspects: purpose, required user input, parameter semantics, and return structure. The presence of an output schema partially reduces the need to describe return values further. However, a note on error handling or empty results would enhance completeness for the agent, preventing it from being a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds substantial meaning beyond the input schema by defining each parameter with concrete examples (e.g., industry 'SaaS', location 'US'), which compensates for the 0% schema description coverage. For the limit parameter with default 10, it clarifies the purpose. This goes well beyond the bare schema definitions, making the parameters actionable for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find and verify B2B business contacts in real time.' The verb 'find and verify' combined with the resource 'B2B business contacts' and modifier 'in real time' makes the action explicit. It also distinguishes itself from the sibling tool 'tapac_status' by focusing on contact discovery rather than status checking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidelines by instructing the user to ask for specific criteria before calling the tool, listing each parameter with examples (e.g., industry 'SaaS', job_titles '[VP Sales, CTO, ...]'). This guidance clearly tells the agent when to use the tool—when it needs to collect these details from the user—and implicitly distinguishes it from the sibling tool 'tapac_status' which likely handles status queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tapac_statusA
Check TAPAC server status, version, and API-key state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates the tool performs a read-only check of status, version, and API-key state. While this implies safe, non-destructive behavior, there are no annotations to confirm. The description does not elaborate on potential latency, network dependencies, or error states, which would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using a single sentence that effectively communicates the three aspects the tool checks: server status, version, and API-key state. There is no extraneous text, making it easy for an AI agent to quickly interpret its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and the sibling tool is clearly for contact lookup, the description is largely sufficient for a status-check tool. However, the description does not explain the format or structure of the output, which could be important for an agent to interpret results, even though an output schema exists separately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters and has 100% coverage. Since no parameters exist, there is no need for the description to add parameter-level details, and a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks TAPAC server status, version, and API-key state. It uses specific nouns and verbs to describe the function, differentiating it from sibling tools that likely interact with contacts rather than checking server status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for health-check or diagnostic purposes, but does not explicitly state when to use this tool versus the sibling tapac_find_contacts. It lacks guidance on prerequisites or conditions under which a status check is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
tapac_find_contacts - First observed
tapac_status
TDQS
The two tools serve completely distinct purposes: one checks server status, the other finds contacts. There is no overlap or ambiguity.
Both tools follow a consistent snake_case pattern with the prefix 'tapac_', one describing a state (status) and the other an action (find_contacts). The naming is uniform.
With only two tools, the server feels thin for a contact-finding service, but each tool is clearly defined and serves a necessary function. It is borderline but not excessive.
The server covers the core operation of finding and verifying contacts with extensive filtering, plus a status check. Minor gaps like retrieving a specific contact by ID are absent, but the main workflow is complete.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
LinkedIn outreach MCP server — 19 tools for AI agents to prospect, sequence, and manage contacts.
Agent-native MCP server over 49M+ US public and government records, privacy-first, always current.
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAn MCP server providing real-time access to comprehensive B2B company and contact data for lead generation and business intelligence. It enables AI tools to search firmographics, discover key contacts, and automate personalized outreach workflows.32MIT
- FlicenseNot gradedqualityDmaintenanceBytemine MCP Server – Search 130M+ B2B contacts and enrich profiles with verified emails & phone numbers directly from Claude, Cursor, and other AI assistants via the Model Context Protocol.4-
- AlicenseNot gradedqualityDmaintenanceMCP server giving AI agents real-time web search, page scraping, company intelligence, email discovery, local lead generation, and a persistent knowledge graph. Pay only for what you use, no subscriptions.24MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that enables AI agents to discover and qualify B2B leads from Leadbay's knowledge base, with tools for lead research, enrichment, and outreach logging.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/axelfreeman/tapac-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server