AI Infra:MongoDB 开源官方 MCP Server,可与 MongoDB 和 Atlas 集群交互
一、什么是 MongoDB MCP Server
https://github.com/mongodb-js/mongodb-mcp-server
MongoDB MCP Server 是 MongoDB 官方发布的 Model Context Protocol(MCP)服务器实现,当前处于 公共预览(Public Preview) 阶段。
它为支持 MCP 的 AI 客户端(如 Claude Desktop、VS Code Copilot、Cursor 等)提供了一组“工具”(tools),可通过自然语言与 MongoDB 数据及部署进行交互
MCP 是 Anthropic 于 2024 年 11 月推出的开源协议标准,旨在统一语言模型(LLM)与外部系统(如数据库、文件系统、API)的交互方式
二、 主要功能与用途
2.1 支持的工具
- MongoDB Atlas 工具集
包括列出组织、项目、集群,创建/管理集群、访问控制、数据库用户、警报等功能,如:atlas-list-clusters
、atlas-create-project
、atlas-create-db-user
等 (GitHub)。 - MongoDB 数据库工具
支持基本 CRUD 和聚合操作、架构查询、索引管理等,包括:find
、aggregate
、list-collections
、collection-schema
、db-stats
、create-index
、update-one
、delete-many
等 (GitHub)。
2.2 架构与使用场景
允许 LLM(如 Claude、VS Code Copilot)使用自然语言来执行 MongoDB 数据查询、聚合、管理、模式探索和代码生成操作:
- 查询并解释集合模式与字段用途
- 用自然语言检索或编辑数据
- 管理 Atlas 用户、集群、数据库
- 基于数据上下文生成代码片段(如 Python 脚本) (MongoDB, GitHub, MongoDB)。
三、安装与配置
3.1 技术要求
- Node.js 版本建议至少为 20.19.0,如果使用 v22,则需至少 v22.12.0;23+ 版本也支持
- 可连接到 MongoDB Atlas 或自托管 MongoDB 实例
3.2 启动方式
命令行方式(readOnly 为默认安全模式):
npx -y mongodb-mcp-server --connectionString "mongodb://localhost:27017/myDatabase" --readOnly
或
npx -y mongodb-mcp-server --apiClientId <clientId> --apiClientSecret <clientSecret> --readOnly
通过环境变量也可设置这些参数 (GitHub)。
Docker 运行方式:
不用安装 Node.js:
docker run --rm -i mongodb/mongodb-mcp-server:latest
带连接字符串:
docker run -e MDB_MCP_CONNECTION_STRING="..." -e MDB_MCP_READ_ONLY="true" mongodb/mongodb-mcp-server:latest
或使用 Atlas API 凭证:
docker run -e MDB_MCP_API_CLIENT_ID="..." -e MDB_MCP_API_CLIENT_SECRET="..." -e MDB_MCP_READ_ONLY="true" mongodb/mongodb-mcp-server:latest
Docker 示例亦可配置于不同 MCP 客户端的 JSON 文件中 (GitHub, MongoDB)。
3.3 配置选项亮点
- 设置方式可选:命令行参数、环境变量、或客户端配置文件。
可配置项包括:
connectionString
或apiClientId/apiClientSecret
readOnly
模式(只读)disabledTools
(禁用特定工具)telemetry
(是否发送使用统计)logPath
(日志路径)等 (CSDN 博客, MongoDB)。
四、安全性与权限
- 默认启用只读(--readOnly)模式,用于避免 LLM 执行删除或写入操作 (MongoDB)。
- Atlas API 使用安全服务账户凭证,管理员可设定最小权限角色以控制对项目与集群的访问 (MongoDB)。
五、底层原理与背景
- MCP 是一个标准化工具协议,由 Anthropic 于 2024 年 11 月提出,旨在实现 LLM 与工具、系统之间的统一数据交互 (维基百科)。
- MongoDB MCP Server 是符合该协议的官方实现之一,支持主要 AI 客户端连接和操作。
六、使用流程示例
- 配置 MCP 客户端(如 Claude Desktop、VS Code Copilot)将此 Server 添加进其
mcpServers
部分。 - 启动 Server。
在客户端对话中,执行如下操作:
- “告诉我
users
集合的架构结构” - “查询过去一周所有订单金额超过 100 的用户”
- “生成 Python 脚本清除一年未登录的账户” (MongoDB, MongoDB, MongoDB)。
- “告诉我
七、总结优势对比
优势 | 描述 |
---|---|
统一接口 | LLM 通过标准 MCP 协议与 MongoDB 或 Atlas 交互 |
丰富工具支持 | 包括 Atlas 管理与数据库操作工具 |
灵活部署 | 支持 CLI 启动、环境变量、Docker 容器等方式 |
安全控制 | 默认只读模式 + Atlas 服务账户权限控制 |
支持代码生成 | 可根据数据库上下文生成查询/脚本代码 |
官方文档
https://www.mongodb.com/zh-cn/docs/mcp-server/