Stack · Sales

Sales desk

Researches the account, writes the sequence, keeps the CRM current, and books the meeting without four tabs.

Built for: The account executive whose pipeline is accurate only on the days they spend an hour updating it by hand.

Install all 12 parts

The button opens the checkout, where the 8 servers and 4 skills are listed one by one. Every member is free, so the checkout lists them and asks for no card.

$0/mo
every member is free — 8 servers and 4 skills
$0
the free-tier version keeps 8 servers and 4 skills — and all 49 tools
$0
4 skills with no monthly cost
43.6k
tokens if every skill file is read in full — a skill loads its description first and the rest only when used
01 · Outcome

What your agent can do with this

The reason to buy a stack rather than five listings: each line below needs more than one member connected at the same time.

  1. 01

    Read and update accounts, contacts and opportunities in Salesforce, and note what was said instead of remembering it.

  2. 02

    Research a company before the call through search and Perplexity, and keep the finding on the record.

  3. 03

    Draft the outreach sequence with the follow-up cadence and the compliance footer already in it.

  4. 04

    Find the free slot and put the meeting in the calendar the invitation will come from.

02 · Assembly

The assembly, part by part

What each part contributes, and why it was picked over the obvious alternative. Prices and permissions are read from the listings, so nothing here can disagree with the catalogue.

8 servers4 skills49 tools
SA01

The system of record, with the breadth to cover data operations rather than only reading a contact.

read/write split not recordedruns on your machine A v1.0.3 credential not declared · runs locally
Free
$0 of the monthly total
HU02
Hubspot MCP server Sales & CRM by HubSpot

The marketing side of the same account — forms, lifecycle, the app your team already builds against.

read/write split not recordedruns on your machine A v0.4.0 credential not declared · runs locally
Free
$0 of the monthly total
GM03
Gmail MCP server Email by klodr

Scope-gated mail access with path jails on attachments, which is the version of an inbox connector worth giving a sales tool.

14 read22 writeruns on your machine A v1.4.2 · updated 3 weeks ago OAuth · runs locally
Free
$0 of the monthly total
GO04

Finding the slot and putting the meeting in it, from the same conversation that agreed to it.

0 read1 writeruns on your machine A v2.7.0 · updated 2 weeks ago credential not declared · runs locally
Free
$0 of the monthly total
NO05

Where the account notes, the call summary and the internal answer to 'what happened last time' live.

read/write split not recordedruns on your machine A v2.0.2 credential not declared · runs locally
Free
$0 of the monthly total
SE06

Google web, news and places search for the pre-call research that decides how the first two minutes go.

8 readread-onlyruns on your machine A v3.0.3 credential not declared · runs locally
Free
$0 of the monthly total
AI07
Airtable MCP server Other by w-10-m

The structured list the team actually works from — territories, target accounts, sequences — when the CRM view is too heavy.

read/write split not recordedruns on your machine A v1.7.0 credential not declared · runs locally
Free
$0 of the monthly total
PE08

The quick answer with sources about a company or a market, for the question that arrives ten minutes before the call.

4 readread-onlyruns on your machine A v1.3.0 · updated 3 weeks ago credential not declared · runs locally
Free
$0 of the monthly total
and the instructions that drive them A skill is a prompt file, not a server: it adds context and a procedure, never a tool or a permission of its own.
CO09
cold-email Agent skill by borghei

Writes the outreach sequence with cadence, personalisation and deliverability treated as part of the copy rather than as an afterthought.

5.7k tokens when loaded in full write access not declared 4 files · MIT v1.0.0 needs no server of its own
Free
no monthly cost
GO10
Google Maps (gmaps) Agent skill by deusyu

Geocoding, place search and routing for field sales: which accounts are near each other, and what a day of visits actually looks like.

1.5k tokens when loaded in full write access not declared 28 files · MIT needs no server of its own
Free
no monthly cost
IN11
Invoice Generator Agent skill by sundial-org

The invoice or payment request at the end of a small deal, generated as a PDF from the record rather than typed into a template.

2.1k tokens when loaded in full write access not declared 5 files · CC0-1.0 needs no server of its own
Free
no monthly cost
AG12
agent-browser core Agent skill by vercel-labs

Drives a browser for the research a search API cannot reach — a portal, a pricing page behind a form, a directory with no API.

34.4k tokens when loaded in full write access not declared 14 files · Apache-2.0 needs no server of its own
Free
no monthly cost
03 · Cost

What it costs, and on what assumption

