MongoDB查询服务器

一个用于查询MongoDB数据库的只读模型上下文协议(MCP)服务器,适用于与MCP兼容的客户端如Claude Code、Claude Desktop等。

  • by Sanjeev4523
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Sanjeev4523/mongo-mcp

使用说明

MongoDB MCP服务器

只读 模型上下文协议 (MCP)服务器,用于查询MongoDB数据库。设计用于兼容MCP的客户端,如Claude Code、Claude Desktop等。

快速开始

直接使用npx运行——无需安装:

MONGODB_URI="mongodb://localhost:27017" npx mongodb-mcp

或全局安装:

npm install -g mongodb-mcp

环境变量

变量 必填 描述
MONGODB_URI 是 MongoDB连接字符串(例如。 mongodb://localhost:27017 或 mongodb+srv://...)

配置

克劳德代码

添加到您的 .mcp.json:

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": ["mongodb-mcp"],
      "env": {
        "MONGODB_URI": "mongodb+srv://user:pass@cluster.mongodb.net/dbname"
      }
    }
  }
}

克劳德桌面版

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": ["mongodb-mcp"],
      "env": {
        "MONGODB_URI": "mongodb+srv://user:pass@cluster.mongodb.net/dbname"
      }
    }
  }
}

工具

list_databases

列出连接的MongoDB实例上的所有数据库。

list_collections

列出给定数据库中的所有集合。

参数 类型 说明
database string 数据库名称

list_indexes

列出集合上的所有索引。

参数 类型 说明
database string 数据库名称
collection string 集合名称

run_aggregation

在集合上运行聚合管道。

参数 类型 说明
database string 数据库名称
collection string 集合名称
pipeline object[] 聚合管道阶段

run_aggregation_to_file

运行聚合管道并将结果写入磁盘上的JSON文件,而不是通过MCP返回。仅返回元数据(文档计数、文件路径、文件大小),这避免了将大型结果集加载到代理的上下文窗口中。使用CLI工具,如 jq, head,或 Read 工具来选择性地检查输出文件。

参数 类型 说明
database string 数据库名称
collection string 集合名称
pipeline object[] 聚合管道阶段
output_path string 写入JSON结果的绝对文件路径

安全

  • 只读模式 --编写阶段($out, $merge)聚合中的管道因错误而被拒绝。
  • 查询超时 --聚合查询的服务器端超时时间为50秒(maxTimeMS)以防止失控的查询。
  • 读取首选项 --连接使用 secondaryPreferred 将偏好解读为深度防御。

发展

npm run dev    # watch mode
npm run build  # compile TypeScript
npm start      # run the compiled server

许可证

麻省理工学院