Skip to main content
Glama

MySQL MCP Server

by yuki777

MySQL MCP 服务器

MySQL 模型上下文协议 (MCP) 服务器是一种工具,它允许您连接到本地 MySQL 数据库并允许大型语言模型 (LLM) 对其执行 SQL 查询。

要求

  • Node.js :20.0.0 或更高版本

  • MySQL :MySQL 或 MariaDB 服务器版本 5.7 或更高版本

Related MCP server: YugabyteDB MCP Server

功能

  • 运行 MySQL 查询:直接从 LLM 运行 SQL 查询

  • 获取数据库信息:数据库列表、表列表、确认表结构

  • 符合 MCP 规范:支持模型上下文协议,可与 LLM 集成

  • stdio 通信:使用标准输入/输出与 LLM 通信,无需端口绑定

  • 保存连接信息:将数据库连接信息保存在本地并重复使用

安装和使用

NPX 中的临时执行

npx -y https://github.com/yuki777/mysql-mcp-server --host 127.0.0.1 --port 13306 --user root

选项

选项

解释

默认值

-h, --host <host>

MySQL 主机

本地主机

-p, --port <port>

MySQL 端口

13306

-u, --user <user>

MySQL 用户

--password <password>

MySQL 密码

(空字符串)

-d, --database <database>

默认数据库

(选项)

-c, --config <path>

配置文件路径

(选项)

--auto-connect

服务器启动时自动连接数据库

错误的

--server-port <port>

MCP 服务器端口(在 stdio 模式下不使用)

3000

--server-host <host>

MCP 服务器主机(在 stdio 模式下不使用)

本地主机

--query-timeout <ms>

查询超时(毫秒)

30000

--max-results <count>

最大结果行数

1000

--debug

调试模式

错误的

保存并重复使用连接信息

MySQL MCP 服务器在本地存储已成功连接的数据库的信息。这允许在下次启动时自动重新使用连接信息。保存的连接信息存储在用户主目录中的.mysql-mcp-connections.json文件中。

连接信息包括:

  • 主机名

  • 端口号

  • 用户名

  • 密码

  • 数据库名称(如果设置)

使用配置文件

您还可以使用配置文件(JSON格式)配置连接信息:

{ "server": { "port": 3000, "host": "localhost" }, "mysql": { "host": "localhost", "port": 13306, "user": "root", "password": "yourpassword", "database": "mydb" }, "debug": false, "queryTimeout": 30000, "maxResultSize": 1000 }

如果您使用配置文件:

npx -y https://github.com/yuki777/mysql-mcp-server -c ./mysql-mcp-config.json

沟通方式

MySQL MCP 服务器以符合 MCP(模型上下文协议)的“stdio”模式运行。这使得它能够通过标准输入和输出进行通信,而不是绑定到特定端口。这具有以下优点:

  1. 避免端口冲突:不使用特定端口,因此不会发生端口冲突问题

  2. 提高安全性:不使用网络通信,降低网络级攻击的风险

  3. 简单的进程间通信:简化与 LLM 的通信

注意事项

  • 在 stdio 模式下,消息以 JSON 格式发送。

  • 必须每行发送一条 JSON 消息

  • 错误信息和连接日志输出到标准错误(stderr)。

提供的 MCP 工具

数据库连接管理

工具名称

解释

必需参数

连接数据库

连接到数据库

主机、端口、用户

断开数据库连接

断开当前数据库连接

没有任何

获取连接状态

获取数据库连接的状态

没有任何

SQL查询操作

工具名称

解释

必需参数

执行查询

运行 MySQL 查询

查询:SQL语句

获取数据库

获取可用数据库的列表

没有任何

获取表

获取指定数据库中的表列表。

数据库(可选)

描述表

获取指定表的结构。

桌子

连接管理功能

MySQL MCP Server 允许您分离服务器启动和数据库连接。这种方法具有以下好处:

  1. 无需连接信息即可启动:无需数据库连接信息即可启动服务器。

  2. 多数据库连接:服务器启动后,可以切换到不同的数据库连接。

  3. 简单安装:只需运行npx -y https://github.com/yuki777/mysql-mcp-server

如何使用连接管理

  1. 启动服务器但不自动连接

    npx -y https://github.com/yuki777/mysql-mcp-server
  2. 使用连接工具连接数据库

    { "type": "tool_call", "request_id": "req_1", "tool": "connect_database", "arguments": { "host": "localhost", "port": 3306, "user": "root", "password": "your_password", "database": "your_db" } }
  3. 检查您的连接状态

    { "type": "tool_call", "request_id": "req_2", "tool": "get_connection_status", "arguments": {} }
  4. 连接丢失

    { "type": "tool_call", "request_id": "req_3", "tool": "disconnect_database", "arguments": {} }

测试脚本

该存储库包含一个名为test-connection-management.js的测试脚本。您可以使用此脚本来测试连接管理功能:

node test-connection-management.js

开发者信息

设置开发环境

# リポジトリのクローン git clone [repository-url] cd mysql-mcp-server # 依存関係のインストール npm install # 開発モードでの実行 npm run dev

建造

npm run build

执照

国际学习中心

贡献

欢迎报告错误、功能请求和拉取请求。

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yuki777/mysql-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server