返回市场
MCP-MongoDB-MySQL-服务器

MCP-MongoDB-MySQL-服务器

作者:yaoxiaolinglong6 星标更新:2025-06-16

项目介绍

MseeP.ai 安全评估徽章 <a href="https://glama.ai/mcp/servers/@yaoxiaolinglong/mcp-mongodb-mysql-server"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=3399170282,1489355475&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>

MCP-MongoDB-MySQL-Server

GitHub stars GitHub forks GitHub license smithery 徽章

这个项目基于 enemyrr/mcp-mysql-server,进行了二次开发,增加了对 MongoDB 的支持。

这是 enemyrr/mcp-mysql-server 的一个分支,增加了对 MongoDB 的支持。

项目介绍 | Introduction

这是一个提供 MySQL 和 MongoDB 数据库操作功能的 Model Context Protocol 服务器。该服务器使 AI 模型能够通过标准化接口与 MySQL 和 MongoDB 数据库进行交互。

这是一个提供 MySQL 和 MongoDB 数据库操作功能的 Model Context Protocol 服务器。该服务器使 AI 模型能够通过标准化接口与 MySQL 和 MongoDB 数据库进行交互。

二次开发说明 | 关于这个分支

作者 | Author: yaoxiaolinglong

二次开发原因 | 分支原因:原始项目仅支持 MySQL 数据库,但在实际应用中经常需要 MongoDB。由于找不到现成的 MongoDB MCP 工具,因此在原始项目的基础上增加了对 MongoDB 的支持,使其成为一个同时支持 MySQL 和 MongoDB 的数据库服务器。

原始项目仅支持 MySQL 数据库,但在实际应用中经常需要 MongoDB。由于找不到现成的 MongoDB MCP 工具,因此在原始项目的基础上增加了对 MongoDB 的支持,使其成为一个同时支持 MySQL 和 MongoDB 的数据库服务器。

在 Cursor IDE 中安装 & 设置

通过 Smithery 安装

通过 Smithery 自动安装 MySQL/MongoDB 数据库服务器到 Claude Desktop:

npx -y @smithery/cli install @yaoxiaolinglong/mcp-mongodb-mysql-server --client claude

手动安装 | 手动安装

  1. 克隆并构建项目:
git clone https://github.com/yaoxiaolinglong/mcp-mongodb-mysql-server.git
cd mcp-mongodb-mysql-server
npm install
npm run build
  1. 在 cursor IDE 设置中添加服务器:
    • 打开命令面板 (CMD/Ctrl+Shift+P) | 打开命令面板 (CMD/Ctrl+Shift+P)
    • 搜索 "MCP: 添加服务器" | Search for "MCP: Add Server"
    • 填写以下字段:
      • 名称 | Name: mysql-mongodb
      • 类型 | Type: command
      • 命令 | Command: node /absolute/path/to/mcp-mongodb-mysql-server/build/index.js

注意 | 注意:请将/absolute/path/to/替换为你克隆并构建项目的实际路径。

替换 /absolute/path/to/ 为你克隆并构建项目的实际路径。

数据库配置 | 数据库配置

MySQL 配置 | MySQL 配置

你可以通过以下三种方式配置 MySQL 数据库连接:

  1. .env 文件中的数据库 URL(推荐) | Database URL in .env (recommended)
DATABASE_URL=mysql://user:password@host:3306/database
  1. .env 文件中的单独参数
DB_HOST=localhost
DB_USER=your_user
DB_PASSWORD=your_password
DB_DATABASE=your_database
  1. 通过工具直接连接
use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "connect_db",
  arguments: {
    url: "mysql://user:password@host:3306/database"
    // 或者 | OR
    workspace: "/path/to/your/project" // 将使用项目的.env文件 | Will use project's .env
    // 或者 | OR
    host: "localhost",
    user: "your_user",
    password: "your_password",
    database: "your_database"
  }
});

MongoDB 配置 | MongoDB 配置

你可以通过以下三种方式配置 MongoDB 数据库连接:

  1. .env 文件中的 MongoDB URL(推荐) | MongoDB URL in .env (recommended)
MONGODB_URI=mongodb://user:password@host:27017/database
MONGODB_DATABASE=your_database
  1. 通过工具直接连接
