MongoDB MCP Server
Provides tools for interacting with MongoDB, enabling reading, writing, updating, deleting documents, listing collections, and running read-only aggregations on a MongoDB database.
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 MCP Serverfind all users with age > 30"
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 MCP Server
Stdio Model Context Protocol server that lets an IDE agent read and write MongoDB through typed, allowlisted tools.
This transport is stdio-only. Do not expose it on a public network without additional auth and a hardened deployment model. The process trusts the local MCP host (OS user / IDE); there is no separate login layer.
Features
Tool | Purpose |
| Insert or upsert (filter or |
| Query with |
| Update one or many documents |
| Soft-delete (default) or hard-delete (opt-in) |
| List collections (respects allowlist) |
| Read-only aggregation (write/code stages blocked) |
Also registers a resource template: mongodb://collection/{name}.
Safety defaults
Fail closed on collections: require
MCP_ALLOWED_COLLECTIONSor explicitMCP_ALLOW_ALL_COLLECTIONS=trueCollection names must match
^[a-zA-Z][a-zA-Z0-9_-]{0,63}$Rejects
$where/$function/$accumulator/$jsonSchema/$exprCaps
$regexlength and object nesting depthBlocks dangerous aggregation stages (
$out/$merge/$function/ admin stages);$lookup/$unionWithtargets must pass the allowlistCaps
limitatMCP_MAX_LIMIT(default 100)Soft-deleted documents (
deletedAt) are hidden from reads unless requestedHard delete disabled unless
MCP_ALLOW_HARD_DELETE=trueOptional
MCP_READ_ONLY=truedisables all mutating toolsStructured audit events + sanitized tool errors on stderr (stdout stays clean for MCP framing)
Related MCP server: Mongo-MCP
Quick start
# Start MongoDB
docker compose up -d mongo
# Install and run (dev)
cp .env.example .env
npm install
npm run devProduction build:
npm run build
npm startCursor MCP config
Add to your MCP settings (path varies by Cursor version):
{
"mcpServers": {
"mongo": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/dist/index.js"],
"env": {
"MONGODB_URI": "mongodb://localhost:27018/mcp-server",
"MCP_ALLOWED_COLLECTIONS": "notes,tasks"
}
}
}
}For local iteration without building:
{
"mcpServers": {
"mongo": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/mcp-server/src/index.ts"],
"env": {
"MONGODB_URI": "mongodb://localhost:27018/mcp-server",
"MCP_ALLOWED_COLLECTIONS": "notes,tasks"
}
}
}
}Environment
Variable | Default | Description |
|
| Mongo connection string |
| (required unless allow-all) | Comma-separated allowlist |
|
| Opt-in to allow any valid name (local/dev) |
|
| Reject write/update/delete tools |
|
| Allow |
|
| Default read limit |
|
| Hard cap on read limit |
|
| Max |
|
| Max nested object depth in queries |
Scripts
Script | Description |
| Run with |
| Compile to |
| Run compiled server |
| Unit tests (validation) |
| Integration tests (needs Mongo) |
| Dependency vulnerability audit |
docker compose up -d mongo
npm run test:integrationDocker
Mongo only (typical for local MCP + host Node process):
docker compose up -d mongoOptional image build (stdio still expected from the client):
docker compose --profile app buildProject layout
src/
index.ts # stdio bootstrap + secure config check
loadEnv.ts # optional .env loader
server.ts # McpServer wiring
config.ts # env config
database/mongo.ts # connection + dynamic models
security/ # validation, access gates, audit log
tools/ # tool handlers + Zod schemas
resources/ # collection resourcesThis server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tatisstiv/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server