MCP field guide / MongoDB
// mcp field guide · database
One server, two blast radii: it writes to your live collections and provisions Atlas cloud infrastructure. It can drop-database, run a filter-wide delete-many, or spin up (and tear down) clusters. The good news: MongoDB ships a real --readOnly mode and recommends a read-only DB user. Here's the sourced split.
GUARD FIT · READ-ONLY MODE
LOWWith --readOnly only read/connect/metadata tools register — the config flag is the guard. Plus a dedicated read-only DB user.
GUARD FIT · WRITE + PROVISION
STRONGdrop-database, drop-collection, unfiltered delete-many, plus Atlas cluster create/teardown — catastrophic, irreversible, billable.
Overall fit: STRONG for the default write-enabled config; low when read-only mode is on — classify by operation, like Postgres.
The MongoDB MCP server (mongodb-js/mongodb-mcp-server, npm mongodb-mcp-server) is MongoDB's official server. It runs local (npx/Docker, any deployment via connection string) or as the Atlas Managed MCP Server (hosted inside Atlas, announced Aug 2026). It exposes both database operations and Atlas control-plane operations — so it spans live application data and cloud infrastructure in one place.12
| Tier | Tools |
|---|---|
| read-only | find, aggregate, count, explain, list-databases, list-collections, collection-schema, collection-indexes, db-stats, export, connect; Atlas: atlas-list-*, atlas-inspect-cluster, atlas-get-performance-advisor |
| mutating | insert-many, update-many, create-collection, create-index, rename-collection; Atlas: atlas-create-project/-cluster/-free-cluster/-db-user/-access-list, atlas-upgrade-cluster, atlas-pause-resume-cluster |
| destructive | delete-many, drop-collection, drop-database, drop-index; Atlas: atlas-streams-teardown, atlas-local-delete-deployment |
Two honest notes. (1) delete-many removes all documents matching a filter — a wrong predicate is a mass deletion, not a single-record one. (2) We did not find a dedicated Atlas cluster-deletion tool in the current tool set (Atlas cluster tools are create/upgrade/pause-resume/inspect); the catastrophic data-loss paths are drop-database/delete-many, and the destructive infra ones are atlas-streams-teardown/atlas-local-delete-deployment. A couple of names (update-one, switch-connection) appear on the docs page but not the raw README — treat as unverified.
--readOnly / MDB_MCP_READ_ONLY=true — registers only read/connect/metadata tools; every create/update/delete tool is simply not registered.--disabledTools / MDB_MCP_DISABLED_TOOLS — remove specific tools or whole categories.Data exploration. find/aggregate/explain against live collections to answer questions and tune queries.
Schema & index work. Create collections/indexes (incl. vector-search), rename, inspect stats — in the dev loop.
Atlas provisioning. Spin up clusters, projects, DB users and access-list entries from the coding tool — self-service infra with real cost.
Read-only mode → low. With --readOnly, there's no mutation to gate; the flag is the control. A guard adds value only where read-only can't be used, where disabledTools only partially trims, or where a shared connection carries write credentials.
Write + provision → strong. This combines committed database writes with Atlas mutations. drop-database, drop-collection, and unfiltered delete-many are catastrophic and irreversible at the MCP layer — no guard and no compensation step can un-drop a collection or restore a filter-wide delete. atlas-create-cluster/-upgrade-cluster carry real billing; atlas-streams-teardown/atlas-local-delete-deployment destroy infra.
Complementary, not redundant: MongoDB ships the coarse controls (--readOnly, disabledTools, least-privilege users). A guard is the finer, per-operation layer for teams that must keep writes enabled but want a diff-and-approve gate before each destructive/provisioning call — while being explicit that a committed drop-database/delete-many cannot be reversed after the fact. Compensation is not undo.
ChronoMCP classifies by operation — reads and metadata flow, and drop/delete-many/cluster-teardown wait for a human.
--readOnly, disabledTools): github.com/mongodb-js/mongodb-mcp-serverProfiles describe third-party software from its public sources; ChronoMCP is not affiliated with MongoDB. Tool inventories evolve release-to-release (a couple of names are docs-listed but unverified in source); risk groupings are our classification. Capabilities reflect sources current as of Aug 2026 — check the source links.