mcpbeat Sign in

SalesMap MCP Server

answering

SalesMap is answering right now. Last checked 15 min ago. 46 installs a week from npm. It exposes 7 tools. Last commit 22 Oct 2026.

Checked buying signals and ranked lead lists for your agent. Never contacts anyone.

Installs per day peak 46 · avg 1
a month agotoday
Uptime history 5 days of history · worst day 90%
5 days agonow
100.0%
Uptime 24h
91 of 91 checks
7
Tools
read from the server
481 ms
Response time
average over 24h
46
Installs / week
npm and PyPI

What changed 156

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 22 October 2026. No other catalogue keeps this.

26 Oct 2 tools changed the parameters they ask for discover, seller_profile
26 Oct a tool description was rewritten2 times that day discover
26 Oct a tool appeared voice_scan
25 Oct 4 tool descriptions were rewritten7 times that day job, playbook, quote and 1 more
25 Oct 2 tools changed the parameters they ask for3 times that day playbook, seller_profile
25 Oct a tool disappeared playbook
25 Oct a tool appeared discover
24 Oct 7 tools changed the parameters they ask for29 times that day discover, events, playbook and 4 more
24 Oct 9 tool descriptions were rewritten22 times that day discover, events, job and 6 more
24 Oct 10 tools disappeared ai_adoption, discover, events and 7 more
and 118 more, back to 22 October 2026

What the code does

We read the source, 3 d ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

File ships in the package but is absent from the source [пакет] salesmap.js:1
этот файл ставится пользователю, но в репозитории его нет

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 15 min ago.

run in your terminal
claude mcp add signals --transport http https://api.salesmap.site/mcp
Settings → Connectors → Add custom connector, then paste this address
https://api.salesmap.site/mcp
~/.codex/config.toml
[mcp_servers.signals]
url = "https://api.salesmap.site/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "signals": {
      "url": "https://api.salesmap.site/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "signals": {
      "type": "http",
      "url": "https://api.salesmap.site/mcp"
    }
  }
}

Available tools 7

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

discover
discover
Price in paid mode: $2.50 per delivered company. A delivered company has a sourced in-band size, a supported fit and a checked dated signal or warm path, not returned before; the rest of the ranked list is free ($0 if none is delivered). 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. From a seller's website to a ranked list of companies to sell to, the strongest buying signals first, each with its reason and how to reach it: drafts the seller's ICP from its site (or takes one), finds candidate companies from free sources (the seller's competitors' customer pages, live or from Common Crawl; web search; Hacker News, YC, press wires, ATS boards and SEC Form D), reads each one's own job board, news, tools and AI-adoption signals and checks every signal against its source, adds the market's dated moves at competitors, platforms and regulators (under `market`), and ranks every researched company by its evidence: fresh signal clusters first, then a warm way in from the user's own network (their own connections, champions, connectors), a sourced size inside the band and a fit the facts show. Each account carries its fit, the buyer role to contact, the angle, what to watch out for 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); `intent` (high: a fresh signal cluster with nothing against it; medium: a checked signal in the last 45 days; low: the rest) and `sizeLine` are the accounts page's labels, and the order is the ranking; high means buying signals, not a readiness to buy. Size, fit and intent rank and flag rather than drop unless `hard` asks; existing customers and what was dropped and why come back as top five with counts. Takes minutes per company; steps are cached, so a rerun is fast. 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 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, 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, writes no emails and writes nowhere but its own file. Free sources first; a paid company-data lookup (company records through our data providers) runs only for what they left open, under its budget, and only where the run allows paid sources. `paid` in the result is what it cost and each account's `foundBy` says which source found it. A repeat for the same seller skips companies an earlier discover returned unless one has a signal it wasn't shown with (then `shownBefore`); skipped ones are under `dropped` as 'returned before, no new signal'. Each still costs its (cached) research, not a write-up. When the usual sources find only those, it searches wider once (more web results, four weeks of feeds, more ATS boards); `repeat` says so, `repeat.nothingNew` means nothing new qualified, and `repeat.costUsd` (hosted) is what finding that out cost. `includeShown` returns the earlier companies too. `contacted`: companies the user already reached (`domain`, `lastAt` as the last day), from their own records. One reached in the last 30 days ranks below the uncontacted ones of its tier with "Contacted <date>" in its reason and `checkFirst`; an older one keeps its place and shows the date. It is never a drop and leaves the charge unchanged. `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. Names from the user's network stay local and never reach a model. Every signal was checked against its page. Each account shows its five strongest signals and a count per signal family; `full` is the file with every signal, path and field. `used` lists which of the user's own facts shaped the list, apart from the checked signals. `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. In paid mode: charged per result returned from the user's credits, never for a miss (the data sources it pays for 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. A result that charged carries `cost.line`, the one money line for the user; holds, releases, limits and what wasn't charged stay in `budget` and `cost`. 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. A finished result carries `accountsUrl`, the user's accounts page: every company the run found (`listed` and the accounts left out of this reply too), its research, the run's upcoming events and Deep research one company at a time. 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.
job
job
Free. The status (queued, running, done or failed) and, once done, the result of a background job: a discover call or a long discover round. While a discover 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 discover 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.
limits
set_limits
Free. 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.
quote
quote
Free. 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. When `fits` is false, `shortfallUsd` says how much more credit is needed and `topUp` is the link. Use when: "how much will this cost", "can I afford 20 accounts", "what would a discover for my site 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
seller_profile
Price: 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. discover 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 discover'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.
voice
voice_scan
Free. Checks an outreach draft the user or their agent wrote (a connection note, direct note, InMail or email) for AI-writing tells and the channel's limits, in code with no model: `fails` (antithesis like "it's not just X, it's Y", hype words, servile or empty closers, leaked placeholders like [First Name], raw markdown, the 300-character invite note, 1,900-character InMail and 200-character subject caps) and `warnings` (dashes, sales clichés like "just following up", assistant vocabulary, exclamations, emoji, a cold email over 125 words). `pass` means no fails. Each hit carries the matched text and a fix. Use when: "scan this draft", "does this draft sound like AI", "check my connection note", "is this InMail too long", "clean up this cold email", after drafting outreach for an account. Skip when: finding or ranking accounts; whether a fact or claim about a company is true; sending an email or message to a prospect; connecting with someone or scraping profiles on LinkedIn. 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.
whoami
whoami
Free. 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.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

