mongodb-mcp-server

harryelv/mongodb-mcp-server

3.1

If you are the rightful owner of mongodb-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

A Model Context Protocol (MCP) server that enables Cursor IDE to query MongoDB databases for debugging and development.

Tools
3
Resources
0
Prompts
0

MongoDB MCP Server

A Model Context Protocol (MCP) server that enables Cursor IDE to query MongoDB databases for debugging and development.

Features

  • List Collections: See all collections in your database
  • Find Documents: Query documents with filters and limits
  • Count Documents: Count documents matching specific criteria

Installation for Cursor IDE

Option 1: NPX (Recommended - No local installation needed)

Add to your .cursor/mcp.json:

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": ["-y", "@harryelv/mongodb-mcp-server"],
      "env": {
        "MONGODB_CONNECTION_STRING": "mongodb://localhost:27017",
        "MONGODB_DATABASE": "your_database_name"
      }
    }
  }
}

Option 2: Local Development

If you want to modify the source code:

git clone https://github.com/harryelv/mongodb-mcp-server.git
cd mongodb-mcp-server
npm install
npm run build

Then add to your .cursor/mcp.json:

{
  "mcpServers": {
    "mongodb": {
      "command": "node",
      "args": ["/path/to/mongodb-mcp-server/dist/server.js"],
      "env": {
        "MONGODB_CONNECTION_STRING": "mongodb://localhost:27017",
        "MONGODB_DATABASE": "your_database_name"
      }
    }
  }
}

Configuration

Environment Variables

  • MONGODB_CONNECTION_STRING: MongoDB connection string (default: mongodb://localhost:27017)
  • MONGODB_DATABASE: Database name to connect to (default: test)

Usage in Cursor

After configuration, restart Cursor and use Agent Mode to ask questions like:

  • "List all collections in my database"
  • "Find users where age is greater than 25"
  • "Count how many orders have status pending"
  • "Show me 10 products from the products collection"

Tools Available

listCollections

Lists all collections in the database.

  • No parameters required

findDocuments

  • collection (string): Collection name
  • filter (object, optional): MongoDB filter query
  • limit (number, optional): Max documents to return (default: 10)

countDocuments

  • collection (string): Collection name
  • filter (object, optional): MongoDB filter query

Example Usage

// In Cursor Agent Mode, you can ask:
"Show me all collections"
"Find 5 users from the users collection"
"Count documents in orders collection where status is 'pending'"

Security

  • This server is read-only by design - it only provides query capabilities
  • No write, update, or delete operations are supported
  • Use MongoDB user accounts with read-only permissions for additional security

Development

Prerequisites

  • Node.js 18+
  • MongoDB server
  • TypeScript

Build Commands

npm run build    # Compile TypeScript
npm run dev      # Run in development mode
npm start        # Run compiled server

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

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

Links