MongoDB MCP Server for LLMs

MongoDB MCP Server for LLMs

一个模型上下文协议服务器,它使大型语言模型 (LLM) 能够直接与 MongoDB 数据库交互,允许用户通过自然语言查询集合、检查模式和管理数据。

数据库
TypeScript
访问服务器

README

🗄️ 用于 LLM 的 MongoDB MCP 服务器

Node.js 18+ License: MIT smithery badge

一个模型上下文协议 (MCP) 服务器,使 LLM 能够直接与 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 自动为 Claude Desktop 安装 MongoDB MCP 服务器:

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

前提条件

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

测试沙箱设置

如果您没有要连接的 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"
      ]
    }
  }
}

测试沙箱数据结构

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

Users

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

Products

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

Orders

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

🎯 示例提示

尝试使用 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 文件。

MongoDB-Model-Context-Protocol-MCP-

推荐服务器

Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript
Supabase MCP Server

Supabase MCP Server

一个模型上下文协议(MCP)服务器,它提供对 Supabase 管理 API 的编程访问。该服务器允许 AI 模型和其他客户端通过标准化的接口来管理 Supabase 项目和组织。

精选
JavaScript
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置信息。

精选
TypeScript
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript
MCP Server Trello

MCP Server Trello

通过 Trello API 促进与 Trello 看板的交互,提供速率限制、类型安全、输入验证和错误处理等功能,以实现对卡片、列表和看板活动的无缝管理。

精选
TypeScript
MCP DuckDB Knowledge Graph Memory Server

MCP DuckDB Knowledge Graph Memory Server

一个为 Claude 设计的记忆服务器,它使用 DuckDB 存储和检索知识图谱数据,从而增强了对话的性能和查询能力,并能持久保存用户信息。

精选
TypeScript