Stack · Customer support

Customer support desk

Reads the ticket, finds whether it is a bug or a billing question, and drafts the reply in your own voice.

Built for: The support lead who spends half of every ticket deciding which team it belongs to.

Install all 11 parts

The button opens the checkout, where the 7 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 — 7 servers and 4 skills
$0
the free-tier version keeps 7 servers and 4 skills — and all 44 tools
$0
4 skills with no monthly cost
100.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

    Search and update tickets and Help Center articles in Zendesk or Freshdesk, end to end.

  2. 02

    Check whether the customer's error is a known issue in Sentry before promising them a fix.

  3. 03

    Answer a billing question from Stripe's own revenue and subscription data rather than from a guess.

  4. 04

    Draft the reply and strip the tells that make a support answer read as machine-written.

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.

7 servers4 skills44 tools
ZE01
Zendesk MCP server Sales & CRM by fruggr

Searches, drafts and updates tickets and Help Center articles — the whole loop rather than a read-only view of the queue.

read/write split not recordedruns on your machine A v3.3.1 · updated today credential not declared · runs locally
Free
$0 of the monthly total
FR02

The same ticket work for teams on Freshdesk, over stdio or streamable HTTP.

read/write split not recordedruns on your machine A v2.0.0 · updated 2 days ago credential not declared · runs locally
Free
$0 of the monthly total
GM03
Gmail MCP server Email by klodr

The half of support that never became a ticket, read with scope-gated access rather than a full mailbox token.

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

The community channel where problems appear before they are reported, across guilds and with the tools to answer there.

read/write split not recordedruns on your machine A v2.2.0 · updated 6 weeks ago API key · runs locally
Free
$0 of the monthly total
SE05

Tells support whether the customer's error is known, how often it happens and which release it started in.

read/write split not recordedruns on your machine B v0.42.0 · updated 3 weeks ago API key · runs locally
Free
$0 of the monthly total
NO06

The internal knowledge base the answer is supposed to come from, so replies converge instead of each agent inventing one.

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

Revenue, subscriptions, refunds and churn from Stripe, so a billing question is answered from the account rather than escalated.

8 readread-onlyruns on your machine A v1.0.1 API key · 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.
EM08
email-best-practices Agent skill by resend

Deliverability and authentication done properly, because the support reply that lands in spam is indistinguishable from the one nobody sent.

18.6k tokens when loaded in full write access not declared 20 files · MIT v1.0.2 needs no server of its own
Free
no monthly cost
WO09
WorkOS Agent skill by workos

The lookup for SSO and identity questions — the exact field, endpoint or environment variable — instead of a guess about somebody else's dashboard.

75.8k tokens when loaded in full write access not declared 48 files · MIT needs no server of its own
Free
no monthly cost
PA10
Payment Agent skill by second-state

Generates the payment link when the answer to the ticket is that something needs paying for, without handing the desk a live key.

2.1k tokens when loaded in full write access not declared 4 files · licence not declared needs no server of its own
Free
no monthly cost
ST11
Stop Slop Agent skill by hardikpandya

Removes the patterns that make a reply read as generated, which matters more in support than anywhere else on this site.

4.1k tokens when loaded in full write access not declared 7 files · MIT 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
Zendesk Free —
Freshdesk Free —
Gmail Free —
Discord Free —
Sentry Free —
Notion Free —
Stripe Analytics Free —
Skills
email-best-practices Free · context cost only —
WorkOS Free · context cost only —
Payment Free · context cost only —
Stop Slop 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.

The free-tier version$0/mo
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
One helpdesk, not two
Zendesk and Freshdesk are both here so the stack fits either team. Connect the one you run; a desk with two ticket systems will answer from the wrong one.
2
Sentry read-only
Support needs to know whether an error exists and how often, and needs nothing else in the error tracker.
3
Billing data, read-only
The Stripe analytics member reads revenue and subscriptions. Never give a support stack a key that can charge or refund.
4
Write down the voice
The prose skills enforce a style, not a policy. Put the tone rules and the refund policy in the knowledge base first, or the desk will invent both.
5
Sign Gmail in once
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.
Install, part by part11 parts of 11 in Claude Code

npx mcprush@latest stack add support-desk writes all 7 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 08–11.

