MongoDB Atlas MCP Server
A Model Context Protocol server that provides access to the MongoDB Atlas API, enabling management of clusters, users, projects, backups, and more through MCP tools.
README
MongoDB Atlas MCP Server
A Model Context Protocol (MCP) server that provides access to the MongoDB Atlas API. This server wraps the mongodb-atlas-api-client package to expose MongoDB Atlas functionality through MCP tools.
Features
This MCP server exposes most of the mongodb-atlas-api-client surface as MCP tools.
Database Users
user_get— Get a database user by usernameuser_get_all— List all database usersuser_create— Create a database useruser_update— Update a database useruser_delete— Delete a database user
Clusters
cluster_get— Get cluster detailscluster_get_all— List clusterscluster_create— Create clustercluster_update— Update clustercluster_delete— Delete clustercluster_get_advanced_configuration— Get processArgs (advanced config)cluster_update_advanced_configuration— Update processArgs (advanced config)cluster_test_primary_failover— Initiate a test primary failover
Projects
project_get_by_id— Get project by IDproject_get_by_name— Get project by nameproject_get_all— List projectsproject_create— Create projectproject_delete— Delete projectproject_get_teams— List teams for a projectproject_remove_user— Remove a user from a projectproject_assign_teams— Assign teams to a project
Cloud Backups
cloud_backup_get_snapshots— List cloud backup snapshots (replicaset)cloud_backup_get_snapshot— Get a specific snapshotcloud_backup_get_restore_job— Get a snapshot restore jobcloud_backup_create_restore_job— Create a snapshot restore job
Organizations
organization_get_by_id— Get organization by IDorganization_get_all— List organizationsorganization_get_users— List users in an organizationorganization_get_projects— List projects in an organizationorganization_delete— Delete organizationorganization_rename— Rename organizationorganization_invite— Invite users to organization
Project Access Lists (current)
project_access_list_get_all— List IP access list entriesproject_access_list_get— Get a specific access list entryproject_access_list_create— Add entries to access listproject_access_list_update— Upsert access list entries (POST semantics)project_access_list_delete— Delete an access list entry
Project Whitelist (legacy)
project_whitelist_get_all— List whitelist entriesproject_whitelist_get— Get a whitelist entryproject_whitelist_create— Add whitelist entriesproject_whitelist_update— Update whitelist entriesproject_whitelist_delete— Delete a whitelist entry
Events
events_get_all— List project eventsevents_get— Get event by ID (project scope)events_get_by_org— Get event by ID for an organizationevents_get_all_by_org— List organization events
Atlas Search
atlas_search_get_all— List indexes for a collectionatlas_search_create— Create an indexatlas_search_get— Get index by IDatlas_search_update— Update index by IDatlas_search_delete— Delete index by IDatlas_search_get_all_analyzers— List analyzersatlas_search_upsert_analyzer— Create/Update analyzers
Atlas Users (Account-level)
atlas_user_get_by_name— Get Atlas user by usernameatlas_user_get_by_id— Get Atlas user by IDatlas_user_get_all— List Atlas users for the projectatlas_user_create— Create Atlas useratlas_user_update— Update Atlas user
Alerts
alert_get_all— List project alertsalert_get— Get alert by IDalert_acknowledge— Acknowledge alert
Data Lake
datalake_get— Get Data Lake by namedatalake_get_all— List Data Lakesdatalake_create— Create Data Lakedatalake_update— Update Data Lakedatalake_delete— Delete Data Lakedatalake_get_logs_stream— Get query logs (returns base64-encoded gzip data)
Cloud Provider Access
cloud_provider_access_get_all— List cloud provider access rolescloud_provider_access_create— Create a rolecloud_provider_access_update— Update a role (roleId + body)cloud_provider_access_delete— Delete a role (cloudProvider + roleId)
Installation
- Clone this repository:
git clone https://github.com/montumodi/mongodb-atlas-mcp-server.git
cd mongodb-atlas-mcp-server
- Install dependencies:
npm install
Configuration
Before using the server, you need to set up environment variables with your MongoDB Atlas API credentials:
Required Environment Variables
MONGODB_ATLAS_PUBLIC_KEY- Your MongoDB Atlas API public keyMONGODB_ATLAS_PRIVATE_KEY- Your MongoDB Atlas API private keyMONGODB_ATLAS_PROJECT_ID- Your MongoDB Atlas project/group ID
Optional Environment Variables
MONGODB_ATLAS_BASE_URL- Atlas API base URL (defaults tohttps://cloud.mongodb.com/api/atlas/v1.0)
Getting Atlas API Keys
- Log in to MongoDB Atlas
- Go to Organization Settings → Access Manager → API Keys
- Click Create API Key
- Assign appropriate permissions (Project Read/Write access recommended)
- Copy the public and private keys
- Find your Project ID in the project settings
Example Configuration
export MONGODB_ATLAS_PUBLIC_KEY="your-public-key"
export MONGODB_ATLAS_PRIVATE_KEY="your-private-key"
export MONGODB_ATLAS_PROJECT_ID="your-project-id"
Or create a .env file:
MONGODB_ATLAS_PUBLIC_KEY=your-public-key
MONGODB_ATLAS_PRIVATE_KEY=your-private-key
MONGODB_ATLAS_PROJECT_ID=your-project-id
Usage
Running the Server
npm start
Using with MCP Clients
This server implements the Model Context Protocol and can be used with any MCP-compatible client. The server communicates over stdin/stdout.
Example Tool Usage
Get All Clusters
{
"name": "cluster_get_all",
"arguments": {
"options": {
"itemsPerPage": 10
}
}
}
Create a Database User
{
"name": "user_create",
"arguments": {
"body": {
"username": "newuser",
"password": "securepassword123",
"roles": [
{
"databaseName": "myapp",
"roleName": "readWrite"
}
],
"databaseName": "admin"
}
}
}
Get Project Events
Get Data Lake Logs (example)
Note: The logs are returned as base64-encoded gzip data in the text response. Decode base64 and then gunzip to read.
{
"name": "datalake_get_logs_stream",
"arguments": { "dataLakeName": "MyDataLake" }
}
{
"name": "events_get_all",
"arguments": {
"options": {
"itemsPerPage": 20,
"eventType": ["CLUSTER"]
}
}
}
Error Handling
The server provides detailed error messages for:
- Missing or invalid API credentials
- Network connectivity issues
- Invalid parameters
- MongoDB Atlas API errors
Development
Running in Development Mode
npm run dev
Testing
npm test
Dependencies
- @modelcontextprotocol/sdk - MCP SDK for server implementation
- mongodb-atlas-api-client - MongoDB Atlas API client library
API Reference
This server exposes MongoDB Atlas API functionality through MCP tools. For detailed information about the underlying Atlas API, refer to:
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT
Support
For issues and questions:
- Check the MongoDB Atlas API Documentation
- Review the mongodb-atlas-api-client documentation
- Open an issue in this repository
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。