Docker MCP 服务器
强大的模型上下文协议 (MCP) 服务器,在隔离的 Docker 容器中执行代码并将结果返回给 Claude 等语言模型。
特征
- 隔离代码执行:在与主系统分离的 Docker 容器中运行代码
- 多语言支持:使用 Docker 镜像以任何语言执行代码
- 复杂脚本支持:运行简单命令和完整的多行脚本
- 软件包管理:使用 pip、npm、apt-get 或 apk 安装依赖项
- 容器管理:轻松创建、列出和清理 Docker 容器
- 强大的错误处理:优雅的超时管理和回退机制
- 彩色输出:清晰、彩色编码的控制台反馈
要求
- Python 3.9+
- Docker 安装并运行
- fastmcp 库
安装
- 克隆此存储库:
- 创建虚拟环境:
- 安装所需的软件包:
用法
运行 MCP 检查器
要测试和探索服务器的功能:
MCP Inspector 界面将在您的浏览器中打开,网址为http://localhost:5173 。
可用工具
Docker MCP 服务器提供以下工具:
1. 列出容器
列出所有 Docker 容器及其详细信息:
- 参数:
show_all
:(可选)是否显示所有容器(包括已停止的容器)(默认值:True)
2.创建容器
创建并启动具有可选依赖项的 Docker 容器:
- 参数:
image
:要使用的 Docker 镜像(例如“python:3.9-slim”、“node:16”)container_name
:容器的唯一名称dependencies
:(可选)要安装的软件包的空格分隔列表(例如,“numpy pandas”,“express lodash”)
3.添加依赖项
在现有的 Docker 容器中安装其他软件包:
- 参数:
container_name
:目标容器的名称dependencies
:要安装的软件包的空格分隔列表
4.执行代码
在正在运行的 Docker 容器内执行命令:
- 参数:
container_name
:目标容器的名称command
:容器内执行的命令
5.执行Python脚本
在正在运行的 Docker 容器内执行多行 Python 脚本:
- 参数:
container_name
:目标容器的名称script_content
:完整的 Python 脚本内容script_args
:传递给脚本的可选参数
6.清理容器
停止并删除 Docker 容器:
- 参数:
container_name
:要清理的容器的名称
示例
基本工作流程示例
Python数据分析示例
Node.js 示例
包管理器支持
Docker MCP 服务器会自动检测并使用适当的包管理器:
- Python 容器:使用
pip
- Node.js 容器:使用
npm
- Debian/Ubuntu 容器:使用
apt-get
- Alpine 容器:使用
apk
对于从图像名称中无法明显看出包管理器的容器,服务器会尝试检测可用的包管理器。
与 Claude 及其他法学硕士课程的整合
此 MCP 服务器可以与 Claude 以及其他支持模型上下文协议 (MCP) 的 LLM 集成。使用fastmcp install
命令将其注册到 Claude:
故障排除
- 端口已在使用中:如果您看到“地址已在使用中”错误,请确保没有其他 MCP Inspector 实例正在运行。
- Docker 连接问题:使用
docker --version
验证 Docker 是否正在运行。 - 容器超时:服务器包含针对未在预期时间范围内响应的容器的回退机制。
- 软件包安装失败:检查指定软件包管理器的软件包名称是否正确。
- 未找到容器:如果 list_containers 没有显示结果,Docker 可能尚未创建任何容器。
安全注意事项
此服务器在 Docker 容器中执行代码,从而与主机系统隔离。但是,请谨慎操作:
- 在没有采取额外安全措施的情况下,请勿公开此服务器
- 将主机卷安装到容器中时要小心
- 考虑容器的资源限制以防止 DoS 攻击
执照
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
促进 Docker 容器内的隔离代码执行,实现安全的多语言脚本执行以及通过模型上下文协议与 Claude 等语言模型的集成。
Related Resources
Related MCP Servers
- -securityFlicense-qualityProvides isolated Docker environments for code execution, enabling users to create and manage containers, execute multi-language code, save and reproduce development environments, ensuring security and isolation.Last updated -6Python
- -securityFlicense-qualityA Model Context Protocol server that enables Claude to manage software development projects with complete context awareness and code execution through Docker environments.Last updated -1Python
- -securityFlicense-qualityA secure interface that enables language models to execute shell commands on the host operating system through the Model Context Protocol.Last updated -Python
- -securityAlicense-qualityAn interactive Python code execution environment that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.Last updated -13PythonApache 2.0