Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

LinkedIn MCP Server (Salesbot)

REMOTE · APP.SALESBOT.CZ

Human-in-the-loop LinkedIn outreach and a built-in sales CRM for AI agents. Safety-gated, anti-spam.

Available components

0 this week 38 Trust /100

Last scanned (2 hours ago)

Scores higher than 28% of remote servers

Reachable. Last reached 5 Nov 2026.

Category CRM and Sales

Recent critical change

Authorization (9 Aug 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
  • Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 6 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Oct 26 −41
    • Endpoint reachability: reachable → behind authorisation ▼ security
    • Stability: fail → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Transport: pass → unverified ▼ security
    • Authorization: fail → pass ▲ security
    • First check of Authorization: partial security
    • Capabilities: fail → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
  • 3 Oct 26 79
    • Tool “send_email” rewrote its description, which is the text the model reads security
  • 30 Sept 26 0
    • Stability: pass → fail ▼ security
    • A breaking change shipped without a version bump: still 1.1.0 ▼ security
    • Tool “scrape_website” was removed ▼ security
    • Tool “import_linkedin_company_list” rewrote its description, which is the text the model reads security
    • Tool “update_company_research” rewrote its description, which is the text the model reads security
  • 29 Sept 26 0
    • New tool “delete_contacts”, which the server declares destructive security
    • New tool “delete_crm_company”, which the server declares destructive security
    • New tool “delete_crm_leads”, which the server declares destructive security
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Sept 26 0
    • Tool “cancel_email” rewrote its description, which is the text the model reads security
    • Tool “get_email_status” rewrote its description, which is the text the model reads security
    • Tool “list_email_integrations” rewrote its description, which is the text the model reads security
    • Tool “list_email_outreach” rewrote its description, which is the text the model reads security
    • Tool “send_email” rewrote its description, which is the text the model reads security
    • “send_email” reworded the description of “provider_campaign_id” cosmetic
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 24 Sept 26 0
    • New tool “merge_crm_companies”, which the server declares destructive security
    • Tool “search_crm_leads” rewrote its description, which is the text the model reads security
    • New tool “add_contacts_to_crm” functional
    • New tool “get_crm_company” functional
    • New tool “list_crm_companies” functional
    • New tool “update_crm_company” functional
    • “search_crm_leads” added an optional parameter “crm_company_id” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://app.salesbot.cz/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=app.salesbot.cz CN=YR1,O=Let's Encrypt,C=US 11 Oct 2026 9 Jan 2027 RSA 2048 SHA256-RSA 59ace46b8ced7776ebf9aad79fec0a03283
SANs: app.salesbot.cz
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of app.salesbot.cz. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
cz. present 20237 13 Verified
salesbot.cz. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On connection
HTTP status 401

WWW-Authenticate challenge Bearer resource_metadata="https://app.salesbot.cz/.well-known/oauth-protected-resource"

Bearer resource_metadata="https://app.salesbot.cz/.well-known/oauth-protected-resource"
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
www-authenticate Bearer resource_metadata="https://app.salesbot.cz/.well-known/oauth-protected-resource"

Protected resource metadata

Document https://app.salesbot.cz/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://app.salesbot.cz/api/mcp
Authorisation server https://app.salesbot.cz

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://app.salesbot.cz/api/mcp Auth required 401
http (plaintext) http://app.salesbot.cz/api/mcp HTTPS enforced 308 https://app.salesbot.cz/api/mcp
MCP tools · 80 exposed · ~11,217 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_companies_to_crm ~67

Create or update CRM company records from stored prospect companies. Returns crm_company_id values. The company can exist in CRM before any contact is known; later pass prospect_company_id to upsert_linkedin_contact to link a found employee.

NameTypeReqDescription
prospect_company_idsarrayyes–

No output schema declared.

No examples provided.

add_contacts_to_campaign ~146

Add saved contacts by contact_id to an existing campaign. Applies tenant-scoped blacklist and duplicate checks, but does NOT send or schedule outreach. For campaigns with a message step, contacts who already received a message from ANOTHER campaign of the same LinkedIn account within the last 30 days are NOT added; they are listed in recently_messaged_details with the reason (error code duplicate_cross_campaign). The response includes scheduled:false and next_tool: prepare_campaign_messages when drafts need approval, otherwise start_campaign. Use list_campaign_queue to inspect progress.

NameTypeReqDescription
campaign_idstringyesUUID of the campaign
contact_idsarrayyesArray of contact UUIDs to add

No output schema declared.

No examples provided.

add_contacts_to_crm ~65

Add saved contacts to the CRM as leads without putting them in a campaign (stage prospect). Each lead is linked to its CRM company automatically by company name. Idempotent: contacts already in the CRM are reported, not duplicated.

NameTypeReqDescription
contact_idsarrayyes–

No output schema declared.

No examples provided.

add_contacts_to_list ~130

Move existing contacts into an existing lead list (get list_id from list_lead_lists). Each contact belongs to exactly ONE list, so this REASSIGNS list_id (a move, not a copy). Use it to organize contacts — e.g. move leads out of the default 'CRM Imports' into your own named list — before add_contacts_to_campaign. Returns how many were moved.

NameTypeReqDescription
contact_idsarrayyesUUIDs of contacts to move into the list (max 200).
list_idstringyesUUID of the target lead list (from list_lead_lists).

No output schema declared.

No examples provided.

add_crm_field ~74

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.

NameTypeReqDescription
labelstringyesDisplay name of the field.
typestring–Field type. Default 'text'.

No output schema declared.

No examples provided.

add_crm_stage ~83

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

NameTypeReqDescription
colorstring–Hex color for the stage dot. Optional.
labelstringyesDisplay name of the stage.

No output schema declared.

No examples provided.

approve_message ~154

Approve a draft and hand it to the campaign executor for sending (respecting daily limits and allowed hours). Optionally pass edited_messages to overwrite specific drafts before approval. By default each draft is verified by a second-pass quality check (Czech vocative, hallucinations, prompt adherence) — set skip_gpt_check=true to bypass. If the quality check rejects the message, the draft is automatically sent back for a rewrite based on the feedback.

NameTypeReqDescription
campaign_contact_idstringyesUUID of the campaign_contact
edited_messagesarray–Optional list of edits to apply before approving
skip_gpt_checkboolean–If true, skip the gpt-5-nano quality check (default false).

No output schema declared.

No examples provided.

cancel_email ~66

Withdraw an e-mail that has not gone out yet: pending_approval, approved or failed, and own-mailbox e-mails still queued. E-mails already queued in Smartlead/Instantly must be paused there.

NameTypeReqDescription
outreach_idstringyes–
reasonstring––

No output schema declared.

No examples provided.

check_blacklist ~86

Check whether a saved contact, company name or domain matches the authenticated user's company-wide blacklist. Read-only and safe to call before adding a lead to a campaign.

NameTypeReqDescription
companystring–Optional company name to check.
contact_idstring–Optional saved contact UUID. Its company and domain are checked.
domainstring–Optional company domain or URL to check.

No output schema declared.

No examples provided.

complete_task ~64

Mark a CRM task done (or reopen/cancel it). Pass the task_id; status defaults to 'done'. Use after a follow-up is handled.

NameTypeReqDescription
statusstring–New status. Default 'done'.
task_idstringyesUUID of the task

No output schema declared.

No examples provided.

connect_linkedin ~152

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, or after an ACCOUNT_NOT_CONNECTED/ACCOUNT_BLOCKED error. Returns a white-labeled https://auth.salesbot.cz link valid ~2 hours; the user just opens it and finishes LinkedIn login — nothing else is needed. profile_id optional (defaults to active/first profile). Set reconnect=true to reconnect an existing blocked/expired account.

NameTypeReqDescription
profile_idstring–UUID of the user_profile. Optional — defaults to active/first.
reconnectboolean–Reconnect an existing account (e.g. blocked/expired). Default false.

No output schema declared.

No examples provided.

create_campaign ~367

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 ordered list of steps. Each step has an action ('connect', 'message' or 'visit'), an optional delay_hours (wait before this step), and AI/template settings for messages. Returns the new campaign_id. Use add_contacts_to_campaign next to add leads. MESSAGE PLACEHOLDERS (for ai_template / when use_ai is false, also cleaned up after AI): - {oslovení} or [Oslovení]/[Jméno] → Czech vocative greeting (e.g. 'pane Nováku' / first-name vocative like 'Petře') - {{first_name}} or {jméno}/{jmeno} or [Name]/[first_name] → contact first name - {{company}} or {firma} or [Firma]/[Company] → company name ({firma} = sender company from sender_context; {{company}}/[Firma] = lead's company) - Also: {{last_name}}, {{full_name}}, {{position}}, {{location}}, {{headline}} Prefer {{first_name}} / {{company}} / {oslovení} in new templates; square brackets like [Jméno] and [Firma] are supported aliases.

NameTypeReqDescription
daily_limitnumber–Max actions per day for this campaign. Optional.
descriptionstring–Optional description
namestringyesCampaign name
profile_idstringyesUUID of the user_profile to send from
sender_contextstring–Context about the sender used by the AI when writing messages. Optional.
stepsarrayyesOrdered campaign steps

No output schema declared.

No examples provided.

create_lead_list ~71

Create a named contact list owned by the authenticated user. If a list with the same name already exists, returns its list_id instead of creating a duplicate.

NameTypeReqDescription
descriptionstring–Optional list description (max 1000 characters).
namestringyesList name (max 120 characters).

No output schema declared.

No examples provided.

create_task ~89

Create a follow-up task, optionally linked to a lead (e.g. 'Send pricing PDF to Jane on Thursday'). Pro plan only.

NameTypeReqDescription
contact_idstring–UUID of the related lead. Optional.
detailsstring–Extra notes. Optional.
due_atstring–ISO 8601 due date/time. Optional.
titlestringyesWhat needs doing.

No output schema declared.

No examples provided.

delete_contacts ~182

PERMANENTLY delete saved contacts (LinkedIn profiles) including their campaign memberships, scheduled actions and campaign history. Contacts with pending or in-progress campaign steps are refused unless force: true (prefer exclude_contacts_from_campaign when the goal is just to stop outreach). Linked CRM leads are kept (unlinked) unless delete_crm_leads: true. Cannot be undone: only on the user's explicit request, show them the contacts first and pass confirm: true after they agree.

NameTypeReqDescription
confirmbooleanyesMust be true — the user explicitly approved the deletion.
contact_idsarrayyes1–100 contact UUIDs.
delete_crm_leadsboolean–Also delete the CRM leads of these contacts. Default false (leads stay, unlinked).
forceboolean–Delete even contacts that are mid-campaign. Default false.

No output schema declared.

No examples provided.

delete_crm_company ~159

PERMANENTLY delete one CRM company (account record with its notes and details). Its people stay in the CRM without a company link, unless delete_leads: true deletes them too. For duplicates use merge_crm_companies instead. Note: a lead whose company name is edited later can be auto-linked to a newly created company of that name again. Cannot be undone: only on the user's explicit request, show the company first (get_crm_company) and pass confirm: true after they agree.

NameTypeReqDescription
confirmbooleanyesMust be true — the user explicitly approved the deletion.
crm_company_idstringyesCRM company UUID.
delete_leadsboolean–Also delete the company's CRM leads. Default false.

No output schema declared.

No examples provided.

delete_crm_field ~45

Remove a custom field definition by key. Values already stored on leads stay in place but are no longer shown.

NameTypeReqDescription
keystringyesKey of the field to remove.

No output schema declared.

No examples provided.

delete_crm_leads ~121

PERMANENTLY delete CRM leads together with their notes, tasks, stage history and logged messages. The underlying contact (LinkedIn profile, campaign history) is kept — use delete_contacts to remove that too. Cannot be undone: only on the user's explicit request, list the leads to them first (search_crm_leads) and pass confirm: true after they agree.

NameTypeReqDescription
confirmbooleanyesMust be true — the user explicitly approved the deletion.
crm_lead_idsarrayyes1–100 CRM lead UUIDs.

No output schema declared.

No examples provided.

delete_crm_stage ~75

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.

NameTypeReqDescription
keystringyesKey of the stage to delete.
reassign_tostring–Key of the stage to move its leads to. Optional.

No output schema declared.

No examples provided.

enrich_contacts ~155

Enrich existing contacts with their full LinkedIn profile data via the connected LinkedIn account (Unipile) — headline, location, current company & position, full experience, education and skills are scraped from each contact's profile URL and saved onto the contact (and merged into profile_data). Use after search_google_xray to flesh out lightly-saved leads. Each contact is a real LinkedIn profile view, so keep batches small; max 8 per call. Returns per-contact enrichment status.

NameTypeReqDescription
contact_idsarrayyesUUIDs of the contacts to enrich (max 8 per call).
profile_idstring–UUID of the user_profile / LinkedIn account to scrape with. Optional — defaults to active profile.

No output schema declared.

No examples provided.

exclude_contacts_from_campaign ~93

Soft-exclude saved contacts from one campaign. Their campaign history is preserved, but future scheduled or claimed actions are cancelled and no further campaign outreach is sent. Use this instead of deleting campaign history.

NameTypeReqDescription
campaign_idstringyesUUID of the campaign.
contact_idsarrayyesOne to 100 contact UUIDs to exclude.
reasonstring–Optional audit reason (max 500 characters).

No output schema declared.

No examples provided.

export_crm ~78

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 databases use the in-app 'Download CRM Backup (CSV)' button.

NameTypeReqDescription
limitnumber–Max rows (default 5000, max 20000).

No output schema declared.

No examples provided.

generate_campaign_message ~140

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 — it is stored as a draft with status 'pending_approval' and waits for review (via this MCP or manually). Use list_pending_approvals + approve_message to release it to the campaign executor.

NameTypeReqDescription
campaign_contact_idstringyesUUID of the campaign_contact
custom_instructionsstring–Optional extra instructions appended to the step's ai_prompt (e.g. tone, angle).
step_idstringyesUUID of the campaign_messages step to generate the message for

No output schema declared.

No examples provided.

get_chat_messages ~149

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 the account owner (you). Use this to understand context before composing a reply with reply_to_chat. Inbox operations are capped at 3 MCP calls per minute; request only the needed thread/page.

NameTypeReqDescription
chat_idstringyesChat ID from list_inbox_chats
cursorstring–Pagination cursor. Optional.
limitnumber–Max messages (1-50, default 15)
profile_idstring–UUID of the user_profile. Optional — defaults to active profile.

No output schema declared.

No examples provided.

get_contact_profile ~73

Return the saved contact record from the database, including available name/vocative fields, headline, company, role, location, language and LinkedIn profile data. Use get_lead_context for CRM notes and interaction history, and list_campaign_queue for campaign state.

NameTypeReqDescription
contact_idstringyesUUID of the contact

No output schema declared.

No examples provided.

get_crm_company ~94

Account view of one CRM company: details, account notes, web research, and every person at the company with crm_lead_id, contact_id, role, pipeline stage and campaign. Use before account-level decisions (who else to contact, who already replied) and before merging duplicates.

NameTypeReqDescription
crm_company_idstringyesUUID from list_crm_companies, search_crm_leads or get_lead_context.

No output schema declared.

No examples provided.

get_daily_limits ~77

Check action limits and protected LinkedIn-search usage for a profile, including hourly/daily/monthly remaining quota, account product and cooldown. profile_id is optional and defaults to the active profile. Call before outbound or provider searches.

NameTypeReqDescription
profile_idstring–UUID of the user_profile to check. Optional — defaults to the active profile.

No output schema declared.

No examples provided.

get_email_status ~149

Refresh one e-mail's status from Smartlead/Instantly (sent, replied, bounced, unsubscribed…) and return it. A detected reply also moves the CRM lead to the 'replied' stage. Reply text itself is not fetched. Statuses: pending_approval (waits for the user in Salesbot → CRM → E-maily), approved (approved, not yet in the provider — usually a temporary provider error; retry by approving again), queued (in the provider campaign, or waiting for its slot in the user's own mailbox), sending, sent, replied, bounced, unsubscribed, paused, completed, failed (see error), rejected.

NameTypeReqDescription
outreach_idstringyes–

No output schema declared.

No examples provided.

get_job_posting_details ~131

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 find the exact person to reach out to at a company that is hiring. Also returns applicant and view counts, which indicate how urgently the role needs filling. Uses the connected LinkedIn account (Classic, no Recruiter needed). Capped at 4 calls per minute; do not loop over every job result.

NameTypeReqDescription
job_idstringyesLinkedIn job posting ID, as returned in the job_id field by search_job_postings.

No output schema declared.

No examples provided.

get_lead_context ~103

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 drafts & follow-ups), recent conversation summaries (with pain points), open tasks, recent LinkedIn interactions and stage history. Call this first for highly personalized outreach.

