Cold Leads

Používejte Cold Leads z Cursoru, Claude Desktop a Windsurfu přes MCP

Pro koho
Vývojáři, kteří používají AI asistenty v Cursoru, Claude Desktop nebo Windsurfu
Problém
Kopírování adres mezi asistentem, CRM a ověřovacím nástrojem je pomalé a náchylné k chybám a asistent, kterého požádáte o kontakty, si nějaké klidně vymyslí.
Řešení
Po připojení může asistent spravovat vlastní kontakty, importovat strukturované řádky, číst synchronizované konverzace, spravovat šablony a koncepty kampaní a připravit webový formulář. Odesílání vyžaduje výslovné potvrzení uživatele a podléhá ochraně souhlasu, odhlášení, DNC a limitům Cold Leads.
Co získáte
Asistent propojený s vašimi kontakty, e-mailovou schránkou a návrhy kampaní přes MCP nebo Node SDK.

Adresy, identifikátory a výsledky v příkladech jsou ilustrativní. Doména example.com je vyhrazená pro dokumentaci, takže skutečná kontrola těchto adres vrátí invalid.

Ukázky kódu jsou ve všech jazycích stejné, komentáře v nich jsou anglicky.

Co server nabízí

NástrojCo děláCena
search_leadsKontakty na doméně firmy (včetně subdomén), které už máte v CRM Cold Leads, s volitelným klíčovým slovem role, které se porovnává se jménem, lokální částí e-mailu, štítky, poznámkami a typem kontaktu. Vrací e-mail, jméno, firmu, telefon, fázi, štítky, ověření a do_not_contact.Zdarma
verify_emailKontrola syntaxe, jednorázových domén, rolových schránek a MX a navíc SMTP test schránky a accept-all, pokud Cold Leads dokáže otevřít SMTP spojení s poštovním serverem příjemce. Vrací validity, score, reasons, catch_all, disposable a role_account.1 kredit
CRM, inbox, šablony, kampaně, workspace a webové nástrojelist_contacts/import_contacts/update_contact spravují vaše kontakty (import až 100 strukturovaných řádků, deduplikace a kontrola DNC; CSV/XLSX parsuje asistent). get_conversation čte synchronizované zprávy; send_contact_message odešle jednu zprávu až po schválení. Šablony a koncepty kampaní lze spravovat a spouštět až po lidské kontrole a potvrzení. Webové formuláře ukládají inquiry, nikoli automatický souhlas s cold outreach.Zdarma; odesílání má limity účtu
provision_account_and_get_payment_link, check_provisioning_statusOnboarding bez klíče: platební odkaz Stripe pro vlastníka účtu (člověka), poté jednou API klíč. Jen v lokálním serveru.Bez kreditů

Cold Leads nemá externí databázi lidí ani firem. MCP pracuje jen s připojeným pracovním prostorem. Import souborů vyžaduje strukturované řádky a nic neodesílá. Webové poptávky mají consent inquiry; ověření adresy samo o sobě neznamená souhlas s kontaktováním. Hromadné kampaně zůstávají konceptem, dokud je člověk po kontrole nespustí.

  • Lokální server (stdio): npx -y --allow-git=root github:anttka4cz/mcp-server-coldleads s COLDLEADS_API_KEY v prostředí. Na npm publikovaný není; npx ho nainstaluje z GitHubu. Potřebuje Node.js 20 nebo novější. npm 12 instalace z gitu blokuje, pokud je nepovolíte, což pro tento příkaz zajistí --allow-git=root; npm 10 tento přepínač také přijme.
  • Hostovaný endpoint: https://coldleads.app/api/mcp, MCP Streamable HTTP. Použijte tajný API klíč nebo připojte ChatGPT přes OAuth. Nástroje spravují kontakty, konverzace, šablony a koncepty kampaní, umožňují potvrzené odeslání, spouštění schválených kampaní, informace o účtu, webové formuláře, vyhledávání a ověřování adres.
  • Klíč je tajný klíč (sk_…) z Nastavení → API klíče. API, a s ním i MCP, je součástí tarifu Business.

Cursor

Server zapište do ~/.cursor/mcp.json, chcete-li ho používat ve všech projektech, nebo do .cursor/mcp.json uvnitř jednoho projektu. Lokální server:

