Token导航 LogoToken导航TokenDH.com
Go Mysql MCP Server logo
数据服务stdio官方级别未说明来源级核验

Go Mysql MCP Server

MCP Server

一个为AI代理提供直接访问MySQL数据库的模型上下文协议(MCP)服务器,支持查询、搜索和分析数据库内容。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
数据分析GoClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SagenKoder

提供方

SagenKoder

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -i --rm \

详细介绍

MySQL MCP服务器

一种模型上下文协议(MCP)服务器,为AI代理提供对MySQL数据库的直接访问。该服务器使AI模型能够通过一组定义良好的工具查询、搜索和分析MySQL数据库内容。

特性

  • 模式探索 -列出所有带分页的架构/数据库
  • 表发现 -浏览任何具有详细元数据的架构中的表
  • 结构检查 -获取列定义、类型和索引
  • 安全查询 -执行带有自动结果限制的SELECT查询
  • 全文搜索 -在表中的所有文本列中搜索值
  • DDL检索 -获取任何表的CREATE TABLE语句

Docker快速入门

使用Docker运行(推荐)

运行MySQL MCP服务器最简单的方法是使用Docker:

# Pull the latest image (stdio mode by default)
docker pull ghcr.io/sagenkoder/go-mysql-mcp-server:latest

# Or pull a specific mode
docker pull ghcr.io/sagenkoder/go-mysql-mcp-server:stdio
docker pull ghcr.io/sagenkoder/go-mysql-mcp-server:http
docker pull ghcr.io/sagenkoder/go-mysql-mcp-server:interactive

Docker使用示例

标准模式(适用于克劳德桌面)

# Connect to MySQL on host machine
docker run -i --rm \
  --network host \
  -e MYSQL_HOST=localhost \
  -e MYSQL_USER=your_user \
  -e MYSQL_PASSWORD=your_password \
  -e MYSQL_DATABASE=your_database \
  ghcr.io/sagenkoder/go-mysql-mcp-server:stdio

HTTP服务器模式

# Run HTTP server on port 8080
docker run -d \
  --name mysql-mcp-http \
  --network host \
  -p 8080:8080 \
  -e MYSQL_HOST=localhost \
  -e MYSQL_USER=your_user \
  -e MYSQL_PASSWORD=your_password \
  ghcr.io/sagenkoder/go-mysql-mcp-server:http

交互模式(用于测试)

# Run in interactive mode
docker run -it --rm \
  --network host \
  -e MYSQL_HOST=localhost \
  -e MYSQL_USER=your_user \
  -e MYSQL_PASSWORD=your_password \
  ghcr.io/sagenkoder/go-mysql-mcp-server:interactive

在Docker中连接MySQL

如果你的MySQL也在Docker中运行,请使用Docker网络:

# Create a network
docker network create myapp

# Run MySQL (example)
docker run -d \
  --name mysql \
  --network myapp \
  -e MYSQL_ROOT_PASSWORD=rootpass \
  -e MYSQL_DATABASE=mydb \
  mysql:8

# Run MCP server
docker run -i --rm \
  --network myapp \
  -e MYSQL_HOST=mysql \
  -e MYSQL_USER=root \
  -e MYSQL_PASSWORD=rootpass \
  -e MYSQL_DATABASE=mydb \
  ghcr.io/sagenkoder/go-mysql-mcp-server:stdio

Claude桌面配置

在Claude Desktop中使用Docker

将此添加到您的Claude Desktop配置文件中:

{
  "mcpServers": {
    "mysql": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "--network", "host",
        "-e", "MYSQL_HOST=localhost",
        "-e", "MYSQL_USER=your_user",
        "-e", "MYSQL_PASSWORD=your_password",
        "-e", "MYSQL_DATABASE=your_database",
        "ghcr.io/sagenkoder/go-mysql-mcp-server:stdio"
      ]
    }
  }
}

使用二进制与克劳德桌面

