StackSwap

B2B GTM stack intelligence: search ~400 tools, compare vendors, find overlaps, audit SaaS spend.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
93%
Calidad de los nombres
92%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'recommend_partner' description lacks action verben recommend_partner

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,741Tokens (definiciones de herramientas)
~937 BTamaño de respuesta típico
Impacto significativo en la atención (2.92% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "stackswap": {
      "url": "https://stackswap.ai/api/mcp"
    }
  }
}

Puntos de conexión remotos

https://stackswap.ai/api/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (23)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢inspect_available_connections(systems, auditGoal)

Identify available connected systems and the read-only evidence StackSwap needs. The server cannot introspect neighboring MCPs automatically.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "systems": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "auditGoal": {
      "type": "string"
    }
  }
}
🟢request_system_connection(system, purpose, preferredMode)

Return a safe, read-only connection or export request for a named system when an audit lacks evidence.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "system": {
      "type": "string"
    },
    "purpose": {
      "type": "string"
    },
    "preferredMode": {
      "type": "string"
    }
  },
  "required": [
    "system"
  ]
}
⚪start_stack_audit(systems, goal, stage, motion)

Start an adaptive GTM architecture audit and return the smallest discovery questionnaire needed before KEEP, SWAP, or BUILD recommendations.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "systems": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "goal": {
      "type": "string"
    },
    "stage": {
      "type": "string"
    },
    "motion": {
      "type": "string"
    }
  }
}
⚪complete_stack_audit(systems, goal, stage, motion, constraints, ...)

Turn user answers and connected-system evidence into explainable KEEP, SWAP, and BUILD recommendations with confidence, alternatives, and next prompts.

Esquema de entrada

{
  "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"
  ]
}
⚪generate_data_layer_blueprint(systems, problem, primarySourceOfTruth, entities)

Generate a case-specific GTM data-layer blueprint when systems mirror state, drift, or lack explicit ownership.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "systems": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "problem": {
      "type": "string"
    },
    "primarySourceOfTruth": {
      "type": "string"
    },
    "entities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "systems",
    "problem"
  ]
}
⚪generate_build_prompt(recommendation, systems, target, output)

Generate a copy-ready one-shot build or migration prompt from a StackSwap KEEP, SWAP, or BUILD recommendation.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "recommendation": {
      "type": "string"
    },
    "systems": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "target": {
      "type": "string"
    },
    "output": {
      "type": "string"
    }
  },
  "required": [
    "recommendation"
  ]
}
🟢search_tools(query, limit)

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.

Esquema de entrada

{
  "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."
    }
  }
}
🟢get_tool_details(name)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Tool name (fuzzy-matched against catalog)."
    }
  },
  "required": [
    "name"
  ]
}
🟢get_vendor_fact_sheet(tool)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "tool": {
      "type": "string",
      "description": "Tool name or slug (e.g. \"Apollo.io\", \"apollo\", \"Smartlead\"). Fuzzy-matched against the catalog."
    }
  },
  "required": [
    "tool"
  ]
}
🟢find_overlaps(tools)

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.

Esquema de entrada

{
  "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"
  ]
}
⚪suggest_swaps(tools)

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.).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "tools": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Tool names to evaluate for AI-native replacements."
    }
  },
  "required": [
    "tools"
  ]
}
🟢scan_stack(tools, teamSize, industry)

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.

Esquema de entrada

{
  "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"
  ]
}
⚪recommend_partner(category)

Given a need (e.g. 'outbound', 'CRM', 'automation'), return StackSwap's recommended affiliate partner(s) with sign-up URL and positioning.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Category keyword or need description (e.g. \"outbound\", \"CRM for small team\", \"Zapier alternative\")."
    }
  },
  "required": [
    "category"
  ]
}
🟢recommend_stack(industry, teamSize, budget)

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).

Esquema de entrada

{
  "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"
  ]
}
⚪compare_tools(a, b)

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').

Esquema de entrada

{
  "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"
  ]
}
⚪compare_tools_n_way(tools)

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.

Esquema de entrada

{
  "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"
  ]
}
🟢search_content(query, category, limit)

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.

Esquema de entrada

{
  "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"
  ]
}
🟢get_kb_article(slug)

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.

Esquema de entrada

{
  "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"
  ]
}
🟢get_category_landscape(category, limit)

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.

Esquema de entrada

{
  "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"
  ]
}
⚪detect_stack_from_text(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.

Esquema de entrada

{
  "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"
  ]
}
🟢get_buyer_questions(vendor, category)

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.

Esquema de entrada

{
  "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_renewal_strategy(vendor, monthlySpend, contractEndsIn)

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.

Esquema de entrada

{
  "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"
  ]
}
🟡submit_correction(tool, field, proposed_value, current_value, source_url, ...)

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.

Esquema de entrada

{
  "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"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada23 herramientas
observación fallidaversión no registrada—