MCP service for MongoDB operations
Project description
Mongo-MCP
English | 简体中文
一个用于 MongoDB 操作的机器聊天协议(Machine Chat Protocol, MCP)服务。该服务提供了一套工具,使大型语言模型(LLMs)能够通过基本的 CRUD 操作和管理任务与 MongoDB 数据库进行交互。
功能特性
- MongoDB 实例连接管理
- 数据库和集合的列表查询
- 文档的增删改查(CRUD)操作
- 插入文档
- 查询文档(支持复杂查询和投影)
- 更新文档
- 删除文档
- 完整支持 MongoDB 查询语法和投影操作
- 完善的错误处理和日志记录
- 基于标准输入/输出(stdio)的 MCP 传输实现
安装方法
git clone https://github.com/yourusername/mongo-mcp.git
cd mongo-mcp
pip install -e .
使用说明
启动 MCP 服务器
# 直接启动服务
python -m mongo_mcp.server
# 或者使用环境变量配置
MONGODB_URI="mongodb://localhost:27017" python -m mongo_mcp.server
服务器使用标准输入/输出(stdio)传输方式,适合与支持此传输方式的 MCP 客户端集成。
环境变量配置
MONGODB_URI: MongoDB 连接字符串(默认值: "mongodb://localhost:27017")MONGODB_DEFAULT_DB: 默认数据库名称(可选)LOG_LEVEL: 日志级别(默认值: "INFO")- 可选值: DEBUG, INFO, WARNING, ERROR, CRITICAL
Cursor 配置样例
如果你使用 Cursor 作为开发环境,可以在 .cursor/mcp.json 文件中添加如下配置以便本地调试:
"mongodb": {
"command": "python -m mongo_mcp.server",
"env": {
"MONGODB_URI": "mongodb://localhost:27017",
"MONGODB_DEFAULT_DB": "DEFAULT_DB_NAME",
"LOG_LEVEL": "INFO"
}
}
支持的操作
- 列出所有数据库
- 列出指定数据库中的所有集合
- 插入文档
- 查询文档(支持查询条件和字段投影)
- 更新文档(支持单个和批量更新)
- 删除文档(支持单个和批量删除)
开发指南
- 克隆仓库
git clone https://github.com/yourusername/mongo-mcp.git
cd mongo-mcp
- 安装开发依赖
# 使用 pip
pip install -e ".[dev]"
# 或使用 uv(推荐,安装更快)
uv pip install -e ".[dev]"
- 运行测试
pytest
- 代码结构
server.py: MCP 服务器实现db.py: MongoDB 操作核心实现config.py: 配置管理tools/: MCP 工具集实现tests/: 测试用例
日志
日志文件默认保存在 logs 目录下,可通过环境变量 LOG_LEVEL 控制日志级别。
许可证
MIT
贡献指南
欢迎提交 Issue 和 Pull Request 来帮助改进项目。在提交 PR 之前,请确保:
- 代码通过所有测试
- 添加了适当的测试用例
- 更新了相关文档
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.0.tar.gz.
File metadata
- Download URL: mongo_mcp-0.1.0.tar.gz
- Upload date:
- Size: 47.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6e01daa8a3ff19cf1a709d9c736c2b8b6d34b4a0693c1382b8ec3ad3a5f5185
|
|
| MD5 |
aac2c5f2f83228abe13c69aa4ffbcbaf
|
|
| BLAKE2b-256 |
1c86b4caf9ee825222d26c582c97ca4f977d60f28d48e0a0b4cb62022de51a01
|
File details
Details for the file mongo_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mongo_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e2825d5599533946c1f7b44c41c86180df540f3c3fb52f57aee0d5c7fd2691e
|
|
| MD5 |
e5086d4353cd0205b6edba4602691158
|
|
| BLAKE2b-256 |
738ffc7afe814d6985ea41fd6d884d2d62cefc2f85fa846acbb9beef4542b303
|