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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.