
MongoDB MCP Server

2024.12.15
20
JavaScript数据库服务数据查询数据分析数据库
MongoDB MCP Server 是一个基于 Model Context Protocol 的服务,提供对 MongoDB 数据库的只读访问。该服务允许 LLMs(大型语言模型)检查集合模式并执行聚合管道操作。
View on GitHub
Overview
基本能力
产品定位
MongoDB MCP Server 是一个专门为 MongoDB 数据库设计的只读访问服务,主要用于数据查询和分析。
核心功能
- 聚合查询:执行 MongoDB 聚合管道操作,支持多种聚合阶段和选项。
- 查询解释:获取聚合管道的执行计划,帮助优化查询性能。
- 集合模式:提供集合的 JSON 模式信息,包括字段名称和数据类型。
适用场景
- 数据分析:通过聚合管道对 MongoDB 数据进行复杂分析。
- 查询优化:通过查询解释功能优化查询性能。
- 数据探索:通过集合模式信息了解数据结构。
工具列表
- aggregate
- 功能:执行 MongoDB 聚合管道操作。
-
输入参数:
collection
:要查询的集合名称。pipeline
:MongoDB 聚合管道阶段。options
:可选聚合设置(如allowDiskUse
、maxTimeMS
、comment
)。
-
explain
- 功能:获取聚合管道的执行计划。
- 输入参数:
collection
:要分析的集合名称。pipeline
:MongoDB 聚合管道阶段。verbosity
:解释的详细程度("queryPlanner"、"executionStats"、"allPlansExecution")。
常见问题解答
- 安全性:所有操作均为只读,自动限制返回文档数量(默认 1000 条),默认超时时间为 30 秒。
- 模式推断:集合模式信息是通过采样集合文档推断得出的,确保安全。
使用教程
使用依赖
- 确保已安装 Node.js 和 npm。
- 确保已安装 MongoDB 并配置好连接字符串。
安装教程
- 通过 npm 安装 MCP Server:
bash npm install -g @pash1986/mcp-server-mongodb
- 配置环境变量
MONGODB_URI
:bash export MONGODB_URI="mongodb+srv://<yourcluster>"
调试方式
- 启动 MCP Server:
bash npx @pash1986/mcp-server-mongodb
- 使用示例查询进行测试:
javascript { "collection": "users", "pipeline": [ { "$match": { "age": { "$gt": 21 } } }, { "$group": { "_id": "$city", "avgAge": { "$avg": "$age" }, "count": { "$sum": 1 } }}, { "$sort": { "count": -1 } }, { "$limit": 10 } ] }
- 检查查询解释:
javascript { "collection": "users", "pipeline": [ { "$match": { "age": { "$gt": 21 } } }, { "$sort": { "age": 1 } } ], "verbosity": "executionStats" }