使用说明
Docker编写MCP服务器
MCP服务器,为Docker Compose服务提供生命周期管理,具有自动启动、状态监控和优雅关闭功能。
需求:Python(见.Python版本)、Docker、Docker Compose、uv
CLI选项
# Basic usage
docker-compose-mcp /path/to/project
# Use specific compose file
docker-compose-mcp /path/to/project --compose-file docker-compose.dev.yml
# Enable debug logging
docker-compose-mcp /path/to/project --debug --log-level DEBUG
# All options
docker-compose-mcp PROJECT_DIR [--compose-file FILE] [--log-level LEVEL] [--debug]
选项:
PROJECT_DIR:Docker Compose项目目录的路径--compose-file:编写文件名(默认:docker Compose.yml)--log-level:日志记录级别-调试、信息、警告、错误(默认值:信息)--debug:启用带有stderr日志记录的调试模式
添加到克劳德代码
添加到MCP设置中:
MCP Configuration (click to expand)
{
"mcpServers": {
"docker-compose-mcp": {
"command": "uv",
"args": [
"run",
"--from",
"git+https://github.com/matfax/docker-compose-mcp.git",
"docker-compose-mcp",
"/path/to/your/docker-compose-project"
]
}
}
}
对于本地安装:
{
"mcpServers": {
"docker-compose-mcp": {
"command": "uv",
"args": [
"run",
"--from",
"/path/to/docker-compose-mcp",
"docker-compose-mcp",
"/path/to/your/docker-compose-project"
]
}
}
}
可用的MCP工具
get_compose_status
返回所有服务和容器的当前状态:
- 服务状态和健康状况
- 容器信息和端口映射
- 项目详细信息
get_compose_logs
使用以下选项检索Docker Compose日志:
service(可选):特定服务名称tail(可选):日志行数(默认值:100)
restart_compose
重新启动所有Docker Compose服务。
特性
- 自动生命周期管理:启动时自动启动组合服务,关闭时停止
- 健康监测:跟踪容器运行状况和端口绑定
- 信号处理:使用SIGINT/SIGTERM进行优雅关机
- 环境加载:自动加载
docker.env来自项目目录 - 安全:所有操作的输入验证和子流程安全
- 错误处理:使用结构化日志进行全面的错误处理
环境变量
创建一个 docker.env 项目目录中的文件:
POSTGRES_DB=myapp
POSTGRES_USER=user
POSTGRES_PASSWORD=password
MCP服务器在启动Docker Compose时会自动加载这些变量。
生命周期管理
- 启动时:跑步
docker-compose up -d在指定的项目目录中 - 运行期间:提供MCP工具用于监控和管理
- 关机时:优雅地奔跑
docker-compose down停止服务 - 信号处理:响应SIGINT/SIGTERM以实现干净关机
示例用法
# Basic usage with current directory
docker-compose-mcp .
# Use with specific project and compose file
docker-compose-mcp /home/user/my-app --compose-file docker-compose.prod.yml
# Debug mode for troubleshooting
docker-compose-mcp /home/user/my-app --debug --log-level DEBUG
服务器将自动启动您的Docker Compose服务,提供MCP工具进行管理,并在您退出时进行清理。