返回 MCP 目录
public公开dns本地运行

mongo-mcp

一个基于MongoDB的模型上下文协议(MCP)服务器,为LLM提供数据库交互能力

article

README

🚀 🗄️ MongoDB MCP 服务器用于 LLM

这是一个模型上下文协议(MCP)服务器,它能让大型语言模型(LLMs)直接与 MongoDB 数据库进行交互。借助该服务器,用户可以通过自然语言对集合进行查询、检查模式、分析数据以及进行管理。

Node.js 18+ License: MIT smithery badge

🚀 快速开始

要开始使用,请找到 MongoDB 连接 URL,并将此配置添加到您的 Claude Desktop 配置文件中:

  • MacOS~/Library/Application\ Support/Claude/claude_desktop_config.json
  • Windows%APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [
        "mongo-mcp",
        "mongodb://<username>:<password>@<host>:<port>/<database>?authSource=admin"
      ]
    }
  }
}

通过 Smithery 安装

要通过 Smithery 安装:

smithery install --package mongo-mcp

然后在 smithery.toml 中添加以下内容:

[mongo-mcp]
command = "node"
args = ["index.js"]

✨ 主要特性

  • 🔍 集合模式检查
  • 📊 文档查询和筛选
  • 📈 索引管理
  • 📝 文档操作(插入、更新、删除)

🎥 演示视频

点击查看

📦 安装指南

📦 先决条件

  • Node.js(版本 18+)
  • npm 或 yarn
  • Docker(用于可选的沙箱环境)

安装依赖项

使用以下命令安装项目依赖:

npm install

yarn install

启动服务器

要启动 MCP 服务器,请运行:

npm start

yarn start

🔧 测试环境设置

使用 Docker 启动 MongoDB

您可以使用以下命令在 Docker 中启动 MongoDB:

docker run --name mcp-mongo -d mongo:latest

然后,您可以通过以下命令连接到 MongoDB 实例:

mongo --host localhost --port 27017

创建测试数据

要填充测试数据,请运行以下命令:

npx mongo-mcp create-users-collection

🛠️ 配置 Claude Desktop

要配置 Claude Desktop 使用此 MCP 服务器,请编辑 smithery.toml 文件并添加以下内容:

[mongo-mcp]
command = "node"
args = ["index.js"]

💻 使用示例

测试沙箱数据结构

用户集合

用户集合包含以下字段:

  • _id:文档 ID
  • username:用户名
  • email:电子邮件地址
  • password:密码哈希
  • created_at:创建时间戳
  • updated_at:更新时间戳

示例文档:

{
  "_id": "63b4d207f8dfg5c1a7b1",
  "username": "exampleuser",
  "email": "user@example.com",
  "password": "$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKfW3p2.tU6VNU.0oGoeHabKN0u8F",
  "created_at": "2023-07-20T12:00:00Z",
  "updated_at": "2023-07-20T12:00:00Z"
}

产品集合

产品集合包含以下字段:

  • _id:文档 ID
  • name:产品名称
  • price:价格(货币单位)
  • description:描述
  • category:分类
  • stock:库存数量
  • created_at:创建时间戳

示例文档:

{
  "_id": "63b4d207f8dfg5c1a7b2",
  "name": "Example Product",
  "price": 9.99,
  "description": "This is an example product.",
  "category": "electronics",
  "stock": 10,
  "created_at": "2023-07-20T12:00:00Z"
}

订单集合

订单集合包含以下字段:

  • _id:文档 ID
  • user_id:用户 ID(引用用户集合的 _id)
  • products:订单中的产品列表(数组,包含产品 ID 和数量)
  • total_price:总价格(货币单位)
  • order_date:下单日期时间戳
  • status:订单状态(如 "pending", "processing", "shipped", "delivered")

示例文档:

{
  "_id": "63b4d207f8dfg5c1a7b3",
  "user_id": "63b4d207f8dfg5c1a7b1",
  "products": [
    {
      "product_id": "63b4d207f8dfg5c1a7b2",
      "quantity": 2
    }
  ],
  "total_price": 19.98,
  "order_date": "2023-07-20T12:00:00Z",
  "status": "pending"
}

🛠️ 可用工具

命令列表

以下是一些可用的命令及其功能:

索引管理

  • create-collection:创建一个新的 MongoDB 集合。
  • drop-collection:删除指定的 MongoDB 集合。
  • add-index:为指定集合添加索引。
  • remove-index:从指定集合中删除索引。

数据操作

  • insert-doc:插入单个文档到指定集合。
  • batch-insert:批量插入多个文档到指定集合。
  • find-docs:查询指定集合中的所有文档(可选条件)。
  • update-doc:更新指定集合中的一个或多个文档。
  • delete-doc:删除指定集合中的一个或多个文档。

📄 许可证

本项目受 MIT License 保护。


如需进一步了解,请参考项目的完整文档。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端