Cold Leads

io.github.anttka4cz由 GitHub 账号 anttka4cz 发布v1.0.2更新于 Oct 24, 2026

B2B outreach CRM for AI agents: contacts, verification, approved campaigns, replies, follow-ups.

已验证Streamable HTTP可网页运行商业与电商

概览

AI 生成的概览

让助手操作 Cold Leads B2B 外联 CRM:验证邮箱、搜索与导入联系人、起草活动、读取回复并发送已批准的邮件。

可以做什么
把 Cold Leads 托管工作区暴露给 MCP 客户端:verify_email 检查语法、一次性域名、角色账号与 MX 记录,在可连接时还做 SMTP 邮箱与 catch-all 检查,返回 valid、risky 或 invalid。search_leads、list_contacts、import_contacts、update_contact 管理 CRM 联系人;list_templates 与 save_template 管理模板;list_campaigns、create_campaign_draft、launch_campaign 准备并启动外联。get_conversation 与 send_contact_message 读取同步会话并在明确批准后发送一封邮件,get_lead_context、get_sales_next_actions、schedule_follow_up、get_agent_activity 提供线索背景、待回复队列、跟进与调用审计日志。
适用场景
当助手需要在已有的 Cold Leads 工作区内开展 B2B 外联时适用:验证潜在客户邮箱、导入或更新联系人、起草并启动活动、读取或回复邮件。还提供无密钥的托管演示工作区,可在不发送邮件、不消耗 credit 的情况下试用这些工具。
运行要求
可使用托管端点 Authorization Bearer 密钥请求头,ChatGPT 用 OAuth 2.1),或本地 npm 包 @coldleads/mcp-server 以 stdio 运行,需要 Node.js 20 或更高版本。工作区工具需要 Cold Leads 密钥 API key(COLDLEADS_API_KEY,sk_...),在设置中获取,包含于 Business 套餐;没有密钥时只能进行无密钥的代理引导。可选 COLDLEADS_API_BASE 覆盖 API 基础地址。
安装前请注意
需要密钥 API key(COLDLEADS_API_KEY,sk_...),可访问整个工作区,请妥善保存并在网页应用中轮换。发送类工具(send_contact_message、launch_campaign)会作用于真实线索,仅靠审批与策略检查拦截,批准前请核对收件人与内容。每次验证消耗 1 个 credit,API 属于付费 Business 套餐;引导工具会返回 Stripe 支付链接,应由本人决定并付款。地址验证通过并不等于获得联系许可,仍需有合法依据,且不得联系 do_not_contact 为 true 的线索。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Cold Leads,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.anttka4cz%2Fmcp-server-coldleads/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "cold-leads": {
      "type": "http",
      "url": "https://coldleads.app/api/mcp"
    }
  }
}

README

Cold Leads MCP server

[npm] [npm downloads] [license] [node]

[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.

bash
npx -y @coldleads/mcp-server

Try 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:

bash
claude mcp add --transport http coldleads-demo https://coldleads.app/api/mcp/demo

Then ask: "Verify these three contacts and prepare outreach drafts. Don't send anything until I approve. Jana Dvořák [email protected], [email protected], Piotr Kowalski [email protected]". 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:

LimitValue
Session24 hours from its start (not extended), visible only to that session
Contacts10, including the 4 sample contacts
Templates1 of your own (besides the sample template; update it with template_id)
Campaign drafts1
Text lengthnotes 100 characters, template body 500, message 200
Requests120 per minute and 20 new sessions per hour per IP address
Verificationsample results for the three demo prospects; other addresses get syntax, disposable-domain and role checks only (no MX or mailbox check)
Sendingnever: send_contact_message and launch_campaign still require approval, then return demo_not_sent

Tools

ToolWhat it doesCost
verify_emailVerification 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 reasons contains smtp_unreachable and catch_all is null). Returns valid, risky or invalid. Usually answers within a few seconds (the client gives up after 8 s).1 credit
search_leadsContacts 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 do_not_contact flag. Cold Leads has no third-party lead database.free
list_contacts, import_contacts, update_contactList, 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
get_conversation, send_contact_messageRead 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
list_templates, save_templateReview, create and update workspace templates; content screening applies.free
list_campaigns, create_campaign_draft, launch_campaignInspect campaigns, prepare drafts and audience estimates, and launch only after human review and explicit confirmation.plan and recipient limits
get_lead_context, get_sales_next_actions, schedule_follow_up, get_agent_activityEverything 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
get_social_overview, list_autoposts, schedule_social_postSocial: 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
get_social_inbox, reply_social_messageComments, mentions and direct messages from connected accounts; reply on the same network only after explicit approval of the exact text (confirm_send: true).free
get_workspace_info, setup_website_lead_captureRead 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
provision_account_and_get_payment_linkFor 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.—
check_provisioning_statusAfter the owner paid: returns the API key exactly once (with the claim_token). The server starts using it immediately.—

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):

json
{"status":"success","email":"[email protected]","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):

json
{  "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

bash
claude mcp add coldleads --env COLDLEADS_API_KEY=sk_your_secret_key -- npx -y @coldleads/mcp-server

VS Code

.vscode/mcp.json:

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:

json
{  "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

bash
docker build -t coldleads-mcp-server .docker run -i --rm -e COLDLEADS_API_KEY=sk_your_secret_key coldleads-mcp-server

Configuration

VariableDefaultPurpose
COLDLEADS_API_KEY—Secret API key (sk_…). Optional at start-up: without it the server still starts, lists tools and can run agent onboarding.
COLDLEADS_API_BASEhttps://coldleads.appAPI base URL (for local development against a Cold Leads dev server).

Agent onboarding without a key

  1. The agent calls provision_account_and_get_payment_link with the owner's e-mail.
  2. It shows the returned checkout_url to 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.
  3. The agent polls check_provisioning_status with session_id and claim_token every 15–30 seconds.
  4. After payment the first call returns api_key once; this server switches to it immediately. Store it as COLDLEADS_API_KEY for the next start.
  5. 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

bash
npm cinpm run buildnpm test                      # schema, server and stdio child-process testsCOLDLEADS_API_KEY_FILE=path/to/key COLDLEADS_API_BASE=http://localhost:3000 node scripts/smoke.mjs   # live checks

License

MIT © 2026 Anton Tkachenko

来源:README.md,提交 daca9f2

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

2
  1. v1.0.2最新Oct 13, 2026
  2. v1.0.1Oct 13, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分