MCP-Compose is an MCP server orchestration tool that manages multiple Model Context Protocol servers through a single Docker Compose-style configuration and a unified HTTP reverse proxy. It connects containerized or local MCP services across STDIO, HTTP, and SSE protocols, translating STDIO communications into accessible HTTP endpoints. Software developers, system administrators, and AI platform engineers use it to streamline the operational lifecycle of multi-server setups. By unifying isolated services—such as memory stores, filesystem handlers, and web search integrations—into a single declarative YAML file, MCP-Compose enables coordinated service startup, continuous log monitoring, session management, and automated connection pooling. It also includes an administrative web dashboard running on port 3111, OpenAPI specification generation, and built-in client configuration generators for desktop interfaces like Claude Desktop. This setup allows client applications to interact with several independent background agents and tools through one authenticated entry point.
Category: AI & LLM Tooling
Tags: deployment, docker, orchestration, proxy
bash git clone https://github.com/phildougherty/mcp-compose.git cd mcp-compose make build sudo cp build/mcp-compose /usr/local/bin/ 2. Create an mcp-compose.yaml configuration file manually or run mcp-compose init to launch the interactive configuration wizard. 3. Start the configured services and HTTP proxy: bash mcp-compose up mcp-compose proxy --port 9876 4. Generate the client configuration file for Claude Desktop: bash mcp-compose create-config --type claude --output ./claude-config 5. Open your Claude Desktop configuration file and copy the contents generated in ./claude-config into your configuration settings, then restart Claude Desktop.Part of MCP Servers
Clone the repository from GitHub, run make build inside the directory, and copy the compiled mcp-compose binary into your system PATH such as /usr/local/bin. You must have Go 1.19 or later installed to build the project, along with Docker 20.10 or later, or Podman 3.0 or later.
MCP-Compose orchestrates multiple MCP servers using YAML configurations. It provides an HTTP proxy with automatic STDIO-to-HTTP translation, native Docker and Podman container management, connection pooling, session handling, an administrative web dashboard at port 3111, and configuration file generation for Claude Desktop.
MCP-Compose works with Claude Desktop through its automated configuration generator. It also supports any client capable of interacting with standard HTTP or SSE endpoints, allowing external applications to send JSON-RPC calls directly to the unified proxy port.
Yes, MCP-Compose is open source software distributed under the GNU Affero General Public License version 3.0 (AGPL v3). The full source code and license terms are accessible in the project repository.