MCP service for MongoDB operations
Project description
Mongo-MCP
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
- Clone the repository
git clone https://github.com/yourusername/mongo-mcp.git
cd mongo-mcp
- Install development dependencies
# Using pip
pip install -e "[dev]"
# Or using uv (recommended for faster installation)
uv pip install -e "[dev]"
- Run tests
pytest
- Code Structure
server.py: MCP server implementationdb.py: Core MongoDB operations implementationconfig.py: Configuration managementtools/: MCP tools implementationtests/: 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:
- All tests pass
- Appropriate test cases are added
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
591c4db178c293a6e1106e1e33e0fd6005e96d3948902cc5b2eeda8e4e1291ef
|
|
| MD5 |
dcd72db9814159869563e96aa6ec5956
|
|
| BLAKE2b-256 |
cdeabadf28954f0f5590a3612a8f772ed22d5fc785618c7a481eedc9f729d4f8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e1eeded41641c6385a875a9470f8c5122be816b0da712306dc2adb0117968f0
|
|
| MD5 |
d4662aecba19c9dc1ccc1bc336b3010c
|
|
| BLAKE2b-256 |
d549904d847147ce3c35963c62632c2bfce60f27b1ba77b03cbeed930568e6e4
|