StackSwap MCP
A hosted Model Context Protocol server that gives AI clients access to StackSwap's B2B SaaS GTM stack intelligence — tool catalog, vendor fact sheets, overlap detection, AI-native swap suggestions, stack audits, n-way comparisons, category landscapes, buyer questions, renewal-negotiation playbooks, and a full-text operator knowledge base.
Live endpoint: https://stackswap.ai/api/mcp
Docs: stackswap.ai/mcp
Status: Free, no API key, stateless. 17 tools — 16 read-only + 1 write (submit_correction, queued for human review).
This repo contains public documentation, JSON schemas, and an example client for the hosted MCP server. The server itself is closed-source — it runs as part of stackswap.ai and wraps the same scan engine and tool catalog that powers the web product.
Install
Claude Code
claude mcp add --transport http stackswap https://stackswap.ai/api/mcp
For user-scope (available in every session, not just one project):
claude mcp add --transport http --scope user stackswap https://stackswap.ai/api/mcp
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"stackswap": {
"url": "https://stackswap.ai/api/mcp",
"transport": "http"
}
}
}
Restart Claude Desktop. A tools indicator appears in the chat compose box.
Cursor / ChatGPT Desktop / Other MCP clients
Add a new HTTP MCP server with URL https://stackswap.ai/api/mcp. No authentication.
Tools
Seventeen tools across eight domains. Schemas are in schemas/tools.json (extracted directly from the live tools/list response).
Catalog
| Tool | What it does |
|---|---|
search_tools | Fuzzy-search ~400 GTM tools by name. Returns each match with monthly cost and a StackSwap partner sign-up link when applicable. |
get_tool_details | Full StackSwap profile for a single tool: cost (catalog + per-seat with confidence), AI-readiness score, category, common overlaps, swap-registry status. |
get_vendor_fact_sheet | Full vendor fact sheet (GTM Decision Schema v1.0.0): pricing tiers with gotchas, integration depth scores, AI capabilities + customer-data-for-training disclosure. |
Stack analysis
| Tool | What it does |
|---|---|
find_overlaps | Given a stack, return the redundant pairs StackSwap has hand-verified (104-pair overlap registry) with consolidation savings. |
suggest_swaps | Per-tool AI-native replacement recommendations (Outreach → Smartlead, ZoomInfo → Apollo) with annual savings and reasoning. |
scan_stack | Preview StackScan: tools + team size + industry in, current spend / optimized spend / monthly-annual recoverable / headless gaps out. |
recommend_partner | Given a need ("outbound", "CRM", "automation"), return StackSwap's recommended partner(s) with positioning. |
recommend_stack | Reference starter stack for an industry vertical with per-tool cost, total spend, AI-readiness and headless-readiness scores. |
Compare
| Tool | What it does |
|---|---|
compare_tools | Head-to-head: cost delta, AI-readiness, headless-readiness (MCP/API callability), overlap status, and a recommended pick with reasoning. |
compare_tools_n_way | 2–6 tools side-by-side in one markdown matrix — cost, AI-readiness, headless-readiness, overlaps within the set, StackSwap pick. |
Content
| Tool | What it does |
|---|---|
search_content | Full-text search across ~50 first-party operator articles on stack architecture, AI-native swaps, RevOps, and decision frameworks. |
get_kb_article | Fetch a knowledge-base article's full body as markdown, with canonical URL, category, and last-modified date. |
Categories
| Tool | What it does |
|---|---|
get_category_landscape | Full map of one GTM category — leaders, runner-ups, skip/replace candidates — with cost, AI-readiness, swap-registry status per tool. |
Detect
| Tool | What it does |
|---|---|
detect_stack_from_text | Infer a GTM stack from freeform text (careers page, job posting, site HTML, RFP, DevTools network tab). Ranked matches with confidence levels. |
Decision support
| Tool | What it does |
|---|---|
get_buyer_questions | 10–20 questions to ask a vendor before signing, with "why it matters" and red-flag answers. Vendor-specific gotchas when you pass a vendor. |
get_renewal_strategy | Renewal-negotiation playbook per vendor: leverage points, price-anchor alternatives, calibrated discount ask, walkaway script, timing window. |
Write
| Tool | What it does |
|---|---|
submit_correction | Submit a catalog correction (pricing, features, gotchas, scores). Queued for admin review — never propagates to user-facing surfaces unreviewed. |
Example usage
Once installed, ask any of the following in your AI client and it will route to the right tool:
| Operator question | Tool that fires |
|---|---|
| "Find me a cold-email tool" | recommend_partner |
| "What does Smartlead cost?" | get_tool_details |
| "Smartlead vs Apollo for outbound?" | compare_tools |
| "Compare Smartlead, Instantly, Apollo, and Lemlist" | compare_tools_n_way |
| "Map the whole sales-engagement category" | get_category_landscape |
| "What should I ask Apollo before signing?" | get_buyer_questions |
| "My Salesforce renewal is in 60 days — what's my leverage?" | get_renewal_strategy |
| "What stack does this company run?" (paste a careers page) | detect_stack_from_text |
| "What overlaps if I'm on HubSpot + Salesforce + Outreach?" | find_overlaps |
| "Audit my stack: HubSpot, Salesforce, Outreach, ZoomInfo, Gong" | scan_stack |
| "Find StackSwap's article on data ethics in outbound" | search_content |
Tool descriptions are model-readable, so you don't need to know the tool names — the model picks based on the question.
Example client
A minimal TypeScript example that connects, lists tools, and runs find_overlaps is in examples/client.ts.
npx tsx examples/client.ts
The protocol is plain JSON-RPC 2.0 over HTTP — any language with a JSON parser and an HTTP client can call it.
Endpoint details
| JSON-RPC URL | POST https://stackswap.ai/api/mcp |
| Server descriptor | GET https://stackswap.ai/api/mcp (returns name, version, tool list) |
| Protocol versions | 2025-06-18, 2025-03-26, 2024-11-05 |
| Transport | Streamable HTTP, stateless |
| Auth | None |
| Rate limit | None (reasonable use) |
| CORS | * |
Why hosted, not stdio
StackSwap's MCP server runs inside the existing stackswap.ai Next.js application as a single route handler. Hosting it ourselves means:
- No install friction — one
claude mcp addline, no npm/pip dependency - Always current — the underlying tool catalog, overlap registry, vendor fact sheets, and swap data update as the StackSwap product evolves
- Zero local compute — the scan engine runs server-side; clients just send JSON-RPC
The trade-off: it requires an internet connection, and we (StackSwap) see request volume and tool-call patterns. We don't store conversation data or user identifiers — the endpoint is stateless.
Requests, issues, feedback
Open an issue if you want a tool added, a behavior changed, or you've hit a bug. The MCP surface is shaped by what operators actually ask about.
Contact: nick@stackswap.ai
License
MIT — see LICENSE.
This license covers the public documentation, JSON schemas, and example clients in this repository. It does not cover the closed-source server implementation that runs at stackswap.ai/api/mcp.