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:
│
│ │
│ ─────────────────────────────────────────────────── │
│ │
│ MCP Servers: │
│ │
│ • mongo-server connected │
╰───────────────────────────────────────────────────────╯
如果遇到问题,请参阅克劳德代码 文档.
安全考虑
- 此服务器按设计提供只读访问
- 连接字符串可能包含敏感的身份验证信息
- 将连接字符串安全地存储在环境变量中
- 使用具有只读权限的MongoDB用户
调试
由于MCP服务器通过stdio进行通信,调试可能具有挑战性。使用 MCP检查员,可作为包脚本使用:
npm run inspector检查器将提供一个URL,用于访问浏览器中的调试工具。
