使用说明
项目简介
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 作为默认传输协议,方便部署和集成。
安装步骤
- 克隆仓库:
git clone https://github.com/Matteturtle09/mongo-mcp-server.git cd mongo-mcp-server - 安装依赖:
确保你已经安装了 Node.js 和 npm。在项目根目录下运行:
npm install - 配置环境变量:
你需要设置 'MONGODB_URI' 环境变量来指定 MongoDB 连接字符串。例如,你可以在 '.env' 文件中添加:
请务必替换 '<username>:<password>@<host>:<port>/<database>' 为你实际的 MongoDB 连接信息。MONGODB_URI=mongodb://<username>:<password>@<host>:<port>/<database>?retryWrites=true&w=majority
服务器配置
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"]' 即可。
基本使用方法
-
启动 MCP 服务器: 在项目根目录下,运行以下命令启动 mongo-mcp-server:
node index.js如果一切正常,你会在控制台看到 "Connection successful" 和 "MongoDB MCP Server running on stdio" 的输出,表明服务器已成功连接 MongoDB 并开始监听 Stdio。
-
配置并启动 MCP 客户端: 根据你使用的 MCP 客户端的文档,配置服务器连接信息,将上面提供的服务器配置 JSON 添加到客户端的服务器列表中。
-
通过 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 使用。
信息
分类
数据库与文件