MongoDB MCP Server 使用说明
项目简介
MongoDB MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供安全、可扩展的 MongoDB 数据库访问能力。通过此服务器,LLM 可以获取 MongoDB 数据库中集合的 Schema 信息,并执行 MongoDB 的聚合管道进行数据分析和查询。
主要功能点
- 资源 (Resources):
- 集合 Schema: 提供 MongoDB 数据库中每个集合的 JSON Schema 信息,包括字段名和数据类型,帮助 LLM 理解数据结构。
- 工具 (Tools):
- aggregate: 允许 LLM 执行 MongoDB 聚合管道,对集合数据进行复杂的查询和分析,例如数据过滤、分组、排序、统计等。
- explain: 为 LLM 提供聚合管道的执行计划,帮助理解查询性能和优化方向。
- sample: 从指定集合中随机抽取一定数量的文档,用于数据预览或探索。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
- 全局安装 MCP Server 包: 打开终端或命令提示符,运行以下命令全局安装 MongoDB MCP Server:
npm install -g @pash1986/mcp-server-mongodb
服务器配置
为了让 MCP 客户端(如 Claude Desktop)连接到 MongoDB MCP Server,需要在客户端的配置文件中添加服务器配置信息。以下是一个配置示例,你需要根据你的 MongoDB 连接信息进行修改:
"mcpServers": { "mongodb": { "command": "npx", "args": [ "-y", "@pash1986/mcp-server-mongodb" ], "env" : { "MONGODB_URI" : "mongodb+srv://<your_mongodb_connection_string>" // 请替换为你的 MongoDB 连接字符串,例如:mongodb+srv://user:[email protected]/yourdatabase?retryWrites=true&w=majority } } }
配置参数说明:
- '"mongodb"': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
- '"command": "npx"': 指定启动服务器的命令为 'npx',用于执行本地 Node.js 包。
- '"args": ["-y", "@pash1986/mcp-server-mongodb"]': 'npx' 命令的参数,'-y' 表示自动确认安装包,'@pash1986/mcp-server-mongodb' 是 MongoDB MCP Server 的 npm 包名。
- '"env": { "MONGODB_URI": "mongodb+srv://<your_mongodb_connection_string>" }': 设置环境变量,'MONGODB_URI' 用于配置 MongoDB 数据库的连接字符串。请务必将 '<your_mongodb_connection_string>' 替换为你的实际 MongoDB 连接字符串。
基本使用方法
- 启动 MCP 服务器: 当 MCP 客户端(如 Claude Desktop)尝试连接配置的 "mongodb" 服务器时,会自动根据配置启动 MongoDB MCP Server。
- 在 LLM 应用中使用: 在支持 MCP 协议的 LLM 应用中,你可以配置并连接到 MongoDB MCP Server。连接成功后,LLM 就可以:
- 查询集合 Schema: LLM 可以请求服务器获取 MongoDB 集合的 Schema 信息,了解数据的结构和字段类型。资源 URI 格式为 'mcp-mongodb://<collection_name>/schema'。
- 调用工具执行聚合管道: LLM 可以调用 'aggregate' 工具,并提供集合名称和聚合管道作为参数,执行 MongoDB 聚合查询。
- 调用工具获取执行计划: LLM 可以调用 'explain' 工具,分析聚合管道的执行效率。
- 调用工具获取样本数据: LLM 可以调用 'sample' 工具,快速获取集合的样本数据进行预览。
示例: 在 LLM 应用中,你可以指示 LLM 使用 'aggregate' 工具查询 "users" 集合中年龄大于 21 岁的用户,并按城市分组统计平均年龄和人数。服务器会将聚合结果以 JSON 格式返回给 LLM。
通过 MongoDB MCP Server,LLM 应用可以安全有效地访问和利用 MongoDB 数据库中的数据,从而实现更强大的数据分析和上下文感知能力。
信息
分类
数据库与文件