Keys you’ll need
Zendesk
ZENDESK_SUBDOMAIN — Zendesk subdomain, used when no positional subdomain argument is given
ZENDESK_EMAIL — Email of the Zendesk agent the token belongs to
ZENDESK_API_TOKEN — Zendesk API token (Admin Center → Apps and integrations → Zendesk API)
Freshdesk
FRESHDESK_API_KEY — Your Freshdesk API key (Profile settings)
FRESHDESK_DOMAIN — Your Freshdesk domain, e.g. yourcompany.freshdesk.com
Discord
DISCORD_TOKEN — Discord bot token
Sentry
SENTRY_ACCESS_TOKEN — Your Sentry user authentication token
Notion
NOTION_API_TOKEN — Notion integration token (notion.so/my-integrations)
Stripe Analytics
STRIPE_SECRET_KEY — Your Stripe secret API key

Set them where you start Claude Code — export ZENDESK_SUBDOMAIN=… in your shell profile on macOS and Linux, setx ZENDESK_SUBDOMAIN "…" 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 · Zendesk claude mcp add --scope user --env 'ZENDESK_SUBDOMAIN=${ZENDESK_SUBDOMAIN}' --env 'ZENDESK_EMAIL=${ZENDESK_EMAIL}' --env 'ZENDESK_API_TOKEN=${ZENDESK_API_TOKEN}' --transport stdio zendesk-mcp '--' npx -y @fruggr/zendesk-mcp-server # 02 · Freshdesk claude mcp add --scope user --env 'FRESHDESK_API_KEY=${FRESHDESK_API_KEY}' --env 'FRESHDESK_DOMAIN=${FRESHDESK_DOMAIN}' --transport stdio freshdesk-mcp '--' npx -y freshdesk-mcp # 03 · Gmail claude mcp add --scope user gmail-mcp '--' npx -y @klodr/gmail-mcp # 04 · Discord claude mcp add --scope user --env 'DISCORD_TOKEN=${DISCORD_TOKEN}' --transport stdio discord-mcp '--' npx -y @pasympa/discord-mcp # 05 · Sentry claude mcp add --scope user --env 'SENTRY_ACCESS_TOKEN=${SENTRY_ACCESS_TOKEN}' --transport stdio getsentry-sentry-mcp '--' npx -y @sentry/mcp-server # 06 · Notion claude mcp add --scope user --env 'NOTION_API_TOKEN=${NOTION_API_TOKEN}' --transport stdio notion-mcp '--' npx -y @suekou/mcp-notion-server # 07 · Stripe Analytics claude mcp add --scope user --env 'STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY}' --transport stdio stripe-analytics-mcp '--' npx -y mcp-stripe-analytics # 08 · email-best-practices npx mcprush@latest skill add resend/email-best-practices # 09 · WorkOS npx mcprush@latest skill add workos/workos # 10 · Payment npx mcprush@latest skill add second-state/payment # 11 · Stop Slop npx mcprush@latest skill add hardikpandya/stop-slop
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.
  • 3 members want an API key, set in your own client’s config on your machine — this marketplace never holds it.
  • 3 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 — 5 members of 7 have no imported tool surface. Section 05 says what is known before you approve anything.
  • 7 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 5 members of 7 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
44 of the 44 never leave your machine — they belong to the local members.
Who grants the write accessnot recorded
MemberTool surfaceWrite tools
Gmail imported 22
Discord not imported not recorded
Freshdesk not imported not recorded
Notion not imported not recorded
Sentry not imported not recorded
Zendesk 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 5 members of 7 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 total44
Write sharenot recorded
Members that can writeat least 1 of 7
Surface imported2 of 7 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.

Where the internal knowledge base is a Confluence space, the answers come from there and support stops keeping a second copy.

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

Where support arrives by SMS rather than in a community channel, the messaging server replaces the chat one and the reply path stays a single tool.

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 issue a refund. The billing member here reads revenue, customers and churn; moving money is outside it, deliberately.

  • It does not close tickets on its own. Drafts and findings come out; sending a reply to a customer is a person's decision.

  • It is not the account system. Identity questions are looked up, not changed — a password or an SSO setting is fixed in the tool that owns it.

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
7 of 7
Servers in it that carry a scan grade for the release they serve.
Member trust score
88–100
Lowest to highest client score of its 7 scanned servers, out of 100.
Composition
7 + 4
7 servers, 4 skills
Nearby

Stacks that share parts with this one

All 40 stacks