NameTypeReqDescription
contact_idstringyesUUID of the contact
notes_limitnumber–Max conversation summaries to return (default 5).

No output schema declared.

No examples provided.

get_linkedin_status ~85

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 when another tool returns code ACCOUNT_NOT_CONNECTED or ACCOUNT_BLOCKED. profile_id is optional — defaults to the active/first profile.

NameTypeReqDescription
profile_idstring–UUID of the user_profile to check. Optional.

No output schema declared.

No examples provided.

import_linkedin_company_list ~216

Import and persist companies from a LinkedIn company search URL or Sales Navigator account-search/list URL. This is for COMPANY/ACCOUNT results, not people. Creates or updates a durable Salesbot company list and returns prospect_company_id for every company. Optionally also creates company records in the CRM. After import, call list_companies, research each company with search_web, save the findings with update_company_research, then find current employees with search_linkedin_people and pass prospect_company_id to upsert_linkedin_contact.

NameTypeReqDescription
cursorstring–Continuation cursor returned by a previous import.
limitnumber–Max companies for this call (default 10; capped by the active LinkedIn safety preset).
list_namestringyesName of the durable company list in Salesbot.
save_to_crmboolean–Also create/update company records in CRM. Default false.
search_urlstringyesFull LinkedIn company-search, Sales Navigator account-search, saved-search or account-list URL.

