MongoDB Atlas MCP Server
Provides tools for managing MongoDB Atlas resources including database users, clusters, projects, backups, organizations, IP access lists, events, Atlas Search, alerts, Data Lakes, and cloud provider access.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MongoDB Atlas MCP Serverlist all clusters in my project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-serverInstall dependencies:
npm installConfiguration
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-idUsage
Running the Server
npm startUsing 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 devTesting
npm testDependencies
@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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/montumodi/mongodb-atlas-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server