~/.cursor/mcp.json (lokální server)
{
  "mcpServers": {
    "coldleads": {
      "command": "npx",
      "args": ["-y", "--allow-git=root", "github:anttka4cz/mcp-server-coldleads"],
      "env": { "COLDLEADS_API_KEY": "sk_your_secret_key" }
    }
  }
}

Cursor se umí připojit i ke vzdáleným serverům s vlastními hlavičkami, takže hostovaný endpoint funguje bez Node.js. Cursor v url a headers dosazuje ${env:NAME}, takže klíč nemusí být v souboru:

~/.cursor/mcp.json (hostovaný endpoint)
{
  "mcpServers": {
    "coldleads": {
      "url": "https://coldleads.app/api/mcp",
      "headers": { "Authorization": "Bearer ${env:COLDLEADS_API_KEY}" }
    }
  }
}

Claude Desktop

  1. V systémovém řádku nabídek otevřete nabídku Claude (ne nastavení v okně chatu), zvolte Settings…, otevřete záložku Developer a klikněte na Edit Config.
  2. Soubor je na macOS ~/Library/Application Support/Claude/claude_desktop_config.json a na Windows %APPDATA%\Claude\claude_desktop_config.json. Přidejte blok níže a uložte.
  3. Claude Desktop úplně ukončete a spusťte znovu; MCP servery načítá jen při startu.
claude_desktop_config.json
{
  "mcpServers": {
    "coldleads": {
      "command": "npx",
      "args": ["-y", "--allow-git=root", "github:anttka4cz/mcp-server-coldleads"],
      "env": { "COLDLEADS_API_KEY": "sk_your_secret_key" }
    }
  }
}

Claude Desktop z tohoto souboru spouští lokální servery. Vzdálené servery se místo toho přidávají jako konektory v nastavení aplikace a posílání hlavičky s API klíčem z konektoru je beta, kterou mají jen některé organizace, takže lokální server je cesta, která funguje každému.

Windsurf (Devin Desktop) a Claude Code

Windsurf se 2. června 2026 změnil na Devin Desktop. V panelu Cascade otevřete vpravo nahoře nabídku … (Actions), v sekci MCPs klikněte na Open MCP config file, přidejte stejný blok mcpServers jako u Cursoru (lokální server) a uložte. Dokumentace Devinu pro tento soubor uvádí ~/.config/devin/mcp_config.json (na Windows %APPDATA%\devin\mcp_config.json); verze Windsurfu před přejmenováním čtou ~/.codeium/windsurf/mcp_config.json. Vzdálené servery se zadávají přes url (nebo serverUrl) s headers:

mcp_config.json (hostovaný endpoint)
{
  "mcpServers": {
    "coldleads": {
      "url": "https://coldleads.app/api/mcp",
      "headers": { "Authorization": "Bearer sk_your_secret_key" }
    }
  }
}

V Claude Code přidáte kteroukoli variantu z terminálu:

bash
# local stdio server (Node.js 20 or newer)
claude mcp add --env COLDLEADS_API_KEY=sk_your_secret_key --transport stdio coldleads -- npx -y --allow-git=root github:anttka4cz/mcp-server-coldleads

# or the hosted endpoint
claude mcp add --transport http coldleads https://coldleads.app/api/mcp --header "Authorization: Bearer sk_your_secret_key"

Prompty, které odpovídají skutečným nástrojům

  • Najdi v mém CRM Cold Leads kontakty na example.com se štítkem cto a ověř jejich adresy. (search_leads s doménou example.com a rolí cto, pak verify_email pro každý lead bez do_not_contact: 1 kredit za adresu.)
  • Které z mých kontaktů v Cold Leads na example.com jsou označené do_not_contact? (Jen search_leads, zdarma.)
  • Ověř anna@example.com a řekni mi, jestli se kontrolovala i samotná schránka. (verify_email; odpověď je v reasons: ok znamená, že poštovní server schránku přijal, smtp_unreachable, že se nekontrolovala.)
  • Zkontroluj těchto pět adres a podle kódů důvodu je roztřiď na odeslat, zkontrolovat a vyřadit. (verify_email pětkrát, 5 kreditů.)
  • S lokálním serverem a zatím bez klíče: nastav Cold Leads pro owner@example.com. (provision_account_and_get_payment_link vrátí platební odkaz, o kterém rozhodnete vy, člověk.)