No output schema declared.

No examples provided.

list_blacklist ~79

List the authenticated user's company-wide blacklist. Read-only: returns blocked domains/company names and match rules, but cannot add or remove entries.

NameTypeReqDescription
limitnumber–Maximum rows (default 100, max 200).
offsetnumber–Pagination offset (default 0).
querystring–Optional domain or company-name search.

No output schema declared.

No examples provided.

list_campaign_queue ~99

Inspect campaign readiness and invitation state contact by contact. scheduled_action contains only active scheduled/claimed work; last_scheduled_action contains recent history. Excluded contacts return state='excluded' and no next_tool. Also returns invitation_status (not_sent/pending/accepted), counts and the exact next tool for active contacts.

NameTypeReqDescription
campaign_idstringyesCampaign UUID.
limitnumber–Maximum contacts (default 50, max 200).

No output schema declared.

No examples provided.

list_campaigns ~59

List your campaigns with ID, name, status (draft/running/paused), description and lead counts. Use this to obtain campaign_id when adding leads, generating messages or approving drafts.

NameTypeReqDescription
statusstring–Filter by campaign status. Optional.

No output schema declared.

No examples provided.

list_companies ~109

List stored companies from one Salesbot company list. Returns prospect_company_id, LinkedIn company ID/URL, website, industry, location, size, saved web research and crm_company_id. Use these exact IDs; do not guess them.

