返回市场
蒙古-MCP

蒙古-MCP

作者:QuantGeekDev172 星标更新:2025-03-16

项目介绍

🗄️ MongoDB MCP Server for LLMS

Node.js 18+ License: MIT smithery badge

这是一个模型上下文协议(MCP)服务器,使LLMs能够直接与MongoDB数据库交互。通过自然语言查询集合、检查模式并管理数据。

✨ 特性

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

演示视频

https://github.com/user-attachments/assets/2389bf23-a10d-49f9-bca9-2b39a1ebe654

🚀 快速开始

要开始使用,请找到您的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自动安装MongoDB MCP Server for Claude Desktop:

npx -y @smithery/cli install mongo-mcp --client claude

先决条件

  • Node.js 18+
  • npx
  • Docker 和 Docker Compose(仅用于本地沙盒测试)
  • MCP客户端(例如Claude Desktop应用)

测试沙盒设置

如果您没有可用的MongoDB服务器进行连接,并希望创建一个示例沙盒,请按照以下步骤操作:

  1. 使用Docker Compose启动MongoDB:
docker-compose up -d
  1. 使用测试数据填充数据库:
npm run seed

配置Claude Desktop

在您的Claude Desktop配置文件中添加此配置:

MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json

本地开发模式:

{
  "mcpServers": {
    "mongodb": {
      "command": "node",
      "args": [
        "dist/index.js",
        "mongodb://root:example@localhost:27017/test?authSource=admin"
      ]
    }
  }
}

测试沙盒数据结构

种子脚本创建了三个带有示例数据的集合:

用户

  • 个人信息(姓名、电子邮件、年龄)
  • 嵌套地址及坐标
  • 兴趣数组
  • 会员日期

产品

  • 产品详情(名称、SKU、类别)
  • 嵌套规格
  • 价格和库存信息
  • 标签和评分

订单

  • 订单详情及项目
  • 用户引用
  • 运输和支付信息
  • 状态跟踪

🎯 示例提示

尝试这些提示以探索功能:

基本操作

“数据库中有哪些集合?”
“显示用户集合的模式”
“查找所有位于旧金山的用户”

高级查询

“查找所有在库且价格低于1000美元的电子产品”
“显示来自用户john@example.com的所有订单”
“列出评分高于4.5的产品”

索引管理

“用户集合上存在哪些索引?”
“在产品集合上为‘类别’字段创建索引”
“列出所有集合上的所有索引”

文档操作

“在产品集合中插入一个名为‘游戏笔记本电脑’的新产品”
“将ID为X的订单状态更新为‘已发货’”
“查找并删除所有缺货的产品”

📝 可用工具

该服务器提供以下工具用于数据库交互:

查询工具

  • find: 查询文档,包括过滤和投影
  • listCollections: 列出可用的集合
  • insertOne: 插入单个文档
  • updateOne: 更新单个文档
  • deleteOne: 删除单个文档

索引工具

  • createIndex: 创建新索引
  • dropIndex: 移除索引
  • indexes: 列出集合的索引

📜 许可证

本项目采用MIT许可证——详情见LICENSE文件。