mongo-scout-mcp
Provides tools for exploring, querying, diagnosing, monitoring, and managing MongoDB databases, including schema inference, anomaly detection, data quality checks, and safe write operations.
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., "@mongo-scout-mcpAnything unusual happening with order volume this month?"
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.
Mongo Scout MCP
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 mydbThen ask: "What collections do I have and what do their schemas look like?"
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"
}
}
}Add to your MCP settings:
{
"mongo-scout": {
"command": "npx",
"args": ["-y", "mongo-scout-mcp", "mongodb://localhost:27017", "mydb"]
}
}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 file logging |
|
| 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 testLicense
Apache-2.0
This server cannot be installed
Maintenance
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/bluwork/mongo-scout-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server