MCP MongoDB Server 使用说明

项目简介

MCP MongoDB Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,它充当大型语言模型 (LLM) 客户端与 MongoDB 数据库之间的桥梁。通过此服务器,LLM 能够以标准化的方式访问 MongoDB 数据库中的数据资源,并利用预定义的工具和 Prompt 模板执行各种数据操作和分析任务。

主要功能点

  • 资源 (Resources):
    • 列出 MongoDB 数据库中的所有集合 (collections),并将每个集合作为独立的资源公开。
    • 每个集合资源包含名称、描述以及 JSON Schema 格式的结构信息,方便 LLM 理解数据结构。
    • 资源通过 'mongodb://' URI scheme 进行标识和访问。
  • 工具 (Tools):
    • 提供丰富的工具集,允许 LLM 对 MongoDB 数据进行各种操作:
      • 'query': 执行 MongoDB 查询,支持过滤、投影、排序和限制结果,并可进行查询计划分析。
      • 'aggregate': 执行 MongoDB 聚合管道,用于复杂的数据聚合和分析,同样支持执行计划分析。
      • 'update': 更新集合中的文档,支持复杂的更新操作符。
      • 'insert': 向集合中插入新的文档。
      • 'createIndex': 在集合上创建索引,优化查询性能。
      • 'count': 统计集合中符合特定条件的文档数量。
      • 'serverInfo': 获取 MongoDB 服务器的详细信息,包括版本、存储引擎等。
  • Prompt 模板 (Prompts):
    • 提供 'analyze_collection' Prompt 模板,用于指导 LLM 分析指定 MongoDB 集合的结构和内容,帮助 LLM 深入理解数据特征。
  • 标准 MCP 协议:
    • 完全遵循 Model Context Protocol (MCP) 协议,使用 JSON-RPC 进行客户端与服务器之间的通信,确保与各种 MCP 客户端的兼容性。

安装步骤

  1. 前提条件: 确保你的系统中已安装 Node.js 和 npm (Node 包管理器)。
  2. 克隆仓库: 使用 Git 克隆 MCP MongoDB Server 仓库到本地:
    git clone https://github.com/kiliczsh/mcp-mongo-server.git
  3. 进入项目目录: 导航到克隆下来的项目目录:
    cd mcp-mongo-server
  4. 安装依赖: 使用 npm 安装项目所需的依赖包:
    npm install
  5. 构建项目: 编译 TypeScript 代码,生成可执行的 JavaScript 代码:
    npm run build

服务器配置

要将 MCP MongoDB Server 集成到 MCP 客户端 (例如 Claude Desktop) 中,你需要在客户端的配置文件中添加服务器配置信息。 以 Claude Desktop 为例,你需要编辑 'claude_desktop_config.json' 文件,通常该文件位于:

  • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

在 'claude_desktop_config.json' 文件中,找到或创建 '"mcpServers"' 部分,并添加 MCP MongoDB Server 的配置,如下所示:

{
  "mcpServers": {
    "mongodb": { //  "mongodb" 是你为该服务器定义的名称,客户端将使用此名称引用它
      "command": "node", //  启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件
      "args": [
        "/path/to/mcp-mongo-server/build/index.js",  //  **重要**: 请将 "/path/to/mcp-mongo-server" 替换为你本地 mcp-mongo-server 项目 'build/index.js' 文件的**绝对路径**
        "mongodb://<your_mongodb_connection_string>" //  **重要**: 请将 "<your_mongodb_connection_string>" 替换为你的 MongoDB **连接字符串**,例如:mongodb://username:password@host:port/database
      ]
    }
  }
}

配置参数说明:

  • 'mongodb': 服务器名称,这是你在客户端配置文件中为 MCP MongoDB Server 指定的名称。你可以自定义此名称,客户端将使用此名称来识别和调用该服务器。
  • 'command': 指定启动 MCP MongoDB Server 的命令。 由于该服务器是 Node.js 应用,因此这里设置为 '"node"',表示使用 Node.js 运行时环境来执行服务器代码。
  • 'args': 一个字符串数组,包含了传递给 'command' 的参数。
    • '/path/to/mcp-mongo-server/build/index.js': 务必修改: 这是 MCP MongoDB Server 编译后的主入口文件路径。 你需要将 '/path/to/mcp-mongo-server' 替换为你本地实际的项目路径,确保指向 'build/index.js' 文件的绝对路径。 例如,如果你的项目放在用户主目录下的 'mcp-mongo-server' 文件夹中,在 macOS 或 Linux 系统上,路径可能类似于 '/Users/yourusername/mcp-mongo-server/build/index.js'。
    • 'mongodb://<your_mongodb_connection_string>': 务必修改: 这是连接到你的 MongoDB 数据库的连接字符串。 你需要将 '<your_mongodb_connection_string>' 替换为真实的 MongoDB 连接字符串,其中包含了连接数据库所需的认证信息、主机地址、端口号以及数据库名称等。 例如,一个典型的连接字符串格式为: 'mongodb://用户名:密码@主机地址:端口号/数据库名'。 请根据你的 MongoDB 数据库配置正确填写此连接字符串。

完成配置后,保存 'claude_desktop_config.json' 文件并重启 Claude Desktop 或其他 MCP 客户端,客户端即可识别并连接到 MCP MongoDB Server。

基本使用方法

  1. 启动服务器: 在 MCP MongoDB Server 项目目录下,运行以下命令启动服务器:

    node build/index.js <your_mongodb_connection_string>

    请将 '<your_mongodb_connection_string>' 替换为你的 MongoDB 连接字符串。 或者,你可以通过 MCP 客户端 (如 Claude Desktop) 启动服务器,客户端会根据配置文件中的 'command' 和 'args' 自动启动服务器。

  2. 客户端交互: 在 MCP 客户端中,你可以通过以下方式与 MongoDB Server 交互:

    • 资源访问: 客户端可以列出和读取 MongoDB 集合的资源信息,例如集合的 schema。
    • 工具调用: 客户端可以调用 MongoDB Server 提供的各种工具,例如 'query' 工具来执行查询,'aggregate' 工具执行聚合操作等。 你需要参考工具的 'inputSchema' 来构造正确的工具参数。
    • Prompt 使用: 客户端可以调用 'analyze_collection' Prompt 模板,让 LLM 分析指定的 MongoDB 集合。

具体的使用方式取决于你使用的 MCP 客户端的功能和界面。 通常,你需要在客户端中选择或指定要使用的 MCP 服务器 (例如 "mongodb"),然后选择要执行的操作 (例如列出资源、调用工具、使用 Prompt)。

通过 MCP MongoDB Server,LLM 客户端可以方便地与 MongoDB 数据库集成,实现数据访问、查询、分析等功能,从而构建更加智能和强大的 LLM 应用。

信息

分类

数据库与文件