MCP-Compose logo

MCP-Compose

by phildougherty

MCP-Compose simplifies the deployment and management of Model Context Protocol (MCP) servers. It makes it easy to define, configure, and run multiple services through a single YAML configuration file.

View on GitHub

Last updated: N/A

What is MCP-Compose?

MCP-Compose is a tool for orchestrating, managing, and running Model Context Protocol (MCP) servers in Docker containers. It's inspired by Docker Compose but specifically tailored for MCP servers used with AI assistants.

How to use MCP-Compose?

To use MCP-Compose, first install Docker and Go 1.19+. Then, clone the repository, build the tool using 'make build', create an 'mcp-compose.yaml' file to define your servers, and start them using './mcp-compose up'. You can check the server status with './mcp-compose ls'.

Key features of MCP-Compose

  • Simple Configuration: Define all your MCP servers in a single YAML file

  • Multiple Server Types: Support for filesystem, memory, weather, and custom servers

  • Docker Integration: Run servers in containers or as local processes

  • Resource Sharing: Mount local directories as resources

  • Proxy Server: Expose all MCP servers through a unified HTTP endpoint

  • Inspector Tool: Debug and test MCP servers interactively

  • Authentication: Secure your endpoints with API key authentication

  • OpenAPI Integration: Auto-generated OpenAPI schemas for tools

  • Client Integration: Generate configuration for LLM clients

Use cases of MCP-Compose

  • Deploying and managing MCP servers for AI assistants

  • Orchestrating multiple MCP services with a single configuration file

  • Debugging and testing MCP servers interactively

  • Securing MCP endpoints with API key authentication

FAQ from MCP-Compose

What is MCP?

MCP stands for Model Context Protocol, a protocol for AI assistants.

What is the purpose of MCP-Compose?

MCP-Compose simplifies the deployment and management of MCP servers.

What are the prerequisites for using MCP-Compose?

Docker and Go 1.19+ are required.

How do I define my MCP servers?

You define your servers in an 'mcp-compose.yaml' file.

How do I access my MCP services through a unified HTTP endpoint?

Use the proxy server feature of MCP-Compose.