NameTypeReqDescription
company_list_idstringyesUUID from list_company_lists.
limitnumber–Default 50, maximum 200.
offsetnumber–Pagination offset, default 0.
querystring–Optional company-name filter.

No output schema declared.

No examples provided.

list_company_lists ~34

List durable company/account lists imported into Salesbot, including exact company_list_id, source URL, provider product and company count.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_contacts ~90

List saved contacts in a specific lead list with ID, name, headline, company, profile URL, gender, email and location. For invitation, connection or reply state use list_campaign_queue.

NameTypeReqDescription
limitnumber–Max results (default 50, max 200)
list_idstringyesUUID of the lead list
offsetnumber–Offset for pagination (default 0)

No output schema declared.

No examples provided.

list_crm_companies ~165

List companies (accounts) in the CRM with people_count and the furthest pipeline stage reached by anyone at the company. Companies are created automatically from lead company names (matched ignoring case, diacritics and legal suffixes) and from LinkedIn company imports. Optional query searches name, industry and location. Returns crm_company_id for get_crm_company, update_crm_company and merge_crm_companies.

NameTypeReqDescription
limitnumber–Maximum rows (default 50, max 200).
offsetnumber–Pagination offset (default 0).
querystring–Optional text search across company name, industry and location.
stagestring–Optional: only companies where someone is in this pipeline stage (e.g. replied, demo).

