Skip to main content

MCP server for MySQL (read-only, database-scoped)

Project description

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

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

  • 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
  • 隐私:推断时不回传文件路径/内容;如需证据仅返回脱敏统计

在 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 客户端中调用)

  • 先调用 list_databases 查看可访问库
  • 再调用 infer_database 自动推断当前项目使用的库(默认仅返回 { db }
  • 随后调用 list_tables / select_rows(不传 db 时将使用推断库;如有歧义请显式传入 db

版本与许可证

  • 版本遵循语义化版本(SemVer)
  • 许可证:MIT(详见包内 LICENSE)

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

yooztech_mcp_mysql-0.1.2.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yooztech_mcp_mysql-0.1.2-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file yooztech_mcp_mysql-0.1.2.tar.gz.

File metadata

  • Download URL: yooztech_mcp_mysql-0.1.2.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.7

File hashes

Hashes for yooztech_mcp_mysql-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fbd0796e6b5d02a2e355f8a60c56fa4fed65cf129c004f56421b4c8552e705ed
MD5 949d573b1a8bfafdd4f0b382da38e4aa
BLAKE2b-256 980e65ff9f36bdd0f3fcb8e59ba07a2b35033c7c0b7173b1a306d323e5b4f9f7

See more details on using hashes here.

File details

Details for the file yooztech_mcp_mysql-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for yooztech_mcp_mysql-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d9457c45f84c3224baafb963973aa96402a207c61ea4ea800b8da5ea8e6813dd
MD5 1b128e37261e4080ac6c01dc730fe971
BLAKE2b-256 d523fc1fee40af32619ba96130405a3caf86c531db8c2a2ed7d283024d58cc2d

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