Every member is free, so the monthly figure is $0 whatever you do with the stack: nothing here is billed by the call, and only adding a paid member could change it.

PartWhat you are paying forMonthly, as quoted
Salesforce Free —
Hubspot Free —
Gmail Free —
Google Calendar Free —
Notion Free —
Serper Search Free —
Airtable Free —
Perplexity Ai Free —
Skills
cold-email Free · context cost only —
Google Maps (gmaps) Free · context cost only —
Invoice Generator Free · context cost only —
agent-browser core Free · context cost only —
Everything above $0 of servers plus $0 of skills, the same in a quiet month and a busy one $0/mo

Subscriptions at their monthly plan price; one-off licences spread over 12 months.

What moves the bill
Flat every month$0 · 0 subscriptions
Carries a call allowancenothing
Paid oncenothing
Traffic assumed5k calls / month

Nothing in this stack carries a call allowance, so nothing here can run out before the month does. The bill is decided when you install it, not when you use it.

The spend cap is one figure for the whole account, set in your dashboard and checked when an order is placed. On the call path what stops a retry loop is the plan's call allowance and its rate limit, and a refused call is never billed.

04 · Setup

Setting it up, in order

The steps below come before the install lines: what to decide and scope before connecting anything, in the order it matters. The lines themselves follow, part by part, for the client you pick.

1
Scope the CRM user
Give the Salesforce connection its own user with the profile of the team it serves. An admin token in a sales desk can rewrite the pipeline it is meant to keep.
2
Gmail, one scope at a time
The Gmail server is scope-gated. Start with read and draft; add send only when the desk has earned it and the team wants it. Before its first use, save your Google OAuth client (Desktop app) as ~/.gmail-mcp/gcp-oauth.keys.json and run npx -y @klodr/gmail-mcp auth once; until then the Gmail server starts but lists no tools.
3
Decide where notes land
Notion and Airtable are both here on purpose — one for narrative, one for structure. Pick which one holds the account notes before both do.
4
Keep research off the record until it is checked
Search results and model answers are leads, not facts. Write them into the CRM only after the call has confirmed them.
Install, part by part12 parts of 12 in Claude Code

npx mcprush@latest stack add sales-desk writes all 8 servers into Claude Code’s config in one go — or run the lines below one by one. The 4 skills are not included — add them with lines 09–12.

Keys you’ll need
Hubspot
PRIVATE_APP_ACCESS_TOKEN — HubSpot private app access token
Google Calendar
GOOGLE_OAUTH_CREDENTIALS — Path to your OAuth client file gcp-oauth.keys.json (Google Cloud → Credentials → OAuth client, Desktop app)
Notion
NOTION_API_TOKEN — Notion integration token (notion.so/my-integrations)
Serper Search
SERPER_API_KEY — Your Serper API key (serper.dev)
Airtable
AIRTABLE_ACCESS_TOKEN — Your Airtable personal access token (airtable.com/create/tokens)
Perplexity Ai
PERPLEXITY_API_KEY — Your Perplexity API key

Set them where you start Claude Code — export PRIVATE_APP_ACCESS_TOKEN=… in your shell profile on macOS and Linux, setx PRIVATE_APP_ACCESS_TOKEN "…" on Windows, then open a new terminal. Claude Code reads them at start; the config keeps only the names.

Gmail needs one step before it answers — run this once, on its own:

npx -y @klodr/gmail-mcp auth
# 01 · Salesforce claude mcp add --scope user salesforce-mcp '--' npx -y @kirtijha/salesforce-mcp-server # 02 · Hubspot claude mcp add --scope user --env 'PRIVATE_APP_ACCESS_TOKEN=${PRIVATE_APP_ACCESS_TOKEN}' --transport stdio hubspot-mcp '--' npx -y @hubspot/mcp-server # 03 · Gmail claude mcp add --scope user gmail-mcp '--' npx -y @klodr/gmail-mcp # 04 · Google Calendar claude mcp add --scope user --env 'GOOGLE_OAUTH_CREDENTIALS=${GOOGLE_OAUTH_CREDENTIALS}' --transport stdio google-calendar-mcp '--' npx -y @cocal/google-calendar-mcp # 05 · Notion claude mcp add --scope user --env 'NOTION_API_TOKEN=${NOTION_API_TOKEN}' --transport stdio notion-mcp '--' npx -y @suekou/mcp-notion-server # 06 · Serper Search claude mcp add --scope user --env 'SERPER_API_KEY=${SERPER_API_KEY}' --transport stdio serper-search-mcp '--' npx -y serper-search-mcp # 07 · Airtable claude mcp add --scope user --env 'AIRTABLE_ACCESS_TOKEN=${AIRTABLE_ACCESS_TOKEN}' --transport stdio airtable-mcp '--' npx -y @west10tech/airtable-mcp # 08 · Perplexity Ai claude mcp add --scope user --env 'PERPLEXITY_API_KEY=${PERPLEXITY_API_KEY}' --transport stdio perplexity-ai-mcp '--' npx -y @perplexity-ai/mcp-server # 09 · cold-email npx mcprush@latest skill add borghei/cold-email # 10 · Google Maps (gmaps) npx mcprush@latest skill add deusyu/google-maps-gmaps # 11 · Invoice Generator npx mcprush@latest skill add sundial-org/invoice-generator # 12 · agent-browser core npx mcprush@latest skill add vercel-labs/agent-browser-core
Requirements and Windows tips
  • Node.js — the current LTS (24) is the safe choice (for npx).
  • Windows PowerShell says 'running scripts is disabled on this system'? Run Set-ExecutionPolicy -Scope CurrentUser RemoteSigned once, or type npx.cmd instead of npx (codex.cmd, gemini.cmd, grok.cmd likewise). PowerShell 7 needs neither.

Nothing is connected until you approve it in Claude Code. mcprush is not in the path and meters nothing here.

Before you start
  • 1 member authorises over OAuth — you are sent to their consent screen once each.
  • 7 members have not declared what credential they need — check each one’s own page before you start.
  • What this stack can write is not recorded — 4 members of 8 have no imported tool surface. Section 05 says what is known before you approve anything.
  • 8 members are connected straight from their own package or address — nothing in them goes through mcprush.
05 · Permissions

What the whole stack can reach

Installed together, these tool surfaces add up. It is the first thing a security reviewer asks for, so what has been counted — and what nobody has counted yet — is on the page rather than in a PDF.

—
tools that only read
Which tools read and which write is counted from the surface a publisher imports, and 4 members of 8 have no imported tool surface.
—
tools that can change something
Not recorded, and not estimated: a total added up from the members that have a surface would be read as the whole stack’s. The table below is what is known, member by member.
0
tools that reach the network
49 of the 49 never leave your machine — they belong to the local members.
Who grants the write accessnot recorded
MemberTool surfaceWrite tools
Gmail imported 22
Google Calendar imported 1
Airtable not imported not recorded
Hubspot not imported not recorded
Notion not imported not recorded
Salesforce not imported not recorded
Reading the number

A stack's blast radius is the union of its members, not the worst of them. That union cannot be taken here, because 4 members of 8 have no imported tool surface — so the figure a review asks for is missing rather than low, and a member marked not imported is one nobody has counted rather than one that cannot write.

Tools in total49
Write sharenot recorded
Members that can writeat least 2 of 8
Surface imported4 of 8 members
06 · Swaps

Sensible swaps

A stack is a default, not a verdict. These are the substitutions the maintainer would make, and what each one costs or saves.

A small team that never bought Salesforce runs the same desk against Close, and loses the parts of the sequence that assumed enterprise objects.

same money at 5k calls tool counts not recorded both grade A

If marketing automation is the only part of HubSpot you use, the narrower server does that job and takes the CRM overlap out of the stack.

same money at 5k calls tool counts not recorded both grade A
07 · Limits

Where this stack stops

Written by the maintainer, kept on the page rather than in a support thread.

  • It cannot send mail on your behalf without you. The drafting is the desk's; hitting send stays a person's action and should stay a person's permission.

  • It does not price anything. Discounts, terms and approvals live in your own process, not in a prompt.

  • The CRM is the record. Where the desk and Salesforce disagree, Salesforce is right and the desk is stale — nothing here is a second system of record.

08 · Maintenance

Who keeps this current

A stack has an owner: whoever keeps it re-checks the combination when a member changes, and the members themselves are published by the people named on each row.

Maintainer
mcprush
The marketplace’s own editors — keep 40 stacks here
Version
—
Not versioned — the curator edits in place
Scanned members
8 of 8
Servers in it that carry a scan grade for the release they serve.
Member trust score
96–100
Lowest to highest client score of its 8 scanned servers, out of 100.
Composition
8 + 4
8 servers, 4 skills
Nearby

Stacks that share parts with this one

All 40 stacks