Skip to main content

MCP service for MongoDB operations

Project description

Mongo-MCP

smithery badge English | 简体中文

A Machine Chat Protocol (MCP) service for MongoDB operations. This service provides a set of tools that allow Large Language Models (LLMs) to interact with MongoDB databases through basic CRUD operations and administrative tasks.

Requirements

  • Python 3.10 or above
  • A running MongoDB database service
  • It is recommended to use uv to run the program

Features

  • MongoDB instance connection management
  • List databases and collections
  • Document CRUD operations
    • Insert documents
    • Query documents (supports complex queries and projections)
    • Update documents
    • Delete documents
  • Full support for MongoDB query syntax and projections
  • Comprehensive error handling and logging
  • Stdin/stdout (stdio) based MCP transport implementation

Usage

Run directly with uvx

uvx run mongo-mcp

The server uses the stdio transport method, making it suitable for integration with MCP clients that support this transport method.

Cursor Example Configuration

If you use Cursor as your development environment, you can add the following configuration to your .cursor/mcp.json file for local debugging:

{
    "mcpServers": {
        "mongo-mcp": {
            "command": "uvx",
            "args": [
                "mongo-mcp"
            ],
            "env": {
                "MONGODB_URI": "mongodb://localhost:27017",
                "MONGODB_DEFAULT_DB": "MONGODB_DEFAULT_DB",
                "LOG_LEVEL": "INFO"
            }
        }
    }
}

Environment Variables

  • MONGODB_URI: MongoDB connection string (default: "mongodb://localhost:27017")
  • MONGODB_DEFAULT_DB: Default database name (optional)
  • LOG_LEVEL: Logging level (default: "INFO")
    • Available values: DEBUG, INFO, WARNING, ERROR, CRITICAL

Supported Operations

  • List all databases
  • List all collections in a specified database
  • Insert documents
  • Query documents (supports query conditions and field projections)
  • Update documents (supports single and bulk updates)
  • Delete documents (supports single and bulk deletions)

Development Guide

  1. Clone the repository
git clone https://github.com/yourusername/mongo-mcp.git
cd mongo-mcp
  1. Install development dependencies
# Using pip
pip install -e "[dev]"

# Or using uv (recommended for faster installation)
uv pip install -e "[dev]"
  1. Run tests
pytest
  1. Code Structure
  • server.py: MCP server implementation
  • db.py: Core MongoDB operations implementation
  • config.py: Configuration management
  • tools/: MCP tools implementation
  • tests/: Test cases

Logging

Log files are stored in the logs directory by default. The log level can be controlled through the LOG_LEVEL environment variable.

License

MIT

Contributing

Contributions via Issues and Pull Requests are welcome. Before submitting a PR, please ensure:

  1. All tests pass
  2. Appropriate test cases are added
  3. Documentation is updated

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mongo_mcp-0.1.3.tar.gz (48.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mongo_mcp-0.1.3-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file mongo_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: mongo_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 48.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.7

File hashes

Hashes for mongo_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 591c4db178c293a6e1106e1e33e0fd6005e96d3948902cc5b2eeda8e4e1291ef
MD5 dcd72db9814159869563e96aa6ec5956
BLAKE2b-256 cdeabadf28954f0f5590a3612a8f772ed22d5fc785618c7a481eedc9f729d4f8

See more details on using hashes here.

File details

Details for the file mongo_mcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: mongo_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.7

File hashes

Hashes for mongo_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9e1eeded41641c6385a875a9470f8c5122be816b0da712306dc2adb0117968f0
MD5 d4662aecba19c9dc1ccc1bc336b3010c
BLAKE2b-256 d549904d847147ce3c35963c62632c2bfce60f27b1ba77b03cbeed930568e6e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page