Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Mongo Scout

FreeNot checked

Scout your MongoDB databases with AI - safety features, live monitoring, and data quality

GitHubEmbed

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.

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)

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 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

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

from github.com/bluwork/mongo-scout-mcp

Install Mongo Scout in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install mongo-scout-mcp

Installs 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-mcp

FAQ

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

Compare 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