🚀 欢迎使用 MongoDB 模型上下文协议(MCP)服务器
MongoDB 模型上下文协议(MCP)服务器可通过提供的 MongoDB 连接字符串建立连接,将操作转换为遵循 MCP 规范的工具,还能进行输入验证,为 LLM 客户端提供结构化数据查询结果,同时管理连接池确保稳定运行。
🚀 快速开始
安装依赖
npm install
构建项目
npm run build
开发模式启动
npm run dev
运行测试
npm test
✨ 主要特性
- 连接数据库:通过提供的 MongoDB 连接字符串建立连接。
- 操作工具:将 MongoDB 操作转换为遵循 MCP 规范的工具。
- 输入验证:使用 Zod 进行类型安全和安全性验证。
- 执行查询:执行查询并以结构化数据返回给 LLM 客户端。
- 管理连接池:处理连接池和错误,确保稳定运行。
📦 安装指南
- 本地运行:通过
npx
方式(如快速开始所示)。
- 全局安装:使用 npm 安装全局包。
npm install -g @coderay/mongo-mcp-server
- Docker 容器:参考仓库中的 Dockerfile 部署。
- 平台服务:在 Heroku、Vercel 或 AWS 等平台上部署为服务。
🔧 技术细节
- TypeScript:用于类型安全的开发。
- MongoDB Node.js 驾驶员:用于数据库操作。
- Zod:用于模式验证。
- 模型上下文协议 SDK:用于服务器实现。
📚 详细文档
工作原理
- 使用提供的 MongoDB 连接字符串建立连接。
- 将 MongoDB 操作作为符合 MCP 规范的工具进行暴露。
- 使用 Zod 验证输入,确保类型安全和安全性。
- 执行查询并以结构化数据返回给 LLM 客户端。
- 管理连接池和错误处理。
可用工具
查询工具
listCollections
:列出数据库中的可用集合。
find
:基于过滤器和投影查询文档。
insertOne
:在集合中插入单个文档。
updateOne
:更新集合中的单个文档。
deleteOne
:从集合中删除单个文档。
索引工具
createIndex
:创建集合上的新索引。
dropIndex
:从集合中删除索引。
indexes
:列出集合的索引。
安全注意事项
- 创建专用 MongoDB 用户。
- 避免使用管理凭证。
- 启用访问日志记录。
- 设置适当的读写权限。
- 使用连接字符串参数。
- 考虑 IP 白名单。
⚠️ 重要提示
始终遵循最小特权原则来配置数据库访问。
贡献指南
欢迎贡献!请按照以下步骤提交拉取请求:
- 叉仓库。
- 创建功能分支。
- 提交更改。
- 推送到分支。
- 打开拉取请求。
📄 许可证
本项目在 MIT 许可证下发布,详情见 LICENSE 文件。