MongoDB MCP server

Query and analyze MongoDB databases via natural language.
Back to servers
Provider
QuantGeekDev
Release date
Dec 05, 2024
Language
TypeScript
Package
Stats
6.2K downloads
148 stars

The MongoDB MCP Server enables LLMs like Claude to interact directly with MongoDB databases through natural language. This server implements the Model Context Protocol (MCP) to allow querying collections, inspecting schemas, and managing data without writing complex MongoDB queries.

Quick Setup

Prerequisites

  • Node.js 18+
  • npx
  • A MongoDB database to connect to
  • Claude Desktop App

Installation Options

You can install and use the MongoDB MCP Server in two ways:

Option 1: Using npx (Recommended)

Simply configure your Claude Desktop to use the server via npx:

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

Option 2: Using Smithery

For automatic installation with the Smithery tool:

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

Claude Desktop Configuration

Add the MCP server configuration to your Claude Desktop config file:

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

Using a Test Sandbox

If you don't have a MongoDB database available, you can create a test sandbox:

  1. Start a MongoDB container with Docker:
docker-compose up -d
  1. Seed the database with sample data:
npm run seed
  1. Configure Claude Desktop for local development:
{
  "mcpServers": {
    "mongodb": {
      "command": "node",
      "args": [
        "dist/index.js",
        "mongodb://root:example@localhost:27017/test?authSource=admin"
      ]
    }
  }
}

Using the MCP Server

Once configured, you can interact with your MongoDB database by asking Claude questions in natural language. The server provides several tools for database operations.

Example Prompts

Basic Operations

Try these basic prompts to get started:

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

Advanced Queries

For more complex operations:

  • "Find all electronics products that are in stock and cost less than $1000"
  • "Show me all orders from the user [email protected]"
  • "List the products with ratings above 4.5"

Working with Indexes

To manage database indexes:

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

For creating, updating, and deleting data:

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

The MCP server provides these tools for database operations:

Query Tools

  • find: Query documents with filtering and projection
  • listCollections: List available collections

Document Management

  • insertOne: Insert a single document
  • updateOne: Update a single document
  • deleteOne: Delete a single document

Index Management

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

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later