No output schema declared.

No examples provided.

list_crm_fields ~36

List the custom fields defined on CRM leads (key, label, type). Set their values per lead with set_lead_fields.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_crm_stages ~51

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_stage tools.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_email_campaigns ~87

List campaigns in the connected Smartlead or Instantly account (id, name, status, active). Pass the id as provider_campaign_id to send_email. The provider campaign's sequence must use {{email_subject}}, {{email_body}} (and optionally {{email_1follow_up_body}}) so the text written in Salesbot is what gets sent.

NameTypeReqDescription
providerstringyes–

No output schema declared.

No examples provided.

list_email_integrations ~82

Which e-mail channels are connected: sequencers (Smartlead, Instantly) and the user's own mailboxes (Outlook / IMAP — use their mailbox_id as provider_campaign_id with provider 'mailbox' in send_email), plus whether e-mails need manual approval. Connecting happens in the app (Settings → E-mail); API keys are never returned.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_email_outreach ~175

List e-mails created through Salesbot (newest first), optionally filtered by status, crm_lead_id or contact_id. Statuses are as last known — call get_email_status to refresh one from the provider. Statuses: pending_approval (waits for the user in Salesbot → CRM → E-maily), approved (approved, not yet in the provider — usually a temporary provider error; retry by approving again), queued (in the provider campaign, or waiting for its slot in the user's own mailbox), sending, sent, replied, bounced, unsubscribed, paused, completed, failed (see error), rejected.

NameTypeReqDescription
contact_idstring––
crm_lead_idstring––
limitnumber–Default 50, max 200.
statusstring––

No output schema declared.

No examples provided.

list_inbox_chats ~168

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, unread count and last-message timestamp. Message preview text is not always provided by LinkedIn in the list — call get_chat_messages with the chat_id to read the actual messages. profile_id is optional — defaults to the active profile. Inbox operations are capped at 3 MCP calls per minute; do not poll or walk every cursor page.

NameTypeReqDescription
cursorstring–Pagination cursor from a previous call. Optional.
limitnumber–Max chats (1-50, default 15)
profile_idstring–UUID of the user_profile to read from. Optional — defaults to active profile.

No output schema declared.

No examples provided.

list_lead_lists ~47

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 the contacts in a specific group.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_lead_messages ~120

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 via the right channel. Optionally filter by channel or kind.

NameTypeReqDescription
channelstring–Filter by channel. Optional.
contact_idstringyesUUID of the contact (lead).
kindstring–Filter by kind (e.g. 'followup'). Optional.
limitnumber–Max rows (default 20, max 50).

No output schema declared.

No examples provided.

list_mcp_pending_actions ~98

List this workspace's one-off MCP messages and connection requests currently waiting for human approval. Each action includes approval_url, which opens that exact item in the app. This tool is read-only: it cannot approve or execute an action. Campaign message drafts use list_pending_approvals instead.

NameTypeReqDescription
action_typestring–Optional action-type filter.
limitnumber–Maximum pending actions (default 25, max 100).

No output schema declared.

No examples provided.

list_pending_approvals ~98

Return all AI drafts waiting for approval (messages_approved=false). Each draft includes the contact name, headline, company and generated text. Used as input for bulk review by an AI assistant which can iterate through drafts and approve/reject them. Optionally filter by campaign_id.

NameTypeReqDescription
campaign_idstring–Optional: filter to a single campaign
limitnumber–Max rows (default 25, max 100)

No output schema declared.

No examples provided.

list_tasks ~105

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 lead's name. Use to see what follow-ups are outstanding.

NameTypeReqDescription
contact_idstring–Only tasks for this lead. Optional.
limitnumber–Max results (default 50, max 200).
statusstring–Filter by status. Default 'open'.

No output schema declared.

No examples provided.

Install

How do I install the LinkedIn MCP Server (Salesbot) server?

LinkedIn MCP Server (Salesbot) is a hosted endpoint at https://app.salesbot.cz/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · app.salesbot.cz

# add to Claude Code
claude mcp add --transport http cz-salesbot-linkedin-mcp-server 'https://app.salesbot.cz/api/mcp'
Common questions

What is the LinkedIn MCP Server (Salesbot) server?

LinkedIn MCP Server (Salesbot) is listed in the public MCP registry as cz.salesbot/linkedin-mcp-server. Human-in-the-loop LinkedIn outreach and a built-in sales CRM for AI agents. Safety-gated, anti-spam. This page covers its hosted endpoint (https://app.salesbot.cz/api/mcp).

Is the LinkedIn MCP Server (Salesbot) server safe to use?

LinkedIn MCP Server (Salesbot) scores 38 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the LinkedIn MCP Server (Salesbot) server expose?

LinkedIn MCP Server (Salesbot) exposes 80 tools: search_linkedin_people, sync_linkedin_connections, search_google_xray, upsert_linkedin_contact, add_contacts_to_list, and 75 more. Their descriptions and schemas cost roughly 11,217 tokens of context every time the server is loaded.

Does the LinkedIn MCP Server (Salesbot) server require authentication?

Yes. LinkedIn MCP Server (Salesbot) asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the LinkedIn MCP Server (Salesbot) server still maintained?

LinkedIn MCP Server (Salesbot) is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.