article
README
🚀 📢 社区服务器通知
这是一个由社区维护的MCP服务器,提供对MongoDB数据库的只读访问。若您想访问官方MongoDB MCP服务器,请前往 mongodb-js/mongodb-mcp-server。
🚀 快速开始
本服务器是一个提供对MongoDB数据库只读访问的模型上下文协议(MCP)服务器,它能让LLM检查集合模式并执行聚合管道。
✨ 主要特性
- 提供对MongoDB数据库的只读访问。
- 使LLM能够检查集合模式并执行聚合管道。
- 具备多种工具和资源,方便对数据库进行操作和获取信息。
- 拥有安全功能,保障数据操作的安全性。
📦 安装指南
要使用此服务器与Claude Desktop应用,需将以下配置添加到claude_desktop_config.json文件的“mcpServers”部分:
"mongodb": {
"command": "npx",
"args": [
"-y" ,
"@pash1986/mcp-server-mongodb"
],
"env" : {
"MONGODB_URI" : "mongodb+srv://<yourcluster>" // 'mongodb://localhost:27017'
}
}
请将mydb替换为您的数据库名称,并根据需要调整连接字符串。
💻 使用示例
基础用法
基本聚合
{
"collection": "users",
"pipeline": [
{ "$match": { "age": { "$gt": 21 } } },
{ "$group": {
"_id": "$city",
"avgAge": { "$avg": "$age" },
"count": { "$sum": 1 }
}},
{ "$sort": { "count": -1 } },
{ "$limit": 10 }
],
"options": {
"allowDiskUse": true,
"maxTimeMS": 60000,
"comment": "City-wise user statistics"
}
}
查询解释
{
"collection": "users",
"pipeline": [
{ "$match": { "age": { "$gt": 21 } } },
{ "$sort": { "age": 1 } }
],
"verbosity": "executionStats"
}
📚 详细文档
组件
工具
-
aggregate
- 功能:对连接的数据库执行MongoDB聚合管道。
- 输入:
collection(字符串):要查询的集合。pipeline(数组):MongoDB聚合管道阶段。options(对象):可选的聚合设置。allowDiskUse(布尔值):允许使用磁盘操作。maxTimeMS(数字):最大执行时间,以毫秒为单位。comment(字符串):标识操作的注释。
- 限制:默认文档限制为1000个,如果没有指定限制阶段;默认超时时间为30秒。
-
explain
- 功能:获取聚合管道的执行计划。
- 输入:
collection(字符串):要分析的集合。pipeline(数组):MongoDB聚合管道阶段。verbosity(字符串):解释的详细程度。- 选项:"queryPlanner"、"executionStats"、"allPlansExecution"。
- 默认:"queryPlanner"。
资源
服务器为每个数据库集合提供模式信息:
- 集合模式 (
mongodb://<host>/<collection>/schema)- 集合的推导JSON模式信息。
- 包括字段名称和数据类型。
- 模式是从样本文档中推导出来的。
🔧 技术细节
- 安全功能:
- 如果管道中未指定限制,默认限制为1000个文档。
- 所有操作的默认超时时间为30秒。
- 仅支持只读操作。
- 从集合样本的安全模式推断。
📄 许可证
此MCP服务器根据MIT许可证发布。这意味着您可以自由使用、修改和分发软件,但需遵循MIT许可证的条款和条件。有关详细信息,请参阅项目存储库中的LICENSE文件。
微信扫一扫