MCP Composer is a FastMCP server that mounts other MCP servers and exposes their tools through one endpoint. Register servers at runtime with JSON. Supported member types are HTTP, stdio, OpenAPI, and GraphQL.
Python 3.11, 3.12, or 3.13 and uv.
git clone https://github.com/ibm/mcp-composer.git
cd mcp-composer/modules/mcp_composer
uv sync --group devThe package is mcp-composer. There is no separate application package.
mcp-composer --mode http --host 127.0.0.1 --port 9000HTTP binds to loopback unless you configure authentication. A non-loopback bind without auth is rejected. Stdio member servers run only when the resolved command is listed in MCP_COMPOSER_STDIO_ALLOWLIST.
Point the composer at a member list:
mcp-composer --mode http --host 127.0.0.1 --port 9000 \
--config_path example/member_servers.jsonA fuller sample is example/unified_config.json. Guides are in docs/guide.
These processes start one tool surface and still mount member servers from the usual config. They bind 127.0.0.1.
cd modules/mcp_composer
uv run composers/think_composer.py
uv run composers/catalog_composer.pyThink Composer (think-composer) exposes sequential_thinking. Catalog Composer mounts the skill, agent, and workflow catalogs. See Think Composer and Catalog Composer.
| License | Apache 2.0 |
| Contributing | CONTRIBUTING.md |
| Security | SECURITY.md |
| Code of conduct | CODE_OF_CONDUCT.md |
| Changelog | CHANGELOG.md |
Report vulnerabilities privately. See SECURITY.md.