返回市场
mongodb-mcp服务器

mongodb-mcp服务器

作者:mongodb-developer27 星标更新:2025-04-30

项目介绍

<h2 align="center"> 📢 <strong>社区维护的MCP服务器公告</strong><br/> 这是一个由社区维护的MCP服务器。<br/> 👉 对于<strong>官方</strong>MongoDB MCP服务器,请访问 <a href="https://github.com/mongodb-js/mongodb-mcp-server">mongodb-js/mongodb-mcp-server</a> </h2>

MongoDB MCP服务器

这是一个提供只读访问MongoDB数据库的模型上下文协议服务器。此服务器使LLMs能够检查集合模式并执行聚合管道。

组件

工具

  • 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模式信息
    • 包括字段名称和数据类型
    • 模式是从采样集合文档中得出的

使用Claude Desktop

要在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": "按城市统计用户"
  }
}

查询解释

{
  "collection": "users",
  "pipeline": [
    { "$match": { "age": { "$gt": 21 } } },
    { "$sort": { "age": 1 } }
  ],
  "verbosity": "executionStats"
}

安全特性

  • 如果管道中未指定限制,默认文档限制为1000
  • 所有操作默认超时时间为30秒
  • 只读操作
  • 从集合样本中安全推断模式

许可证

此MCP服务器采用MIT许可证。这意味着您可以自由地使用、修改和分发软件,但需遵守MIT许可证中的条款和条件。更多详情,请参见项目仓库中的LICENSE文件。