返回市场
go-mcp-mysql服务器

go-mcp-mysql服务器

作者:stridentdisc17 星标更新:2025-04-21

项目介绍

核心能力

产品定位

go-mcp-mysql 是一个用于与 MySQL 数据库交互并自动化的 MCP 服务器,支持 CRUD 操作和只读模式。

核心特性

  1. CRUD 操作:支持对 MySQL 数据库和表进行创建、读取、更新和删除操作。
  2. 只读模式:通过 --read-only 标志启用,仅允许以 listread_desc_ 前缀的工具执行。
  3. 查询计划检查:通过 --with-explain-check 标志启用,使用 EXPLAIN 语句在执行查询之前检查查询计划。
  4. 多种连接方式:支持通过命令行参数或 DSN 连接到 MySQL 数据库。

使用场景

  1. 数据库管理:自动化 MySQL 数据库的 CRUD 操作。
  2. 数据查询:执行只读查询以检索数据库信息。
  3. 开发测试:在开发环境中快速测试数据库操作。

工具列表

架构工具

  1. list_database:列出 MySQL 服务器中的所有数据库。
  2. list_table:列出 MySQL 服务器中的所有表。
  3. create_table:在 MySQL 服务器中创建新表。
  4. alter_table:修改 MySQL 服务器中的现有表。
  5. desc_table:描述表的结构。

数据工具

  1. read_query:执行只读 SQL 查询。
  2. write_query:执行写入 SQL 查询。
  3. update_query:执行更新 SQL 查询。
  4. delete_query:执行删除 SQL 查询。

常见问题

  1. 如何启用只读模式?:添加 --read-only 标志并重新启动 MCP 服务器。
  2. 如何禁用查询计划检查?:添加 --with-explain-check 标志。
  3. 如何通过 DSN 连接?:参考 MySQL DSN 文档。

教程

依赖项

  1. 确保已安装 Go(如果从源代码构建)。

安装指南

  1. release 下载最新版本,并将其放置在 $PATH 中。
  2. 或者使用 Go 从源代码构建:
go install -v github.com/stridentdisc/go-mcp-mysql@latest

调试方法

  1. 通过命令行参数运行:
{
  "mcpServers": {
    "mysql": {
      "command": "go-mcp-mysql",
      "args": [
        "--host", "localhost",
        "--user", "root",
        "--pass", "password",
        "--port", "3306",
        "--db", "mydb"
      ]
    }
  }
}
  1. 或者通过 DSN 运行:
{
  "mcpServers": {
    "mysql": {
      "command": "go-mcp-mysql",
      "args": [
        "--dsn", "username:password@tcp(localhost:3306)/mydb?parseTime=true&loc=Local"
      ]
    }
  }
}