montumodi/mongodb-atlas-mcp-server
MCP server for mongodb atlas api. Internally uses mongodb-atlas-api-client
Installation
npx mongodb-atlas-mcp-serverAsk AI about montumodi/mongodb-atlas-mcp-server
Powered by Claude Β· Grounded in docs
I know everything about montumodi/mongodb-atlas-mcp-server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
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
