article
README
🚀 🗄️ MongoDB MCP 服务器用于 LLM
这是一个模型上下文协议(MCP)服务器,它能让大型语言模型(LLMs)直接与 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://<username>:<password>@<host>:<port>/<database>?authSource=admin"
]
}
}
}
通过 Smithery 安装
要通过 Smithery 安装:
smithery install --package mongo-mcp
然后在 smithery.toml 中添加以下内容:
[mongo-mcp]
command = "node"
args = ["index.js"]
✨ 主要特性
- 🔍 集合模式检查
- 📊 文档查询和筛选
- 📈 索引管理
- 📝 文档操作(插入、更新、删除)
🎥 演示视频
📦 安装指南
📦 先决条件
- Node.js(版本 18+)
- npm 或 yarn
- Docker(用于可选的沙箱环境)
安装依赖项
使用以下命令安装项目依赖:
npm install
或
yarn install
启动服务器
要启动 MCP 服务器,请运行:
npm start
或
yarn start
🔧 测试环境设置
使用 Docker 启动 MongoDB
您可以使用以下命令在 Docker 中启动 MongoDB:
docker run --name mcp-mongo -d mongo:latest
然后,您可以通过以下命令连接到 MongoDB 实例:
mongo --host localhost --port 27017
创建测试数据
要填充测试数据,请运行以下命令:
npx mongo-mcp create-users-collection
🛠️ 配置 Claude Desktop
要配置 Claude Desktop 使用此 MCP 服务器,请编辑 smithery.toml 文件并添加以下内容:
[mongo-mcp]
command = "node"
args = ["index.js"]
💻 使用示例
测试沙箱数据结构
用户集合
用户集合包含以下字段:
_id:文档 IDusername:用户名email:电子邮件地址password:密码哈希created_at:创建时间戳updated_at:更新时间戳
示例文档:
{
"_id": "63b4d207f8dfg5c1a7b1",
"username": "exampleuser",
"email": "user@example.com",
"password": "$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKfW3p2.tU6VNU.0oGoeHabKN0u8F",
"created_at": "2023-07-20T12:00:00Z",
"updated_at": "2023-07-20T12:00:00Z"
}
产品集合
产品集合包含以下字段:
_id:文档 IDname:产品名称price:价格(货币单位)description:描述category:分类stock:库存数量created_at:创建时间戳
示例文档:
{
"_id": "63b4d207f8dfg5c1a7b2",
"name": "Example Product",
"price": 9.99,
"description": "This is an example product.",
"category": "electronics",
"stock": 10,
"created_at": "2023-07-20T12:00:00Z"
}
订单集合
订单集合包含以下字段:
_id:文档 IDuser_id:用户 ID(引用用户集合的 _id)products:订单中的产品列表(数组,包含产品 ID 和数量)total_price:总价格(货币单位)order_date:下单日期时间戳status:订单状态(如 "pending", "processing", "shipped", "delivered")
示例文档:
{
"_id": "63b4d207f8dfg5c1a7b3",
"user_id": "63b4d207f8dfg5c1a7b1",
"products": [
{
"product_id": "63b4d207f8dfg5c1a7b2",
"quantity": 2
}
],
"total_price": 19.98,
"order_date": "2023-07-20T12:00:00Z",
"status": "pending"
}
🛠️ 可用工具
命令列表
以下是一些可用的命令及其功能:
索引管理
create-collection:创建一个新的 MongoDB 集合。drop-collection:删除指定的 MongoDB 集合。add-index:为指定集合添加索引。remove-index:从指定集合中删除索引。
数据操作
insert-doc:插入单个文档到指定集合。batch-insert:批量插入多个文档到指定集合。find-docs:查询指定集合中的所有文档(可选条件)。update-doc:更新指定集合中的一个或多个文档。delete-doc:删除指定集合中的一个或多个文档。
📄 许可证
本项目受 MIT License 保护。
如需进一步了解,请参考项目的完整文档。
扫码加入微信群