项目简介

本项目演示了如何通过 Model Context Protocol (MCP) 将 MongoDB 数据库连接到 Claude 桌面应用,使得用户可以使用自然语言指令让 Claude 查询和操作 MongoDB 数据库中的数据。这允许 Claude 像操作本地资源一样访问和利用 MongoDB 中的信息。

请注意: 本项目仅供学习和实验目的,不建议用于生产环境。请务必使用测试 MongoDB 集群,并谨慎管理数据库权限。

主要功能点

  • 连接 MongoDB 数据库: 通过配置 MongoDB 连接字符串,将 Claude 连接到指定的 MongoDB 数据库。
  • 自然语言查询: Claude 可以理解自然语言指令,并将其转化为 MongoDB 查询语句,从而检索数据库信息。
  • 数据操作: 支持通过自然语言指令创建新的 MongoDB 集合和插入文档等操作。
  • MCP 服务器: 基于 '@smithery/cli' 运行 MCP 服务器,作为 Claude 与 MongoDB 数据库之间的桥梁。

安装步骤

  1. 安装 @smithery/cli 工具: 打开终端并执行以下命令安装 '@smithery/cli' 工具,该工具用于运行 MCP 服务器。

    npm install @smithery/cli
  2. 获取 MongoDB 连接 URI:

    • 登录 MongoDB Atlas (或本地 MongoDB 实例)。
    • 获取 Node.js 驱动程序的连接字符串 (MongoDB URI)。务必使用测试数据库连接字符串,不要使用生产环境的连接字符串。
  3. 配置 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>' 为你的实际连接字符串。
  4. 重启 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 服务器提供的工具来执行这些数据库操作,并将结果返回给你。

信息

分类

数据库与文件