一种模型上下文协议服务器,通过自定义的GPT接口实现使用自然语言交互来管理Docker容器。
virtualizationother
365 查看 · 2026-07-07 更新
简介
一种模型上下文协议服务器,通过自定义的GPT接口实现使用自然语言交互来管理Docker容器。
简介
一种模型上下文协议服务器,通过自定义的GPT接口实现使用自然语言交互来管理Docker容器。
ChatGPT MCP 服务器
一个通过自定义 GPT 接口提供 Docker 管理功能的 Model Context Protocol (MCP) 服务器。
功能
- 通过自然语言进行 Docker 容器管理
- 基于 Model Context Protocol (MCP)
- 使用 TypeScript 实现
- 容器化部署
- 强大的错误处理和优雅关闭
- 资源管理和端口处理
- 速率限制和 API 密钥认证
设置
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 ChatGPT MCP 服务器:
npx -y @smithery/cli install @Toowiredd/chatgpt-mcp-server --client claude
手动安装
- 克隆仓库
git clone https://github.com/toowiredd/chatgpt-mcp-server.git cd chatgpt-mcp-server
- 安装依赖项
npm install
- 创建环境文件
cp env.example .env # Edit .env with your configuration
- 构建项目
npm run build
使用 Docker 运行
- 构建容器
npm run docker:build
- 运行容器
npm run docker:run
或者手动:
docker run -d \ -p 3001:3001 \ --env-file .env \ -v /var/run/docker.sock:/var/run/docker.sock \ chatgpt-mcp-server
开发
npm run build- 构建 TypeScript 代码npm run watch- 监视更改并重新构建npm run inspector- 运行 MCP 检查工具
环境变量
API_KEY- API 认证密钥HTTP_PORT- 服务器端口(默认:3001)RATE_LIMIT_REQUESTS- 每个窗口的最大请求数RATE_LIMIT_WINDOW- 窗口大小(毫秒)
资源管理
服务器实现了强大的资源管理:
- 在接收到进程信号(SIGINT, SIGTERM, SIGQUIT)时进行优雅关闭
- 连接跟踪和管理
- 请求超时处理
- 端口冲突检测
- 保持连接管理
- 活跃请求跟踪及优雅完成
关闭过程
- 服务器在接收到进程信号后开始优雅关闭
- 拒绝新的连接
- 允许活跃请求完成(带超时)
- 关闭保持连接
- 正确释放服务器端口
- 正确释放资源
错误处理
- 检测并报告端口冲突
- 捕获未处理的拒绝和异常
- 正确处理网络错误
- 通过适当的处理防止资源泄漏
- 超时确保服务器在关闭过程中不会挂起
许可证
MIT
来源
- 来源:github
- 链接:https://github.com/Toowiredd/chatgpt-mcp-server