项目简介
本项目演示了如何通过 Model Context Protocol (MCP) 将 MongoDB 数据库连接到 Claude 桌面应用,使得用户可以使用自然语言指令让 Claude 查询和操作 MongoDB 数据库中的数据。这允许 Claude 像操作本地资源一样访问和利用 MongoDB 中的信息。
请注意: 本项目仅供学习和实验目的,不建议用于生产环境。请务必使用测试 MongoDB 集群,并谨慎管理数据库权限。
主要功能点
- 连接 MongoDB 数据库: 通过配置 MongoDB 连接字符串,将 Claude 连接到指定的 MongoDB 数据库。
- 自然语言查询: Claude 可以理解自然语言指令,并将其转化为 MongoDB 查询语句,从而检索数据库信息。
- 数据操作: 支持通过自然语言指令创建新的 MongoDB 集合和插入文档等操作。
- MCP 服务器: 基于 '@smithery/cli' 运行 MCP 服务器,作为 Claude 与 MongoDB 数据库之间的桥梁。
安装步骤
-
安装 @smithery/cli 工具: 打开终端并执行以下命令安装 '@smithery/cli' 工具,该工具用于运行 MCP 服务器。
npm install @smithery/cli -
获取 MongoDB 连接 URI:
- 登录 MongoDB Atlas (或本地 MongoDB 实例)。
- 获取 Node.js 驱动程序的连接字符串 (MongoDB URI)。务必使用测试数据库连接字符串,不要使用生产环境的连接字符串。
-
配置 Claude 桌面应用:
-
打开 Claude 桌面应用。
-
进入 "Settings" (设置) -> "Developer" (开发者) 选项。
-
点击 "Edit config" (编辑配置) 按钮。
-
在打开的 'claude_desktop_config.json' 文件中,找到 '"mcpServers"' 部分 (如果不存在则创建)。
-
将以下 JSON 配置添加到 '"mcpServers"' 中,并将 '<Your MongoDB Connection URI>' 替换为你在步骤 2 中获取的 MongoDB 连接 URI。
{ "mcpServers": { "mongo-mcp": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "mongo-mcp", "--config", "{\"mongoUri\":\"<Your MongoDB Connection URI>\"}" ] } } }配置参数说明:
- 'server name': 'mongo-mcp' (服务器名称,在 Claude 内部用于标识该 MCP 服务器)
- 'command': 'npx' (用于执行 npm 包的命令)
- 'args': 启动 MCP 服务器的参数列表,包括:
- '-y': 'npm' 参数,自动确认安装 '@smithery/cli' 包。
- '@smithery/cli@latest': 指定要运行的 npm 包和版本。
- 'run': '@smithery/cli' 的子命令,用于运行特定的 MCP 服务。
- 'mongo-mcp': 指定要运行的 MongoDB MCP 服务。
- '--config': 配置参数标志。
- '{"mongoUri":"<Your MongoDB Connection URI>"}': JSON 格式的配置参数,包含 MongoDB 连接 URI。请务必替换 '<Your MongoDB Connection URI>' 为你的实际连接字符串。
-
-
重启 Claude 应用:
- 关闭并重新打开 Claude 桌面应用。可能需要重启 2-3 次才能使 MCP 工具生效。
- 如果配置正确,Claude 输入框旁边会出现一个锤子图标,并显示工具数量(例如 "8 tools"),表示 MCP 服务器已成功连接。
基本使用方法
配置完成后,你可以直接在 Claude 中使用自然语言指令与 MongoDB 数据库交互。例如:
- "Show me all my collections" (显示所有集合)
- "Create a new collection named 'users' and insert a document with name 'John' and age 30" (创建一个名为 'users' 的新集合,并插入一个包含 name 'John' 和 age 30 的文档)
Claude 会调用 MCP 服务器提供的工具来执行这些数据库操作,并将结果返回给你。
信息
分类
数据库与文件