use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "connect_mongodb",
  arguments: {
    url: "mongodb://user:password@host:27017/database"
    // 或者 | OR
    workspace: "/path/to/your/project" // 将使用项目的.env文件 | Will use project's .env
    // 或者 | OR
    database: "your_database" // 将使用默认连接URI | Will use default connection URI
  }
});

可用工具

MySQL 工具 | MySQL 工具

1. connect_db

使用 URL、工作区路径或直接凭据连接到 MySQL 数据库。

2. query

执行 SELECT 查询,支持可选的预处理语句参数。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "query",
  arguments: {
    sql: "SELECT * FROM users WHERE id = ?",
    params: [1]
  }
});

3. execute

执行 INSERT、UPDATE 或 DELETE 查询,支持可选的预处理语句参数。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "execute",
  arguments: {
    sql: "INSERT INTO users (name, email) VALUES (?, ?)",
    params: ["John Doe", "john@example.com"]
  }
});

4. list_tables

列出连接数据库中的所有表。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "list_tables"
});

5. describe_table

获取特定表的结构。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "describe_table",
  arguments: {
    table: "users"
  }
});

6. create_table

创建新表,指定字段和索引。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "create_table",
  arguments: {
    table: "users",
    fields: [
      {
        name: "id",
        type: "int",
        autoIncrement: true,
        primary: true
      },
      {
        name: "email",
        type: "varchar",
        length: 255,
        nullable: false
      }
    ],
    indexes: [
      {
        name: "email_idx",
        columns: ["email"],
        unique: true
      }
    ]
  }
});

7. add_column

向现有表中添加新列。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "add_column",
  arguments: {
    table: "users",
    field: {
      name: "phone",
      type: "varchar",
      length: 20,
      nullable: true
    }
  }
});

MongoDB 工具 | MongoDB 工具

1. connect_mongodb

使用 URL、工作区路径或数据库名称连接到 MongoDB 数据库。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "connect_mongodb",
  arguments: {
    url: "mongodb://user:password@host:27017/database"
  }
});

2. mongodb_list_collections

列出连接的 MongoDB 数据库中的所有集合。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_list_collections"
});

3. mongodb_find

在 MongoDB 集合中搜索文档,支持可选的过滤器、限制、跳过和排序。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_find",
  arguments: {
    collection: "users",
    filter: { age: { $gt: 18 } },
    limit: 10,
    skip: 0,
    sort: { name: 1 }
  }
});

4. mongodb_insert

插入文档到 MongoDB 集合。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_insert",
  arguments: {
    collection: "users",
    documents: [
      { name: "John Doe", email: "john@example.com", age: 30 },
      { name: "Jane Smith", email: "jane@example.com", age: 25 }
    ]
  }
});

5. mongodb_update

更新 MongoDB 集合中的文档。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_update",
  arguments: {
    collection: "users",
    filter: { name: "John Doe" },
    update: { $set: { age: 31 } },
    many: false // 只更新一个文档(默认)| Update only one document (default)
  }
});

6. mongodb_delete

从 MongoDB 集合中删除文档。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_delete",
  arguments: {
    collection: "users",
    filter: { name: "John Doe" },
    many: false // 只删除一个文档(默认)| Delete only one document (default)
  }
});

7. mongodb_create_collection

在 MongoDB 中创建新的集合。

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_create_collection",
  arguments: {
    collection: "new_collection",
    options: { capped: true, size: 1000000 }
  }
});

特性 | 特性

  • 多种连接方法(URL、工作区、直接)
  • 同时支持 MySQL 和 MongoDB 数据库
  • 安全连接处理,自动清理
  • 支持 MySQL 查询参数的预处理语句
  • 两种数据库的模式管理工具
  • 全面的错误处理和验证
  • TypeScript 支持
  • 自动检测工作区

安全 | 安全

  • 使用预处理语句防止 MySQL 的 SQL 注入
  • 通过环境变量支持安全密码处理
  • 在执行前验证查询和操作
  • 完成后自动关闭连接

错误处理 | 错误处理

服务器提供了详细的错误消息,包括:

  • 连接失败
  • 无效查询或参数
  • 缺失配置
  • 数据库错误
  • 模式验证错误

贡献 | 贡献

欢迎贡献!请随时提交 Pull Request 至 https://github.com/yaoxiaolinglong/mcp-mongodb-mysql-server

致谢 | 致谢

本项目基于 enemyrr/mcp-mysql-server 开发,感谢原作者的贡献。

许可证 | 许可证

MIT