Skip to main content
Glama
sergei-tofu-fedorov

Mongo MCP Server

MongoDB MCP Server

A Model Context Protocol (MCP) server that provides MongoDB database access for Claude Code. This server allows you to query MongoDB databases directly from Claude with configurable connection parameters.

Features

  • Master User Management: Find users by platform ID, email, account ID, or user ID

  • Invoice Management: Search and retrieve invoices by account ID or invoice ID

  • Connection Health: Check MongoDB connection status and health

  • Flexible Configuration: Support for command-line arguments, environment variables, and config files

  • Error Handling: Graceful fallback when database is unavailable

Installation

cd your-project-directory
mcp add https://github.com/sergei-tofu-fedorov/mongo_mcp.git

Then edit the generated .mcp.json to add your connection parameters:

{
  "mcpServers": {
    "mongo_mcp": {
      "command": "npx",
      "args": [
        "mongo-mcp-server",
        "--uri", "mongodb://your-host:27017",
        "--db", "your-database-name"
      ]
    }
  }
}

Option 2: Install from npm (coming soon)

npm install -g mongo-mcp-server

Option 3: Install from GitHub

npm install -g git+https://github.com/sergei-tofu-fedorov/mongo_mcp.git

Option 4: Clone and install locally

git clone https://github.com/sergei-tofu-fedorov/mongo_mcp.git
cd mongo_mcp
npm install
npm link  # Make it available globally

Usage

Add the server to your .mcp.json file in any project directory:

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [
        "mongo-mcp-server",
        "--mongo-uri", "mongodb://your-host:27017",
        "--database", "your-database-name"
      ]
    }
  }
}

Or with environment variables:

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": ["mongo-mcp-server"],
      "env": {
        "MONGODB_URI": "mongodb://your-host:27017",
        "MONGODB_DATABASE": "your-database-name"
      }
    }
  }
}

Method 2: Install locally in project

  1. Clone this repo into your project or install as dependency

  2. Create a settings.json file in the project root:

{
  "mongodb": {
    "uri": "mongodb://your-host:27017",
    "database": "your-database-name"
  }
}
  1. Add to your .mcp.json:

{
  "mcpServers": {
    "mongodb": {
      "command": "node",
      "args": ["./path/to/mongo_mcp/server.js"]
    }
  }
}

Configuration Priority

The server accepts configuration in the following priority order:

  1. Command-line arguments (highest priority)

    # Full format
    mongo-mcp-server --mongo-uri mongodb://localhost:27017 --database mydb
    
    # Short format
    mongo-mcp-server --uri mongodb://localhost:27017 --db mydb
    
    # Single URI format (with database in path)
    mongo-mcp-server mongodb://localhost:27017/mydb
  2. Environment variables

    export MONGODB_URI="mongodb://localhost:27017"
    export MONGODB_DATABASE="mydb"
    mongo-mcp-server
  3. settings.json file

    {
      "mongodb": {
        "uri": "mongodb://localhost:27017",
        "database": "mydb"
      }
    }
  4. Default values (lowest priority)

    • URI: mongodb://localhost:27017

    • Database: mcpserver

Available Tools

Connection Management

  • check_connection: Check if MongoDB connection is active and healthy

Master User Tools

  • find-master-user-by-platform-id: Find master user by platform ID (case-insensitive search)

    • Parameters: platformId (string), limit (number, default: 10)

  • find-master-user-by-email: Find master user by email (case-insensitive search)

    • Parameters: email (string), limit (number, default: 10)

  • find-master-user-by-id: Find a specific master user by their ID

    • Parameters: id (string)

  • find-master-user-by-account-id: Find master user by account ID (case-insensitive search)

    • Parameters: accountId (string), limit (number, default: 10)

Invoice Tools

  • find-invoices-by-account-id: Find invoices by account ID (case-insensitive search)

    • Parameters: accountId (string), limit (number, default: 10)

  • find-invoice-by-id: Find a specific invoice by its ID

    • Parameters: id (string)

Quick Start with mcp add

  1. Navigate to any directory where you want to use MongoDB tools:

    cd C:\AI\mongo_test
  2. Add the MongoDB MCP server:

    mcp add https://github.com/sergei-tofu-fedorov/mongo_mcp.git
  3. Edit the generated .mcp.json file to add your MongoDB connection:

    {
      "mcpServers": {
        "mongo_mcp": {
          "command": "npx",
          "args": [
            "mongo-mcp-server",
            "mongodb://your-host:27017/your-database"
          ]
        }
      }
    }
  4. Start Claude Code:

    claude-code
  5. Use MongoDB tools directly in Claude:

    find master user by email john@example.com
    find invoices by account 2djcl2neh9-0f9f3bd0e
    check mongodb connection status

Example Usage in Claude Code

Once configured, you can use these tools directly in Claude Code:

find master user by email john@example.com
find invoices by account 2djcl2neh9-0f9f3bd0e
check mongodb connection status

Development

Requirements

  • Node.js >= 18.0.0

  • MongoDB instance (local or remote)

Running in Development

git clone https://github.com/sergei-tofu-fedorov/mongo_mcp.git
cd mongo_mcp
npm install
npm run dev  # Runs with --watch for auto-reload

Testing with Different Configurations

# Test with command line args
node server.js --mongo-uri mongodb://localhost:27017 --database testdb

# Test with environment variables
MONGODB_URI=mongodb://localhost:27017 MONGODB_DATABASE=testdb node server.js

# Test with settings.json (create the file first)
node server.js

Troubleshooting

Connection Issues

  • Verify MongoDB is running and accessible

  • Check firewall settings and network connectivity

  • Ensure the URI format is correct: mongodb://host:port or mongodb+srv://cluster.example.com

  • Validate database name and permissions

Permission Issues

  • Ensure the MongoDB user has read permissions on the target database

  • Check that the user can access the required collections

MCP Server Issues

  • Verify Claude Code can find the server executable

  • Check the .mcp.json configuration syntax

  • Look for error messages in Claude Code's output

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Install Server
A
security – no known vulnerabilities
-
license - not tested
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sergei-tofu-fedorov/mongo_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server