{"name":"io.github.StonesofCreation/stackswap","slug":"stonesofcreation-stackswap","title":"StackSwap","description":"B2B GTM stack intelligence: search ~400 tools, compare vendors, find overlaps, audit SaaS spend.","url":"https://mcp.market/server/stonesofcreation-stackswap","rating":null,"grade":"C","score":69,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":14,"stars":0,"forks":1,"downloads_week":null,"last_push_at":"2026-06-11T02:08:05.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:35:39.919Z","last_ok_at":"2026-11-04T05:35:39.919Z","latency_ms":405},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/StonesofCreation/stackswap-mcp","website":"https://stackswap.ai/mcp","version":"1.1.0","remotes":[{"type":"streamable-http","url":"https://stackswap.ai/api/mcp"}],"packages":[],"tools":[{"name":"compare_tools","description":"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').","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"a":{"type":"string","description":"First tool name (fuzzy-matched against catalog)."},"b":{"type":"string","description":"Second tool name (fuzzy-matched against catalog)."}},"required":["a","b"]}},{"name":"compare_tools_n_way","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tools":{"type":"array","items":{"type":"string"},"minItems":2,"maxItems":6,"description":"Tool names to compare side-by-side (fuzzy-matched against catalog)."}},"required":["tools"]}},{"name":"complete_stack_audit","description":"Turn user answers and connected-system evidence into explainable KEEP, SWAP, and BUILD recommendations with confidence, alternatives, and next prompts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"systems":{"type":"array","items":{"type":"object"}},"goal":{"type":"string"},"stage":{"type":"string"},"motion":{"type":"string"},"constraints":{"type":"array","items":{"type":"string"}},"connectedEvidence":{"type":"array","items":{"type":"string"}},"answers":{"type":"object"}},"required":["systems"]}},{"name":"detect_stack_from_text","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","minLength":20,"maxLength":50000,"description":"The text to scan. Anything from a job post to raw HTML works. Max 50KB."}},"required":["text"]}},{"name":"find_overlaps","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tools":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Tool names in the current stack (e.g. [\"HubSpot\", \"Salesforce\", \"Outreach\"])."}},"required":["tools"]}},{"name":"generate_build_prompt","description":"Generate a copy-ready one-shot build or migration prompt from a StackSwap KEEP, SWAP, or BUILD recommendation.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"recommendation":{"type":"string"},"systems":{"type":"array","items":{"type":"object"}},"target":{"type":"string"},"output":{"type":"string"}},"required":["recommendation"]}},{"name":"generate_data_layer_blueprint","description":"Generate a case-specific GTM data-layer blueprint when systems mirror state, drift, or lack explicit ownership.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"systems":{"type":"array","items":{"type":"object"}},"problem":{"type":"string"},"primarySourceOfTruth":{"type":"string"},"entities":{"type":"array","items":{"type":"string"}}},"required":["systems","problem"]}},{"name":"get_buyer_questions","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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."}}}},{"name":"get_category_landscape","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"category":{"type":"string","description":"Category keyword (e.g. \"crm\", \"outbound\", \"automation\") or free-text need (\"zapier alternative\", \"ai sdr\")."},"limit":{"type":"integer","minimum":1,"maximum":40,"default":15,"description":"Max number of tools to surface."}},"required":["category"]}},{"name":"get_kb_article","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string","description":"Article slug, as returned by `search_content` (e.g. \"modern-gtm-architecture\", \"how-to-audit-gtm-stack\")."}},"required":["slug"]}},{"name":"get_renewal_strategy","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","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":{"type":"string","enum":["days","weeks","months"],"description":"Optional contract-end horizon. \"days\" or \"weeks\" triggers compressed-timeline guidance."}},"required":["vendor"]}},{"name":"get_tool_details","description":"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).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Tool name (fuzzy-matched against catalog)."}},"required":["name"]}},{"name":"get_vendor_fact_sheet","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name or slug (e.g. \"Apollo.io\", \"apollo\", \"Smartlead\"). Fuzzy-matched against the catalog."}},"required":["tool"]}},{"name":"inspect_available_connections","description":"Identify available connected systems and the read-only evidence StackSwap needs. The server cannot introspect neighboring MCPs automatically.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"systems":{"type":"array","items":{"type":"string"}},"auditGoal":{"type":"string"}}}},{"name":"recommend_partner","description":"Given a need (e.g. 'outbound', 'CRM', 'automation'), return StackSwap's recommended affiliate partner(s) with sign-up URL and positioning.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"category":{"type":"string","description":"Category keyword or need description (e.g. \"outbound\", \"CRM for small team\", \"Zapier alternative\")."}},"required":["category"]}},{"name":"recommend_stack","description":"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).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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":{"type":"string","enum":["1-10","11-25","26-50","51-100","101-250","251+"],"default":"11-25","description":"Team-size band for cost modeling. Defaults to 11-25."},"budget":{"type":"number","description":"Optional monthly budget cap in USD. If exceeded, the response flags the overage but does not auto-swap tools."}},"required":["industry"]}},{"name":"request_system_connection","description":"Return a safe, read-only connection or export request for a named system when an audit lacks evidence.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"system":{"type":"string"},"purpose":{"type":"string"},"preferredMode":{"type":"string"}},"required":["system"]}},{"name":"scan_stack","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"tools":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Tool names in the user's current stack."},"teamSize":{"type":"string","enum":["1-10","11-25","26-50","51-100","101-250","251+"],"default":"11-25","description":"Team-size band. Defaults to 11-25 when omitted."},"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'."}},"required":["tools"]}},{"name":"search_content","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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."},"limit":{"type":"integer","minimum":1,"maximum":20,"default":10,"description":"Max number of results."}},"required":["query"]}},{"name":"search_tools","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Substring to match against tool names (case-insensitive). Omit to list top tools."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":10,"description":"Max number of results to return."}}}},{"name":"start_stack_audit","description":"Start an adaptive GTM architecture audit and return the smallest discovery questionnaire needed before KEEP, SWAP, or BUILD recommendations.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"systems":{"type":"array","items":{"type":"object"}},"goal":{"type":"string"},"stage":{"type":"string"},"motion":{"type":"string"}}}},{"name":"submit_correction","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name (fuzzy-matched against catalog; new tools accepted too).","maxLength":200},"field":{"type":"string","enum":["price","feature","gotcha","ai_score","category","other"],"description":"Which aspect of the catalog entry the correction targets."},"proposed_value":{"type":"string","description":"The corrected value as the user would have it shown.","maxLength":2000},"current_value":{"type":"string","description":"Optional: what the catalog currently shows (for reviewer context).","maxLength":2000},"source_url":{"type":"string","description":"Optional: a public URL that backs the correction (vendor pricing page, doc, etc.). Strong signal for fast approval.","maxLength":500},"reporter_context":{"type":"string","description":"Optional: free-text context (e.g. \"Smartlead just raised the entry tier from $39 to $49 on their pricing page\").","maxLength":1000}},"required":["tool","field","proposed_value"]}},{"name":"suggest_swaps","description":"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.).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tools":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Tool names to evaluate for AI-native replacements."}},"required":["tools"]}}],"scan":{"score":69,"grade":"C","scanned_at":"2026-09-27T05:31:03.635Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T05:31:03.613Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 561ms"]},"poisoning":{"score":15,"max":15,"notes":["23 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 2 write-action tools with no auth"]},"maintenance":{"score":8,"max":15,"notes":["last push 108 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://stackswap.ai/api/mcp","reachable":true,"authRequired":false,"latencyMs":561,"serverInfo":{"name":"stackswap","version":"0.1.0"}}],"packages":[],"repo":{"found":true,"owner":"StonesofCreation","repo":"stackswap-mcp","archived":false,"pushedAt":"2026-06-11T02:08:05Z","stars":0,"forks":1,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/90647622?v=4","license":"MIT"},"icon":{"url":"https://stackswap.ai/favicon.ico","source":"site","width":64,"height":64},"presence":{"stars":0,"forks":1,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-06-11T02:08:05.000Z","score":14}}}},"grade_history":[],"reviews":[]}