使用说明

项目简介

mongo-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 提供访问 MongoDB 数据库的能力。它通过 MCP 协议与 LLM 客户端通信,允许 LLM 调用预定义的工具来查询 MongoDB 中的数据。

主要功能点

  • 数据访问能力: 提供 'get-collection-documents' 工具,允许 LLM 客户端查询指定 MongoDB 数据库和集合中的文档。
  • 工具注册与执行: 实现了 MCP 的工具注册和执行机制,可以方便地扩展更多 MongoDB 相关的工具。
  • 标准化接口: 遵循 MCP 协议,提供标准化的 JSON-RPC 接口,易于与各种 MCP 客户端集成。
  • Stdio 传输: 使用 Stdio 作为默认传输协议,方便部署和集成。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/Matteturtle09/mongo-mcp-server.git
    cd mongo-mcp-server
  2. 安装依赖: 确保你已经安装了 Node.js 和 npm。在项目根目录下运行:
    npm install
  3. 配置环境变量: 你需要设置 'MONGODB_URI' 环境变量来指定 MongoDB 连接字符串。例如,你可以在 '.env' 文件中添加:
    MONGODB_URI=mongodb://<username>:<password>@<host>:<port>/<database>?retryWrites=true&w=majority
    请务必替换 '<username>:<password>@<host>:<port>/<database>' 为你实际的 MongoDB 连接信息。

服务器配置

MCP 客户端需要配置以下信息来连接 mongo-mcp-server:

{
  "serverName": "mongodb",  // MCP 服务器名称,与服务器声明的名称一致
  "command": "node",        // 启动服务器的命令,这里使用 node 运行 index.js
  "args": ["index.js"]      // 启动命令的参数,这里指定运行 index.js 文件
}

配置参数说明:

  • 'serverName': 服务器名称,必须与 'index.ts' 中 'Server' 构造函数中定义的 'name' 属性一致,本例中为 "mongodb"。
  • 'command': 运行服务器端程序的命令。由于 'index.ts' 是 Node.js 代码,所以这里使用 'node' 命令。
  • 'args': 传递给 'command' 的参数,用于指定要运行的服务器端入口文件。本例中为 'index.js'。

注意: MCP 客户端需要能够执行 'node' 命令,并且 'index.js' 文件路径相对于客户端的工作目录是正确的。通常情况下,客户端会在克隆的 'mongo-mcp-server' 仓库目录下启动服务器,因此配置 '["index.js"]' 即可。

基本使用方法

  1. 启动 MCP 服务器: 在项目根目录下,运行以下命令启动 mongo-mcp-server:

    node index.js

    如果一切正常,你会在控制台看到 "Connection successful" 和 "MongoDB MCP Server running on stdio" 的输出,表明服务器已成功连接 MongoDB 并开始监听 Stdio。

  2. 配置并启动 MCP 客户端: 根据你使用的 MCP 客户端的文档,配置服务器连接信息,将上面提供的服务器配置 JSON 添加到客户端的服务器列表中。

  3. 通过 MCP 客户端调用工具: 在 LLM 应用中,使用 MCP 客户端向 mongo-mcp-server 发送请求,调用 'get-collection-documents' 工具,并提供必要的参数,例如:

    {
      "tool_name": "get-collection-documents",
      "arguments": {
        "database": "your_database_name",  // 替换为你要查询的数据库名称
        "collection": "your_collection_name" // 替换为你要查询的集合名称
      }
    }

    MCP 服务器会执行工具,查询 MongoDB,并将结果以 MCP 响应格式返回给客户端,客户端可以将结果提供给 LLM 使用。

信息

分类

数据库与文件