Cold Leads MCP server
This server lets you search Cold Leads CRM leads, verify email addresses, and provision/pay for a Cold Leads account without an API key.
Search existing workspace leads by company domain, with optional role keyword and limit; returns contact details, verification status, and do_not_contact flag (free, read-only).
Verify an email address for syntax, disposable domain, role account, MX records, and when possible SMTP mailbox/catch-all; returns validity, score, and reason codes (costs 1 credit).
Create a pending Cold Leads account for a human owner and return a Stripe payment link for the Business plan.
Check provisioning status after payment and retrieve the API key once using the claim token.
Generates Stripe payment links for Cold Leads Business plan subscriptions during agent-assisted account provisioning, allowing the human owner to complete payment on Stripe.
Click on "Deploy 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., "@Cold Leads MCP server verify sarah@acme.com and check if it's catch-all"
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.
Cold Leads MCP server
Model Context Protocol server for Cold Leads, the B2B outreach CRM. It exposes the hosted workspace tools to local MCP clients (Claude Desktop, Claude Code, Cursor, Windsurf, VS Code): contacts, imports, synced conversations, templates, campaigns, website capture, lead search, and verification. Without an API key, it can also ask the human owner to approve a subscription.
npx -y @coldleads/mcp-serverTry it without a key
The hosted demo server has the same tools over a sample workspace (fictional contacts on .example domains). It never sends e-mail and uses no credits:
claude mcp add --transport http coldleads-demo https://coldleads.app/api/mcp/demoThen ask: "Verify these three contacts and prepare outreach drafts. Don't send anything until I approve. Jana Dvořák jana.dvorak@ridgeline.example, info@harborlane.example, Piotr Kowalski piotr@quillmetrics.example". Any client that supports remote (Streamable HTTP) MCP servers can use the same URL. A complete agent built on it: cold-leads-ai-sales-agent.
Demo limits:
Limit | Value |
Session | 24 hours from its start (not extended), visible only to that session |
Contacts | 10, including the 4 sample contacts |
Templates | 1 of your own (besides the sample template; update it with |
Campaign drafts | 1 |
Text length | notes 100 characters, template body 500, message 200 |
Requests | 120 per minute and 20 new sessions per hour per IP address |
Verification | sample results for the three demo prospects; other addresses get syntax, disposable-domain and role checks only (no MX or mailbox check) |
Sending | never: |
Related MCP server: Email Verifier MCP Server
Tools
Tool | What it does | Cost |
| Verification of one address: syntax, disposable domain, role account and MX records, plus an SMTP mailbox and catch-all check when Cold Leads can open an SMTP connection to the recipient's mail server (otherwise | 1 credit |
| Contacts already in your Cold Leads CRM for a company domain, with an optional role keyword: e-mail, name, company, stage, tags, verification status and a | free |
| List, import up to 100 parsed contact rows per call, and update contacts in your own workspace. Imports deduplicate, skip global DNC entries and do not send e-mail. CSV/XLSX parsing is done by the assistant. | free |
| Read mailbox-synced contact conversations or send one e-mail after explicit approval of recipient and content. Opt-outs, bounces and DNC are blocked. | sender/provider limits |
| Review, create and update workspace templates; content screening applies. | free |
| Inspect campaigns, prepare drafts and audience estimates, and launch only after human review and explicit confirmation. | plan and recipient limits |
| Everything known about one lead (contactability, history, last reply class, next action); the queue of replies waiting for an answer and due follow-ups; set a contact's next action (never sends e-mail); the audit log of API and MCP calls. | free |
| Social: connected social accounts (Bluesky, Mastodon, Telegram, LinkedIn, X, Facebook Pages, Instagram, Threads) and plan usage; autoposts and their posts; add a post to an autopost at a time or in the next free posting slot (published automatically while the autopost runs, or held for an admin's approval). Accounts are connected by the user in the app. | free |
| Comments, mentions and direct messages from connected accounts; reply on the same network only after explicit approval of the exact text ( | free |
| Read non-secret workspace/mailbox status or generate a public-only form key/snippet for your website. Website submissions are inquiry leads, not automatic cold-outreach consent. | free |
| For agents without a key: creates a pending account for the human owner and returns a Stripe payment link for the Business plan. The human decides and pays. | — |
| After the owner paid: returns the API key exactly once (with the | — |
Responses are compact JSON in a text block. An illustrative result for an address whose mailbox could not be checked (example.com is reserved for documentation):
{"status":"success","email":"jane.doe@example.com","validity":"valid","catch_all":null,"score":75,"reasons":["smtp_unreachable"],"disposable":false,"role_account":false}Errors come back as tool results with isError: true, for example {"status":"error","error":"rate_limited","message":"…","http_status":429,"retry_after_seconds":60}.
Requirements
A Cold Leads secret API key (
sk_…) from Settings → API keys. The API is included in the Business plan (10,000 verification and API credits a month; extra packs available).Node.js 20 or newer (CI tests 20 and 22).
No key yet? Start the server without one and let your agent call
provision_account_and_get_payment_link— see Agent onboarding.
Setup
Claude Desktop
claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"coldleads": {
"command": "npx",
"args": ["-y", "@coldleads/mcp-server"],
"env": { "COLDLEADS_API_KEY": "sk_your_secret_key" }
}
}
}Cursor / Windsurf
~/.cursor/mcp.json (Cursor) or ~/.codeium/windsurf/mcp_config.json (Windsurf) — the same mcpServers block as above.
Claude Code
claude mcp add coldleads --env COLDLEADS_API_KEY=sk_your_secret_key -- npx -y @coldleads/mcp-serverVS Code
.vscode/mcp.json:
{
"servers": {
"coldleads": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@coldleads/mcp-server"],
"env": { "COLDLEADS_API_KEY": "sk_your_secret_key" }
}
}
}Hosted endpoint (no install)
Clients that support remote servers can connect directly with a secret key:
{
"mcpServers": {
"coldleads": {
"url": "https://coldleads.app/api/mcp",
"headers": { "Authorization": "Bearer sk_your_secret_key" }
}
}
}The stdio server discovers workspace tools from https://coldleads.app/api/mcp and forwards their calls to the hosted MCP service, so the hosted and local tools use the same account, policy and sending safeguards. It also includes keyless onboarding tools. ChatGPT connects to the hosted endpoint with OAuth 2.1; enable Developer mode in ChatGPT, add the endpoint, sign in to Cold Leads and review the requested access. Other remote MCP clients can use the API-key header shown above.
Docker
docker build -t coldleads-mcp-server .
docker run -i --rm -e COLDLEADS_API_KEY=sk_your_secret_key coldleads-mcp-serverConfiguration
Variable | Default | Purpose |
| — | Secret API key ( |
|
| API base URL (for local development against a Cold Leads dev server). |
Agent onboarding without a key
The agent calls
provision_account_and_get_payment_linkwith the owner's e-mail.It shows the returned
checkout_urlto the human. The human reviews the plan and price on the secure Stripe page and decides whether to pay. The API gives the agent no way to pay, and the agent is told never to open or pay the link.The agent polls
check_provisioning_statuswithsession_idandclaim_tokenevery 15–30 seconds.After payment the first call returns
api_keyonce; this server switches to it immediately. Store it asCOLDLEADS_API_KEYfor the next start.The owner receives an e-mail to open the Cold Leads web app, where they can manage the subscription or rotate the key.
Only a request that carries the claim_token can collect the key; a status lookup without it never returns the key.
Responsible use
A verified address is not consent. You need a lawful basis to contact each person.
Never e-mail leads with
do_not_contact: true(opted out, bounced or on the do-not-contact list).Limits: 120 requests per minute per key; each verification costs 1 credit.
Development
npm ci
npm run build
npm test # schema, server and stdio child-process tests
COLDLEADS_API_KEY_FILE=path/to/key COLDLEADS_API_BASE=http://localhost:3000 node scripts/smoke.mjs # live checksLicense
MIT © 2026 Anton Tkachenko
Available Tools
4 toolscheck_provisioning_statusCheck the owner's payment and get the API keyAInspect
Checks an account created with provision_account_and_get_payment_link. Returns status pending_payment, active, expired or suspended. When active, the first call with the claim_token returns api_key exactly once: store it securely as COLDLEADS_API_KEY and send it as Authorization: Bearer . Poll every 15–30 seconds while pending_payment.
Inputs: session_id (required), claim_token (required).
provision_account_and_get_payment_linkSet up Cold Leads for the human ownerAInspect
Use only when no working Cold Leads API key is available (other Cold Leads tools return missing_api_key or bad_api_key) and the human wants to use Cold Leads. Creates a pending Cold Leads account for the human owner's e-mail and returns a Stripe payment link for the Business plan with API access (price in plan.price, billed monthly until cancelled). Show checkout_url to the human and let them decide; never open, pay or share the link yourself. Keep claim_token secret, then call check_provisioning_status until status is active to receive the API key once.
Inputs: owner_email (required), agent_id, callback_url.
search_leadsSearch leads by company domainARead-onlyIdempotentInspect
Search the leads already in your Cold Leads CRM for a target company domain: contact e-mail, name, company, phone, stage, tags, verification status and a do_not_contact flag. Covers only contacts in your own workspace (Cold Leads has no third-party lead database). Free, uses no credits.
Inputs: domain (required), role, limit.
verify_emailVerify an e-mail addressARead-onlyIdempotentInspect
Verifies an e-mail address: syntax, disposable domain, role account and MX records, plus an SMTP mailbox and catch-all check when Cold Leads can open an SMTP connection to the recipient's mail server (otherwise reasons contains smtp_unreachable and catch_all is null). Returns validity (valid, risky or invalid), a score and reason codes. Usually answers within a few seconds; costs 1 credit.
Inputs: email (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a distinct action: search_leads reads the local CRM, verify_email validates an address, and the two provisioning tools handle account creation versus status/API-key retrieval. The onboarding pair shares a domain but their descriptions clearly separate their roles, so an agent can pick correctly.
Names are consistently snake_case and predominantly verb_noun (search_leads, verify_email, check_provisioning_status). Only provision_account_and_get_payment_link is an unusually long compound, a minor deviation but still verb-led and readable.
Four tools is lean but each earns its place: one read, one verification, and a two-step account onboarding flow. Slightly thin for a CRM-style server but well-scoped rather than padded.
The domain spans leads, verification, and onboarding, but the lead surface only offers search — there is no create/update/delete or tag/stage management, so agents cannot populate or mutate the CRM. Core read+verify workflows work, but lifecycle coverage for leads has notable gaps.
Maintenance
Related MCP Connectors
Email verification and domain intelligence for AI agents, including single and bulk email checks.
Email verification and domain intelligence for AI agents. MX, RDAP, SSL checks. 25 free credits.
Search companies, enrich contacts, and reveal emails and phones from your AI agent.
Email verification for AI agents: verify addresses and lists, check credits, manage integrations.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to verify email addresses through a multi-signal probabilistic pipeline, returning confidence scores and honest statuses (safe/risky/invalid/unknown) with evidence.Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to verify email addresses in real-time, checking syntax, DNS, MX records, and SMTP handshake, returning verdicts and deliverability scores without sending actual emails.-
- AlicenseAqualityBmaintenanceEnables AI agents to verify email addresses and receive a 'send', 'hold', or 'kill' verdict with the reason, while also managing signup and credits programmatically.52MIT

Mailveri MCP Serverofficial
AlicenseAqualityCmaintenanceEnables AI assistants to verify email deliverability and check mailbox existence, manage bulk verification batches, and monitor verification credit balances directly from chat.61MIT