首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
mongo-mcp2025-05-280分享
github
一种模型上下文协议(MCP)服务器,使大型语言模型(LLM)能够直接与MongoDB数据库交互。通过自然语言查询集合、检查模式和管理数据无缝衔接。
By QuantGeekDev
2025-05-280
github
详情内容

🗄️ 面向大语言模型的MongoDB MCP服务器

Node.js 18+
许可证: MIT
smithery徽章

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

✨ 功能特点

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

演示视频

点击查看演示视频

🚀 快速开始

要开始使用,请找到您的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://<用户名>:<密码>@<主机>:<端口>/<数据库>?authSource=admin"
      ]
    }
  }
}

通过Smithery安装

要通过Smithery自动为Claude Desktop安装MongoDB MCP服务器:

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、类别)
  • 嵌套规格
  • 价格和库存信息
  • 标签和评分

订单

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

🎯 示例提示

尝试使用这些提示与Claude一起探索功能:

基本操作

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

高级查询

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

索引管理

"users集合中存在哪些索引?"
"为products集合的'category'字段创建一个索引"
"列出所有集合中的所有索引"

文档操作

"在products集合中插入一个名为'Gaming Laptop'的新产品"
"将ID为X的订单状态更新为'已发货'"
"查找并删除所有库存不足的产品"

📝 可用工具

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

查询工具

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

索引工具

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

📜 许可证

此项目根据MIT许可证授权 - 详情请参阅LICENSE文件。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档