
MongoDB MCP Server
github.com/mongodb-js/mongodb-mcp-server- Category
- Developer Tools
- Rank
- No. 390Tools index
- Pricing
- Free
- Type
- TOOL
- Use case
- Data, Retrieval & Knowledge
- Interfaces
- MCP
- Builder
- mongodb-js
- GitHub
- 1.1k stars
- Latest release
- v2.1.2
- Date
About
MongoDB's official MCP server: connect agents to MongoDB and Atlas — inspect schemas, run queries and aggregations, and manage clusters with scoped credentials.
What it does
It runs beside an AI client and translates MCP requests into database or cloud-control operations. You can launch it as a command-line service over standard input or HTTP, or embed its server and selected tools in a JavaScript application.
Why it's ranked here
The strongest case is operational flexibility backed by serious package structure. It supports local and container launches, two transports, reusable library exports, selectable tools, metrics, subscriptions, and custom extensions. Sensible read-only examples make the powerful surface easier to introduce cautiously.
What's good
Setup examples default to read-only access and recommend environment variables for secrets. Operators can use connection strings or narrowly permissioned Atlas service accounts. Developers can register every built-in tool, selected categories, or custom tools, while retaining logging, metrics, resource subscriptions, and connection management.
Tradeoffs
The documented runtime baseline is Node.js 22.13 or later unless you use Docker. Atlas operations require separate service-account credentials and permissions. Most MCP clients need manual configuration. More importantly, confirmation requests return approval when a client lacks elicitation support, so capability checks matter before enabling writes.
How to use it well
Use it for agents that repeatedly investigate or operate MongoDB environments. Start read-only, pass secrets through environment variables, grant minimal Atlas permissions, then expose only required tool groups. It does not connect agents to non-MongoDB data sources.
Technical notes+
package.json publishes a CLI plus dual ESM and CommonJS exports for the core library, web integration, tools, and UI. src/index.ts selects StdioRunner or StreamableHttpRunner, supports dry-run and setup modes, and handles graceful shutdown signals. src/server.ts registers tools and subscribable resources, normalizes omitted tool arguments before SDK validation, and accepts custom tool constructors and context. src/elicitation.ts routes forms over related requests, emits 15-second progress heartbeats, and treats unsupported confirmation as accepted. packages/types/vitest.config.ts and packages/mongodb-atlas-mcp-remote/vitest.config.ts select colocated TypeScript tests.
Observed
- License
- Apache-2.0
- Primary language
- TypeScript
- Packaging
- Public npm package with an npx CLI, plus a documented Docker image
- Interfaces
- MCP server over standard input or streamable HTTP, with ESM and CommonJS library exports
- Runtime
- Node.js is required for local execution; the README specifies 22.13.0 or later and documents Windows, macOS, and Unix-like setup
- Testing structure
- Vitest configurations include colocated TypeScript tests in workspace packages, and package scripts cover unit, integration, browser, long-running, and evaluation suites
Read from README.md, package.json, src/lib.ts, src/index.ts, src/server.ts, src/web.ts, src/elicitation.ts, src/ui/index.ts, src/tools/index.ts, packages/types/vitest.config.ts, packages/mongodb-atlas-mcp-remote/vitest.config.ts, src/ui/registry/index.ts, packages/types/src/index.ts, src/common/logging/index.ts, packages/metrics/src/index.ts.
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.