Salesbot MCP Server – Dokumentace
Salesbot LinkedIn MCP server implementuje Model Context Protocol (Streamable HTTP) a umožňuje AI agentům (Claude, ChatGPT, Cursor) ovládat váš Salesbot účet — hledat leady, plnit kampaně, generovat a schvalovat zprávy.
1. Endpoint
POST https://app.salesbot.cz/api/mcp- Protocol: MCP
2024-11-05(Streamable HTTP, JSON-RPC 2.0) - Method:
POST - Content-Type:
application/json - Accept:
application/json, text/event-stream(povinné)
2. Autentizace
Každý request musí obsahovat hlavičku x-mcp-api-key s vaším MCP API klíčem (formát sb_mcp_…). Klíč vygenerujete v aplikaci Salesbot pod Nastavení → API → MCP.
x-mcp-api-key: sb_mcp_<YOUR_API_KEY>3. Konfigurace klienta
Vložte následující JSON do konfigurace svého MCP klienta (Claude Desktop, Cursor, ChatGPT Developer Mode atd.):
{
"mcpServers": {
"linkedin-automation": {
"url": "https://app.salesbot.cz/api/mcp",
"headers": {
"x-mcp-api-key": "sb_mcp_<YOUR_API_KEY>",
"Accept": "application/json, text/event-stream"
}
}
}
}4. Inicializace (raw HTTP)
curl -X POST https://app.salesbot.cz/api/mcp \
-H "x-mcp-api-key: sb_mcp_<YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": { "name": "my-client", "version": "1.0.0" }
}
}'5. Seznam nástrojů (tools/list)
curl -X POST https://app.salesbot.cz/api/mcp \
-H "x-mcp-api-key: sb_mcp_<YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/list" }'6. Dostupné nástroje
Vyhledávání & Discovery
search_linkedin_people- Vyhledá lidi na LinkedIn podle pozice, firmy, lokace nebo klíčových slov. S parametrem connectionsOnly pracuje s lokální cache spojení bez spotřeby search limitu. Výsledky se neukládají automaticky: ověřte relevanci, vyžádejte LinkedIn URL a uložte schválený profil přes upsert_linkedin_contact.
sync_linkedin_connections- Synchronizuje spojení 1. stupně přes Unipile relations do lokální cache. Respektuje cooldown a podporuje pokračovací kurzor.
search_google_xray- Google X-Ray search – prohledá veřejné LinkedIn profily přes Google operátory (site:linkedin.com/in). Vhodné, když nechcete spotřebovávat LinkedIn limity. Nalezené profily uloží do kontaktního seznamu ‚Google X-Ray‘ (s deduplikací) a vrátí jejich ID, připravené k přidání do kampaně nebo CRM.
search_linkedin_navigator- Projde připravenou URL hledání ze Sales Navigatoru nebo běžného LinkedInu a vrátí surové výsledky. Pro uložení profilu a získání contact_id následně použijte upsert_linkedin_contact.
search_job_postings- Hledá pracovní nabídky na LinkedIn dle klíčových slov, lokace, seniority, typu úvazku a dalších filtrů. Vrátí inzeráty s informacemi o firmě – ideální pro zjištění, kdo aktivně nabírá na konkrétní pozici.
search_web- Obecné Google vyhledávání na celém webu (ne jen LinkedIn). Hodí se pro hledání pracovních nabídek na portálech, informací o firmách, novinek a dalšího obsahu. Výsledky se neukládají do kontaktů.
get_job_posting_details- Načte detail konkrétního inzerátu včetně náborového týmu – recruitera nebo hiring manažera, který pozici vypsal. Ukáže i počet uchazečů a zhlédnutí.
Kontakty & Profily
get_contact_profile- Vrátí kompletní profil kontaktu z databáze – jméno (s vokativem), headline, firma, pozice, lokace, jazyk, status v kampaních, historie interakcí. Slouží AI jako kontext pro psaní personalizovaných zpráv nebo rozhodování o dalším kroku.
upsert_linkedin_contact- Importuje přesnou, již známou URL LinkedIn profilu. Pokud kontakt existuje, vrátí jeho ID; jinak jej vytvoří v seznamu CRM Imports. Jde o idempotentní cestu pro integrace před add_contacts_to_campaign.
list_contacts- Vypíše vaše kontakty s ID, jménem, firmou a aktuálním statusem (např. invite_sent, connected, replied). Podporuje filtrování podle lead_listu nebo kampaně. AI z tohoto výpisu vybírá ID pro další nástroje.
list_lead_lists- Vypíše skupiny kontaktů s ID seznamu, názvem, popisem a počtem kontaktů. ID seznamu použijte s list_contacts nebo add_contacts_to_list.
create_lead_list- Vytvoří pojmenovaný seznam kontaktů a vrátí list_id. Opakované volání se stejným názvem vrátí existující seznam místo duplicity.
add_contacts_to_list- Přesune existující kontakty podle contact_id do zvoleného list_id. Kontakt patří právě do jednoho seznamu, nejde o kopii.
enrich_contacts- Obohatí existující kontakty o kompletní LinkedIn profil přes připojený účet – headline, lokalitu, firmu, pozici, pracovní historii, vzdělání a dovednosti. Ideální po Google X-Ray vyhledávání; max. 8 kontaktů na volání.
Kampaně & Outreach
list_campaigns- Vypíše vaše kampaně s ID, názvem, statusem (draft/running/paused) a počty leadů. AI z toho čerpá campaign_id při přidávání leadů, generování zpráv nebo schvalování draftů.
list_campaign_queue- Vrátí stav kontaktů v kampani včetně campaign_contact_id, generování a schválení zpráv, naplánované akce a doporučeného dalšího MCP nástroje.
add_contacts_to_campaign- Přidá kontakty podle contact_id do kampaně, aplikuje blacklist a deduplikaci, ale nic samo neodešle ani nenaplánuje. Odpověď vrátí další krok, obvykle prepare_campaign_messages nebo start_campaign.
send_linkedin_message- Odešle jednorázovou LinkedIn zprávu konkrétnímu kontaktu mimo kampaň. Před odesláním je náhodné zpoždění 30–180 s kvůli anti-detekci. Akce se započítává do denního limitu zpráv a uloží se do historie interakcí.
send_connection_request- Odešle pozvánku ke spojení na LinkedIn. Zpráva je vždy prázdná (bez textu) – tak je nastavená politika, aby nedošlo k blokaci účtu, a to bez ohledu na typ účtu (free i premium). Akce se započítává do denního limitu invitations.
AI drafty & Schvalování
generate_campaign_message- Vygeneruje AI draft zprávy (Gemini) pro konkrétní kontakt a krok kampaně podle šablony a profilu leadu. Zpráva se NEodešle – uloží se jako návrh se stavem 'pending_approval' a čeká na schválení (např. přes Claude/GPT nebo ručně).
prepare_campaign_messages- Hromadně zařadí do generování až 10 chybějících draftů v kampani a ihned vrátí řízení agentovi. Stav pak kontrolujte přes list_campaign_queue nebo list_pending_approvals.
list_pending_approvals- Vrátí seznam všech AI draftů, které čekají na schválení – pro každý draft vrátí jméno kontaktu, headline, firmu a vygenerovaný text. Slouží jako vstup pro hromadnou kontrolu AI asistentem (Claude/GPT), který může drafty projít a rozhodnout schválit/zamítnout.
approve_message- Schválí draft a předá ho executoru k odeslání v rámci kampaně (s respektováním denních limitů a povolených hodin). Volitelně lze upravit text před schválením. Parametr skip_gpt_check=false navíc spustí druhou kontrolu přes gpt-5-nano – pokud GPT zprávu odmítne, draft se automaticky vrátí Gemini k přepracování podle GPT feedbacku.
reject_message- Zamítne draft s textovým feedbackem (např. 'příliš formální, zkrať na 2 věty'). Salesbot draft označí jako rejected a Gemini vygeneruje novou verzi podle vaší zpětné vazby, která opět čeká na schválení.
Správa kampaní
create_campaign- Založí NOVOU kampaň (uloží se jako 'draft', sama se nespustí). Zadáte název, profil a seřazené kroky (connect/message/visit, zpoždění, AI prompty). Vrátí campaign_id; leady pak přidáte přes add_contacts_to_campaign.
update_campaign_settings- Upraví nastavení existující kampaně: název, popis, denní limit, sender_context, auto-approve nebo status (paused/running). Mění jen zadaná pole.
start_campaign- Spustí (aktivuje) existující kampaň – naplánuje akce pro její kontakty a nastaví status 'running'. Kampaň musí mít kontakty a kroky. Respektuje denní limity, povolené hodiny a anti-detekční zpoždění.
stop_campaign- Zastaví běžící kampaň – nastaví status 'stopped' a zruší čekající naplánované akce. Pro dočasné pozastavení použijte update_campaign_settings se status='paused'.
Inbox & Odpovědi
list_inbox_chats- Vypíše poslední LinkedIn konverzace (inbox) v reálném čase – vrací chat ID, druhou stranu, počet nepřečtených a čas poslední zprávy.
get_chat_messages- Načte zprávy jedné LinkedIn konverzace v reálném čase (nejnovější dole). is_sender=true označuje zprávy odeslané vámi. Slouží jako kontext před napsáním odpovědi.
reply_to_chat- Odešle odpověď do existující konverzace pouze v povolených hodinách. Před odesláním se aplikuje náhodné lidské zpoždění přibližně 20–45 s a kontrola prompt-injection i nevyžádaných odkazů. Maximálně 2 AI odpovědi na vlákno a započítává se do denního limitu zpráv.
mark_chat_read- Označí LinkedIn konverzaci jako přečtenou (podle chat_id) – aby se vlákno po zpracování AI neobjevovalo znovu jako nepřečtené.
Posty & Limity & Web
publish_linkedin_post- Vytvoří LinkedIn příspěvek za připojený profil. Standardně se příspěvek uloží jako 'draft' na stránce LinkedIn Posts, kde ho uživatel zkontroluje a publikuje. Při auto_publish=true se publikuje rovnou – ale jen pokud MCP human-in-the-loop schvalování není zapnuté; jinak zůstane jako draft a uživatel ho publikuje v aplikaci. Před samotným publikováním je náhodné zpoždění 30–180 s (anti-detekce). Obrázkové přílohy lze přidat pouze v editoru příspěvků v aplikaci.
get_daily_limits- Zkontroluje hodinové, denní a měsíční využití, zbývající kvótu, typ účtu, stav ramp-up, povolené hodiny a doporučený cooldown.
scrape_website- Načte čitelný text veřejné webové stránky, aby ho AI mohla použít jako kontext při psaní/úpravě zpráv (např. web prospekta). Vrací prostý text (bez HTML, zkrácený) a nalezené kontaktní emaily (emails_found, vč. mailto odkazů). Týdenní limit počtu webů; interní/privátní adresy jsou odmítnuty.
LinkedIn účet
get_linkedin_status- Zkontroluje, zda je váš LinkedIn účet připojený a aktivní, a pokud ne, jak to napravit. AI tento nástroj volá jako první, když jiný nástroj hlásí, že účet není připojený.
connect_linkedin- Vygeneruje zabezpečený odkaz s vlastní doménou, který otevřete pro připojení (nebo opětovné připojení) LinkedIn účtu – bez nutnosti opustit chat.
CRM
set_deal_stage- Posune lead vaším CRM pipeline (fáze jsou konfigurovatelné – výchozí: Prospekt → Kontaktován → Demo → Vyhráno → Prohráno) a zaznamená změnu do historie. AI ho použije, když potvrdíte reálnou událost ('domluvili si demo').
log_crm_note- Uloží strukturované shrnutí konverzace ke kontaktu v CRM – stručný souhrn, pain pointy prospekta a celkový sentiment – aby další follow-upy zůstaly personalizované.
save_lead_message- Uloží vygenerovaný text oslovení k leadu (email, email follow-up, LinkedIn zpráva nebo LI follow-up) jako trvalý kontext v CRM. Neodesílá ho.
list_lead_messages- Vypíše zprávy uložené u leadu (email/LI drafty a follow-upy), od nejnovějších, abyste text mohli znovu použít před odesláním.
create_task- Vytvoří follow-up úkol, volitelně navázaný na lead a s termínem (plán Pro). Promění 'připomeň mi poslat ceník ve čtvrtek' ve sledovaný úkol.
get_lead_context- Vrátí kompletní CRM kontext leadu před psaním pitche: profil, aktuální fázi pipeline, poslední shrnutí konverzací, otevřené úkoly, poslední LinkedIn interakce a historii fází.
export_crm- Exportuje celé vaše CRM (leady s fází pipeline a klíčovými poli) jako CSV pro zálohu nebo otevření v Excelu.
update_contact- Aktualizuje kontaktní údaje leadu – email, telefon, lokalitu, firmu, pozici nebo headline. Použijte pro obohacení leadu (např. uložení nalezeného emailu). Změní se jen pole, která předáte.
list_tasks- Vypíše vaše CRM úkoly – filtr podle stavu (open/done/cancelled) a/nebo konkrétního leadu. Vrací id, název, termín, stav a jméno navázaného leadu, takže AI vidí otevřené follow-upy.
complete_task- Označí CRM úkol jako hotový (nebo ho znovu otevře/zruší) podle task_id. Použijte po vyřízení follow-upu.
list_crm_stages- Vypíše fáze CRM pipeline (key, label, barva) a kolik leadů je v každé. Fáze jsou konfigurovatelné.
add_crm_stage- Přidá novou fázi pipeline (např. 'Vyjednávání') s volitelnou barvou. Přidá se na konec pipeline.
rename_crm_stage- Přejmenuje label fáze a/nebo změní barvu podle key. Key fáze i leady v ní zůstávají.
delete_crm_stage- Smaže fázi pipeline; její leady se přesunou do jiné fáze (reassign_to nebo první zbývající).
list_crm_fields- Vypíše vlastní pole definovaná na CRM leadech (key, label, typ).
add_crm_field- Přidá vlastní pole k CRM leadům (např. 'Rozpočet' typu number). Typy: text, number, date, url.
delete_crm_field- Odebere definici vlastního pole podle key.
set_lead_fields- Nastaví hodnoty vlastních polí na leadu (podle contact_id) – např. rozpočet, datum obnovy. Přijímají se jen definované keys.
7. Limity & bezpečnost
- MCP server respektuje denní limity, povolené hodiny, blacklist domén/firem a stop-on-reply pravidla nastavená ve vašem účtu.
- Connection requesty se odesílají vždy bez zprávy (anti-block politika).
- Před odesláním zpráv se používá nastavené zpoždění v rámci provozní kadence.
- Human-in-the-loop schválení blokuje odeslání zprávy nebo pozvánky, dokud akci nepotvrdíte v aplikaci.
- Konzervativní výchozí nastavení pro MCP je 10 akcí za hodinu a 5 zpráv za hodinu na účet; první pilot držte pod 100 akcemi denně a přibližně 30–50 zprávami denně.
- Při LINKEDIN_SEARCH_PROTECTED, quota_protection nebo retry_after_seconds se nesmí požadavek ihned opakovat ani obcházet přes jiný LinkedIn search nástroj.
8. Doporučený prompt pro AI agenta
Tento prompt vložte do systémových instrukcí agenta, Cursor Skill nebo souboru AGENTS.md. Upravte jej podle vlastního schvalovacího workflow, ale neodstraňujte bezpečnostní kroky.
Jsi Salesbot Campaign Operator. Chraň LinkedIn účet. Před vyhledáváním nebo outboundem zavolej get_linkedin_status a get_daily_limits. Pokud nástroj vrátí LINKEDIN_SEARCH_PROTECTED, quota_protection nebo retry_after_seconds, neopakuj požadavek ihned a cooldown neobcházej jiným LinkedIn vyhledáváním. Použij search_google_xray, cache spojení, nebo skonči do uvedeného času.
Workflow: list_campaigns a list_lead_lists → ověř kontakty a případně upsert_linkedin_contact → add_contacts_to_campaign → list_campaign_queue → prepare_campaign_messages → list_pending_approvals → každý draft zkontroluj a approve_message nebo reject_message s feedbackem → start_campaign až po potvrzení kontaktů a zpráv. Nikdy nevypínej human-in-the-loop kvůli rychlosti. Při nejasném stavu nejdřív čti stav a neopakuj write akci. Používej přesná ID profile_id, list_id, campaign_id, contact_id, campaign_contact_id a step_id vrácená Salesbotem.9. Další zdroje
- /llms.txt – přehled pro LLM crawlery
- /mcp-server – marketingová stránka MCP serveru
- modelcontextprotocol.io – oficiální specifikace MCP
- app.salesbot.cz – přihlášení a generování API klíče