如果你更喜欢直接使用二进制文件:

{
  "mcpServers": {
    "mysql": {
      "command": "/path/to/mysql-mcp-stdio",
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_user",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

从源头构建

先决条件

  • 转到1.23或更高版本
  • Docker(可选,用于构建Docker镜像)

构建步骤

# Clone the repository
git clone https://github.com/sagenkoder/go-mysql-mcp-server.git
cd go-mysql-mcp-server

# Build all binaries
./build.sh

# Build Docker images
./build.sh docker

这将创建:

  • 二进制:

- mysql-mcp-stdio -用于基于stdio的MCP通信 - mysql-mcp-http -HTTP服务器模式 - mysql-mcp-interactive -用于测试的交互式CLI模式

  • Docker镜像:

- ghcr.io/sagenkoder/go-mysql-mcp-server:stdio (也标记为 mysql-mcp:latest) - ghcr.io/sagenkoder/go-mysql-mcp-server:http - ghcr.io/sagenkoder/go-mysql-mcp-server:interactive

配置

服务器使用以下环境变量连接到MySQL:

  • MYSQL_HOST -MySQL服务器主机名(默认:localhost)
  • MYSQL_PORT -MySQL服务器端口(默认:3306)
  • MYSQL_USER -MySQL用户名(默认:root)
  • MYSQL_PASSWORD -MySQL密码(必填)
  • MYSQL_DATABASE -默认数据库(可选)

可用工具

list_schemas

列出MySQL服务器中可用的所有模式/数据库。

参数:

  • page (可选):分页页码(默认值:1)
  • page_size (可选):每页项目数(默认值:20,最大值:100)

list_tables

使用元数据列出特定架构中的所有表。

参数:

  • schema (必需):架构/数据库名称
  • page (可选):分页页码
  • page_size (可选):每页项目数

get_table_structure

获取表的详细列和索引信息。

参数:

  • schema (必需):架构/数据库名称
  • table (必填):表名

get_table_create

获取特定表的CREATE TABLE语句。

参数:

  • schema (必需):架构/数据库名称
  • table (必填):表名

execute_query

执行SQL查询(仅限SELECT、SHOW、DESCRIBE、EXPLAIN)。

参数:

  • query (必填):要执行的SQL查询
  • limit (可选):要返回的最大行数(默认值:100)

搜索表

在表中的所有文本列中搜索值。

参数:

  • schema (必需):架构/数据库名称
  • table (必填):表名
  • search_term (必填):要搜索的术语
  • limit (可选):要返回的最大行数(默认值:100)

测试连接

使用交互模式测试您的连接:

# With Docker
docker run -it --rm \
  --network host \
  -e MYSQL_HOST=localhost \
  -e MYSQL_USER=test \
  -e MYSQL_PASSWORD=test \
  ghcr.io/sagenkoder/go-mysql-mcp-server:interactive

# With binary
MYSQL_USER=test MYSQL_PASSWORD=test ./mysql-mcp-interactive

安全考虑

  • 只允许使用SELECT、SHOW、DESCRIBE和EXPLAIN查询
  • 所有查询都会自动限制,以防止出现大型结果集
  • 表搜索仅扫描基于文本的列
  • 连接详细信息应作为环境变量安全存储
  • 为了安全起见,Docker镜像以非root用户身份运行

故障排除

连接问题

  • 确保MySQL正在运行且可访问
  • 检查MySQL用户是否具有适当的权限
  • 使用Docker时,验证网络连接(--network host 本地MySQL)
  • 首先使用mysql CLI客户端进行测试: mysql -h localhost -u user -p

Docker网络问题

  • 使用 --network host 连接到主机上的MySQL
  • 对于Docker中的MySQL,创建一个共享网络并使用容器名称作为主机名
  • 如果连接到远程MySQL,请检查防火墙规则

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

目录标签

目录标签

数据分析GoClaude数据库访问本地部署AI工具MySQL管理数据查询数据库搜索

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP