Skip to main content

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"
  }
}

支持的操作

  • 列出所有数据库
  • 列出指定数据库中的所有集合
  • 插入文档
  • 查询文档(支持查询条件和字段投影)
  • 更新文档(支持单个和批量更新)
  • 删除文档(支持单个和批量删除)

开发指南

  1. 克隆仓库
git clone https://github.com/yourusername/mongo-mcp.git
cd mongo-mcp
  1. 安装开发依赖
# 使用 pip
pip install -e ".[dev]"

# 或使用 uv(推荐,安装更快)
uv pip install -e ".[dev]"
  1. 运行测试
pytest
  1. 代码结构
  • server.py: MCP 服务器实现
  • db.py: MongoDB 操作核心实现
  • config.py: 配置管理
  • tools/: MCP 工具集实现
  • tests/: 测试用例

日志

日志文件默认保存在 logs 目录下,可通过环境变量 LOG_LEVEL 控制日志级别。

许可证

MIT

贡献指南

欢迎提交 Issue 和 Pull Request 来帮助改进项目。在提交 PR 之前,请确保:

  1. 代码通过所有测试
  2. 添加了适当的测试用例
  3. 更新了相关文档

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.0.tar.gz (47.1 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.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

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

Hashes for mongo_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c6e01daa8a3ff19cf1a709d9c736c2b8b6d34b4a0693c1382b8ec3ad3a5f5185
MD5 aac2c5f2f83228abe13c69aa4ffbcbaf
BLAKE2b-256 1c86b4caf9ee825222d26c582c97ca4f977d60f28d48e0a0b4cb62022de51a01

See more details on using hashes here.

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

Hashes for mongo_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e2825d5599533946c1f7b44c41c86180df540f3c3fb52f57aee0d5c7fd2691e
MD5 e5086d4353cd0205b6edba4602691158
BLAKE2b-256 738ffc7afe814d6985ea41fd6d884d2d62cefc2f85fa846acbb9beef4542b303

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