SuperAPI AI 工具集

mongodb-atlas-mcp-server

MongoDB Atlas MCP Server 是一个基于模型上下文协议(MCP)的服务器,用于访问 MongoDB Atlas API。它内部封装了 mongodb-atlas-api-client 包,将 MongoDB Atlas 的多数功能以 MCP 工具的形式暴露出来,便于 MCP 兼容客户端直接调用。工具覆盖数据库用户、集群、项目、组织、云备份、访问列表、白名单、事件、Atlas Search 索引与分析器、账户级 Atlas 用户、警报、Data Lake、云提供商访问角色等多个管理维度,支持查询、创建、更新、删除及部分高级操作(如测试主节点故障转移、创建快照恢复任务等)。使用前需要配置 MongoDB Atlas API 的公钥、私钥和项目 ID 等环境变量,并授予相应权限。该服务器通过 stdin/stdout 通信,可集成到任何支持 MCP 的客户端中。

访问官网

工具介绍

用途

MongoDB Atlas MCP Server 是一个 Model Context Protocol(MCP)服务器,用于提供对 MongoDB Atlas API 的访问。它内部使用 mongodb-atlas-api-client 包,将 MongoDB Atlas 功能封装为 MCP 工具,供 MCP 兼容客户端调用。该服务器暴露了 mongodb-atlas-api-client 的大部分接口。

主要能力

服务器提供的 MCP 工具按功能领域分组如下:

  • 数据库用户:user_get(按用户名获取)、user_get_all(列出全部)、user_create、user_update、user_delete。
  • 集群:cluster_get、cluster_get_all、cluster_create、cluster_update、cluster_delete;cluster_get_advanced_configuration 与 cluster_update_advanced_configuration(processArgs 高级配置);cluster_test_primary_failover(发起测试主节点故障转移)。
  • 项目:project_get_by_id、project_get_by_name、project_get_all、project_create、project_delete;project_get_teams(列出项目团队)、project_remove_user(移除项目用户)、project_assign_teams(分配团队)。
  • 云备份:cloud_backup_get_snapshots(列出副本集快照)、cloud_backup_get_snapshot(获取指定快照)、cloud_backup_get_restore_job(获取快照恢复任务)、cloud_backup_create_restore_job(创建快照恢复任务)。
  • 组织:organization_get_by_id、organization_get_all、organization_get_users、organization_get_projects、organization_delete、organization_rename、organization_invite。
  • 项目访问列表(当前):project_access_list_get_all、project_access_list_get、project_access_list_create、project_access_list_update(POST 语义的 upsert)、project_access_list_delete。
  • 项目白名单(旧版):project_whitelist_get_all、project_whitelist_get、project_whitelist_create、project_whitelist_update、project_whitelist_delete。
  • 事件:events_get_all(列出项目事件)、events_get(按 ID 获取项目范围事件)、events_get_by_org(按 ID 获取组织事件)、events_get_all_by_org(列出组织事件)。
  • Atlas Search:atlas_search_get_all(列出集合索引)、atlas_search_create、atlas_search_get、atlas_search_update、atlas_search_delete、atlas_search_get_all_analyzers(列出分析器)、atlas_search_upsert_analyzer(创建/更新分析器)。
  • Atlas 用户(账户级):atlas_user_get_by_name、atlas_user_get_by_id、atlas_user_get_all(列出项目 Atlas 用户)、atlas_user_create、atlas_user_update。
  • 警报:alert_get_all(列出项目警报)、alert_get、alert_acknowledge。
  • Data Lake:datalake_get、datalake_get_all、datalake_create、datalake_update、datalake_delete、datalake_get_logs_stream(获取查询日志,返回 base64 编码的 gzip 数据)。
  • 云提供商访问:cloud_provider_access_get_all、cloud_provider_access_create、cloud_provider_access_update、cloud_provider_access_delete。

使用方式

1. 克隆仓库并安装依赖

克隆该仓库并安装依赖(安装命令在官方资料中未给出具体内容)。

2. 设置环境变量

在使用服务器之前,需要设置包含 MongoDB Atlas API 凭据的环境变量。

必需环境变量:

  • MONGODB_ATLAS_PUBLIC_KEY:MongoDB Atlas API 公钥
  • MONGODB_ATLAS_PRIVATE_KEY:MongoDB Atlas API 私钥
  • MONGODB_ATLAS_PROJECT_ID:MongoDB Atlas 项目/组 ID

可选环境变量:

  • MONGODB_ATLAS_BASE_URL:Atlas API 基础 URL(默认为 https://cloud.mongodb.com/api/atlas/v1.0 )

3. 获取 Atlas API 密钥

  1. 登录 MongoDB Atlas。
  2. 进入 Organization Settings → Access Manager → API Keys。
  3. 点击 Create API Key。
  4. 分配适当权限(建议 Project Read/Write 访问)。
  5. 复制公钥和私钥。
  6. 在项目设置中找到 Project ID。

4. 配置示例

官方资料中提供了示例配置方式,或创建 .env 文件(具体示例内容在资料中未完整展示)。

5. 运行服务器

运行服务器后,可与任何 MCP 兼容客户端配合使用。服务器通过 stdin/stdout 进行通信。

示例工具使用

官方资料中给出了示例工具用法;其中说明:日志以 base64 编码的 gzip 数据形式返回在文本响应中,需要先解码 base64 再解压(gunzip)才能读取。

开发模式

官方资料提及可运行在开发模式。

依赖与参考

  • @modelcontextprotocol/sdk:用于服务器实现的 MCP SDK。
  • mongodb-atlas-api-client:MongoDB Atlas API 客户端库。

适用场景

适用于已经使用 MongoDB Atlas,并希望通过 MCP 兼容客户端以工具调用的方式集中管理和查询 Atlas 资源的场景,例如管理数据库用户、集群、项目、组织、备份、访问列表、Atlas Search 索引、警报、Data Lake 和云提供商访问等。

限制

  • 需要 MongoDB Atlas API 凭据(公钥、私钥、项目 ID),并需要分配适当权限。
  • 服务器通过 stdin/stdout 通信,需要 MCP 兼容客户端。
  • 服务器会对以下情况提供详细错误信息:缺少或无效的 API 凭据、网络连接问题、无效参数、MongoDB Atlas API 错误。
  • 部分工具的具体请求/响应参数、安装命令、运行命令、配置示例的完整内容在官方资料中未完整提供;日志类工具返回 base64 编码的 gzip 数据,需要额外解码与解压。