mongodb-mcp

MCP.Pizza Chef: jonfreeland

The MongoDB MCP Server is a read-only Model Context Protocol server that allows AI assistants to query and analyze MongoDB databases securely. It supports database exploration, schema inference, querying with filters and projections, aggregation pipelines, full-text search, and geospatial queries, all while maintaining data safety by restricting write access. This server facilitates powerful, structured access to MongoDB data for AI-enhanced workflows and applications.

Use This MCP server To

List MongoDB databases and collections for data discovery Infer collection schemas from sample documents automatically Execute filtered and sorted MongoDB queries safely Run read-only aggregation pipelines for data summarization Perform full-text search on collections with text indexes Conduct geospatial queries to find nearby locations Enable AI assistants to analyze MongoDB data without write risks

README

MongoDB MCP Server

A Model Context Protocol server that provides read-only access to MongoDB databases through standardized MCP tools and resources.

MongoDB Server MCP server

Overview

This MongoDB MCP server enables AI assistants to directly query and analyze MongoDB databases without write access, maintaining data safety while providing powerful data exploration capabilities.

Features

MongoDB Operations

  • Database Exploration: List databases and collections
  • Schema Discovery: Infer collection schemas from sample documents
  • Querying: Execute MongoDB queries with filtering, projection, sorting, and limiting
  • Aggregation: Run read-only aggregation pipelines with safety validation
  • Text Search: Perform full-text search on collections with text indexes
  • Geospatial Queries: Find locations near points, within polygons, or intersecting geometries
  • Document Operations: Count documents, sample random documents, find documents by IDs
  • Data Analysis: Get collection statistics, index information, and query execution plans
  • Performance Insights: Examine query execution plans to optimize performance
  • Data Exploration: Get distinct values, field distributions, and data samples
  • Format Conversion: Export query results as JSON or CSV formats

Enhanced Capabilities

  • Schema Inference: Automatically detect data types and structure from documents
  • Visualization Hints: Intelligent suggestions for data visualization based on result content
  • Safety Validation: Prevents write operations in aggregation pipelines
  • Example-Rich Documentation: Each tool includes detailed examples in its description

Requirements

Environment Variables

  • MONGODB_URI (required): MongoDB connection string with authentication if needed
  • MONGODB_DEFAULT_DATABASE (optional): Default database name when not specified in queries

Prerequisites

  • Network access to MongoDB server
  • Authentication credentials if required by MongoDB instance
  • Appropriate read permissions on target databases

Installation

Building from Source

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Integration with Claude Desktop

To use with Claude Desktop, add the server configuration:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mongodb": {
      "command": "/path/to/mongodb-server/build/index.js",
      "env": {
        "MONGODB_URI": "mongodb://username:password@hostname:port/database",
        "MONGODB_DEFAULT_DATABASE": "your_default_db"
      }
    }
  }
}

Integration with Claude Web

For Claude Web via the MCP Chrome extension, add configuration to Cline MCP settings:

{
  "mcpServers": {
    "mongodb": {
      "command": "node",
      "args": ["/path/to/mongodb-server/build/index.js"],
      "env": {
        "MONGODB_URI": "mongodb://username:password@hostname:port/database",
        "MONGODB_DEFAULT_DATABASE": "your_default_db"
      }
    }
  }
}

Integration with Claude Code

To use with Claude Code, use the following commands:

cd /path/to/my/project
claude mcp add mongo-server /path/to/mongodb-mcp/build/index.js -e "MONGODB_URI=mongodb://user@password:27017/dbname?authSource=authDbName" -e MONGO_DEFAULT_DATABASE=dbname 

Make sure to replace the placeholders with your actual MongoDB connection string and default database name.

If configured correctly, you should see the following when you run claude:

╭───────────────────────────────────────────────────────╮
│ ✻ Welcome to Claude Code research preview!            │
│                                                       │
│   /help for help                                      │
│                                                       │
│   cwd: <path-to-project-directory>                    │
│                                                       │
│   ─────────────────────────────────────────────────── │
│                                                       │
│   MCP Servers:                                        │
│                                                       │
│   • mongo-server                            connected │
╰───────────────────────────────────────────────────────╯

If you run into issues, see the Claude Code documentation.

Security Considerations

  • This server provides read-only access by design
  • Connection strings may contain sensitive authentication information
  • Store connection strings securely in environment variables
  • Use a MongoDB user with read-only permissions

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. Use the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

mongodb-mcp FAQ

How does the MongoDB MCP server ensure data safety?
It provides read-only access, preventing any write or modification operations on the MongoDB databases.
Can I perform complex aggregations using this server?
Yes, it supports running read-only aggregation pipelines with safety validation to avoid harmful operations.
Does the server support text search capabilities?
Yes, it allows full-text search on collections that have text indexes configured.
How does schema discovery work in this server?
The server infers collection schemas by analyzing sample documents to provide structural insights.
Is it possible to perform geospatial queries?
Yes, the server supports geospatial queries to find locations near specified points.
Can this server be integrated with multiple LLM providers?
Yes, it is compatible with various LLMs like OpenAI, Claude, and Gemini through the MCP protocol.
What kind of MongoDB queries can I run?
You can run queries with filtering, projection, sorting, and limiting to retrieve precise data subsets.
Does the server allow write operations to MongoDB?
No, it strictly enforces read-only access to ensure data integrity and security.