Mongo Scout
FreeNot checkedScout your MongoDB databases with AI - safety features, live monitoring, and data quality
About
Scout your MongoDB databases with AI - safety features, live monitoring, and data quality
README
Scout your MongoDB databases with AI - A production-ready Model Context Protocol server with built-in safety features, live monitoring, and data quality tools.
What You Get
You ask:
"Anything unusual happening with order volume this month?"
Mongo Scout returns:
Volume Analysis: orders
Statistics (last 30 days)
| Metric | Value |
|---|---|
| Daily Average | 2,847 documents |
| Standard Deviation | 412 |
| Min / Max | 1,923 / 3,601 |
Anomalies Detected
- Feb 14 — 5,892 documents (+7.4σ) — Valentine's Day spike
- Feb 22 — 847 documents (-4.9σ) — Payment gateway outage window
- Mar 1 — 4,201 documents (+3.3σ) — Month-start subscription renewals
Recommendations
- Feb 22 drop warrants investigation — possible data loss during outage
- Consider auto-scaling rules for predictable spikes (month boundaries, holidays)
- Set up alerts for volumes exceeding ±3σ from rolling average
That's detectVolumeAnomalies — one of 50 tools covering exploration, querying, diagnostics, monitoring, data quality, and safe writes.
Quick Start
Claude Code
claude mcp add mongo-scout -- npx -y mongo-scout-mcp mongodb://localhost:27017 mydb
Then ask: "What collections do I have and what do their schemas look like?"
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"mongo-scout": {
"command": "npx",
"args": ["-y", "mongo-scout-mcp", "mongodb://localhost:27017", "mydb"],
"type": "stdio"
}
}
}
Cursor / VS Code
Add to your MCP settings:
{
"mongo-scout": {
"command": "npx",
"args": ["-y", "mongo-scout-mcp", "mongodb://localhost:27017", "mydb"]
}
}
Read-Only vs Read-Write
The server runs in read-only mode by default. For write operations, run a separate instance:
{
"mcpServers": {
"mongo-scout-readonly": {
"command": "npx",
"args": ["-y", "mongo-scout-mcp", "--read-only", "mongodb://localhost:27017", "mydb"],
"type": "stdio"
},
"mongo-scout-readwrite": {
"command": "npx",
"args": ["-y", "mongo-scout-mcp", "--read-write", "mongodb://localhost:27017", "mydb_dev"],
"type": "stdio"
}
}
}
- mongo-scout-readonly: Safe exploration, no risk of data modification
- mongo-scout-readwrite: Write operations when explicitly needed
Tools
Explore — understand your database
listDatabases— all databases in the instancegetDatabaseStats— storage and performance statisticslistCollections— collections in the current databasegetCollectionStats— size, document count, index detailsinferSchema— schema inference from sampled documents
Query — find and analyze documents
find— query documents with filtering, sorting, projectionaggregate— run aggregation pipelinescount— count documents matching a querydistinct— unique values for a fieldtextSearch— full-text search across indexed fieldsexplainQuery— query execution plan analysis
Diagnose — spot problems early
detectVolumeAnomalies— unusual patterns in document volumeanalyzeQueryPerformance— query optimization using explain plans
Monitor — watch it live
getServerStatus— server performance metricsgetCurrentOperations— currently running operationsgetConnectionPoolStats— connection pool healthgetProfilerStats— profiler data and slow operationsgetLiveMetrics— real-time metrics with continuous updatesgetHottestCollections— collections with highest activitygetCollectionMetrics— detailed per-collection metricsgetSlowestOperations— slow query trackingrunAdminCommand— execute admin commands
Data Quality — trust your data
findDuplicates— duplicate documents by field combinationfindOrphans— orphaned references across collectionsfindMissingFields— documents missing required fieldsfindInconsistentTypes— type inconsistencies across documentsvalidateDocuments— custom validation with MongoDB$expr
Relationships — follow the references
exploreRelationships— multi-hop relationship traversal
Time Series — temporal analysis
findRecent— documents within a time windowfindInTimeRange— date range queries with optional grouping
Indexes — manage your indexes
listIndexes— all indexes for a collectioncreateIndex— create new indexesdropIndex— remove indexes
Export — get data out
exportCollection— JSON, JSONL, or CSVcloneCollection— clone with filtering and index copying
Preview — dry-run before changing anything
previewUpdate/previewDelete— see what would change before committingpreviewBulkWrite— preview bulk operations
Write (read-write only) — safe modifications
insertOne/insertMany— insert documentsupdateOne/updateMany— update with dryRun and maxDocuments limitsreplaceOne— replace a single documentfindOneAndUpdate— find and update atomicallydeleteOne/deleteMany— delete with dryRun and maxDocuments limitsbulkWrite— multiple write operations in one callrenameField— rename fields with dry-run and index migrationcreateCollection/dropCollection— collection management
Security
- Read-only by default — write operations must be explicitly enabled
- All queries are validated and sanitized
- MongoDB operator injection protection
- Connection string credential redaction in logs
- Rate limiting on all operations
- Response size limits to prevent memory exhaustion
Examples
"What collections do I have and what's the schema of users?"
listCollections()
inferSchema({ collection: "users", sampleSize: 50 })
"Find duplicate emails in the users collection."
findDuplicates({ collection: "users", fields: ["email"], options: { limit: 100 } })
"Show me order volume anomalies over the last month."
detectVolumeAnomalies({ collection: "orders", timestampField: "createdAt", options: { groupBy: "day", lookbackPeriods: 30 } })
"What's happening on the server right now?"
getServerStatus()
getCurrentOperations()
getHottestCollections({ limit: 5, sampleDuration: 5000 })
"Find orders that reference deleted users."
findOrphans({ collection: "orders", localField: "userId", foreignCollection: "users", foreignField: "_id" })
"Export the products collection as CSV."
exportCollection({ collection: "products", options: { format: "csv", flatten: true } })
Configuration
| Variable | Default | Description |
|---|---|---|
ENABLE_LOGGING |
false |
Enable file logging |
LOG_DIR |
./logs |
Log file directory |
CLI flags: --read-only (default), --read-write, --mode <mode>
Logging
File logging is disabled by default. Set ENABLE_LOGGING=true to enable. Two log files are created in LOG_DIR:
- tool-usage.log — every tool call with timestamp, name, and arguments
- error.log — errors with stack traces
Connection strings are automatically redacted in all output.
ObjectId Format
Both formats accepted:
{ "_id": { "$oid": "507f1f77bcf86cd799439011" } }
{ "_id": "507f1f77bcf86cd799439011" }
Development
git clone https://github.com/bluwork/mongo-scout-mcp.git
cd mongo-scout-mcp
pnpm install
pnpm build
pnpm test
License
Apache-2.0
Install Mongo Scout in Claude Desktop, Claude Code & Cursor
unyly install mongo-scout-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add mongo-scout-mcp -- npx -y mongo-scout-mcpFAQ
Is Mongo Scout MCP free?
Yes, Mongo Scout MCP is free — one-click install via Unyly at no cost.
Does Mongo Scout need an API key?
No, Mongo Scout runs without API keys or environment variables.
Is Mongo Scout hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Mongo Scout in Claude Desktop, Claude Code or Cursor?
Open Mongo Scout on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
by wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
by madhurprashPostgres
Query your database in natural language
by AnthropicPostgreSQL
Read-only database access with schema inspection.
by modelcontextprotocolCompare Mongo Scout with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All data MCPs
