QuantGeekDev/mongo-mcp

Databases

A Model Context Protocol (MCP) server that enables LLMs to interact directly with MongoDB databases.

TypeScript codebaseLocal Service

Installation

Claude Desktop

Installation Command

npx

Configuration

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [    "mongo-mcp",    "mongodb://<username>:<password>@<host>:<port>/<database>?authSource=admin"      ]
    }
  }
}

Instructions

To get started, find your mongodb connection url and add this configuration to your Claude Desktop config file: **MacOS**: `~/Library/Application\ Support/Claude/claude_desktop_config.json` **Windows**: `%APPDATA%/Claude/claude_desktop_config.json`

README

πŸ—„οΈ MongoDB MCP Server for LLMS

Permalink: πŸ—„οΈ MongoDB MCP Server for LLMS

Node.js 18+License: MITsmithery badge

A Model Context Protocol (MCP) server that enables LLMs to interact directly with MongoDB databases. Query collections, inspect schemas, and manage data seamlessly through natural language.

✨ Features

Permalink: ✨ Features

  • πŸ” Collection schema inspection
  • πŸ“Š Document querying and filtering
  • πŸ“ˆ Index management
  • πŸ“ Document operations (insert, update, delete)

Demo Video

Permalink: Demo Video

mongo-mcp-demo-gh.mp4

πŸš€ Quick Start

Permalink: πŸš€ Quick Start

To get started, find your mongodb connection url and add this configuration to your Claude Desktop config file:

MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [\
        "mongo-mcp",\
        "mongodb://<username>:<password>@<host>:<port>/<database>?authSource=admin"\
      ]
    }
  }
}

Installing via Smithery

Permalink: Installing via Smithery

To install MongoDB MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install mongo-mcp --client claude

Prerequisites

Permalink: Prerequisites

  • Node.js 18+
  • npx
  • Docker and Docker Compose (for local sandbox testing only)
  • MCP Client (Claude Desktop App for example)

Test Sandbox Setup

Permalink: Test Sandbox Setup

If you don't have a mongo db server to connect to and want to create a sample sandbox, follow these steps

  1. Start MongoDB using Docker Compose:
docker-compose up -d
  1. Seed the database with test data:
npm run seed

Configure Claude Desktop

Permalink: Configure Claude Desktop

Add this configuration to your Claude Desktop config file:

MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows: %APPDATA%/Claude/claude_desktop_config.json

Local Development Mode:

Permalink: Local Development Mode:

{
  "mcpServers": {
    "mongodb": {
      "command": "node",
      "args": [\
        "dist/index.js",\
        "mongodb://root:example@localhost:27017/test?authSource=admin"\
      ]
    }
  }
}

Test Sandbox Data Structure

Permalink: Test Sandbox Data Structure

The seed script creates three collections with sample data:

Users

Permalink: Users

  • Personal info (name, email, age)
  • Nested address with coordinates
  • Arrays of interests
  • Membership dates

Products

Permalink: Products

  • Product details (name, SKU, category)
  • Nested specifications
  • Price and inventory info
  • Tags and ratings

Orders

Permalink: Orders

  • Order details with items
  • User references
  • Shipping and payment info
  • Status tracking

🎯 Example Prompts

Permalink: 🎯 Example Prompts

Try these prompts with Claude to explore the functionality:

Basic Operations

Permalink: Basic Operations

"What collections are available in the database?"
"Show me the schema for the users collection"
"Find all users in San Francisco"

Advanced Queries

Permalink: Advanced Queries

"Find all electronics products that are in stock and cost less than $1000"
"Show me all orders from the user john@example.com"
"List the products with ratings above 4.5"

Index Management

Permalink: Index Management

"What indexes exist on the users collection?"
"Create an index on the products collection for the 'category' field"
"List all indexes across all collections"

Document Operations

Permalink: Document Operations

"Insert a new product with name 'Gaming Laptop' in the products collection"
"Update the status of order with ID X to 'shipped'"
"Find and delete all products that are out of stock"

πŸ“ Available Tools

Permalink: πŸ“ Available Tools

The server provides these tools for database interaction:

Query Tools

Permalink: Query Tools

  • find: Query documents with filtering and projection
  • listCollections: List available collections
  • insertOne: Insert a single document
  • updateOne: Update a single document
  • deleteOne: Delete a single document

Index Tools

Permalink: Index Tools

  • createIndex: Create a new index
  • dropIndex: Remove an index
  • indexes: List indexes for a collection

πŸ“œ License

Permalink: πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A mongo db server for the model context protocol (MCP)

Resources

Readme

License

MIT license

Activity

Stars

56
stars

Watchers

4
watching

Forks

12
forks

Report repository

Releases

No releases published

Packages\ 0

No packages published

Contributors\ 2

Languages

Footer

GitHub Β© 2025 GitHub,Β Inc.