warm_paths
removed 23 Oct 2026
ai_adoption
removed 24 Oct 2026
events
removed 24 Oct 2026
rank
removed 24 Oct 2026
signals
removed 24 Oct 2026
tech_scan
removed 24 Oct 2026
verify
removed 24 Oct 2026
verify_signal
removed 24 Oct 2026
watch
removed 24 Oct 2026
watch_changes
removed 24 Oct 2026
playbook
removed 26 Oct 2026

Endpoints

URLTransportStateLatencyChecked
https://api.salesmap.site/mcp streamable-http answering 365 ms 15 min ago

Alternatives to SalesMap

same job, measured the same way
Lettera
by lettera

Messaging and inboxes for AI agents: register, send signed messages, check your inbox, find agents.

7 tools answering
SignalRaven
by signalraven

LinkedIn buying-intent signals, intelligence reports and delivery settings for your workspace.

answering
pipe0
by pipe0

GTM data for agents. Build and enrich lead lists, and watch for signals like job changes and hiring.

answering
SBOR
by sbor

Check a lending rate before your agent borrows. Bitcoin-backed dollar rates from contracts. No key.

60 installs/wk 6 tools answering
UI Beats
by uibeats

MCP server for UI Beats. Let your coding agent search, read and install animated React components.

49 installs/wk local only
BugTape
by bugtape

Production bugs with replay, network, console and stack, ranked for your coding agent to fix.

answering
ListSignal
by listsignal

B2B sales intelligence: tech stack, Shopify apps, revenue, hiring and contacts for 25M+ firms

answering
AI Text-a-roo
by aitextaroo

Give your AI agent a phone number: it texts you, waits for your reply, and texts your contacts.

answering

SalesMap — questions

Answers built from our own checks of this server.

What can SalesMap do?
It exposes 7 tools, read directly from the server on our last check. Among them: discover, job, quote, seller_profile, set_limits, voice_scan and 1 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is SalesMap working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 481 ms. The bar chart above shows every period we have measured.
Did SalesMap ever remove tools?
Yes. warm_paths, ai_adoption, events, rank and 7 more are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect SalesMap?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does SalesMap need an API key?
No. SalesMap completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 7 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is SalesMap?
It answers our handshake in 481 ms on average, which is faster than 28% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use SalesMap?
The npm package salesmap was installed 46 times in the last week. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is SalesMap open source?
No, and the distinction matters: its licence is declared as unlicensed (all rights reserved). That makes it source-available — you can read the code, but the terms are the author's own, not one of the recognised open-source licences. Read them before you build on it.