MCPInstall
mongo-mcp logo

mongo-mcp

by stevederico stevederico/mongo-mcp

Connect LLMs to MongoDB

READMEmaster

Mongo MCP Server

An MCP (Model Context Protocol) server for interacting with MongoDB. Provides tools for querying, inserting, updating, deleting, and aggregating documents via STDIO transport.

Features

  • Query documents with customizable filters and limits
  • Insert single documents into collections
  • Update documents matching a filter
  • Delete documents matching a filter
  • Aggregate with full pipeline support
  • List all collections in the database
  • Count documents with optional filters
  • STDIO Transport compatible with MCP clients

Prerequisites

  • Node.js v18+
  • MongoDB instance (local or remote)

Installation

  1. Clone the repository:

    git clone https://github.com/stevederico/mongo-mcp.git
    cd mongo-mcp
    
  2. Install dependencies:

    npm install
    
  3. Configure environment variables — create a .env file in the root directory:

    MONGO_URL=mongodb://localhost:27017
    DB_NAME=myDatabase
    

Configuration

Add to your MCP client config (e.g. Claude Desktop):

{
  "mcpServers": {
    "mongo-mcp": {
      "command": "node",
      "args": ["/path/to/mongo-mcp/index.js"],
      "env": {
        "MONGO_URL": "mongodb://localhost:27017",
        "DB_NAME": "myDatabase"
      }
    }
  }
}

Tools

mongo_query

Run a find query against a collection.

ArgTypeRequiredDescription
collectionstringyesTarget collection name
querystringyesJSON-stringified MongoDB query
limitnumbernoMax results (default: 10)

mongo_insert

Insert a single document into a collection.

ArgTypeRequiredDescription
collectionstringyesTarget collection name
documentstring | objectyesDocument to insert (JSON string or object)

mongo_update

Update documents matching a filter.

ArgTypeRequiredDescription
collectionstringyesTarget collection name
filterstringyesJSON-stringified filter
updatestringyesJSON-stringified update operation

mongo_delete

Delete documents matching a filter.

ArgTypeRequiredDescription
collectionstringyesTarget collection name
filterstringyesJSON-stringified filter

mongo_aggregate

Run an aggregation pipeline on a collection.

ArgTypeRequiredDescription
collectionstringyesTarget collection name
pipelinestringyesJSON-stringified array of pipeline stages

mongo_list_collections

List all collection names in the connected database. No arguments.

mongo_count

Count documents in a collection with an optional filter.

ArgTypeRequiredDescription
collectionstringyesTarget collection name
filterstringnoJSON-stringified filter (default: all documents)

Dependencies

  • @modelcontextprotocol/sdk — MCP server framework
  • mongodb — MongoDB driver for Node.js
  • zod — Schema validation for tool arguments

License

MIT License. See LICENSE for details.

Contributing

Pull requests welcome! Open an issue to discuss changes first.