README
🚀 ChatGPT MCP 服务器
一个基于模型上下文协议(MCP)的服务器,借助自定义GPT接口,为用户提供便捷的Docker容器管理功能,极大提升容器管理的效率与灵活性。
🚀 快速开始
本服务器通过自定义GPT接口,基于模型上下文协议(MCP)提供Docker容器管理功能。你可根据需求选择合适的安装方式开启使用。
✨ 主要特性
- 自然语言管理:支持通过自然语言实现Docker容器管理,操作更便捷。
- 先进协议支持:基于模型上下文协议(MCP)构建。
- 技术选型优质:采用TypeScript实现。
- 部署方式灵活:支持容器化部署。
- 系统稳定性强:具备强大的错误处理和优雅关闭机制。
- 资源管理高效:实现资源管理和端口处理。
- 安全机制完善:提供限流和API密钥认证功能。
📦 安装指南
使用Smithery自动安装
通过Smithery可自动安装ChatGPT MCP Server,供Claude Desktop使用:
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
# 编辑.env文件以配置您的设置
- 构建项目
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)时执行优雅关闭。
- 连接管理:新连接会被拒绝,活跃请求在超时后完成,保持_alive连接会被关闭。
- 端口与资源释放:服务器端口能被正确释放,资源得到妥善处理。
关闭流程
- 服务器在接收到处理信号时启动优雅关闭。
- 拒绝新的连接请求。
- 允许活跃请求完成(带超时)。
- 关闭保持_alive连接。
- 正确释放服务器端口。
- 妥善释放资源。
错误处理
- 能检测和报告端口冲突。
- 捕获未捕获的拒绝和异常。
- 妥善处理网络错误。
- 通过适当处理避免资源泄漏。
- 利用超时机制确保服务器在关闭过程中不会卡顿。
📄 许可证
本项目采用MIT许可证。
Scan to join WeChat group