MongoDB模型上下文协议
一个模型上下文协议服务器,提供对MongoDB数据库的只读访问,使AI助手能够直接查询和分析MongoDB数据,同时确保数据安全。
服务介绍
MongoDB MCP 服务器
一个提供通过标准化的 MCP 工具和资源对 MongoDB 数据库进行只读访问的模型上下文协议服务器。
概述
此 MongoDB MCP 服务器使 AI 助手能够直接查询和分析 MongoDB 数据库,但没有写入权限,从而在提供强大的数据探索能力的同时保持数据安全。
特性
MongoDB 操作
- 数据库探索:列出数据库和集合
- 模式发现:从样本文档中推断集合模式
- 查询:执行带有过滤、投影、排序和限制的 MongoDB 查询
- 聚合:运行带有安全验证的只读聚合管道
- 文本搜索:在具有文本索引的集合上执行全文搜索
- 地理空间查询:查找接近点的位置、在多边形内或相交的几何图形
- 文档操作:计数文档、随机采样文档、按 ID 查找文档
- 数据分析:获取集合统计信息、索引信息和查询执行计划
- 性能洞察:检查查询执行计划以优化性能
- 数据探索:获取不同值、字段分布和数据样本
- 格式转换:将查询结果导出为 JSON 或 CSV 格式
增强功能
- 模式推断:自动检测来自文档的数据类型和结构
- 可视化提示:基于结果内容的智能数据可视化建议
- 安全验证:防止聚合管道中的写操作
- 示例丰富的文档:每个工具在其描述中都包含详细的示例
要求
环境变量
MONGODB_URI(必需):如果需要认证的话,带有认证信息的 MongoDB 连接字符串MONGODB_DEFAULT_DATABASE(可选):当查询中未指定时的默认数据库名称
先决条件
- 到 MongoDB 服务器的网络访问
- 如果 MongoDB 实例要求,则需提供认证凭据
- 对目标数据库具有适当的读取权限
安装
从源码构建
安装依赖项:
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": "/path/to/mongodb-server/build/index.js",
"env": {
"MONGODB_URI": "mongodb://username:password@hostname:port/database",
"MONGODB_DEFAULT_DATABASE": "your_default_db"
}
}
}
}
与 Claude Web 集成
对于通过 MCP Chrome 扩展程序的 Claude Web,请向 Cline MCP 设置中添加配置:
{
"mcpServers": {
"mongodb": {
"command": "node",
"args": ["/path/to/mongodb-server/build/index.js"],
"env": {
"MONGODB_URI": "mongodb://username:password@hostname:port/database",
"MONGODB_DEFAULT_DATABASE": "your_default_db"
}
}
}
}
与 Claude Code 集成
要与 Claude Code 一起使用,请使用以下命令:
cd /path/to/my/project
claude mcp add mongo-server /path/to/mongodb-mcp/build/index.js -e "MONGODB_URI=mongodb://user@password:27017/dbname?authSource=authDbName" -e MONGO_DEFAULT_DATABASE=dbname
请确保将占位符替换为您实际的 MongoDB 连接字符串和默认数据库名称。
如果配置正确,当你运行 claude 时,你应该会看到以下内容:
╭───────────────────────────────────────────────────────╮
│ ✻ Welcome to Claude Code research preview! │
│ │
│ /help for help │
│ │
│ cwd: <path-to-project-directory> │
│ │
│ ─────────────────────────────────────────────────── │
│ │
│ MCP Servers: │
│ │
│ • mongo-server connected │
╰───────────────────────────────────────────────────────╯
如果你遇到问题,请参阅 Claude Code 文档。
安全考虑
- 该服务器设计为只读访问
- 连接字符串可能包含敏感的认证信息
- 将连接字符串安全地存储在环境变量中
- 使用具有只读权限的 MongoDB 用户
调试
由于 MCP 服务器通过 stdio 通信,调试可能会比较困难。可以使用 MCP Inspector,它作为一个包脚本提供:
npm run inspector
Inspector 会提供一个 URL,以便你在浏览器中访问调试工具。