MongoDB MCP Server

MongoDB MCP Server

site icon
2024.12.15 20
JavaScript数据库服务数据查询数据分析数据库
MongoDB MCP Server 是一个基于 Model Context Protocol 的服务,提供对 MongoDB 数据库的只读访问。该服务允许 LLMs(大型语言模型)检查集合模式并执行聚合管道操作。
View on GitHub

Overview

基本能力

产品定位

MongoDB MCP Server 是一个专门为 MongoDB 数据库设计的只读访问服务,主要用于数据查询和分析。

核心功能

  1. 聚合查询:执行 MongoDB 聚合管道操作,支持多种聚合阶段和选项。
  2. 查询解释:获取聚合管道的执行计划,帮助优化查询性能。
  3. 集合模式:提供集合的 JSON 模式信息,包括字段名称和数据类型。

适用场景

  1. 数据分析:通过聚合管道对 MongoDB 数据进行复杂分析。
  2. 查询优化:通过查询解释功能优化查询性能。
  3. 数据探索:通过集合模式信息了解数据结构。

工具列表

  1. aggregate
  2. 功能:执行 MongoDB 聚合管道操作。
  3. 输入参数:

    • collection:要查询的集合名称。
    • pipeline:MongoDB 聚合管道阶段。
    • options:可选聚合设置(如 allowDiskUsemaxTimeMScomment)。
  4. explain

  5. 功能:获取聚合管道的执行计划。
  6. 输入参数:
    • collection:要分析的集合名称。
    • pipeline:MongoDB 聚合管道阶段。
    • verbosity:解释的详细程度("queryPlanner"、"executionStats"、"allPlansExecution")。

常见问题解答

  1. 安全性:所有操作均为只读,自动限制返回文档数量(默认 1000 条),默认超时时间为 30 秒。
  2. 模式推断:集合模式信息是通过采样集合文档推断得出的,确保安全。

使用教程

使用依赖

  1. 确保已安装 Node.js 和 npm。
  2. 确保已安装 MongoDB 并配置好连接字符串。

安装教程

  1. 通过 npm 安装 MCP Server: bash npm install -g @pash1986/mcp-server-mongodb
  2. 配置环境变量 MONGODB_URIbash export MONGODB_URI="mongodb+srv://<yourcluster>"

调试方式

  1. 启动 MCP Server: bash npx @pash1986/mcp-server-mongodb
  2. 使用示例查询进行测试: javascript { "collection": "users", "pipeline": [ { "$match": { "age": { "$gt": 21 } } }, { "$group": { "_id": "$city", "avgAge": { "$avg": "$age" }, "count": { "$sum": 1 } }}, { "$sort": { "count": -1 } }, { "$limit": 10 } ] }
  3. 检查查询解释: javascript { "collection": "users", "pipeline": [ { "$match": { "age": { "$gt": 21 } } }, { "$sort": { "age": 1 } } ], "verbosity": "executionStats" }

许可证

该项目遵循 MIT 开源许可条款。