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 服务器的详细信息,包括版本、存储引擎等。
- 提供丰富的工具集,允许 LLM 对 MongoDB 数据进行各种操作:
- Prompt 模板 (Prompts):
- 提供 'analyze_collection' Prompt 模板,用于指导 LLM 分析指定 MongoDB 集合的结构和内容,帮助 LLM 深入理解数据特征。
- 标准 MCP 协议:
- 完全遵循 Model Context Protocol (MCP) 协议,使用 JSON-RPC 进行客户端与服务器之间的通信,确保与各种 MCP 客户端的兼容性。
安装步骤
- 前提条件: 确保你的系统中已安装 Node.js 和 npm (Node 包管理器)。
- 克隆仓库: 使用 Git 克隆 MCP MongoDB Server 仓库到本地:
git clone https://github.com/kiliczsh/mcp-mongo-server.git - 进入项目目录: 导航到克隆下来的项目目录:
cd mcp-mongo-server - 安装依赖: 使用 npm 安装项目所需的依赖包:
npm install - 构建项目: 编译 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。
基本使用方法
-
启动服务器: 在 MCP MongoDB Server 项目目录下,运行以下命令启动服务器:
node build/index.js <your_mongodb_connection_string>请将 '<your_mongodb_connection_string>' 替换为你的 MongoDB 连接字符串。 或者,你可以通过 MCP 客户端 (如 Claude Desktop) 启动服务器,客户端会根据配置文件中的 'command' 和 'args' 自动启动服务器。
-
客户端交互: 在 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 应用。
信息
分类
数据库与文件