Everything here was measured by our prober or read from a registry. Nothing is self-reported.
30-day availability1/1 checks ok
30 days agotoday
Endpoints
https://app.salesbot.cz/api/mcpmcp streamable http · checked on a schedule
Registry facts
Not distributed through a package registry we index.
when
check
result
http
latency
detail
2 h ago
mcp initialize
ok
200
1318 ms
server salesagent-mcp 1.0.0 · protocol 2025-06-18 · 50 tools
Tools observed via MCP handshake
search_linkedin_people — Search people on LinkedIn by job title(s), current company and location. Pass `company` (a NAME like 'Škoda Auto') to filter to people who CURRENTLY work there.
search_google_xray — Google X-Ray search for public LinkedIn profiles via Google operators (site:linkedin.com/in). Useful when you don't want to consume LinkedIn search limits, and
upsert_linkedin_contact — Create a contact from a known LinkedIn profile URL, or return the existing contact when the profile was already imported. Use this when you already know the exa
enrich_contacts — Enrich existing contacts with their full LinkedIn profile data via the connected LinkedIn account (Unipile) — headline, location, current company & position, fu
search_linkedin_navigator — Scrape a Sales Navigator (or standard LinkedIn) search URL. Returns JSON `{ count, results }` where each item in `results` has: `linkedin_url`, `name`, `headlin
get_contact_profile — Return the full contact profile from the database — name (with Czech vocative), headline, company, role, location, language, current campaign status and interac
list_contacts — List contacts in a specific lead list with ID, name, headline, company, profile URL, gender and current status (e.g. invite_sent, connected, replied). The AI pi
list_lead_lists — List the authenticated user's contact groups (lead lists) with their list_id, name, description and contact count. Use list_id with list_contacts to retrieve th
list_campaigns — List your campaigns with ID, name, status (draft/running/paused), description and lead counts. Use this to obtain campaign_id when adding leads, generating mess
add_contacts_to_campaign — Add selected contacts (by ID) to an existing campaign. Blacklist of domains/companies, duplicate checks and manual exclusion are applied automatically. Campaign
send_linkedin_message — Send a one-off LinkedIn message to a specific contact outside any campaign. A random 30–180 s delay is applied before sending for anti-detection. The action cou
Declared by sources
What the publisher says
Attributed to the source that supplied each field. Treated as claims, not facts.
No long description beyond the summary.
kind ← Official MCP Registry
name ← Official MCP Registry
repoUrl ← Official MCP Registry
summary ← Official MCP Registry
version ← Official MCP Registry
description ← Official MCP Registry
homepageUrl ← Official MCP Registry
publisherName ← Official MCP Registry
Derived by Wellknown
Capabilities
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
4 h ago · declared · summary → "Human-in-the-loop LinkedIn outreach and a built-in sales CRM for AI agents. Safety-gated, anti-spam."
4 h ago · declared · description → "Human-in-the-loop LinkedIn outreach and a built-in sales CRM for AI agents. Safety-gated, anti-spam."
4 h ago · declared · publisherName → "cz.salesbot"
4 h ago · declared · homepageUrl → "https://app.salesbot.cz"
4 h ago · declared · repoUrl → "https://github.com/Kubis010/linkedin-mcp-server-salesbot"
4 h ago · declared · version → "1.0.0"
4 h ago · declared · protocols → ["mcp"]
send_connection_request
— Send a LinkedIn connection invitation. The message is ALWAYS empty (no text) — policy choice to avoid account blocks, regardless of account type (free or premiu
get_daily_limits — Check remaining daily quota for a profile. Returns current usage vs limits, ramp-up status, allowed hours, and whether actions are currently allowed. profile_id
generate_campaign_message — Generate (or regenerate) an AI personalized message draft for a specific campaign_contact and step, using the template and lead profile. The message is NOT sent
list_pending_approvals — Return all AI drafts waiting for approval (messages_approved=false). Each draft includes the contact name, headline, company and generated text. Used as input f
approve_message — Approve a draft and hand it to the campaign executor for sending (respecting daily limits and allowed hours). Optionally pass edited_messages to overwrite speci
reject_message — Reject the current drafts on a campaign_contact with textual feedback (e.g. 'too formal, shorten to 2 sentences'). Resets generation_status to 'pending' so a ne
publish_linkedin_post — Create a LinkedIn post on behalf of a connected profile. By default the post is saved as a 'draft' in the LinkedIn Posts page so the user can review/edit it bef
list_inbox_chats — List recent LinkedIn inbox conversations (chats) in real time. Returns chat_id (used by get_chat_messages / reply_to_chat), the other attendee's provider id, un
get_chat_messages — Read the messages of a single LinkedIn conversation in real time (newest last). Use the chat_id from list_inbox_chats. `is_sender=true` marks messages sent by t
reply_to_chat — Send a reply into an existing LinkedIn conversation (by chat_id). Only sends within the user's allowed sending hours/days (never at night) — outside them it ret
mark_chat_read — Mark a LinkedIn conversation as read (by chat_id). Useful after the AI has processed/answered a thread so it does not re-surface as unread.
create_campaign — Create a NEW campaign (saved as 'draft' — it does NOT start sending until the user activates it in the app). Provide a name, the profile_id to send from, and an
update_campaign_settings — Update settings of an existing campaign you own: name, description, daily_limit, sender_context, auto_approve_messages, or status. Use status='paused' to pause
start_campaign — Start (activate) an existing campaign: schedules the outreach actions for its contacts and sets status to 'running'. The campaign must already have contacts (ad
stop_campaign — Stop a running campaign: sets status to 'stopped' and cancels its pending scheduled actions (a DB trigger marks them skipped). To only pause temporarily, use up
scrape_website — Fetch the readable text of a PUBLIC web page so you can use it as context when writing/editing messages (e.g. read a prospect's website or an article). Returns
get_linkedin_status — Check whether the user's LinkedIn account is connected and active. Returns the connection state and, if not connected/blocked, how to fix it. Call this first wh
connect_linkedin — Generate a secure LinkedIn connect (or reconnect) link the user opens in their browser to authenticate. Use when get_linkedin_status shows not connected/blocked
set_deal_stage — Move a lead to a different pipeline stage. Stages are user-configurable — call list_crm_stages to see the valid stage keys (defaults: prospect, contacted, demo,
log_crm_note — Save a structured summary of a conversation into the CRM for a lead. Analyze the chat/context yourself, then call this with a concise summary, the prospect's pa
create_task — Create a follow-up task, optionally linked to a lead (e.g. 'Send pricing PDF to Jane on Thursday'). Pro plan only.
save_lead_message — Store a generated outreach message on a CRM lead so it becomes durable context — e.g. an email, an email follow-up, a LinkedIn message or LI follow-up. The CRM
list_lead_messages — List the stored outreach messages saved on a CRM lead (email/LI drafts and follow-ups), newest first. Use to pull the copy back out of the CRM before sending it
get_lead_context — Fetch the full CRM context for a lead before writing a pitch or follow-up: profile, current pipeline stage, custom fields, saved outreach messages (email/LI dra
export_crm — Export the user's CRM (leads with pipeline stage and key fields) as CSV text to save to a file or spreadsheet. Returns up to `limit` rows; for very large databa
update_contact — Update a lead's contact details — email, phone, location, company, position or headline. Use to enrich a lead (e.g. save an email address you found). Only the f
list_tasks — List your CRM tasks. Filter by status (open/done/cancelled, default open) and/or a specific contact. Returns task id, title, due date, status and the linked lea
complete_task — Mark a CRM task done (or reopen/cancel it). Pass the task_id; status defaults to 'done'. Use after a follow-up is handled.
list_crm_stages — List the CRM pipeline stages (key, label, order, color) and how many leads are in each. Stages are user-configurable — rename/add/delete them with the other crm
add_crm_stage — Add a new pipeline stage. Provide a label (e.g. 'Negotiation'); a key is generated from it. Optional hex color (e.g. '#22c55e'). Appended to the end of the pipe
rename_crm_stage — Rename a stage's label and/or change its color, by key (use list_crm_stages to get keys). The stage key and the leads in it are unchanged.
delete_crm_stage — Delete a pipeline stage by key. Leads currently in it are moved to reassign_to (or the first remaining stage). You can't delete the last remaining stage.
list_crm_fields — List the custom fields defined on CRM leads (key, label, type). Set their values per lead with set_lead_fields.
add_crm_field — Add a custom field to CRM leads (e.g. 'Budget' of type number). type: text | number | date | url (default text). A key is generated from the label.
delete_crm_field — Remove a custom field definition by key. Values already stored on leads stay in place but are no longer shown.
set_lead_fields — Set custom field values on a lead (by contact_id). Pass `fields` as an object of { field_key: value }. Only defined field keys are accepted (see list_crm_fields
search_job_postings — Search LinkedIn job postings by keywords, location, seniority, job type, and more. Returns job offers with company info — great for finding companies that are a
search_web — General-purpose Google search — returns organic results for any query. Unlike search_google_xray (LinkedIn-only), this searches the entire web. Useful for findi
get_job_posting_details — Get full details of a LinkedIn job posting, including the hiring team — the recruiter or hiring manager who posted it. Use this after search_job_postings to fin