MCP MongoDB Server 使用说明

项目简介

MCP MongoDB Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在为大型语言模型 (LLM) 提供访问 MongoDB 数据库的能力。通过此服务器,LLM 可以安全地连接到 MongoDB 数据库,并利用预定义的工具和 Prompt 模板来查询、分析和理解数据库中的数据。

主要功能点

  • 资源 (Resources):
    • 将 MongoDB 数据库中的集合 (collections) 暴露为资源,LLM 可以浏览和访问这些集合的结构信息 (schema)。
    • 支持 'mongodb://' URI 格式来标识和访问集合资源。
    • 提供 JSON 格式的集合 schema 信息,包括字段名称和数据类型。
  • 工具 (Tools):
    • 提供 'query' 工具,允许 LLM 执行只读的 MongoDB 查询操作,检索集合中的文档数据。
    • 提供 'aggregate' 工具,允许 LLM 执行 MongoDB 聚合管道操作,进行更复杂的数据分析。
    • 所有工具操作均为只读权限,确保数据安全。
  • Prompt 模板 (Prompts):
    • 提供 'analyze_collection' Prompt 模板,用于生成分析 MongoDB 集合结构和内容的 Prompt,帮助 LLM 理解集合的数据分布和特征。

安装步骤

  1. 安装 Node.js 和 npm: 确保您的系统已安装 Node.js 和 npm (Node.js 包管理器)。
  2. 下载仓库代码: 从 GitHub 仓库 kiliczsh_mcp-mongo-server 下载代码到本地。
  3. 安装依赖: 在仓库根目录下打开终端,运行以下命令安装项目依赖:
    npm install
  4. 构建项目: 运行以下命令构建服务器代码:
    npm run build

服务器配置

要将 MCP MongoDB Server 集成到 MCP 客户端(例如 Claude Desktop),您需要在客户端的配置文件中添加服务器配置信息。以下是 Claude Desktop 的配置示例('claude_desktop_config.json'):

{
  "mcpServers": {
    "mongodb": {  // 服务器名称,客户端通过此名称引用
      "command": "node", // 启动服务器的命令,这里使用 node 运行 JavaScript 文件
      "args": [  // 启动命令的参数
        "~/mcp-mongo-server/build/index.js", // 服务器入口文件路径,请替换为您的实际路径
        "mongodb://用户名:密码@MongoDB服务器地址/数据库名"  // MongoDB 连接 URL,请替换为您的 MongoDB 连接信息
      ]
    }
  }
}

参数注释:

  • 'mongodb': 服务器在 MCP 客户端中注册的名称,可以自定义,客户端使用此名称来调用该服务器的功能。
  • 'command': 指定用于启动 MCP 服务器进程的命令。对于 Node.js 服务器,通常使用 'node' 命令。
  • 'args': 一个字符串数组,包含了传递给 'command' 命令的参数。
    • 第一个参数通常是服务器入口文件 ('index.js') 的路径。请根据您的实际文件路径进行修改。
    • 第二个参数是 MongoDB 连接 URL,这是 必需的参数。请务必替换为您的实际 MongoDB 数据库连接信息,包括用户名、密码、服务器地址和数据库名称。

注意: 请将 '~/mcp-mongo-server/build/index.js' 替换为您实际的 'index.js' 文件构建后的路径,并将 'mongodb://用户名:密码@MongoDB服务器地址/数据库名' 替换为您的 MongoDB 连接字符串。

基本使用方法

  1. 启动 MCP 服务器: MCP 服务器通常由 MCP 客户端(如 Claude Desktop)自动启动。当客户端需要使用 MongoDB 服务器的功能时,会根据配置文件中的信息启动服务器进程。
  2. 客户端请求资源列表: 客户端可以发送请求到 MCP 服务器,获取 MongoDB 数据库中可用集合的列表。
  3. 客户端读取资源信息: 客户端可以根据集合的 URI,请求获取集合的 schema 信息,了解集合的结构。
  4. 客户端调用工具: 客户端可以调用 'query' 或 'aggregate' 工具,执行 MongoDB 查询或聚合操作,并获取结果数据。
  5. 客户端使用 Prompt 模板: 客户端可以使用 'analyze_collection' Prompt 模板,生成 Prompt 指令,要求 LLM 分析指定集合的数据特征。

通过以上步骤,LLM 就可以利用 MCP MongoDB Server 提供的功能,与 MongoDB 数据库进行交互,从而扩展 LLM 的上下文理解和数据处理能力。

信息

分类

数据库与文件