SalesMap

site.salesmapPublished by salesmap.siteOfficial publisherv0.2.0Updated Oct 27, 2026

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

VerifiedStreamable HTTPWeb executableData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

SalesMap gives an agent checked buying signals and ranked lead lists — who to sell to now, why, and how to reach them — without contacting anyone.

What you can do
  • Discover and rank target accounts, with background job status and partial results while a search runs
  • Save and read the seller profile: company, product, ICP, buyer roles, competitors, won and lost deals, exclusions
  • Check outreach drafts for AI-writing tells and channel limits, and record fit verdicts on companies
  • Inspect identity, credit balance and monthly limit, set the limit, and quote the credit cost of a call before running it
When to use it
For sales and prospecting work where an agent should propose a ranked list of accounts with dated signals and warm paths, prep research on a handful of companies, or fact-check a draft or export. Useful when you want the assistant to reason over your own seller context and budget rather than send outreach itself.
Requirements
Either the hosted endpoint signed in with a SalesMap account via OAuth, or a local npm package run with npx over stdio. An API key in SALESMAP_API_KEY (an smk_ key) can replace OAuth for CI or browserless agents; without it only the free tools run. Paid discovery consumes credits.
Before you install
Paid discovery spends credits (one per qualifying account) against a workspace balance and monthly limit, so set the limit and check quotes first. The hosted server stores your seller profile, watchlist and results in your workspace. The API key is a secret. The server does not send messages, find contact details, automate LinkedIn or write to a CRM.

Installation

In SourceWeft

  1. Open SalesMap in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/site.salesmap%2Fsignals/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "salesmap": {
      "type": "http",
      "url": "https://api.salesmap.site/mcp"
    }
  }
}

README

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:<name>), one per flow that needs judgment:
SkillFlowTools
getting-startedconnect, limits, save the seller profile, first listwhoami, set_limits, seller_profile, quote, discover
weekly-pipelinewho to sell to now, a playbook with drafts, warm pathsdiscover, playbook, warm_paths, seller_profile
account-researchprep for a call on up to 5 companiessignals, tech_scan, ai_adoption, events, warm_paths, verify_signal
check-listfact-check a draft or an export; rank your own listverify, verify_signal, rank, job
past-leadswatch lost deals, alerts when one is worth another trywatch, watch_changes
eventsevents your buyers attend near youevents

The server also serves one MCP prompt per flow (onboard, discover, rank, signals, research, playbook, events, warm_paths, watch, changes, verify, and hosted account); Claude Code lists them in / under the server's name (/mcp__salesmap__<prompt> 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

bash
claude plugin install salesmap --marketplace solozerolabs/salesmap-plugin

Then 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, tech_scan, ai_adoption 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.

Source: README.md at commit 816946d

Tools

8

discover

Find accounts to sell to

Price in paid mode: 1 credit per account that qualifies (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 uses none. Never more than max_credits. Mode: `paid` (the default when the balance covers one account) runs SalesMap's own search, models and paid data sources, free sources first, at the price above. `free` (the default otherwise) uses no credits: 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, each of the profile's `disqualifiers` a quoted source shows it meets, or not checked); `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, intent and a met disquali

Parametersicpdayshardmodelimitresumesellercontextvendorsevidencesearcheschampions+14 more

seller_profile

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

Parameterssellerrequiredcontext

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.

Parametersbodyrequiredformatrequiredsubject

feedback

Free. Records the user's verdict on a company in their ranked list: good_fit, not_fit or already_talking, with an optional reason from a fixed list (competitor, existing_customer, too_small, too_big, wrong_industry, no_need, bad_timing, other). A not_fit company is left out of every later discover for this workspace; the user's own named list still runs it. The latest verdict per company wins. No free text is stored. Use when: "that one's a competitor, skip it", "not a fit", "good fit", "we're already talking to them", "drop this company", "mark it as a bad lead", a verdict on an account discover returned. Skip when: finding or ranking new accounts; excluding a whole category of companies from the ICP (seller_profile); checking an outreach draft. 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.

Parametersdomainrequiredreasonverdictrequired

whoami

Show account and credit

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 (one credit is one researched account), the monthly credit limit (rolling 30 days; null = no limit) with what's used, held by a running search and left, the credits 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 many credits 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.

Takes no parameters.

set_limits

Set spending limits

Free. Sets the user's own monthly credit limit for SalesMap (rolling 30 days); null removes it. Until set: 100 credits once the workspace has bought a pack, else 40. There is no daily or weekly limit. No call ever uses more than the limit or the balance. Also the ask-first threshold: a paid call quoted over that many credits asks the user first (default 0: every call asks; null never asks). Also `weeklyDiscover` (off by default): true runs a paid discover for the active seller every Monday, within these limits and the balance (1 credit per account that qualifies), and emails the signed-in user only the companies never shown before, nothing when none are new; set it only on the user's explicit yes. Returns the limits with what's used and left. Use when: "set a monthly budget", "cap it at 20 credits a month", "raise my limit", "remove the limit", "stop asking me before each call", "email me new accounts every week", "stop the weekly email". 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.

ParametersconfirmCreditsmonthlyCreditsweeklyDiscover

quote

Quote a call's price

Free. How many credits a call to a SalesMap tool can use, before running it, against what the workspace can spend now (balance and limit). Not a charge: the most the call can use, which it reserves (or its max_credits); it uses 1 credit per account that qualifies, never more. When `fits` is false, `shortfallCredits` says how many more are needed and `topUp` is the link. Use when: "how much will this cost", "can I afford 10 accounts", "how many credits would a discover for my site use". 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.

Parameterstoolrequiredinput

job

Get a background 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.

Parametersidrequired

Version history

2
  1. v0.2.0LatestOct 21, 2026
  2. v0.1.0Oct 21, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Salesmap integrations