1. 服务概述一句话简介与MongoDB数据库和MongoDB Atlas交互的MCP服务器提供完整的数据库管理和Atlas集群管理功能服务名称MongoDB MCP Server版本号最新版本开发者/提供方mongodb-js协议类型MCP (Model Context Protocol)2. 核心功能列出该MCP服务提供的主要功能点MongoDB Atlas Tools集群管理创建、更新、删除和查询Atlas集群项目组织管理Atlas项目和组织结构访问控制配置数据库用户和访问权限监控告警查看集群性能指标和配置告警备份恢复管理集群备份和恢复操作MongoDB Database Tools数据库查询执行MongoDB查询和聚合操作集合管理创建、删除和管理集合文档操作插入、更新、删除文档索引管理创建和管理数据库索引数据分析执行数据分析和统计查询部署与安全多种部署方式支持NPM、Docker和云平台部署双重认证支持支持连接字符串和Atlas API两种认证方式只读模式默认启用只读模式保护数据安全环境变量配置安全地传递敏感配置信息3. 使用场景描述该服务适合在什么情况下使用典型应用场景数据库管理自动化让AI助手自动执行数据库查询、数据迁移和索引优化等操作Atlas集群运维通过AI助手管理Atlas集群的创建、配置和监控数据分析与报告执行复杂的数据分析查询并生成报告数据库迁移辅助数据库迁移和同步操作性能优化分析查询性能并提供优化建议安全审计审查数据库访问权限和安全配置开发测试快速创建测试数据库和测试数据4. 接入方式4.1 服务端点MongoDB MCP Server通过MCP协议进行通信支持多种运行方式NPM方式通过npx直接运行无需本地安装Docker方式使用Docker容器运行提供隔离环境云平台部署支持Azure等公有云平台部署4.2 认证与权限方式1连接字符串认证使用MongoDB连接字符串直接连接数据库支持本地MongoDB实例和Atlas集群连接字符串格式mongodb://username:passwordhost:port/databaseAtlas连接字符串格式mongodbsrv://username:passwordcluster.mongodb.net/database方式2Atlas API认证使用Atlas Service Accounts凭证进行认证在MongoDB Atlas中创建Service Account获取Client ID和Client Secret配置API权限范围安全建议1使用Atlas API凭证时务必为服务账户分配最小必需权限。详见Atlas API权限文档。安全建议2强烈建议使用环境变量传递敏感配置如连接字符串和API凭证而非命令行参数。命令行参数可能在进程列表中可见或被记录在系统日志中存在泄露风险。4.3 数据格式MongoDB MCP Server使用JSON格式进行数据交换请求格式JSON格式的MCP协议消息响应格式MongoDB查询结果或Atlas API响应JSON格式数据格式MongoDB文档格式BSON扩展的JSON4.4 服务器配置配置1使用连接字符串推荐用于数据库操作{ mcpServers: { MongoDB: { command: npx, args: [-y, mongodb-mcp-serverlatest, --readOnly], env: { MDB_MCP_CONNECTION_STRING: mongodb://localhost:27017/myDatabase } } } }配置2使用Atlas API凭证推荐用于Atlas管理{ mcpServers: { MongoDB: { command: npx, args: [-y, mongodb-mcp-serverlatest, --readOnly], env: { MDB_MCP_API_CLIENT_ID: your-atlas-service-accounts-client-id, MDB_MCP_API_CLIENT_SECRET: your-atlas-service-accounts-client-secret } } } }配置3使用Docker容器选项A无配置运行docker run --rm -i \ mongodb/mongodb-mcp-server:latest选项B使用连接字符串# 设置环境变量 export MDB_MCP_CONNECTION_STRINGmongodbsrv://username:passwordcluster.mongodb.net/myDatabase # 启动Docker容器 docker run --rm -i \ -e MDB_MCP_CONNECTION_STRING \ -e MDB_MCP_READ_ONLYtrue \ mongodb/mongodb-mcp-server:latest选项C使用Atlas API凭证# 设置环境变量 export MDB_MCP_API_CLIENT_IDyour-atlas-service-accounts-client-id export MDB_MCP_API_CLIENT_SECRETyour-atlas-service-accounts-client-secret # 启动Docker容器 docker run --rm -i \ -e MDB_MCP_API_CLIENT_ID \ -e MDB_MCP_API_CLIENT_SECRET \ -e MDB_MCP_READ_ONLYtrue \ mongodb/mongodb-mcp-server:latest配置4使用命令行参数# 设置环境变量 export MDB_MCP_API_CLIENT_IDyour-atlas-service-accounts-client-id export MDB_MCP_API_CLIENT_SECRETyour-atlas-service-accounts-client-secret # 启动服务器 npx -y mongodb-mcp-serverlatest --readOnly5. 接口定义MongoDB MCP Server提供完整的MongoDB和Atlas API集成5.1 环境变量配置环境变量说明是否必需MDB_MCP_CONNECTION_STRINGMongoDB连接字符串连接字符串模式必需MDB_MCP_API_CLIENT_IDAtlas Service Account客户端IDAtlas API模式必需MDB_MCP_API_CLIENT_SECRETAtlas Service Account客户端密钥Atlas API模式必需MDB_MCP_READ_ONLY启用只读模式默认true可选5.2 命令行参数参数说明默认值--readOnly启用只读模式保护数据安全默认启用--help显示帮助信息---version显示版本信息-5.3 支持的操作类型数据库查询find、aggregate、count、distinct等文档操作insert、update、delete、replace等需禁用只读模式集合管理createCollection、dropCollection、listCollections等索引管理createIndex、dropIndex、listIndexes等Atlas集群管理创建、更新、删除、查询集群项目管理创建和管理Atlas项目访问控制管理数据库用户和权限6. 快速开始6.1 环境要求Node.js至少 20.19.0使用 v22 时至少需要 v22.12.0或任何 23 版本MongoDB连接字符串或Atlas API凭证必需否则服务器无法启动MCP客户端Claude Desktop、Cursor、Windsurf、VS Code等支持MCP的工具验证Node.js版本node -v6.2 示例代码快速启动连接字符串方式# 1. 配置MCP客户端以Claude Desktop为例 # 文件位置 # macOS: ~/Library/Application Support/Claude/claude_desktop_config.json # Windows: %APPDATA%\Claude\claude_desktop_config.json { mcpServers: { MongoDB: { command: npx, args: [-y, mongodb-mcp-serverlatest, --readOnly], env: { MDB_MCP_CONNECTION_STRING: mongodb://localhost:27017/myDatabase } } } } # 2. 重启MCP客户端 # 3. 开始使用AI助手操作MongoDB数据库快速启动Atlas API方式# 1. 在Atlas中创建Service Account # 访问MongoDB Atlas → Organization Access Manager → Service Accounts # 创建新的Service Account并记录Client ID和Client Secret # 2. 配置MCP客户端 { mcpServers: { MongoDB: { command: npx, args: [-y, mongodb-mcp-serverlatest, --readOnly], env: { MDB_MCP_API_CLIENT_ID: your_client_id_here, MDB_MCP_API_CLIENT_SECRET: your_client_secret_here } } } }使用示例# 示例1查询数据 用户指令查询users集合中所有活跃用户 AI行为执行MongoDB查询并返回结果 # 示例2数据分析 用户指令统计orders集合中每个产品的销售数量 AI行为执行聚合查询并生成统计报告 # 示例3Atlas集群管理 用户指令列出我的Atlas项目中的所有集群 AI行为调用Atlas API获取集群列表 # 示例4性能优化 用户指令分析slow_queries集合并建议索引优化 AI行为分析查询模式并提供索引建议启用写操作谨慎使用# 移除--readOnly参数以启用写操作 { mcpServers: { MongoDB: { command: npx, args: [-y, mongodb-mcp-serverlatest], env: { MDB_MCP_CONNECTION_STRING: mongodb://localhost:27017/myDatabase } } } }7. 注意事项重要限制和注意事项默认只读模式所有示例默认包含--readOnly参数确保安全的只读数据访问。如需启用写操作请移除此参数但务必谨慎操作。认证配置必需必须配置MongoDB连接字符串或Atlas API凭证否则服务器无法启动。环境变量安全强烈建议使用环境变量传递敏感配置而非命令行参数。命令行参数可能在进程列表中可见或被记录。Atlas API权限使用Atlas API时务必为Service Account分配最小必需权限遵循最小权限原则。Node.js版本要求确保Node.js版本满足要求20.19.0、22.12.0或23。连接字符串格式确保连接字符串格式正确包含正确的用户名、密码和数据库信息。网络访问确保能够访问MongoDB实例或Atlas集群的网络连接。数据备份在进行重要操作前建议备份关键数据。性能考虑大型查询可能消耗较多资源请注意性能影响。错误处理AI助手会自动处理API错误但复杂操作可能需要人工干预。测试环境建议先在测试环境中验证功能再应用于生产环境。代理支持如需通过代理访问MongoDB或Atlas请配置相应的代理设置。