这是一个模型上下文协议(MCP)服务器,使LLMs能够直接与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自动安装MongoDB MCP Server for Claude Desktop:
npx -y @smithery/cli install mongo-mcp --client claude
如果您没有可用的MongoDB服务器进行连接,并希望创建一个示例沙盒,请按照以下步骤操作:
docker-compose up -d
npm run seed
在您的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"
]
}
}
}
种子脚本创建了三个带有示例数据的集合:
尝试这些提示以探索功能:
“数据库中有哪些集合?”
“显示用户集合的模式”
“查找所有位于旧金山的用户”
“查找所有在库且价格低于1000美元的电子产品”
“显示来自用户john@example.com的所有订单”
“列出评分高于4.5的产品”
“用户集合上存在哪些索引?”
“在产品集合上为‘类别’字段创建索引”
“列出所有集合上的所有索引”
“在产品集合中插入一个名为‘游戏笔记本电脑’的新产品”
“将ID为X的订单状态更新为‘已发货’”
“查找并删除所有缺货的产品”
该服务器提供以下工具用于数据库交互:
find: 查询文档,包括过滤和投影listCollections: 列出可用的集合insertOne: 插入单个文档updateOne: 更新单个文档deleteOne: 删除单个文档createIndex: 创建新索引dropIndex: 移除索引indexes: 列出集合的索引本项目采用MIT许可证——详情见LICENSE文件。