MongoDB Atlas MCP服务器
______________________________________________________________________
英语
生产准备就绪 模型上下文协议(MCP) MongoDB Atlas服务器与AI工具集成,如 光标 和 Claude桌面版.使用TypeScript构建,具有全面的数据库操作、矢量搜索功能和企业级备份/恢复功能。
🚀 特性
- 全面的数据库操作:使用MongoDB Atlas完成CRUD操作
- 矢量搜索集成:完整的Atlas搜索矢量索引管理
- 企业备份/恢复:生产就绪的备份和恢复工具
- 安全第一:默认情况下为只读模式,使用Zod进行输入验证
- Docker就绪:使用docker compose完成容器化
- 有利于发展:TypeScript、结构化日志、优雅关机
📊 支持的操作
读取操作(始终可用)
- 数据库管理:
listDatabases,listCollections - 文档操作:
findDocuments,aggregate - 数据导出:
exportCollection,exportDatabase - 备份操作:
backupCollection,backupDatabase - 矢量搜索:
listVectorIndexes,getVectorIndexStats
写入操作(在READ_ONLY模式下禁用)
- 馆藏管理:
createCollection,deleteCollection - 文档操作:
insertOne,updateOne,updateMany,deleteOne,deleteMany - 批量操作:
bulkWrite - 矢量索引管理:
createVectorIndex,deleteVectorIndex - 还原操作:
restoreCollection,restoreDatabase
🏗️ 项目结构
mongodb-atlas-mcp/
├── docker-compose.yml # Docker orchestration
├── Dockerfile # Container configuration
├── package.json # Node.js dependencies
├── tsconfig.json # TypeScript configuration
├── .gitignore # Git ignore rules
├── src/ # Source code
│ ├── index.ts # MCP server entry point
│ ├── tools.ts # MongoDB tool implementations
│ ├── mongo.ts # MongoDB client wrapper
│ ├── env.ts # Environment validation
│ └── logger.ts # Structured logging
├── scripts/ # Execution scripts
│ ├── mcp.sh # Unix wrapper script
│ └── mcp.cmd # Windows wrapper script
└── mcp.config.example.json # Cursor configuration example⚡ 快速开始
- 克隆和配置
git clone
cd mongodb-atlas-mcp- 设置环境变量
创建一个 .env 文件:
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/?retryWrites=true&w=majority
READ_ONLY=true- 使用Docker运行(推荐)
docker compose up -d --build- 配置光标
添加到游标设置JSON:
{
"mcpServers": {
"MongoDBAtlas": {
"command": "cmd",
"args": ["/c", "cd /d /path/to/mongodb-atlas-mcp && scripts\\mcp.cmd"],
"env": {
"MONGODB_URI": "your-connection-string",
"READ_ONLY": "true"
}
}
}
}- 发展模式
npm install
npm run dev💾 备份与导出
导出工具(数据分析)
exportCollection:以JSON/BSON格式导出文档exportDatabase:导出文档的架构和元数据
备份工具(完整备份)
backupCollection:具有分块处理的全面恢复就绪备份backupDatabase:包含集合、索引和元数据的完整数据库备份
还原工具(完全恢复)
restoreCollection:通过验证还原集合restoreDatabase:选择性数据库还原
🔍 矢量搜索功能
- 计划意识限制:自动Atlas计划约束验证
- 全面管理:创建、列出、删除和监视向量索引
- 灵活的配置:多个相似性函数和过滤字段
- 状态监测:实时索引状态和构建进度
按计划划分的矢量索引限制:
- M0/M2/M5(免费/共享):总共3个搜索索引
- M10+(专用):每个集合10个搜索索引
- 阿特拉斯专用:可用更高的限制
🔒 安全最佳实践
- 保持
READ_ONLY=true除非需要写操作 - 创建具有最低权限的专用Atlas数据库用户
- 在Atlas中使用IP分配列表或VPC对等
- 定期轮换凭据,永不提交
.env文件
🔧 故障排除
MCP未出现在光标中?
- 验证脚本路径和执行权限
- 在Windows上,运行
git config core.autocrlf input并重新克隆以避免CRLF问题
需要暴露端口吗?
- 否。MCP通过
stdio使用流程管道-脚本使用docker compose exec -T
我可以连接到本地MongoDB吗?
- 是的,只需调整
MONGODB_URI相应地
______________________________________________________________________
葡萄牙语
一个服务器 模型上下文协议(MCP) 随时准备生产,将 MongoDB Atlas 与 AI 工具集成,如 光标 e Claude桌面版使用 TypeScript 构建,具有全面的数据库操作、矢量搜索功能和企业级备份/恢复功能。
🚀 资源
- 完整的数据库操作使用 MongoDB Atlas 完成 CRUD 操作
- 矢量搜索集成完整的 Atlas Search 矢量索引管理
- 备份/恢复企业生产准备好的备份和恢复工具
- 安全第一默认只读模式, 使用 Zod 验证输入
- Pronto支持Docker使用 docker-compose 完成容器化
- 发展友好TypeScript,结构化日志,有趣的关闭
📊 支持的操作
读取操作(始终可用)
- 银行管理:
listDatabases,listCollections - 文档操作:
findDocuments,aggregate - 数据导出:
exportCollection,exportDatabase - 备份操作:
backupCollection,backupDatabase - 矢量搜索:
listVectorIndexes,getVectorIndexStats
写入操作(在 READ_ONLY 模式下禁用)
- 收藏管理:
createCollection,deleteCollection - 文档操作:
insertOne,updateOne,updateMany,deleteOne,deleteMany - 批次操作:
bulkWrite - 矢量索引管理:
createVectorIndex,deleteVectorIndex - 恢复操作:
restoreCollection,restoreDatabase
⚡ 快速入门
- 克隆和配置
git clone
cd mongodb-atlas-mcp- 定义环境变量
创建文件 .env:
MONGODB_URI=mongodb+srv://usuario:senha@cluster.mongodb.net/?retryWrites=true&w=majority
READ_ONLY=true- 使用 Docker (推荐)
docker compose up -d --build- 配置光标
将光标设置添加到 JSON :
{
"mcpServers": {
"MongoDBAtlas": {
"command": "cmd",
"args": ["/c", "cd /d /caminho/para/mongodb-atlas-mcp && scripts\\mcp.cmd"],
"env": {
"MONGODB_URI": "sua-string-de-conexao",
"READ_ONLY": "true"
}
}
}
}💾 备份 vs 导出
导出工具(数据分析)
exportCollection导出JSON/BSON格式的文档exportDatabase导出模式和元数据到文档
备份工具(完整备份)
backupCollection:全面的备份随时可恢复,分块处理backupDatabase完整的银行备份,包括集合、索引和元数据
恢复工具(完全恢复)
restoreCollection: 通过扫描恢复收藏restoreDatabase选择性数据库恢复
🔍 矢量搜索资源
- 有意识的计划限制自动验证 Atlas 计划限制
- 完整管理创建、列出、删除和监视矢量索引
- 灵活配置多个相似性功能和过滤字段
- 状态监控实时指数状态和施工进度
每平面向量索引限制 :
- M0/M2/M5(免费/共享):3个搜索索引不总计
- M10+(专用)按收藏搜索 10 个索引
- 专用地图集可用的最高限制
🔒 最佳安全实践
- 保持
READ_ONLY=true除非需要写作操作 - 创建具有最低权限的 Atlas 数据库专用用户
- 在 Atlas 中使用对等 IP 或 VPC 权限列表
- 定期旋转凭据,永远不要提交文件
.env
🔧 解决问题
MCP 不出现在光标上?
- 检查脚本路径和执行权限
- 没有Windows,执行
git config core.autocrlf input并重新克隆以避免CRLF问题
我需要开门吗?
- 不,不。MCP 通过
stdio使用进程管道 - 脚本使用docker compose exec -T
我可以连接到本地 MongoDB 吗?
- 是,只需调整
MONGODB_URI适当
______________________________________________________________________
🤝 贡献| Contribuindo
欢迎投稿!请随时提交拉取请求。
欢迎捐款!请随时发送Pull Request。
📄 许可证 | License
该项目根据MIT许可证获得许可。
本项目在MIT许可证下授权。
