MongoDB协议服务器

一个自定义的MCP服务器,连接Claude Code到MongoDB数据库,提供自然语言操作数据库的功能。

  • by marvinphung
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 iamPMV259/mongo-mcp-server

使用说明

mongo mcp服务器

一个定制的MCP(模型上下文协议)服务器,将Claude Code连接到MongoDB数据库,为TechNext Asia AI实习生面试测试而构建。

它做什么

公开了3个工具,允许Claude通过自然语言与任何MongoDB实例交互:

工具 说明
ping_db 测试连接并返回MongoDB服务器信息(版本、主机、正常运行时间)
list_collections 列出给定数据库中的所有集合
find_documents 使用可选筛选器从集合中查询最多5个文档

技术栈

  • python 和 uv 用于项目管理
  • FastMCP (mcp.server.fastmcp)--最小样板MCP服务器框架
  • PyMongo --官方MongoDB Python驱动程序

项目结构

mongo-mcp-server/
├── server.py          # MCP server with all 3 tools
├── pyproject.toml     # Project metadata and dependencies
├── uv.lock            # Locked dependency versions
└── README.md

设置

1.先决条件

  • Python 3.13+
  • uv 安装
  • 正在运行的MongoDB实例(本地或Docker)

2.安装依赖项

uv sync

3.使用Docker运行本地MongoDB(可选)

docker run -d --name mongodb-mcp -p 27017:27017 \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=password \
  mongo:7

Claude代码配置

添加以下内容 ~/.claude/settings.json:

{
  "mcpServers": {
    "mongo-local": {
      "command": "uv",
      "args": ["run", "server.py"],
      "cwd": "/absolute/path/to/mongo-mcp-server",
      "env": {
        "MONGODB_URI": "mongodb://admin:password@localhost:27017/"
      }
    }
  }
}

然后重新启动Claude Code。这 mongo-local 服务器将显示为已连接的MCP服务器。

环境变量

变量 默认值 描述
MONGODB_URI mongodb://localhost:27017/ MongoDB连接字符串

Claude代码中的示例用法

一旦连接,你可以自然地问克劳德:

ping the database
list collections in the technext_demo database
find documents in technext_demo.candidates where position is "AI Intern"

为什么选择MongoDB MCP?

  • 现实世界的相关性 --数据库几乎是每个后端系统的核心
  • 完整的读/写覆盖率 --ping、list和query涵盖了最常见的操作
  • 无需额外的基础设施 --适用于任何现有的MongoDB(本地、Docker或Atlas)
  • 自然语言查询 --Claude将纯英语翻译成MongoDB过滤器对象