MCP MongoDB 服务器
一种提供对MongoDB数据库访问的模型上下文协议服务器。此服务器允许大型语言模型检查集合模式并执行只读查询。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"mongodb": {
"args": [
"~/mcp-mongo-server/build/index.js",
"mongodb://muhammed:kilic@mongodb.localhost/namespace"
],
"command": "node"
},
"mongodb-github": {
"args": [
"-y",
"github:kiliczsh/mcp-mongo-server",
"mongodb://muhammed:kilic@mongodb.localhost/sample_namespace",
"--read-only"
],
"command": "npx"
},
"mongodb-readonly": {
"args": [
"~/mcp-mongo-server/build/index.js",
"mongodb://muhammed:kilic@mongodb.localhost/namespace",
"--read-only"
],
"command": "node"
}
}
}
服务介绍
MCP MongoDB 服务器
一个提供访问 MongoDB 数据库的模型上下文协议服务器。此服务器使 LLM 能够检查集合模式并执行 MongoDB 操作。
演示
功能
只读模式
- 使用
--read-only或-r标志以只读模式连接到 MongoDB - 防止写入操作(更新、插入、创建索引)
- 使用 MongoDB 的次级读取偏好以获得最佳读取性能
- 为生产数据库连接提供了额外的安全性
资源
- 通过
mongodb://URI 列出和访问集合 - 每个集合都有名称、描述和模式
- 使用 JSON MIME 类型访问模式
工具
-
查询
- 执行 MongoDB 查询,可选执行计划分析
- 输入:集合名称、过滤器、投影、限制、解释选项
- 返回查询结果或执行计划
-
聚合
- 执行 MongoDB 聚合管道,可选执行计划分析
- 输入:集合名称、管道阶段、解释选项
- 返回聚合结果或执行计划
-
更新
- 更新集合中的文档
- 输入:集合名称、过滤器、更新操作、upsert/multi 选项
- 返回更新操作结果
-
serverInfo
- 获取 MongoDB 服务器信息和状态
- 输入:可选调试信息标志
- 返回版本、存储引擎和服务详情
-
插入
- 向集合中插入文档
- 输入:集合名称、文档数组、写入选项
- 返回插入操作结果
-
createIndex
- 在集合上创建索引
- 输入:集合名称、索引规格、写入选项
- 返回索引创建结果
-
计数
- 统计与查询匹配的文档数量
- 输入:集合名称、查询过滤器、计数选项
- 返回文档数量
提示
analyze_collection- 分析集合结构和内容- 输入:集合名称
- 输出:关于模式、数据类型和统计的信息
开发
安装依赖:
npm install
构建服务器:
npm run build
开发时自动重建:
npm run watch
开发环境安装
使用 Claude Desktop
要与 Claude Desktop 一起使用,请添加服务器配置:
在 MacOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mongodb": {
"command": "node",
"args": [
"~/mcp-mongo-server/build/index.js",
"mongodb://muhammed:kilic@mongodb.localhost/namespace"
]
},
"mongodb-readonly": {
"command": "node",
"args": [
"~/mcp-mongo-server/build/index.js",
"mongodb://muhammed:kilic@mongodb.localhost/namespace",
"--read-only"
]
}
}
}
调试
由于 MCP 服务器通过 stdio 进行通信,调试可能会比较困难。我们推荐使用 MCP Inspector,它作为包脚本提供:
npm run inspector
Inspector 将提供一个 URL,以便您在浏览器中访问调试工具。
组件
资源
服务器为数据库中的每个集合提供模式信息:
- 集合模式 (
mongodb://<host>/<collection>/schema)- 每个集合的 JSON 模式信息
- 包括字段名称和数据类型
- 自动从集合文档推断得出
与 Claude Desktop 一起使用
要将此服务器与 Claude Desktop 应用程序一起使用,请在您的 claude_desktop_config.json 文件的 "mcpServers" 部分添加以下配置:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server",
"mongodb://muhammed:kilic@mongodb.localhost/sample_namespace"
]
},
"mongodb-readonly": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server",
"mongodb://muhammed:kilic@mongodb.localhost/sample_namespace",
"--read-only"
]
},
"mongodb-github": {
"command": "npx",
"args": [
"-y",
"github:kiliczsh/mcp-mongo-server",
"mongodb://muhammed:kilic@mongodb.localhost/sample_namespace",
"--read-only"
]
}
}
}
通过 Smithery 安装
要通过 Smithery 自动安装适用于 Claude Desktop 的 MCP MongoDB 服务器:
npx -y @smithery/cli install mcp-mongo-server --client claude
通过 mcp-get 安装
您可以使用 mcp-get 安装此软件包:
npx @michaellatman/mcp-get@latest install mcp-mongo-server
请将 /sample_namespace 替换为您的数据库名称。
使用只读模式
您可以通过在启动服务器时添加 --read-only 或 -r 标志以只读模式连接到 MongoDB。当您需要防止数据被意外写入或连接到生产数据库时,建议这样做。
# Connect in read-only mode using the command line
npx mcp-mongo-server mongodb://user:password@mongodb.example.com/database --read-only
在只读模式下:
- 所有写操作(更新、插入、创建索引)都将被阻止
- 服务器以 MongoDB 的次级读取偏好进行连接
- 连接状态指示只读模式处于活动状态
ping和serverInfo响应包括只读状态信息
许可证
该 MCP 服务器根据 MIT 许可证许可。这意味着您可以在遵守 MIT 许可证条款和条件的前提下自由使用、修改和分发该软件。有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。
