← 返回公开榜单
go

Zhwt/go-mcp-mysql

Zero burden, ready-to-use Model Context Protocol (MCP) server for interacting with MySQL and automation. No Node.js or Python environment needed.

本周新增
12 星
近 3 周倍数
—
距上次推送
291 天
距上次发布
598 天
许可证
MIT

星标增长

每根柱子是这个周期记录下来的 star 增长:优先取逐个 stargazer 到达时间分桶的到达数,还没被 stargazer 扫描覆盖的仓库改用该周期的 star 净增;两个写者都没记录的周期画成虚线空档,而不是当成 0。柱高按各自窗口的峰值归一,两张图不共用坐标轴。指向任意一根柱子, tooltip 里是该周期的九项指标:当前值与周期内的净增。

指向或点击一根柱子,看当天的九项指标。

12/1712/301/111/242/62/193/33/16

2026 年 3 月 16 日 新增 12 个星标

窗口内最高的一天是 2026 年 3 月 16 日,新增 12 个星标。

证据时间轴

这个项目还没有记录到异动、发布或许可证变化。

README
该仓库存储的文档,若已生成中文翻译则一并显示

go-mcp-mysql

概述

零负担、即用型模型上下文协议(MCP)服务器,用于与MySQL交互和自动化。无需Node.js或Python环境。该服务器提供在MySQL数据库和表上执行CRUD操作的工具,以及只读模式以防止意外写入操作。您还可以通过在执行查询前添加EXPLAIN语句,并使用--with-explain-check标志让MCP服务器检查查询计划。

请注意,这是一个进行中的项目,可能尚未准备好用于生产环境。

安装

  1. 获取最新版本并将其放入您的$PATH或易于访问的位置。

  2. 或者,如果您已安装Go,可以从源代码构建:

go install -v github.com/Zhwt/go-mcp-mysql@latest

使用

方法A:使用命令行参数

{
  "mcpServers": {
    "mysql": {
      "command": "go-mcp-mysql",
      "args": [
        "--host", "localhost",
        "--user", "root",
        "--pass", "password",
        "--port", "3306",
        "--db", "mydb"
      ]
    }
  }
}

方法B:使用带自定义选项的DSN

{
  "mcpServers": {
    "mysql": {
      "command": "go-mcp-mysql",
      "args": [
        "--dsn", "username:password@tcp(localhost:3306)/mydb?parseTime=true&loc=Local"
      ]
    }
  }
}

请参考MySQL DSN获取更多详细信息。

注意:对于将二进制文件放置在$PATH外的人,需要将go-mcp-mysql替换为二进制文件的完整路径:例如,如果您将二进制文件放在下载文件夹中,您可以使用以下路径:

{
  "mcpServers": {
    "mysql": {
      "command": "C:\\Users\\<username>\\Downloads\\go-mcp-mysql.exe",
      "args": [
        ...
      ]
    }
  }
}

可选标志

  • 添加--read-only标志以启用只读模式。在此模式下,仅提供以list、read_和desc_开头的工具。添加此标志后,请刷新/重启MCP服务器。
  • 默认情况下,CRUD查询将首先使用EXPLAIN ?语句执行以检查生成的查询计划是否与预期模式匹配。添加--with-explain-check标志以禁用此行为。

工具

模式工具

  1. list_database

    • 列出MySQL服务器中的所有数据库。
    • 参数:无
    • 返回:匹配的数据库名称列表。
  2. list_table

    • 列出MySQL服务器中的所有表。
    • 参数:
      • name:如果提供,列出指定名称的表,与SQL SHOW TABLES LIKE '%name%'相同。否则,列出所有表。
    • 返回:匹配的表名称列表。
  3. create_table

    • 在MySQL服务器中创建新表。
    • 参数:
      • query:创建表的SQL查询。
    • 返回:受影响的行数。
  4. alter_table

    • 修改MySQL服务器中的现有表。LLM被通知不要删除现有表或列。
    • 参数:
      • query:修改表的SQL查询。
    • 返回:受影响的行数。
  5. desc_table

    • 描述表的结构。
    • 参数:
      • name:要描述的表的名称。
    • 返回:表的结构。

数据工具

  1. read_query

    • 执行只读SQL查询。
    • 参数:
      • query:要执行的SQL查询。
    • 返回:查询结果。
  2. write_query

    • 执行写入SQL查询。
    • 参数:
      • query:要执行的SQL查询。
    • 返回:受影响的行数,最后插入ID:<last_insert_id>。
  3. update_query

    • 执行更新SQL查询。
    • 参数:
      • query:要执行的SQL查询。
    • 返回:受影响的行数。
  4. delete_query

    • 执行删除SQL查询。
    • 参数:
      • query:要执行的SQL查询。
    • 返回:受影响的行数。

许可证

MIT

页面上的每个数字都来自记录下来的 stargazer 到达时间,没有评分公式,也没有 AI 判定。 任何结论都可以用 /api/v1/repos/{id}/stats 里的原始增量自己重算。