Skip to main content
Glama
yooztech

yooztech_mcp_mysql

Official
by yooztech

yooztech_mcp_mysql —— 基于 MCP 的 MySQL 工具(只读、安全、支持库推断)

该 MCP 服务器在 MCP 客户端中提供安全的 MySQL 读取能力:

  • connect_project_database(project_root):识别项目类型,直接读取项目数据库配置并建立连接;凭据不会返回给 AI

  • list_databases():列出当前账号可访问的非系统库

  • infer_database(project_root=None, include_evidence=false):根据项目内容推断库名(默认仅返回 { db },可选返回最小化证据统计,不含文件路径/内容)

  • list_tables(db=None):列出库内表(未传 db 时使用已推断库或自动选择)

  • get_table_schema(table, db=None):获取表结构(列定义、主键、索引、表注释)

  • select_rows(table, db=None, columns=None, where=None, order_by=None, limit=100):从库表安全查询

安全设计

  • 表/列白名单:从 information_schema 动态获取并校验

  • 参数化查询:拒绝拼接与多语句

  • 限流:默认 LIMIT 100,最大 LIMIT 1000

  • 隐私:推断时不回传文件路径/内容;如需证据仅返回脱敏统计

  • 凭据隔离:项目配置只在 MCP 进程内部读取,工具响应仅包含连接状态、项目类型和数据库名

在 Cursor 中配置

在 Cursor 的设置中添加 MCP Server,示例(仅示意,不包含本地路径):

{
  "mcpServers": {
    "yooztech_mcp_mysql": {
      "command": "yooztech_mcp_mysql",
      "args": [],
      "env": {
        "DB_HOST": "127.0.0.1",
        "DB_PORT": "3306",
        "DB_USER": "mcp_tool",
        "DB_PASS": "<your-strong-pass>"
      }
    }
  }
}

说明:

  • 以上配置假设你已通过包管理器安装本工具(例如 pip install yooztech_mcp_mysql),从而可直接使用控制台脚本 yooztech_mcp_mysql

  • 若使用其他运行方式(如 uvx/容器),仅需将 commandargs 改为相应启动方式即可,但不要在 README 中暴露你的本地路径。

使用 uvx 方式(推荐,免安装)

如希望在不全局安装包的情况下运行,可在 Cursor 中使用 uvx

{
  "mcpServers": {
    "yooztech_mcp_mysql": {
      "command": "uvx",
      "args": ["yooztech_mcp_mysql"],
      "env": {
        "DB_HOST": "127.0.0.1",
        "DB_PORT": "3306",
        "DB_USER": "mcp_tool",
        "DB_PASS": "<your-strong-pass>"
      }
    }
  }
}

提示:确保系统已安装 uv/uvx。企业私有镜像可通过 UV_INDEX/--index-url 进行加速配置。

环境变量

  • DB_HOST:数据库地址

  • DB_PORT:数据库端口

  • DB_USER:数据库只读账号(最小权限)

  • DB_PASS:数据库密码

推荐在数据库中为该工具创建最小权限账号(示例):

CREATE USER 'mcp_tool'@'10.0.%' IDENTIFIED BY '<your-strong-pass>';
GRANT SELECT ON *.* TO 'mcp_tool'@'10.0.%';
FLUSH PRIVILEGES;

如需进一步收紧权限,可按库或表粒度授予 SELECT

使用建议(在 MCP 客户端中调用)

  • 如项目自带数据库配置,先调用 connect_project_database(project_root);支持常见 Laravel、Spring、Django、Rails、Node 和通用 .env 配置

  • 先调用 list_databases 查看可访问库

  • 再调用 infer_database 自动推断当前项目使用的库(默认仅返回 { db }

  • 随后调用 list_tables / select_rows(不传 db 时将使用推断库;如有歧义请显式传入 db

版本与许可证

  • 版本遵循语义化版本(SemVer)

  • 许可证:MIT(详见包内 LICENSE)

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables read-only access to MySQL databases through natural language queries. Provides automatic table schema discovery and executes SELECT, SHOW, DESCRIBE, and EXPLAIN statements within secure read-only transactions.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to safely query MySQL databases with read-only access, featuring SQL injection protection, connection pooling, and automatic query limits for secure database exploration.
    4
    37 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables safe interaction with MySQL databases through SELECT queries, table structure inspection, and database schema exploration. Provides read-only access to query data and examine database metadata.
    1
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables read-only MySQL database access, allowing listing databases, tables, describing schemas, and executing SELECT/SHOW/DESCRIBE/EXPLAIN queries.
    7
    45 npm
    4
    MIT