MongoDB Atlas MCP服务器
一个模型上下文协议(MCP)服务器,提供对MongoDB Atlas API的访问。此服务器包装 mongodb图集api客户端 通过MCP工具公开MongoDB Atlas功能的包。
特性
此MCP服务器将大部分mongodb atlas-api客户端表面作为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--获取processArgs(高级配置)cluster_update_advanced_configuration--更新进程Args(高级配置)cluster_test_primary_failover--启动测试主故障转移
项目
project_get_by_id--按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--按ID获取组织organization_get_all--列出组织organization_get_users--列出组织中的用户organization_get_projects--列出组织中的项目organization_delete--删除组织organization_rename--重命名组织organization_invite--邀请用户加入组织
项目访问列表(当前)
project_access_list_get_all--列出IP访问列表条目project_access_list_get--获取特定的访问列表条目project_access_list_create--将条目添加到访问列表project_access_list_update--更新访问列表条目(POST语义)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_get_all--列出集合的索引atlas_search_create--创建索引atlas_search_get--按ID获取索引atlas_search_update--按ID更新索引atlas_search_delete--按ID删除索引atlas_search_get_all_analyzers--列表分析器atlas_search_upsert_analyzer--创建/更新分析器
Atlas用户(账户级别)
atlas_user_get_by_name--按用户名获取Atlas用户atlas_user_get_by_id--按ID获取Atlas用户atlas_user_get_all--列出该项目的Atlas用户atlas_user_create--创建Atlas用户atlas_user_update--更新Atlas用户
警报
alert_get_all--列出项目警报alert_get--按ID获取警报alert_acknowledge--确认警报
数据湖
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--更新角色(roleId+body)cloud_provider_access_delete--删除角色(cloudProvider+roleId)
安装
- 克隆此存储库:
git clone https://github.com/montumodi/mongodb-atlas-mcp-server.git
cd mongodb-atlas-mcp-server- 安装依赖项:
npm install配置
在使用服务器之前,您需要使用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)
获取Atlas API密钥
- 登录到 MongoDB 阿特拉斯
- 首选 组织设置 → 访问管理器 → API密钥
- 点击 创建API密钥
- 分配适当的权限(建议使用项目读/写权限)
- 复制公钥和私钥
- 在项目设置中查找您的项目ID
配置示例
export MONGODB_ATLAS_PUBLIC_KEY="your-public-key"
export MONGODB_ATLAS_PRIVATE_KEY="your-private-key"
export MONGODB_ATLAS_PROJECT_ID="your-project-id"或者创建一个 .env 文件:
MONGODB_ATLAS_PUBLIC_KEY=your-public-key
MONGODB_ATLAS_PRIVATE_KEY=your-private-key
MONGODB_ATLAS_PROJECT_ID=your-project-id用法
运行服务器
npm start与MCP客户端一起使用
此服务器实现了模型上下文协议,可以与任何兼容MCP的客户端一起使用。服务器通过stdin/stdout进行通信。
工具使用示例
获取所有集群
{
"name": "cluster_get_all",
"arguments": {
"options": {
"itemsPerPage": 10
}
}
}创建数据库用户
{
"name": "user_create",
"arguments": {
"body": {
"username": "newuser",
"password": "securepassword123",
"roles": [
{
"databaseName": "myapp",
"roleName": "readWrite"
}
],
"databaseName": "admin"
}
}
}获取项目事件
获取数据湖日志(示例)
注意:日志以base64编码的gzip数据形式返回 text 回应。解码base64,然后使用gunzip进行读取。
{
"name": "datalake_get_logs_stream",
"arguments": { "dataLakeName": "MyDataLake" }
}{
"name": "events_get_all",
"arguments": {
"options": {
"itemsPerPage": 20,
"eventType": ["CLUSTER"]
}
}
}错误处理
服务器为以下对象提供详细的错误消息:
- API凭据丢失或无效
- 网络连接问题
- 无效参数
- MongoDB Atlas API错误
发展
以开发模式运行
npm run dev测试
npm test依赖项
- @模型上下文协议/sdk -用于服务器实现的MCP SDK
- mongodb图集api客户端 -MongoDB Atlas API客户端库
api参考
该服务器通过MCP工具公开MongoDB Atlas API功能。有关Atlas API基础的详细信息,请参阅:
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
麻省理工学院
支持
对于问题和疑问:
- 检查 MongoDB Atlas API文档
- 查看 mongodb图集api客户端 文档
- 在此存储库中打开问题
