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 分