mcpField
M
mongo-scout-mcp

mongo-scout-mcp

Local
github.com/bluworkDatabases0Updated 34w ago

About mongo-scout-mcp

Mongo Scout MCP is a Model Context Protocol server for exploring, querying, monitoring, and maintaining MongoDB databases. It serves database operators and developers with read-only access by default, plus previews and limits for safer writes.

Key features

  1. 01Database and collection exploration
  2. 02Document queries and aggregations
  3. 03Anomaly detection and live monitoring
  4. 04Data quality and relationship checks
  5. 05Dry-run previews and guarded writes

Use cases

  1. 01Inspect collections and infer document schemas
  2. 02Find volume anomalies or slow operations
  3. 03Detect duplicates, missing fields, and orphans
  4. 04Export data or preview database changes

MCP support

Mongo Scout MCP exposes MongoDB exploration, query, monitoring, data quality, export, and write tools to MCP clients. It can be configured for read-only or explicitly enabled read-write operation.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"bluwork-mongo-scout": {
"command": "npx",
"args": [
"-y",
"mongo-scout-mcp"
]
}
}
}
Run commandnpx -y mongo-scout-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmongo-scout-mcp1.0.3

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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.

npm License

What You Get

You ask:

"Anything unusual happening with order volume this month?"

Mongo Scout returns:


Volume Analysis: orders

Statistics (last 30 days)

MetricValue
Daily Average2,847 documents
Standard Deviation412
Min / Max1,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 instance
  • getDatabaseStats — storage and performance statistics
  • listCollections — collections in the current database
  • getCollectionStats — size, document count, index details
  • inferSchema — schema inference from sampled documents
Query — find and analyze documents
  • find — query documents with filtering, sorting, projection
  • aggregate — run aggregation pipelines
  • count — count documents matching a query
  • distinct — unique values for a field
  • textSearch — full-text search across indexed fields
  • explainQuery — query execution plan analysis
Diagnose — spot problems early
  • detectVolumeAnomalies — unusual patterns in document volume
  • analyzeQueryPerformance — query optimization using explain plans
Monitor — watch it live
  • getServerStatus — server performance metrics
  • getCurrentOperations — currently running operations
  • getConnectionPoolStats — connection pool health
  • getProfilerStats — profiler data and slow operations
  • getLiveMetrics — real-time metrics with continuous updates
  • getHottestCollections — collections with highest activity
  • getCollectionMetrics — detailed per-collection metrics
  • getSlowestOperations — slow query tracking
  • runAdminCommand — execute admin commands
Data Quality — trust your data
  • findDuplicates — duplicate documents by field combination
  • findOrphans — orphaned references across collections
  • findMissingFields — documents missing required fields
  • findInconsistentTypes — type inconsistencies across documents
  • validateDocuments — custom validation with MongoDB $expr
Relationships — follow the references
  • exploreRelationships — multi-hop relationship traversal
Time Series — temporal analysis
  • findRecent — documents within a time window
  • findInTimeRange — date range queries with optional grouping
Indexes — manage your indexes
  • listIndexes — all indexes for a collection
  • createIndex — create new indexes
  • dropIndex — remove indexes
Export — get data out
  • exportCollection — JSON, JSONL, or CSV
  • cloneCollection — clone with filtering and index copying
Preview — dry-run before changing anything
  • previewUpdate / previewDelete — see what would change before committing
  • previewBulkWrite — preview bulk operations
Write (read-write only) — safe modifications
  • insertOne / insertMany — insert documents
  • updateOne / updateMany — update with dryRun and maxDocuments limits
  • replaceOne — replace a single document
  • findOneAndUpdate — find and update atomically
  • deleteOne / deleteMany — delete with dryRun and maxDocuments limits
  • bulkWrite — multiple write operations in one call
  • renameField — rename fields with dry-run and index migration
  • createCollection / 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

VariableDefaultDescription
ENABLE_LOGGINGfalseEnable file logging
LOG_DIR./logsLog 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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.