MongoDB MCP Server logo

MongoDB MCP Server

by jonfreeland

A Model Context Protocol (MCP) server providing read-only access to MongoDB databases. It allows AI assistants to query and analyze MongoDB data safely through standardized MCP tools.

View on GitHub

Last updated: N/A

MongoDB MCP Server

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

<a href="https://glama.ai/mcp/servers/cmywezu1sn"> <img width="380" height="200" src="https://glama.ai/mcp/servers/cmywezu1sn/badge" alt="MongoDB Server MCP server" /> </a>

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.