MongoDB MCP服务器

一个用于MongoDB数据库操作的模型上下文协议(MCP)服务器,支持通过自然语言查询与MongoDB数据库交互。

  • by Zalaid
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Zalaid/Mongo-Db-MCP-Server

使用说明

MongoDB MCP服务器

用于MongoDB数据库操作的模型上下文协议(MCP)服务器。该服务器提供工具,通过MCP协议和NATURAL LANGUAGE QUERIES与MongoDB数据库进行交互。

作者

扎莱德
电子邮件:zalaidbutt1@gmail.com

特性

  • 查找文档:使用过滤器和投影在MongoDB集合中搜索文档
  • 更新文档:使用MongoDB更新操作更新集合中的文档
  • 删除文档:根据筛选条件从集合中删除文档
  • 列出收藏:获取数据库中所有集合的列表
  • 异步操作:所有数据库操作都是异步执行的,以获得更好的性能

先决条件

  • Python 3.8或更高版本
  • MongoDB数据库(本地或远程)
  • Claude桌面应用程序

安装和设置

1.环境设置

  1. 克隆或下载此项目
  2. 导航到 mongodb-server 目录
  3. 创建一个 .env 使用MongoDB配置的文件:
MONGO_URI=mongodb://localhost:####
MONGO_DB_NAME=your_database_name

2.安装依赖项

安装所需的Python包:

pip install -r requirements.txt

或使用紫外线:

uv pip install -r requirements.txt

3.克劳德桌面配置

将以下配置添加到您的Claude Desktop设置中:

对于Windows用户:

将路径替换为实际的Python安装和项目位置。

{
  "mcpServers": {
    "mongodb-server": {
      "command": "C:\\Users\\Zalaid\\AppData\\Local\\Programs\\Python\\Python313\\Scripts\\uv.EXE",
      "args": [
        "run",
        "--with", "mcp[cli]",
        "--with", "pymongo",
        "--with", "python-dotenv",
        "D:\\BSDS\\7th Semester\\Fyp Learning\\MCP-SERVER\\mongo-db-mcp-server\\mongodb-server\\server.py"
      ]
    }
  }
}

替代配置(直接使用Python):

{
  "mcpServers": {
    "mongodb-server": {
      "command": "python",
      "args": [
        "D:\\BSDS\\7th Semester\\Fyp Learning\\MCP-SERVER\\mongo-db-mcp-server\\mongodb-server\\server.py"
      ],
      "cwd": "D:\\BSDS\\7th Semester\\Fyp Learning\\MCP-SERVER\\mongo-db-mcp-server\\mongodb-server"
    }
  }
}

备注:更新配置中的路径,以匹配系统的Python安装和项目位置。

可用工具

1.查找文档

在MongoDB集合中搜索文档。

参数:

  • collection_name (string):要搜索的集合的名称
  • filter_query (dict):MongoDB过滤查询
  • projection (dict,可选):在结果中包含/排除的字段

2.更新文档

更新MongoDB集合中的文档。

参数:

  • collection_name (string):集合的名称
  • filter_query (dict):筛选以匹配文档
  • update_operation (dict):MongoDB更新操作

3.删除文档

从MongoDB集合中删除文档。

参数:

  • collection_name (string):集合的名称
  • filter_query (dict):筛选以匹配要删除的文档

4.列表_集合

获取数据库中所有集合的列表。

参数: 无

使用示例

在Claude Desktop中配置后,您可以使用自然语言与MongoDB数据库进行交互:

  • “查找用户集合中的所有用户”
  • “用电子邮件更新用户”john@example.com将状态设置为“活动”
  • “删除日志集合中超过30天的所有文档”
  • “显示数据库中的所有集合”

环境变量

创建一个 .env mongodb服务器目录中的文件,其中包含:

# MongoDB Connection
MONGO_URI=mongodb://localhost:###
# Or for MongoDB Atlas:
# MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/

# Database Name
MONGO_DB_NAME=your_database_name

故障排除

  1. 连接问题:验证您的MongoDB URI并确保数据库正在运行
  2. 权限错误:确保您的MongoDB用户具有适当的权限
  3. 路径问题:确保Claude Desktop配置中的所有文件路径都正确
  4. 依赖项:运行 pip install -r requirements.txt 安装缺失的软件包

贡献

欢迎投稿!请随时提交问题和拉取请求。


作者:扎莱德(zalaidbutt1@gmail.com)