MCP MongoDB Integration
这个项目演示了 MongoDB 与模型上下文协议 (MCP) 的集成,旨在为 AI 助手提供数据库交互能力。
the-sukhsingh
README
MCP MongoDB 集成
本项目演示了 MongoDB 与模型上下文协议 (MCP) 的集成,旨在为 AI 助手提供数据库交互能力。它由两个主要组件组成:
- MCP MongoDB 服务器 - 一个将 MongoDB 操作暴露为 MCP 工具的服务器
- 客户端 Gemini 集成 - 一个基于终端的聊天机器人,使用 Google 的 Gemini AI 并具有访问 MongoDB 工具的权限
项目结构
.
├── client-side/ # 使用 Gemini AI 的客户端应用程序
│ ├── index.js # 主客户端应用程序
│ └── package.json # 客户端依赖项
└── mcp-mongo-project/ # 带有 MongoDB 工具的 MCP 服务器
├── src/
│ ├── index.js # 服务器设置和工具定义
│ └── services/
│ └── mcp-service.js # MongoDB 服务实现
└── package.json # 服务器依赖项
功能特性
- MongoDB 集成: 完整的 CRUD 操作暴露为 MCP 工具
- MCP 服务器: 实现用于 AI 工具使用的模型上下文协议
- Gemini AI 集成: 连接到 Google 的 Gemini 模型
- 终端聊天机器人: 用于数据库操作的交互式聊天界面
前提条件
- Node.js (v14 或更高版本)
- MongoDB 实例 (本地或远程)
- Google Gemini API 密钥
设置说明
1. 服务器设置
# 导航到服务器目录
cd mcp-mongo-project
# 安装依赖项
npm install
# 创建一个 .env 文件,其中包含您的 MongoDB 连接详细信息
echo "MONGODB_URI=mongodb://localhost:27017" > .env
echo "MONGODB_NAME=your_database_name" >> .env
# 启动服务器
npm start
2. 客户端设置
# 导航到客户端目录
cd client-side
# 安装依赖项
npm install
# 创建一个 .env 文件,其中包含您的 Gemini API 密钥
echo "GEMINI_API_KEY=your_gemini_api_key" > .env
# 启动客户端
node index.js
可用的 MongoDB 工具
MCP 服务器将以下 MongoDB 操作暴露为工具:
- findDocuments: 查询集合中的文档
- findOneDocument: 查找单个文档
- insertOneDocument: 插入一个文档
- insertManyDocuments: 插入多个文档
- updateOneDocument: 更新单个文档
- updateManyDocuments: 更新多个文档
- deleteOneDocument: 删除一个文档
- deleteManyDocuments: 删除多个文档
- aggregateDocuments: 运行聚合管道
- countDocuments: 统计集合中的文档数量
- listCollections: 列出所有集合
- createCollection: 创建一个新集合
使用示例
服务器和客户端都运行后,您可以通过聊天界面与 MongoDB 交互:
您: 显示数据库中的所有集合
AI: 在数据库中找到 3 个集合
[
"users",
"products",
"orders"
]
您: 查找所有年龄大于 30 岁的用户
AI: 在集合 'users' 中找到 2 个文档
[
{
"_id": "6450a7c63020e15b2a1cf5d2",
"name": "John Doe",
"age": 35
},
{
"_id": "6450a7d93020e15b2a1cf5d3",
"name": "Jane Smith",
"age": 42
}
]
工作原理
- MCP 服务器创建与 MongoDB 的连接,并将操作暴露为工具
- 客户端通过服务器发送事件 (SSE) 连接到 MCP 服务器
- 用户查询被发送到 Gemini AI,它决定何时使用 MongoDB 工具
- 工具调用被转发到 MCP 服务器,执行并返回结果
- Gemini AI 将数据库结果纳入其对用户的响应中
环境变量
服务器 (.env 文件在 mcp-mongo-project/ 中)
MONGODB_URI
: MongoDB 的连接字符串MONGODB_NAME
: 要使用的数据库的名称
客户端 (.env 文件在 client-side/ 中)
GEMINI_API_KEY
: Google 的 Gemini AI 的 API 密钥
图片
许可证
ISC
贡献
欢迎通过提出问题或提交拉取请求来为此项目做出贡献。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。