Composing MCP Servers
Composition lets you combine tools from multiple MCP servers into a single MCP endpoint. Instead of adding five separate MCP server URLs to your AI client, compose them into one custom server and use a single URL.
Why Compose?
| Approach | URLs to manage | Tool discovery | Credential handling |
|---|---|---|---|
| 5 separate MCP servers | 5 URLs in your AI config | AI sees all tools from all URLs | Each MCP server uses its own credential bindings |
| 1 composed MCP server | 1 URL | AI sees all tools from 1 URL | Each included MCP server keeps its own credential bindings |
| Hub endpoint | 1 URL | Dynamic discovery across all enabled MCP servers | Automatic per-server routing |
Composition is best when you want a focused, direct-mode MCP server that combines specific MCP servers — without the dynamic discovery overhead of the Hub.
The Hub is best when you want zero configuration and are happy with dynamic execution. See The Hub Endpoint.
How Composition Works
When you include MCP server A inside MCP server B:
- All of MCP server A's tools become available through MCP server B's MCP URL
- Credentials stay separate — MCP server A's tools still use MCP server A's credential bindings
- No duplication — Tools aren't copied; they're referenced. Updating the source MCP server updates the composed server automatically
- Stacks — You can include multiple MCP servers in the same composed server
The composed MCP server is a regular MCP endpoint. It works with ChatGPT, Cursor, Claude Desktop, and any MCP client.
Step-by-Step: Including an MCP Server
From an MCP Server Detail Page
-
Navigate to the MCP server you want to include (the source)
-
Click "Add to Custom Server" button in the header (compact button in the navigation row)
-
You'll see two options:
- Add to existing server — Pick from your custom MCP servers
- Create a new server — Name a new custom MCP server
-
Click the target server, or create one
-
The source MCP server's tools now appear in the target server
From the Include Dialog
The "Add to Custom Server" dialog shows:
- Your existing custom servers — Any custom MCP server you've created and enabled
- Tool count — How many tools each server already has
- Search — Filter servers by name if you have many
- Create new — Start a new server right from the dialog
Creating a Composed Server from Scratch
If you don't have a custom server yet:
- Go to any MCP server's detail page
- Click "Add to Custom Server" button in the header
- Click "Create new server"
- Give it a descriptive name (e.g., "Sales Stack", "Marketing Ops")
- Add an optional description
- Click Create
- You're redirected to your new server with the first MCP server already included
Then repeat for additional MCP servers you want to include.
Managing Composed Servers
Viewing Included MCP Servers
On your composed MCP server's detail page, you'll see:
- Included MCP servers — Listed with their tool counts
- Total tools — Combined count from all included MCP servers
- Credential status — Whether each included MCP server has valid credentials
Adding More MCP Servers
Navigate to any MCP server's detail page and click "Add to Custom Server" button in the header to add it to your composed server.
Removing an Included MCP Server
On the composed MCP server's detail page:
- Find the included MCP server in the list
- Click the remove action
- That MCP server's tools are immediately removed from the server
Execution Mode
Composed MCP servers follow the same rules as other MCP servers:
- Under 100 tools: Can use Direct mode (tools load up front)
- Over 100 tools: Must use Dynamic mode (tool discovery on demand)
If your composed server exceeds 100 tools, switch it to Dynamic mode. See Execution Modes.
Example: Building a Sales Operations Server
Goal: One MCP URL for your entire sales workflow.
- Start with HubSpot — Navigate to the HubSpot MCP server, click "Add to Custom Server" button in the header, create a new server called "Sales Ops"
- Add Resend — Navigate to the Resend MCP server, click "Add to Custom Server" → pick "Sales Ops"
- Add Stripe — Same process for Stripe
- Add Slack — Same process for Slack
Result: Your "Sales Ops" server has tools from HubSpot (contacts, deals), Resend (emails), Stripe (payments, invoices), and Slack (notifications) — all behind one MCP URL.
https://mcp.mcpbundles.com/bundle/sales-ops-a3f
Add this single URL to Cursor or ChatGPT, and your AI can manage the full sales pipeline.
Composition vs Hub
Both let you access multiple MCP servers through one URL, but they work differently:
Composed MCP servers:
- Direct mode available (faster tool loading for smaller sets)
- Fixed tool set — you choose exactly which MCP servers to include
- Explicit control over what your AI sees
- One URL per composed server
Hub endpoint:
- Always Dynamic mode (discovery + code execution)
- Includes everything you've enabled
- Zero configuration — enable an MCP server and it appears
- One URL forever
Use composition when you want curated, focused servers for specific workflows or AI clients.
Use the Hub when you want a single URL that always has everything.
Next Steps
- Creating custom MCP servers — Build MCP servers from scratch
- The Hub Endpoint — One URL for all your tools
- Execution Modes — Direct vs Dynamic
- Connecting Your AI — Add your composed server to ChatGPT, Cursor, or Claude