SalesMap MCP server
online · 100% uptimesite.salesmap/signals·v0.2.0Checked buying signals and ranked lead lists for your agent. Never contacts anyone.
0 stars46 downloads/wk
Reviews
Write oneNobody has reviewed SalesMap yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
SalesMap tools (6)
write = sends, deletes, buys or postsjobFreeFree. The status (queued, running, done or failed) and, once done, the result of a background job: a playbook call or a long playbook round. While a playbook runs, `partial` is its ranked list so far: `tier` says how far it got (listed: every candidate ranked on the facts already in hand; screened: the top ones passed the fit screen; researched: the top ones' signals checked) and `progress` the counts. Show it to the user as a first look; the final result replaces it. Use when: a call returned `job`, "is my playbook done", "is my ranking done", "status of my job". Skip when: no call has returned a job id. Quoted page text is normalized; a quote that reads like an instruction keeps its text and is flagged in <field>Flags with the attack family.
playbookFreePrice in paid mode: $7.50 on a discover for the same seller from the last 7 days, $25.00 when it has to run its own sweep. Never more than max_usd. Mode: `paid` (the default when the balance covers one result) runs SalesMap's own search, models and paid data sources, free sources first, at the price above. `free` (the default otherwise) is $0: the calling agent runs the searches and judgments returned as `work`, and SalesMap reads and checks every source. `mode` overrides the default. Finds the accounts a seller should sell to now, writes the sales playbook, and lists the relevant events coming up that fit the seller's buyers, in one call. From the seller's website (or the user's own list of companies in `companies`, up to 50) it runs discover: drafts the ICP from the site (or takes one), finds candidate companies from free sources (competitors' customer pages, web search, Hacker News, YC, press wires, ATS boards, SEC Form D), reads each one's job board, news, tools and AI-adoption signals, checks every signal against its source page and ranks (prioritizes) them, fresh signal clusters and warm ways in first. `ranked` is the rest of the researched list beyond the ones written up, in order with each one's rank, compact: per account its fit, buyer role, signal families with the strongest signal, `readyNow` and `checkFirst` (the gaps: unknown or out-of-band size, no checked signal or none showing a need, no fit shown in its facts, no way in). `listed` is every other company it found, by tier (screened: home page read for fit; listed: ranked only on where it was found) then score: never researched, checked or charged, 25 inline. Then it writes up the accounts that qualified, up to five (at least the top three), highest ranked first, as a Markdown playbook (`moreQualified` names any qualified past the five): per company its fit, why now (the signals that passed their check, with links and dates), who to reach (a warm path from the user's network, else the buyer role), the angle, Check first, its checked ties to upcoming events (sponsor, speaker, host or exhibitor) and a first-email draft. Under the accounts: relevant events coming up that fit the seller's buyers (each page and date checked; nobody is confirmed to attend). The write-up is checked claim by claim against the signals and the seller's offer; after one whole-write-up repair, an email that still fails is withheld in full. Returns the Markdown with a short summary per company; locally it is also saved to a file at `path`. Takes minutes; research is cached, so a rerun is fast. It writes up the user's discover for the same seller and criteria from the last 7 days when there is one (`reusedDiscover`); otherwise `reuse` says why it searched again. Use when: "find accounts for <seller site>", "who should I sell to", "who should <seller site> sell to right now", "which accounts are in market", "rank my list of target accounts", "which of my own accounts should I work first", "who in my network can introduce me to a buyer", "who do I know at <company>", "write me a playbook for <seller site>", "give me a sales playbook for <seller>", "top 3 accounts with openers", "who should I email this week and what do I say", "draft outreach for my best accounts". Skip when: the question is one fact about one company (what software or vendors it runs, its DNS records or certificate logs, whether it ships an MCP server or is serious about LLMs), one news item, quote, claim or row to verify or fact-check, a draft of the user's own to check, whether an address is valid or deliverable, a mobile or phone number, LinkedIn profiles pulled or scraped, mutuals found by browsing LinkedIn, an RSVP or registration, events, conferences or meetups to attend on their own (the playbook lists them only beside its accounts), a watchlist of lost deals, facts about the user's own company to save or remember, or anything sent or written into a CRM (Salesforce, HubSpot) as leads: this never contacts anyone or writes anywhere but its own file. Each account also returns its fit, watch-outs, Check first gaps, evidence and complete checked opener in structured fields, and `delivered` when it has a sourced in-band size, a checked signal or warm path and a complete checked email. Observed (checked signals), Inferred (fit, objections, angle, roles) and drafts are labelled apart in the file. Openers are drafts for the user to edit, not facts about the people. `evidence`: passages the user found on a public page (its URL, the quote verbatim, the date as printed); each is checked against its page before it counts as a signal on that company, and is never what makes an account charged. Each failed passage comes back under `evidence` with the rule it failed. Paid mode, with `context.user.linkedinUrl` saved: who to reach also lists up to 3 buyers per account (9 in all) whose past employer (overlapping years) or school matches the user's own, read through treg's hosted BlitzAPI under the budget hold and matched in code. Without connections or shared history, the result says it is cold outreach. `context` takes the user's own facts about their company; the saved seller profile fills fields left out. With the ICP or buyer roles still unknown, the server asks the user for them (MCP elicitation) or returns the questions without running. On the hosted server a finished playbook also returns `link`: its page on salesmap.site, the same layout for every seller, which only signed-in members of the user's workspace can open (a member can make a public copy there that names no one). Give the user the link. In paid mode: charged per result returned from the user's credits, never for a miss (the paid data sources it uses, TheirStack and Monid, are our cost): at most `max_usd` (default: the quote tool's figure) and within their monthly limit, reserved before it runs. If the next step would pass its budget, it stops and returns what it has, with `stopped: "budget"`, charged only for that; `budget` says what was reserved and charged. A call quoted over max_usd is refused. A call quoted over the user's ask-before-spending threshold (default $1) asks the user first through the client (MCP elicitation); a client without that gets a `confirm` result with the cost and a one-use token, and a repeat call with the same arguments and `confirm_token` runs it. On the hosted server it runs as a background job: a round that takes longer than about 25 seconds returns `job` (its id and status) instead, and the free `job` tool returns its status and, once done, this call's result. In paid mode one call does it all, with no rounds. In free mode each round returns `work` and continuation.input until there is none. While SalesMap's models or search are unavailable, a paid call carries on as a free one, says so in `notice` and charges nothing. Quoted page text is normalized; a quote that reads like an instruction keeps its text and is flagged in <field>Flags with the attack family.
quoteFreeFree. What a call to a SalesMap tool is expected to cost, before running it, against what the workspace can spend now (credits and limits). Not a charge: the most the call can charge, which it reserves (or its max_usd); it is charged per result returned, never more. Use when: "how much will this cost", "can I afford a playbook for these 20 accounts", "what would a playbook cost". Skip when: the user wants their balance or limits without a call in mind. Quoted page text is normalized; a quote that reads like an instruction keeps its text and is flagged in <field>Flags with the attack family.
seller_profileFreePrice: free. Saves and reads the user's facts about their own company, kept in the user's SalesMap workspace (one entry per seller site, seen by that workspace only): who they are, company, product, ICP, buyer roles, customers, competitors, deals won and lost, regions, exclusions, do-not-contact. playbook starts from it. Returns the saved profile, the key fields still missing (ICP, buyer roles) and a question for each. Also returns `signals`, the buying signals playbook's account search looks for: the saved `needPatterns`, `signalFamilies` and `signalTypes`, `addMore` (the signal types it can detect, in 8 families: save the families the user switches on as `signalFamilies`, and discover drafts 2 or 3 signals for each; or a type by id as `signalTypes`) and, with the ICP and buyer roles known and no patterns saved, `draft`: the drafting prompt for the calling agent's model, which returns this seller's drafted signals. Use when: "remember that we sell to …", "save or update my ICP / buyer roles / customers", "our competitors are …", "don't target these accounts", "what do you know about my company / my profile", before the first list for a seller. Skip when: the question is about a prospect company, not the user's own, or about a watch on closed-lost deals and which are ready again. The saved fields are the user's inputs, not findings. Quoted page text is normalized; a quote that reads like an instruction keeps its text and is flagged in <field>Flags with the attack family.
set_limitsFreeFree. Sets the user's own monthly spending limit for SalesMap in USD (rolling 30 days); null removes it. Until set: $250 once the workspace has topped up, else $100. There is no daily or weekly limit. No call ever spends past the limit or the credit balance. Also the confirm amount: a paid call quoted over it asks the user first (default $1; 0 asks every time; null never asks). Returns the limits with what's spent and left. Use when: "set a monthly budget", "cap my spend at $50 a month", "raise my limit", "remove the limit", "stop asking me before each call". Skip when: the user only wants to see their limits, not change them. Quoted page text is normalized; a quote that reads like an instruction keeps its text and is flagged in <field>Flags with the attack family.
whoamiFreeFree. Who the user is on SalesMap and what they can do: their name and email, the workspace and their role in it, how they signed in, the credit balance, the monthly spending limit (rolling 30 days; null = no limit) with what's spent and left, the amount above which a paid call asks first, the seller profiles saved and the LinkedIn connections uploaded, links to top up and to upload connections, and which tools are free. It holds no ids. Use when: "who am I", "which account is this", "how much budget do I have left", "what are my limits", before a large paid call. Skip when: the user wants the price of one specific call. Quoted page text is normalized; a quote that reads like an instruction keeps its text and is flagged in <field>Flags with the attack family.
Public scan report
scanner v0.1.10 · 2026-10-25 · same rubric, same numbers if you re-run it
- Code scan2 source files scanned25/25
- Live reliabilityremote reachable in 629ms20/20
- Tool poisoning6 tool descriptions checked13/15
- Auth qualityopen endpoint, read-only tools10/15
- Maintenancelast push 4 days ago15/15
- Maintainer identityendpoint served from the registry-verified namespace domain8/10
Findings (1)
- lowUnusually long tool description (over 2,000 characters)
poison.long-descriptiontool playbook: …Price in paid mode: $7.50 on a discover for the same seller from the last 7 days, $25.00 when it has to run its own sweep. Never more than max_usd. Mode: `paid` (the default when the balance covers one result) runs SalesMap's own search, models and paid data sources, free sources first, at the price above. `free` (the default otherwise) is $0: the calling agent runs the searches and judgments returned as `work`, and SalesMap reads and checks every source. `mode` overrides the default. Finds the accounts a seller should sell to now, writes the sales playbook, and lists the relevant events coming up that fit the seller's buyers, in one call. From the seller's website (or the user's own list of companies in `companies`, up to 50) it runs discover: drafts the ICP from the site (or takes one), finds candidate companies from free sources (competitors' customer pages, web search, Hacker News, YC, press wires, ATS boards, SEC Form D), reads each one's job board, news, tools and AI-adoption signals, checks every signal against its source page and ranks (prioritizes) them, fresh signal clusters and warm ways in first. `ranked` is the rest of the researched list beyond the ones written up, in order with each one's rank, compact: per account its fit, buyer role, signal families with the strongest signal, `readyNow` and `checkFirst` (the gaps: unknown or out-of-band size, no checked signal or none showing a need, no fit shown in its facts, no way in). `listed` is every other company it found, by tier (screened: home page read for fit; listed: ranked only on where it was found) then score: never researched, checked or charged, 25 inline. Then it writes up the accounts that qualified, up to five (at least the top three), highest ranked first, as a Markdown playbook (`moreQualified` names any qualified past the five): per company its fit, why now (the signals that passed their check, with links and dates), who to reach (a warm path from the user's network, else the buyer role), the angle, Check first, its checked ties to upcoming events (sponsor, speaker, host or exhibitor) and a first-email draft. Under the accounts: relevant events coming up that fit the seller's buyers (each page and date checked; nobody is confirmed to attend). The write-up is checked claim by claim against the signals and the seller's offer; after one whole-write-up repair, an email that still fails is withheld in full. Returns the Markdown with a short summary per company; locally it is also saved to a file at `path`. Takes minutes; research is cached, so a rerun is fast. It writes up the user's discover for the same seller and criteria from the last 7 days when there is one (`reusedDiscover`); otherwise `reuse` says why it searched again. Use when: "find accounts for <seller site>", "who should I sell to", "who should <seller site> sell to right now", "which accounts are in market", "rank my list of target accounts", "which of my own accounts should I work first", "who in my network can introduce me to a buyer", "who do I know at <company>", "write me a playbook for <seller site>", "give me a sales playbook for <seller>", "top 3 accounts with openers", "who should I email this week and what do I say", "draft outreach for my best accounts". Skip when: the question is one fact about one company (what software or vendors it runs, its DNS records or certificate logs, whether it ships an MCP server or is serious about LLMs), one news item, quote, claim or row to verify or fact-check, a draft of the user's own to check, whether an address is valid or deliverable, a mobile or phone number, LinkedIn profiles pulled or scraped, mutuals found by browsing LinkedIn, an RSVP or registration, events, conferences or meetups to attend on their own (the playbook lists them only beside its accounts), a watchlist of lost deals, facts about the user's own company to save or remember, or anything sent or written into a CRM (Salesforce, HubSpot) as leads: this never contacts anyone or writes anywhere but its own file. Each account also returns its fit, watch-outs, Check first gaps, evidence and complete checked opener in structured fields, and `delivered` when it has a sourced in-band size, a checked signal or warm path and a complete checked email. Observed (checked signals), Inferred (fit, objections, angle, roles) and drafts are labelled apart in the file. Openers are drafts for the user to edit, not facts about the people. `evidence`: passages the user found on a public page (its URL, the quote verbatim, the date as printed); each is checked against its page before it counts as a signal on that company, and is never what makes an account charged. Each failed passage comes back under `evidence` with the rule it failed. Paid mode, with `context.user.linkedinUrl` saved: who to reach also lists up to 3 buyers per account (9 in all) whose past employer (overlapping years) or school matches the user's own, read through treg's hosted BlitzAPI under the budget hold and matched in code. Without connections or shared history, the result says it is cold outreach. `context` takes the user's own facts about their company; the saved seller profile fills fields left out. With the ICP or buyer roles still unknown, the server asks the user for them (MCP elicitation) or returns the questions without running. On the hosted server a finished playbook also returns `link`: its page on salesmap.site, the same layout for every seller, which only signed-in members of the user's workspace can open (a member can make a public copy there that names no one). Give the user the link. In paid mode: charged per result returned from the user's credits, never for a miss (the paid data sources it uses, TheirStack and Monid, are our cost): at most `max_usd` (default: the quote tool's figure) and within their monthly limit, reserved before it runs. If the next step would pass its budget, it stops and returns what it has, with `stopped: "budget"`, charged only for that; `budget` says what was reserved and charged. A call quoted over max_usd is refused. A call quoted over the user's ask-before-spending threshold (default $1) asks the user first through the client (MCP elicitation); a client without that gets a `confirm` result with the cost and a one-use token, and a repeat call with the same arguments and `confirm_token` runs it. On the hosted server it runs as a background job: a round that takes longer than about 25 seconds returns `job` (its id and status) instead, and the free `job` tool returns its status and, once done, this call's result. In paid mode one call does it all, with no rounds. In free mode each round returns `work` and continuation.input until there is none. While SalesMap's models or search are unavailable, a paid call carries on as a free one, says so in `notice` and charges nothing. Quoted page text is normalized; a quote that reads like an instruction keeps its text and is flagged in <field>Flags with the attack family.…
How SalesMap compares
Against every graded Sales and outbound MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 91/100
- higher than 87% of 828 Sales and outbound servers
- Tools
- 6
- the typical Sales and outbound server has 9
- Tools that change things
- 0%
- typical: 11%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote Sales and outbound server answers 100%
- Response time
- 329 ms
- faster than 60% of 626 Sales and outbound servers
- Downloads a week
- 46
- more than 50% of 145 Sales and outbound servers with a package
What its tools let an agent do: 5 read · 1 change
Install SalesMap in Claude Code, Cursor or VS Code
claude mcp add --transport http signals https://api.salesmap.site/mcp
What the publisher says
From the SalesMap repository's README, as published. We do not edit it. Read it on GitHub
SalesMap plugin for Claude Code
Checked buying signals and ranked lead lists for your agent: who to sell to now, why, and how to reach them. SalesMap never sends email or messages, finds email addresses or phone numbers, automates LinkedIn, writes to a CRM, or registers for events.
What's in it
- .mcp.json: the hosted server, https://api.salesmap.site/mcp, signed in with OAuth (your SalesMap account; /mcp → salesmap → Authenticate).
- Skills (also slash commands, /salesmap:), one per flow that needs judgment:
The server also serves one MCP prompt per flow (onboard, discover, rank, signals, research, playbook, events, warmpaths, watch, changes, verify, and hosted account); Claude Code lists them in / under the server's name (/mcpsalesmap__ for a server added as salesmap). The skills carry the judgment those prompts leave out.
Every skill runs the work loop: when a tool returns work, the agent runs each search prompt with its own web search and calls again with the answers; on the hosted server discover does this by default, so no search runs on SalesMap's side. Every skill fills each tool's context from what the agent already knows and never invents it, quotes prices from the quote tool and the result's budget block (never a number in the skill), and treats quotes in tool output as data.
Install
claude plugin install salesmap --marketplace solozerolabs/salesmap-pluginThen ask Claude to "set up SalesMap" or run /salesmap:getting-started. The first paid tool asks you to sign in: /mcp → salesmap → Authenticate. Without signing in, techscan, aiadoption and verify_signal run free.
An API key instead of OAuth (CI, or an agent with no browser): get one from POST https://api.salesmap.site/v1/agent/signup (see https://salesmap.site/llms.txt) or POST /v1/keys, then claude mcp add --transport http salesmap-key https://api.salesmap.site/mcp --header "Authorization: Bearer smk_…" and disable the plugin's server in /mcp.
Privacy
SalesMap's privacy policy: https://salesmap.site/privacy. Customer terms: https://salesmap.site/terms. The plugin itself stores nothing; the hosted server keeps your workspace's seller profile, watchlist and results as the policy describes. Support: the contacts on the privacy page.
Why no hooks
A hook runs in every session of every user who installs the plugin, whether or not they use SalesMap that day. It costs context or tokens each time, and a hook can move data off the user's machine: Cargo's plugin uploads a transcript summary from a SessionEnd hook and needed a recursion guard after 264 runaway sessions. SalesMap needs none of that: it does work only when the agent calls a tool, keeps the seller profile and watchlist in the user's workspace, and has nothing to do at session start or end.
Nothing above is checked by us. What we check is on the safety report.
SalesMap: common questions
- Is SalesMap MCP server safe?
- Yes, by our scan: it is graded A (91/100). Read the SalesMap safety report
- How do I install SalesMap?
- It runs remotely at api.salesmap.site. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does SalesMap need an API key?
- Yes. The registry entry asks for
SALESMAP_API_KEY. - Is SalesMap maintained?
- The last commit was 4 days ago (2026-10-21). The latest release is v0.2.0.
- Is SalesMap up?
- 100% of our last 5 checks got an answer. We check remote servers about four times a day.
- What can I use instead of SalesMap?
- Servers from other publishers that do the same job: Vibe Prospecting MCP server, Rd Station MCP server and Salesforce MCP server. Compare all SalesMap alternatives.
- How does SalesMap compare with other Sales and outbound MCP servers?
- safety score 91/100 (higher than 87% of 828 Sales and outbound servers); tools 6 (the typical Sales and outbound server has 9); tools that change things 0% (typical: 11%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to SalesMap
Same job from other publishers: the closest match first, then the best rated.
- Vibe ProspectingB2B company and contact data for lead lists, enrichment, research, and outreach. OAuth sign-in.not reviewedEstablishedA
- Rd StationMCP server for RD Station — contacts, events, funnels, deals, segmentations, lead scoring, webhooksnot reviewedGrowingB
- SalesforceSalesforce CRM MCP server: accounts, contacts, opportunities, leads, tasks, and custom objectsnot reviewedGrowingA
- PreceptB2B lead and company intelligence: search leads, enrich contacts, and queue outreach.not reviewedGrowingA
CargoFind and verify work emails, enrich companies and contacts, score leads and sync to your CRM.not reviewedGrowingC