Klíčové slovo role se porovnává se jménem, lokální částí e-mailu, štítky, poznámkami a typem kontaktu; pole pro pracovní pozici Cold Leads nemá. Chcete-li, aby hledání podle role fungovalo, dejte kontaktům štítek s jejich rolí (cto, ceo, sales). Výsledky nástrojů přicházejí jako kompaktní JSON:

Výsledek search_leads
{
  "status": "success",
  "domain": "example.com",
  "count": 1,
  "source": "crm",
  "leads": [
    {
      "email": "jan.novak@example.com",
      "name": "Jan Novák",
      "company": "Acme",
      "stage": "lead",
      "tags": ["cto"],
      "verification": { "status": "valid", "score": 75 },
      "do_not_contact": false
    }
  ]
}
Výsledek verify_email (poštovní server nedostupný přes SMTP)
{
  "status": "success",
  "email": "jan.novak@example.com",
  "validity": "valid",
  "catch_all": null,
  "score": 75,
  "reasons": ["smtp_unreachable"],
  "disposable": false,
  "role_account": false
}

Vyzkoušejte hostovaný endpoint z terminálu

Endpoint je bezstavový, takže jediný POST funguje i bez úvodního handshaku initialize. Je to zároveň rychlý způsob, jak ověřit, že je klíč platný a patří k účtu s tarifem Business.

bash
# list the tools of the hosted endpoint (free; counts toward 120 requests per minute)
curl -s https://coldleads.app/api/mcp \
  -H "Authorization: Bearer $COLDLEADS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

# call verify_email once (1 credit)
curl -s https://coldleads.app/api/mcp \
  -H "Authorization: Bearer $COLDLEADS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"verify_email","arguments":{"email":"anna@example.com"}}}'

Limity a náklady

  • search_leads je zdarma a vrací až 50 kontaktů na volání (výchozí je 10).
  • verify_email stojí 1 kredit za volání, i u výsledků z 30denní cache. Odpoví přibližně do 5 sekund: hostovaný endpoint dává každé kontrole časový limit 4,5 sekundy a lokální server žádá o 4 sekundy. Když limit vyprší, výsledek je risky s důvodem timeout a do cache se neukládá; pro delší kontrolu přijímá POST /api/v1/verify timeout_ms až 30 000.
  • Každý požadavek na hostovaný endpoint, včetně initialize a tools/list, se započítává do limitu klíče 120 požadavků za minutu. Lokální server volá API jen při volání nástrojů.
  • Tarif Business stojí $99 měsíčně a zahrnuje 10 000 kreditů měsíčně; další balíčky po 1 000 kreditech stojí $5.

Otázky

Najde asistent nové lidi ve firmě?

Ne. Cold Leads nemá databázi lidí ani firem. search_leads pokrývá jen kontakty ve vašem vlastním pracovním prostoru Cold Leads. Pro jméno, které už znáte, vrátí POST /api/v1/find nejpravděpodobnější adresu, označenou jako pattern, pokud schránku nepotvrdil poštovní server.

Lokální server, nebo hostovaný endpoint?

Lokální server funguje v každém klientovi, který umí spustit příkaz, a zvládne i onboarding bez klíče. Hostovaný endpoint nepotřebuje Node.js, ale funguje jen v klientech, které umí poslat vlastní hlavičku Authorization. Oba provádějí stejné kontroly.

Proč je catch_all null?

catch_all je známý, jen když poštovní server na test odpověděl, což poznáte podle posledního důvodu ok, catch_all nebo mailbox_missing. Jinak hostovaný endpoint i lokální server vracejí null: accept-all se netestoval, takže co se zkontrolovalo, zjistíte z reasons.

Kam patří můj klíč?

Do bloku env nebo do hlavičky ve vaší lokální konfiguraci MCP. Server ho posílá na coldleads.app jako Authorization: Bearer. Nevkládejte ho do chatu, a pokud unikne, přegenerujte ho v Nastavení → API klíče.