Skip to main content
Glama

super-mcp

Multiple MCP servers put together as one. A gateway that spawns each configured sub-MCP, namespaces and re-exposes all of their tools, and forwards calls — so the agent connects to one MCP and gets the whole stack.

                         ┌────────────── super-mcp (gateway) ──────────────┐
   Claude  ── stdio ──▶  │  tools/list  ─▶  cloudflare__list_zones          │
                         │                  owndomain__own_domain_fanout    │
                         │                  godaddy__list_domains  ...       │
                         │  tools/call  ─▶  route by prefix ─▶ sub-MCP       │
                         └───────┬───────────────┬───────────────┬──────────┘
                          stdio  │        stdio  │        stdio  │
                          cloudflare-mcp   own-domain-mcp   godaddy-mcp
                                 └─────────────── each → its vendor REST API

Why this (and why MCP → API all the way down)

Every sub-server is itself an MCP wrapping a direct vendor REST API (Cloudflare, GoDaddy, …). The gateway changes nothing about that contract — it just unifies the surface. So the full path stays MCP → API: deterministic, least-privilege, no browser. The namespace prefix (cloudflare__, owndomain__, godaddy__) keeps it explicit which underlying API served any call, even through the aggregator.

Benefits:

  • One connection, whole stack. Register super-mcp once instead of N servers.

  • Add by config. Drop a server into config/servers.json (or SUPER_MCP_SERVERS); no code change.

  • Decoupled. Sub-servers run as their own processes with their own scoped creds; a crash in one doesn't take down the rest (it's skipped with a logged error).

Related MCP server: MCP Gateway

Config

config/servers.json:

{
  "servers": [
    { "name": "cloudflare", "command": "node", "args": ["/path/to/cloudflare-mcp/dist/index.js"] },
    { "name": "owndomain",  "command": "node", "args": ["/path/to/own-domain-mcp/dist/index.js"] },
    { "name": "godaddy",    "command": "node", "args": ["/path/to/godaddy-mcp/dist/index.js"] }
  ]
}

Override with SUPER_MCP_SERVERS (a path to a JSON file, or inline JSON). Per-server env is merged over the parent environment.

Install

npm install && npm run build
# build the sub-servers too (they must have dist/ outputs)
claude mcp add super -- node ~/code/personal/super-mcp/dist/index.js
npm test

Notes

  • Tools are advertised with their original JSON Schema passed straight through — no re-validation, no lossy Zod round-trip.

  • The gateway is a low-level MCP Server; it answers tools/list and tools/call only. Sub-server prompts/resources are intentionally not aggregated (tools are the surface families share).

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A universal gateway that aggregates multiple MCP servers into a single interface while providing advanced token optimization, result filtering, and automated summarization. It enables efficient management of large tool catalogs and reduces context usage by up to 95% for major AI clients.
    38 npm
    16
    MIT
  • F
    license
    A
    quality
    A
    maintenance
    A multiplexing gateway that aggregates multiple MCP servers into a single port, significantly reducing context token usage through a Meta-MCP discovery system. It enables dynamic tool discovery and invocation across various transport protocols including stdio, HTTP, and SSE.
    15
    77
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A gateway server that enables agentic hosts to access multiple MCP servers through a single namespaced connection or proxy a specific server from MCP-Hive. It provides built-in discovery tools to list available servers, tools, and resources for seamless integration.
    67 npm
    Apache 2.0