使用说明
🧠 MongoDB MCP 服务器
A. 模型上下文协议(MCP) 用(某种技术或语言)构建的服务器 Node.js, MongoDB(注:MongoDB是一个开源的跨平台分布式数据库系统,通常直接以其英文名称作为中文名称使用),以及 MCP SDK(MCP软件开发工具包),使得/能够 大型语言模型(LLMs) 执行;表演;进行 实时的增删改查(CRUD)操作 通过结构化、经过验证且模块化的工具来操作MongoDB数据库。
🚀 概述
这个 MongoDB MCP 服务器 作为连接(两端)的中间件层 人工智能模型(大型语言模型) 并且 MongoDB 数据库。
它提供了一套动态的MCP工具,使大型语言模型(LLMs)能够直接 创建、读取、更新、删除和管理 数据库文档——全部通过结构化、模式验证的协议进行管理。
这个项目展示了人工智能如何安全、智能地与数据库进行交互 模型上下文协议(MCP)。
✨ 主要特性
- 🔗(这个符号在中文里通常表示链接,但直接翻译时没有对应的中文文字,所以保持原样) 大型语言模型(LLM)集成: 使语言模型能够在MongoDB上执行实时的增删改查(CRUD)操作。
- ⚙️ 表示“齿轮”或“机械装置”的符号,常用于表示与机械、技术或设置相关的概念。在中文中,这个符号本身没有直接的翻译,但可以根据上下文理解为“齿轮”、“机械装置”或“设置”等含义。 模块化MCP工具: 每个操作都被定义为一个可重用的、独立的工具。
- 🧩 这个符号在中文里通常被用作“拼图”或“碎片”的象征,也可以泛指需要拼凑或组合起来的部分。在没有具体上下文的情况下,可以简单地翻译为“拼图”或“碎片”。 基于Zod的验证: 确保所有输入都结构清晰、安全且符合模式规范。
- ⚡(闪电符号,无具体含义,可表示快速、能量、惊喜等概念,根据上下文灵活翻译) 异步处理程序: 设计注重性能、可扩展性和错误恢复能力。
- 🔁 翻译为中文是:重新播放(循环) 持久的MongoDB连接: 保持单一客户端实例以实现高效访问。
- 🧠 表示“大脑”或“思考”。 人工智能驱动的运营: 使人工智能系统能够以情境化和智能化的方式管理数据。
🧰 可用工具
| 工具名称 | 描述 |
|---|---|
| 创作者信息 | 获取创作者的详细信息。 |
| 获取文档 | 通过唯一ID检索文档。 |
| 列出文档列出MongoDB集合中的所有文档。 | |
| 创建文档在指定的集合中创建一个新文档。 | |
| 更新文档 | 通过ID更新现有文档。 |
| 删除文档 | 从集合中按ID删除文档。 |
| 清除集合从集合中移除所有文档。 |
🛠️ 技术栈
- Node.js – 运行时环境
- MongoDB(注:MongoDB是一个开源的数据库管理系统,属于NoSQL数据库,常用于处理大量数据和高并发场景) – NoSQL数据库
- 模型上下文协议(MCP)软件开发工具包(SDK) – 大语言模型(LLM)集成的服务器框架
- 佐德 – 输入验证库
- dotenv(用于加载环境变量的库/工具) – 环境变量管理
⚙️ 安装
# Clone the repository
git clone https://github.com/ujjawalptdr/mongodb-mcp-server.git
# Navigate into the project
cd Mongo-MCP-Server
# Install dependencies
npm install
🧾 配置
创建一个 .env 项目根目录中的文件:
MONGODB_URI=mongodb://localhost:27017 (your_MongoDB_URI)
DB_NAME=<your_database_name>
▶️ 使用方法
运行MCP服务器
node src/server.js
你会看到:
✅ Connected to MongoDB: <your_database_name>
🧠 MongoDB MCP Server running...
服务器提供了一套工具,这些工具可以被 大型语言模型(LLMs)或MCP兼容客户端 如AI助手、Copilot、Claude或自定义应用程序。
🧠 它的工作原理
- MCP SDK(MCP软件开发工具包) 负责处理大型语言模型(LLM)与服务器之间的通信。
- 每次数据库操作(如
createDocument或者listDocuments) 被定义为一个 工具 (用词)严谨的 Zod 验证. - 大型语言模型(LLMs)可以通过协议调用这些工具来查询、插入、更新或删除数据。
- 服务器确保数据完整性,并返回格式化的响应,以便大型语言模型(LLM)进行解析。
💡 工具定义示例
server.tool(
"createDocument",
"Insert a document into MongoDB",
{
collectionName: z.string(),
data: z.record(z.any()),
},
mongoHandlers.createDocument
);
🧱 项目结构
📦 mongo-MCP-Server
├── 📦 src # MCP Server configuration and tool registration
├── 📜 server.js # MCP Server configuration
├── 📜 mongoHandlers.js # CRUD logic and MongoDB connection
├── 📜 mcpServerMongo.js # MCP Server configuration and tool registration
├── 📜 package.json
├── 📜 package-lock.json
├── 📜 .gitignore
├── 📜 .env # Environment variables
└── 📜 README.md # Documentation
⚡ 示例操作
| 动作 | 示例 |
|---|---|
| 创造 | { "collectionName": "users", "data": { "name": "Ujjawal", "role": "Developer" } } |
| 阅读 | { "collectionName": "users", "documentId": "6529a..." } |
| 列表 | { "collectionName": "users", "limit": 10 } |
| 更新 | { "collectionName": "users", "documentId": "6529a...", "updateData": { "role": "Admin" } } |
| 删除 | { "collectionName": "users", "documentId": "6529a..." } |
| 清晰 | { "collectionName": "users" } |
🧩 未来增强功能
- 🧠 添加对高级查询过滤器和聚合管道的支持。
- 🔄 实现自动重连和连接健康状态监控。
- ⚙️ 对于频繁的文档检索,引入缓存以提高性能。
- 🧰 扩展MCP工具以支持多数据库或跨集合操作。
- 🔐 集成可选身份验证,以确保AI与数据库之间的安全通信。
👨💻 创作者信息
乌贾瓦尔·帕蒂达尔
全栈开发人员 | 问题解决者
🔗 GitHub
📜 许可证
这个项目是开源的,并且遵循以下(许可协议/条款)可供使用 麻省理工学院许可证。
MongoDB MCP 服务器 – 桥接(或连接) 人工智能 与;和;带有 实时数据库控制 通过 模型上下文协议。