使用说明
Docker编写MCP服务器
MCP(模型上下文协议)服务器,使Claude能够管理本地计算机上的Docker Compose容器。
特性
- 更新容器:在一个命令中停止、提取最新图像和重新启动容器
- 运行任何docker compose命令:执行任意docker compose命令
- 安全错误处理:优雅的错误处理和详细的反馈
安装
- 安装依赖项:
npm install
- 构建TypeScript代码:
npm run build
Claude桌面配置
将此添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"docker-compose": {
"command": "node",
"args": [
"/absolute/path/to/docker-compose-mcp-server/dist/index.js"
]
}
}
}
替换 /absolute/path/to/docker-compose-mcp-server 使用您保存此项目的实际路径。
用法示例
配置后,您可以通过Claude与Docker Compose交互:
更新容器
“在/Users/matt/Documents/chemdraw-js/chemdraw js-combed.yml更新我的chemdraw容器”
查看容器状态
“在/Users/matt/Documents/chemdraw-js/chemdraw-js-compose.yml中显示我的docker容器的状态”
查看日志
“显示docker容器中的日志”
重新启动容器
“重新启动我的撰写文件中的容器”
可用工具
docker_compose_update
通过以下方式更新Docker Compose容器:
- 停止运行容器(
docker compose down) - 提取最新图像(
docker compose pull) - 启动容器(
docker compose up -d)
参数:
compose_file(string,必填):docker-compose.yml文件的绝对路径detached(布尔值,可选):在分离模式下运行(默认值:true)
docker_compose_命令
执行任何docker compose命令。
参数:
compose_file(string,必填):docker-compose.yml文件的绝对路径command(string,必填):运行Docker compose命令(例如,“ps”、“logs”、“restart”)
安全考虑
此MCP服务器使用运行Claude Desktop的用户的权限执行docker命令。确保您:
- 仅使用受信任的合成文件
- 了解正在执行的命令
- 在确认破坏性操作之前,请先查看克劳德建议的命令
发展
开发观察模式:
npm run dev
故障排除
“docker:找不到”
确保Docker已安装并位于您的PATH中。通过运行进行测试 docker --version 在你的终端。
“权限被拒绝”
确保您的用户有权运行Docker命令。在Linux上,您可能需要将用户添加到 docker 集团。
“找不到模块”
确保你已经跑过了 npm run build 在启动服务器之前。
许可证
麻省理工学院
