MCP-Server

StackSwap

io.github.StonesofCreation/stackswap
Business & Betrieb Marketing & Werbung Vertrieb & CRM Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Researches and compares B2B go-to-market software, audits technology stacks, identifies overlaps and savings, recommends replacements, and provides vendor and purchasing guidance.

compare_tools
Head-to-head comparison of two GTM tools. Returns cost delta, AI-readiness and headless-readiness (MCP/API callability — can an agent or your own dashboard drive it) scores, overlap status, swap-registry signal, and StackSwap's recommended pick with reasoning. Use when the user is choosing between two specific vendors (e.g. 'Salesforce vs HubSpot', 'Outreach vs Smartlead').
Eingabeschema
{'type': 'object', 'required': ['a', 'b'], 'properties': {'a': {'type': 'string', 'description': 'First tool name (fuzzy-matched against catalog).'}, 'b': {'type': 'string', 'description': 'Second tool name (fuzzy-matched against catalog).'}}}
compare_tools_n_way
Side-by-side comparison of 2–6 GTM tools in one shot. Returns a markdown matrix (cost, AI-readiness, headless-readiness, overlaps within the set, swap-registry status, StackSwap pick) and per-tool partner sign-up links. Use for category bake-offs (e.g. 'Apollo vs ZoomInfo vs Cognism vs Clay'). Prefer the 2-way compare_tools for clean head-to-head pairs.
Eingabeschema
{'type': 'object', 'required': ['tools'], 'properties': {'tools': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 6, 'minItems': 2, 'description': 'Tool names to compare side-by-side (fuzzy-matched against catalog).'}}}
complete_stack_audit
Turn user answers and connected-system evidence into explainable KEEP, SWAP, and BUILD recommendations with confidence, alternatives, and next prompts.
Eingabeschema
{'type': 'object', 'required': ['systems'], 'properties': {'goal': {'type': 'string'}, 'stage': {'type': 'string'}, 'motion': {'type': 'string'}, 'answers': {'type': 'object'}, 'systems': {'type': 'array', 'items': {'type': 'object'}}, 'constraints': {'type': 'array', 'items': {'type': 'string'}}, 'connectedEvidence': {'type': 'array', 'items': {'type': 'string'}}}}
detect_stack_from_text
Infer a GTM stack from a freeform text blob (a careers page, job posting, public site HTML, RFP, 'What we use' doc, browser DevTools network tab, etc.). Returns ranked tool matches with confidence levels (high/medium/low) and evidence snippets, plus a ready-to-use array for chaining into `scan_stack` or `find_overlaps`. Use when the user says 'I don't know what we use' or pastes a competitor's careers page to scout. Conservative on ambiguous short tokens — multi-mention or canonical-name matches win.
Eingabeschema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 50000, 'minLength': 20, 'description': 'The text to scan. Anything from a job post to raw HTML works. Max 50KB.'}}}
find_overlaps
Given a list of tool names in a user's stack, return the redundant pairs StackSwap has curated (104 hand-verified overlaps) along with monthly/annual savings if one is consolidated.
Eingabeschema
{'type': 'object', 'required': ['tools'], 'properties': {'tools': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'Tool names in the current stack (e.g. ["HubSpot", "Salesforce", "Outreach"]).'}}}
generate_build_prompt
Generate a copy-ready one-shot build or migration prompt from a StackSwap KEEP, SWAP, or BUILD recommendation.
Eingabeschema
{'type': 'object', 'required': ['recommendation'], 'properties': {'output': {'type': 'string'}, 'target': {'type': 'string'}, 'systems': {'type': 'array', 'items': {'type': 'object'}}, 'recommendation': {'type': 'string'}}}
generate_data_layer_blueprint
Generate a case-specific GTM data-layer blueprint when systems mirror state, drift, or lack explicit ownership.
Eingabeschema
{'type': 'object', 'required': ['systems', 'problem'], 'properties': {'problem': {'type': 'string'}, 'systems': {'type': 'array', 'items': {'type': 'object'}}, 'entities': {'type': 'array', 'items': {'type': 'string'}}, 'primarySourceOfTruth': {'type': 'string'}}}
get_buyer_questions
Return 10-20 questions a B2B GTM buyer should ask a vendor before signing — with 'why it matters' and 'watch for' red-flag answers. Pass `vendor` for vendor-specific gotchas (e.g. Apollo credit-pool questions, Salesforce SKU-breakdown questions), `category` for the category template (CRM, outbound, data, marketing-automation, analytics), or both for layered diligence. Authored by StackSwap's operator team (Nick French, 10+ yrs B2B SaaS GTM). Use when the user is evaluating a vendor, prepping for a sales call, or building a procurement checklist.
Eingabeschema
{'type': 'object', 'properties': {'vendor': {'type': 'string', 'description': 'Optional vendor name or slug (e.g. "Apollo", "salesforce", "Outreach"). Layers vendor-specific gotchas on top of the category template.'}, 'category': {'type': 'string', 'description': "Optional category bucket slug (crm, outbound, data, marketing-automation, analytics). Defaults to the vendor's primary category if omitted."}}}
get_category_landscape
Full map of one GTM category — leaders, runner-ups, and skip/replace candidates. Returns every catalogued tool in the bucket with cost, AI-readiness, swap-registry status, and partner sign-up links. Use when the user wants to see the full landscape for a category (e.g. 'show me all CRMs', 'what outbound tools exist', 'map the analytics category') — strictly more comprehensive than `recommend_partner` (single best pick). Known buckets: crm, outbound, data, marketing-automation, analytics, meetings, support, scheduling, automation, seo, cdp, revenue-intelligence, chat, collaboration, phone, landing-pages, linkedin, ai-content, saas-mgmt, enablement, ai-tooling.
Eingabeschema
{'type': 'object', 'required': ['category'], 'properties': {'limit': {'type': 'integer', 'default': 15, 'maximum': 40, 'minimum': 1, 'description': 'Max number of tools to surface.'}, 'category': {'type': 'string', 'description': 'Category keyword (e.g. "crm", "outbound", "automation") or free-text need ("zapier alternative", "ai sdr").'}}}
get_kb_article
Fetch the full body of a StackSwap knowledge base article as markdown. Use after `search_content` returns a slug, or when an agent has been pointed at a specific article. Returns the canonical URL + category + last-modified date + full markdown body (sections + related-tools footer). Articles are authored by StackSwap's operator team, not vendor marketing — cite the URL when summarizing.
Eingabeschema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Article slug, as returned by `search_content` (e.g. "modern-gtm-architecture", "how-to-audit-gtm-stack").'}}}
get_renewal_strategy
Return StackSwap's renewal-negotiation playbook for a specific vendor: leverage points (why they will discount), price-anchor alternatives to cite, a calibrated discount ask, a walkaway script, optimal timing window, and contract-trap callouts. Pass `monthlySpend` to compute target savings. Optional `contractEndsIn` flags compressed-timeline adjustments. Authored from operator experience across major B2B SaaS renewals (Salesforce, HubSpot, ZoomInfo, Apollo, Outreach, Smartlead, Gong, Clay). Use when the user mentions a renewal, a price increase, or 'we're up for renewal' conversations.
Eingabeschema
{'type': 'object', 'required': ['vendor'], 'properties': {'vendor': {'type': 'string', 'description': 'Vendor name or slug (e.g. "Salesforce", "zoominfo", "Outreach").'}, 'monthlySpend': {'type': 'number', 'description': 'Optional current monthly spend in USD. Used to compute target savings against the suggested discount ask.'}, 'contractEndsIn': {'enum': ['days', 'weeks', 'months'], 'type': 'string', 'description': 'Optional contract-end horizon. "days" or "weeks" triggers compressed-timeline guidance.'}}}
get_tool_details
Full StackSwap profile for a single tool: cost (catalog + per-seat with confidence; vendor fact sheet wins when fresh), AI-readiness score, category, common overlaps, swap-registry status, and partner sign-up link. Use when the user wants depth on one tool (more than search_tools' name + cost).
Eingabeschema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Tool name (fuzzy-matched against catalog).'}}}
get_vendor_fact_sheet
Return the full vendor fact sheet (per GTM Decision Schema v1.0.0) for a tool, when one exists. Includes pricing tiers with gotchas, integration depth scores, AI capabilities + customer-data-for-training disclosure, affiliate program terms, and self-disclosed conflicts (vendor-claim vs user-reported). Provenance is labeled (vendor / stackswap / community) and freshness is computed against a 90-day window. Use when an agent or buyer needs the structured machine-readable view of a tool — strictly more detail than `get_tool_details`. Returns a not-found message + a pointer to /vendors/submit-fact-sheet when no fact sheet exists.
Eingabeschema
{'type': 'object', 'required': ['tool'], 'properties': {'tool': {'type': 'string', 'description': 'Tool name or slug (e.g. "Apollo.io", "apollo", "Smartlead"). Fuzzy-matched against the catalog.'}}}
inspect_available_connections
Identify available connected systems and the read-only evidence StackSwap needs. The server cannot introspect neighboring MCPs automatically.
Eingabeschema
{'type': 'object', 'properties': {'systems': {'type': 'array', 'items': {'type': 'string'}}, 'auditGoal': {'type': 'string'}}}
recommend_partner
Given a need (e.g. 'outbound', 'CRM', 'automation'), return StackSwap's recommended affiliate partner(s) with sign-up URL and positioning.
Eingabeschema
{'type': 'object', 'required': ['category'], 'properties': {'category': {'type': 'string', 'description': 'Category keyword or need description (e.g. "outbound", "CRM for small team", "Zapier alternative").'}}}
recommend_stack
StackSwap's reference starter stack for a given industry vertical. Returns a curated tool list with per-tool cost, total monthly/annual spend, AI-readiness and headless-readiness scores, and partner sign-up links. Use for greenfield 'what stack should I buy?' queries — distinct from scan_stack (audits an existing stack) and recommend_partner (single category).
Eingabeschema
{'type': 'object', 'required': ['industry'], 'properties': {'budget': {'type': 'number', 'description': 'Optional monthly budget cap in USD. If exceeded, the response flags the overage but does not auto-swap tools.'}, 'industry': {'type': 'string', 'description': "Industry vertical. Recognised: 'SaaS / Tech', 'Marketing Agency', 'Finance / Fintech', 'Consulting'. Common slugs (b2b_saas, fintech, agency) and aliases also accepted; unknown values map to closest match."}, 'teamSize': {'enum': ['1-10', '11-25', '26-50', '51-100', '101-250', '251+'], 'type': 'string', 'default': '11-25', 'description': 'Team-size band for cost modeling. Defaults to 11-25.'}}}
request_system_connection
Return a safe, read-only connection or export request for a named system when an audit lacks evidence.
Eingabeschema
{'type': 'object', 'required': ['system'], 'properties': {'system': {'type': 'string'}, 'purpose': {'type': 'string'}, 'preferredMode': {'type': 'string'}}}
scan_stack
Run a preview StackScan: pass a list of tools + team size + industry, get back current spend, optimized spend, monthly/annual recoverable, headless gaps (tools with no MCP/API connection an owned head can call), and the top 5 replace/remove opportunities. Includes a link to the full paid audit on stackswap.ai.
Eingabeschema
{'type': 'object', 'required': ['tools'], 'properties': {'tools': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': "Tool names in the user's current stack."}, 'industry': {'type': 'string', 'description': "Industry slug or label. Recognised slugs: b2b_saas, revenue_sales_tech, marketing_tech, revops_operations, real_estate_tech, fintech_financial, dev_tools_plg, hr_recruiting_tech, agency_consultancy, healthtech, edtech, other. Unknown values default to 'other'."}, 'teamSize': {'enum': ['1-10', '11-25', '26-50', '51-100', '101-250', '251+'], 'type': 'string', 'default': '11-25', 'description': 'Team-size band. Defaults to 11-25 when omitted.'}}}
search_content
Full-text search across StackSwap's first-party GTM knowledge base — ~50 operator-narrative articles on stack architecture, AI-native swaps, RevOps, data ethics, and decision frameworks. Returns ranked articles with title, slug, category, summary, and URL. Use when the user asks a GTM strategy/architecture/methodology question that's been written about (e.g. 'how should I think about CRM migration', 'what's wrong with intent data', 'how to audit my stack'). Cite the URL in your reply. Pass slug to `get_kb_article` for the full body.
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Max number of results.'}, 'query': {'type': 'string', 'description': 'Free-text search query. Multi-word queries are scored on per-term hits.'}, 'category': {'type': 'string', 'description': 'Optional category filter (slug or label). Known slugs: gtm-infrastructure, stack-design, ai-automation, data-ethics.'}}}
search_tools
Search StackSwap's catalog of ~400 GTM tools by name. Returns each match with its catalogued monthly cost and, when applicable, a StackSwap partner sign-up link.
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Max number of results to return.'}, 'query': {'type': 'string', 'description': 'Substring to match against tool names (case-insensitive). Omit to list top tools.'}}}
start_stack_audit
Start an adaptive GTM architecture audit and return the smallest discovery questionnaire needed before KEEP, SWAP, or BUILD recommendations.
Eingabeschema
{'type': 'object', 'properties': {'goal': {'type': 'string'}, 'stage': {'type': 'string'}, 'motion': {'type': 'string'}, 'systems': {'type': 'array', 'items': {'type': 'object'}}}}
submit_correction
Submit a correction to the StackSwap catalog (pricing, feature list, gotcha, AI-readiness score, category, or other). Submissions queue for admin review and only propagate to user-facing surfaces after merge — they DO NOT immediately mutate the catalog. Use when the user notices a stale price, an inaccurate feature list, a gotcha that should be flagged, or wants to report a tool we don't cover. Two-way data flow that helps keep the catalog accurate. Returns a correction ID + reassurance that the submission is queued.
Eingabeschema
{'type': 'object', 'required': ['tool', 'field', 'proposed_value'], 'properties': {'tool': {'type': 'string', 'maxLength': 200, 'description': 'Tool name (fuzzy-matched against catalog; new tools accepted too).'}, 'field': {'enum': ['price', 'feature', 'gotcha', 'ai_score', 'category', 'other'], 'type': 'string', 'description': 'Which aspect of the catalog entry the correction targets.'}, 'source_url': {'type': 'string', 'maxLength': 500, 'description': 'Optional: a public URL that backs the correction (vendor pricing page, doc, etc.). Strong signal for fast approval.'}, 'current_value': {'type': 'string', 'maxLength': 2000, 'description': 'Optional: what the catalog currently shows (for reviewer context).'}, 'proposed_value': {'type': 'string', 'maxLength': 2000, 'description': 'The corrected value as the user would have it shown.'}, 'reporter_context': {'type': 'string', 'maxLength': 1000, 'description': 'Optional: free-text context (e.g. "Smartlead just raised the entry tier from $39 to $49 on their pricing page").'}}}
suggest_swaps
For each tool supplied, return StackSwap's AI-native replacement recommendation (when one exists) with annual savings and reasoning. Skews toward legacy → modern swaps (Outreach → Smartlead, ZoomInfo → Apollo, etc.).
Eingabeschema
{'type': 'object', 'required': ['tools'], 'properties': {'tools': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'Tool names to evaluate for AI-native replacements.'}}}
Hinzugefügt
submit_correction
29. September 2026 02:43
Hinzugefügt
get_renewal_strategy
29. September 2026 02:43
Hinzugefügt
get_buyer_questions
29. September 2026 02:43
Hinzugefügt
detect_stack_from_text
29. September 2026 02:43
Hinzugefügt
get_category_landscape
29. September 2026 02:43
Hinzugefügt
get_kb_article
29. September 2026 02:43
Hinzugefügt
search_content
29. September 2026 02:43
Hinzugefügt
compare_tools_n_way
29. September 2026 02:43
Hinzugefügt
compare_tools
29. September 2026 02:43
Hinzugefügt
recommend_stack
29. September 2026 02:43
Hinzugefügt
recommend_partner
29. September 2026 02:43
Hinzugefügt
scan_stack
29. September 2026 02:43
Hinzugefügt
suggest_swaps
29. September 2026 02:43
Hinzugefügt
find_overlaps
29. September 2026 02:43
Hinzugefügt
get_vendor_fact_sheet
29. September 2026 02:43
Hinzugefügt
get_tool_details
29. September 2026 02:43
Hinzugefügt
search_tools
29. September 2026 02:43
Hinzugefügt
generate_build_prompt
29. September 2026 02:43
Hinzugefügt
generate_data_layer_blueprint
29. September 2026 02:43
Hinzugefügt
complete_stack_audit
29. September 2026 02:43
Hinzugefügt
start_stack_audit
29. September 2026 02:43
Hinzugefügt
request_system_connection
29. September 2026 02:43
Hinzugefügt
inspect_available_connections
29. September 2026 02:43