MongoDBvf.sr
listing.by · home.legend.verified
Query MongoDB databases and manage Atlas clusters from your AI assistant, with an optional read-only mode.
listing.install
listing.local.explain
listing.local.needs listing.local.note
MDB_MCP_ALLOW_REQUEST_OVERRIDESlisting.env.optional When set to true, allows configuration values to be overridden via request headers and query parameters.MDB_MCP_API_CLIENT_IDlisting.env.secret listing.env.optional Atlas API client ID for authentication. Required for running Atlas tools.MDB_MCP_API_CLIENT_SECRETlisting.env.secret listing.env.optional Atlas API client secret for authentication. Required for running Atlas tools.MDB_MCP_ASSISTANT_BASE_URLlisting.env.optional Base URL for the MongoDB Assistant API.MDB_MCP_ATLAS_TEMPORARY_DATABASE_USER_LIFETIME_MSlisting.env.optional Time in milliseconds that temporary database users created when connecting to MongoDB Atlas clusters will remain active before being…MDB_MCP_CONFIRMATION_REQUIRED_TOOLSlisting.env.optional Comma separated values of tool names that require user confirmation before execution. Requires the client to support elicitation.
listing.share.h
listing.share.p_local
mcp.tc/i/mongodblisting.about
Connects an AI assistant to MongoDB databases and MongoDB Atlas. It can work with data in self-managed or Atlas deployments through a connection string, and manage Atlas resources through the Atlas API. The README groups its tools into Atlas, database and MongoDB Assistant categories.
It runs locally over stdio as the npm package mongodb-mcp-server (also published as a Docker image) and needs Node.js 22.13 or later. Authentication uses a MongoDB connection string or Atlas service account API credentials, passed as environment variables. The --readOnly flag limits it to read operations. MongoDB also offers a hosted Atlas MCP server over OAuth through its agent plugins.
listing.can
- Connect to MongoDB deployments with a connection string
- Work with MongoDB data through database tools
- Manage MongoDB Atlas resources with Atlas API credentials
- Run in read-only mode with the --readOnly flag
- Disable tools or require confirmation for selected tools
- Disable server-side JavaScript operators in queries
listing.tools
listing.notools.key
listing.prompts
List the collections in my MongoDB database
Find the 10 most recent orders in the orders collection
Show my Atlas clusters
Describe the indexes on the users collection
listing.setup.h
listing.setup.local
Claude Code
- Run this in a terminal, in your project folder:
claude mcp add --transport stdio mongodb --env "MDB_MCP_API_CLIENT_ID=<YOUR_MDB_MCP_API_CLIENT_ID>" --env "MDB_MCP_API_CLIENT_SECRET=<YOUR_MDB_MCP_API_CLIENT_SECRET>" --env "MDB_MCP_CONNECTION_STRING=<YOUR_MDB_MCP_CONNECTION_STRING>" -- npx -y mongodb-mcp-server@latest --readOnly- Start Claude Code and type
/mcp. mongodb should show as connected.
Add --scope user to make it available in every project. Replace the placeholders with your own values.
Claude Desktop
- Open Settings → Developer → Edit Config. It opens
claude_desktop_config.json. Add:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server@latest",
"--readOnly"
],
"env": {
"MDB_MCP_API_CLIENT_ID": "<YOUR_MDB_MCP_API_CLIENT_ID>",
"MDB_MCP_API_CLIENT_SECRET": "<YOUR_MDB_MCP_API_CLIENT_SECRET>",
"MDB_MCP_CONNECTION_STRING": "<YOUR_MDB_MCP_CONNECTION_STRING>"
}
}
}
}- Save the file and restart Claude Desktop. Replace the placeholders with your own values.
Needs Node.js on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.
Cursor
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server@latest",
"--readOnly"
],
"env": {
"MDB_MCP_API_CLIENT_ID": "<YOUR_MDB_MCP_API_CLIENT_ID>",
"MDB_MCP_API_CLIENT_SECRET": "<YOUR_MDB_MCP_API_CLIENT_SECRET>",
"MDB_MCP_CONNECTION_STRING": "<YOUR_MDB_MCP_CONNECTION_STRING>"
}
}
}
}Needs Node.js on your computer. Replace the placeholders with your own values.
VS Code
Add it to .vscode/mcp.json. VS Code asks for the secret the first time and stores it securely:
{
"servers": {
"mongodb": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server@latest",
"--readOnly"
],
"env": {
"MDB_MCP_API_CLIENT_ID": "${input:mdb-mcp-api-client-id}",
"MDB_MCP_API_CLIENT_SECRET": "${input:mdb-mcp-api-client-secret}",
"MDB_MCP_CONNECTION_STRING": "${input:mdb-mcp-connection-string}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "mdb-mcp-api-client-id",
"description": "MDB_MCP_API_CLIENT_ID",
"password": true
},
{
"type": "promptString",
"id": "mdb-mcp-api-client-secret",
"description": "MDB_MCP_API_CLIENT_SECRET",
"password": true
},
{
"type": "promptString",
"id": "mdb-mcp-connection-string",
"description": "MDB_MCP_CONNECTION_STRING",
"password": true
}
]
}Needs Node.js on your computer.
Devin Desktop
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server@latest",
"--readOnly"
],
"env": {
"MDB_MCP_API_CLIENT_ID": "<YOUR_MDB_MCP_API_CLIENT_ID>",
"MDB_MCP_API_CLIENT_SECRET": "<YOUR_MDB_MCP_API_CLIENT_SECRET>",
"MDB_MCP_CONNECTION_STRING": "<YOUR_MDB_MCP_CONNECTION_STRING>"
}
}
}
}- Refresh the MCP server list in Cascade. Replace the placeholders with your own values.
Devin Desktop is the new name for Windsurf.
Codex
codex mcp add mongodb --env "MDB_MCP_API_CLIENT_ID=<YOUR_MDB_MCP_API_CLIENT_ID>" --env "MDB_MCP_API_CLIENT_SECRET=<YOUR_MDB_MCP_API_CLIENT_SECRET>" --env "MDB_MCP_CONNECTION_STRING=<YOUR_MDB_MCP_CONNECTION_STRING>" -- npx -y mongodb-mcp-server@latest --readOnlyOr edit ~/.codex/config.toml directly:
[mcp_servers.mongodb]
command = "npx"
args = ["-y", "mongodb-mcp-server@latest", "--readOnly"]
env = { MDB_MCP_API_CLIENT_ID = "<YOUR_MDB_MCP_API_CLIENT_ID>", MDB_MCP_API_CLIENT_SECRET = "<YOUR_MDB_MCP_API_CLIENT_SECRET>", MDB_MCP_CONNECTION_STRING = "<YOUR_MDB_MCP_CONNECTION_STRING>" }Needs Node.js on your computer. Replace the placeholders with your own values.
Gemini CLI
gemini mcp add -e "MDB_MCP_API_CLIENT_ID=<YOUR_MDB_MCP_API_CLIENT_ID>" -e "MDB_MCP_API_CLIENT_SECRET=<YOUR_MDB_MCP_API_CLIENT_SECRET>" -e "MDB_MCP_CONNECTION_STRING=<YOUR_MDB_MCP_CONNECTION_STRING>" mongodb npx -- -y mongodb-mcp-server@latest --readOnlyThis adds it to the current project. Add -s user to use it everywhere.
Any client
Most clients that start local servers accept this shape:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server@latest",
"--readOnly"
],
"env": {
"MDB_MCP_API_CLIENT_ID": "<YOUR_MDB_MCP_API_CLIENT_ID>",
"MDB_MCP_API_CLIENT_SECRET": "<YOUR_MDB_MCP_API_CLIENT_SECRET>",
"MDB_MCP_CONNECTION_STRING": "<YOUR_MDB_MCP_CONNECTION_STRING>"
}
}
}
}Zed puts servers under context_servers in its settings, with the same command, args and env fields.
Needs Node.js on your computer. Replace the placeholders with your own values.
listing.faq
Can I paste mcp.tc/i/mongodb into my MCP client?
No. MongoDB runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is npx -y mongodb-mcp-server@latest --readOnly.
Does MongoDB need an API key?
Yes. It reads MDB_MCP_API_CLIENT_ID, MDB_MCP_API_CLIENT_SECRET and MDB_MCP_CONNECTION_STRING from its environment, and MDB_MCP_API_CLIENT_ID, MDB_MCP_API_CLIENT_SECRET and MDB_MCP_CONNECTION_STRING are secrets. Put the value in your client's config on your own machine, never in a shared file.
Is MongoDB a remote or a local server?
Local. Your client starts it as a process on your computer with npx -y mongodb-mcp-server@latest --readOnly, which needs Node.js.
What can MongoDB do?
You can connect to MongoDB deployments with a connection string, work with MongoDB data through database tools and manage MongoDB Atlas resources with Atlas API credentials.
Which clients can use it?
Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.
Who wrote this page?
mcp.tc's robot read MongoDB's public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.
listing.em.h
listing.em.lead_local listing.em.how
listing.em.badge
[](https://mcp.tc/i/mongodb)<a href="https://mcp.tc/i/mongodb"><img src="https://mcp.tc/i/mongodb/badge.svg" alt="MongoDB on mcp.tc" height="20"></a>listing.em.badge_note
listing.em.widget
<script src="https://mcp.tc/w/mongodb.js" async></script>listing.em.widget_note
iframe
<iframe src="https://mcp.tc/embed/mongodb" title="MongoDB on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>listing.em.iframe_note
listing.disclaimer_checked