MongoDB MCP Server: Connect to MongoDB and Atlas with Model Context Protocol

Summary
The MongoDB MCP Server is a Model Context Protocol server designed to facilitate interaction with MongoDB databases and MongoDB Atlas clusters. It provides a standardized way for clients to access and manage MongoDB data and Atlas resources, supporting a wide range of database and Atlas-specific tools.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
The mongodb-mcp-server is an essential tool for developers looking to integrate MongoDB and MongoDB Atlas with Model Context Protocol (MCP) compatible clients. This server acts as a bridge, enabling various developer tools and AI assistants to interact seamlessly with your MongoDB databases and Atlas clusters. By adhering to the MCP standard, it provides a unified and efficient way to perform database operations, manage Atlas resources, and leverage MongoDB Assistant's knowledge base.
Installation
Getting started with the MongoDB MCP Server is straightforward, requiring Node.js (version 20.19.0+, 22.12.0+, or 23+) and either a MongoDB connection string or Atlas API credentials. For enhanced security, it is highly recommended to use environment variables for sensitive information.
Prerequisites
- Node.js: Version 20.19.0 or higher, or 22.12.0 or higher if using Node.js v22, otherwise any version 23+.
- Credentials: A MongoDB connection string or Atlas API credentials. Service Account Atlas API credentials are required for Atlas tools.
Quick Start with npx
The simplest way to run the server is using npx.
npx -y mongodb-mcp-server@latest --readOnly
This command starts the server in read-only mode, which is recommended for initial setup and security. You will need to configure your connection string or Atlas API credentials via environment variables or a configuration file.
Docker Installation
For an isolated environment without a local Node.js installation, you can run the server using Docker.
docker run --rm -i \
-e MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" \
-e MDB_MCP_READ_ONLY="true" \
mongodb/mongodb-mcp-server:latest
Client-Specific Configuration
The MongoDB MCP Server integrates with various clients. Refer to their respective documentation for specific configuration details:
- VSCode: https://code.visualstudio.com/docs/copilot/chat/mcp-servers
- Cursor: https://docs.cursor.com/context/model-context-protocol
- Copilot CLI: https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli
- OpenCode: https://opencode.ai/docs/mcp-servers/
Examples
Here are common configuration examples for integrating the MongoDB MCP Server with MCP clients, typically within a client's mcpServers configuration.
Using a MongoDB Connection String (via Environment Variable)
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": ["-y", "mongodb-mcp-server@latest", "--readOnly"],
"env": {
"MDB_MCP_CONNECTION_STRING": "mongodb://localhost:27017/myDatabase"
}
}
}
}
Using Atlas API Credentials (via Environment Variables)
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": ["-y", "mongodb-mcp-server@latest", "--readOnly"],
"env": {
"MDB_MCP_API_CLIENT_ID": "your-atlas-service-accounts-client-id",
"MDB_MCP_API_CLIENT_SECRET": "your-atlas-service-accounts-client-secret"
}
}
}
}
Why Use It
The MongoDB MCP Server offers significant advantages for developers working with MongoDB and Atlas:
- Unified Access: Provides a single, standardized Model Context Protocol interface for interacting with both MongoDB databases and MongoDB Atlas clusters, simplifying integration with various developer tools.
- Rich Toolset: Access a comprehensive suite of tools for database operations (e.g.,
find,aggregate,insert-many), Atlas management (e.g.,atlas-list-clusters,atlas-create-db-user,atlas-streams-build), and MongoDB Assistant knowledge base searches. - Enhanced Security: Supports read-only mode to prevent unintended modifications, index check to enforce query optimization, and confirmation for destructive operations. It strongly recommends using environment variables for sensitive credentials, improving security posture.
- Flexible Deployment: Can be run locally via
npx, in Docker containers, or deployed on public clouds like Azure, offering adaptability to different development and production environments. - Developer Productivity: Streamlines workflows by allowing developers to manage and query MongoDB resources directly from their preferred MCP-compatible IDEs or CLIs, reducing context switching and accelerating development.
Links
- GitHub Repository: https://github.com/mongodb-js/mongodb-mcp-server
- Model Context Protocol: https://modelcontextprotocol.io/
- MongoDB Atlas Documentation: https://www.mongodb.com/docs/atlas/