使用说明
MySQL MCP服务器
MySQL Model Context Protocol(MCP)服务器是本地环境的MySQL连接到数据库SQL一种允许查询的工具。
要件
- Node.js: 20.0.0以上
- MySQL:5.7或更高MySQL在工作空间的边缘MariaDB服务器
机能
- MySQL执行查询: LLM从…开始SQL直接查询
- 获取数据库信息:检查数据库列表、表列表和表结构
- MCP準拠: Model Context Protocol 中所述修改相应参数的值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端口㏺
| -u, --user <user> | MySQL用户|root |
| --password <password> | MySQL密码|(空字符)|
| -d, --database <database> 默认数据库(可选)
| -c, --config <path> 设置文件路径(可选)
| --auto-connect 服务器启动时自动连接到数据库false |
| --server-port <port> | MCP服务器端口(在stdio模式下不使用)\u0026#3000\u0026#
| --server-host <host> | MCP服务器主机(在stdio模式下不使用)localhost |
| --query-timeout <ms> 查询超时(毫秒)
| --max-results <count> |最大结果行数| 1000 |
| --debug 调试模式false |
保存和重用连接信息
MySQL MCP Server本地保存已成功连接的数据库的信息。这将在下次启动时自动重用连接信息。保存的连接信息位于用户的主目录中 .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 Server表示MCP (Model Context Protocol) 而需要与环境混合的每条反射光线,进行环境采样。这样就不会绑定到特定的端口,而是通过标准输入输出进行通信。它具有以下优点:
- 避免端口冲突:不使用特定端口,因此不会出现端口冲突问题
- 提高了安全性:不使用网络通信,降低了网络级攻击风险
- 简化的进程间通信: LLM简化通信
注意点
- stdio在模式下JSON交换形式的信息
- 一行一个JSON需要发送消息
- 错误信息和连接日志输出到标准错误
提供MCP工具
数据库连接管理
工具名称|说明|必需参数| |---------|------|-------------| | connect_database | 连接到数据库host, port, user | | disconnect_database | 断开当前数据库连接|无| | get_connection_status | 获取数据库连接状态|无|
SQL查询操作
工具名称|说明|必需参数| |---------|------|-------------| | execute_query | MySQL执行查询query: SQL语句 | get_databases | 获取可用数据库的列表|无| | get_tables | 获取指定数据库中的表列表database (可选) | describe_table | 获取指定表的结构table |
接続管理机能
MySQL MCP Server将条目添加到文档注册表。此方法具有以下优点:
- 无连接信息启动:即使没有数据库连接信息,服务器也可以启动
- 连接到多个数据库:服务器启动后,可以切换到不同的数据库连接
- 简单安装:
npx -y https://github.com/yuki777/mysql-mcp-server仅可执行
使用连接管理
-
启动服务器而无需自动连接:
npx -y https://github.com/yuki777/mysql-mcp-server -
使用连接工具连接到数据库:
{ "type": "tool_call", "request_id": "req_1", "tool": "connect_database", "arguments": { "host": "localhost", "port": 3306, "user": "root", "password": "your_password", "database": "your_db" } } -
确认连接状态:
{ "type": "tool_call", "request_id": "req_2", "tool": "get_connection_status", "arguments": {} } -
断开连接:
{ "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
许可证
国际协调委员会
貢献
欢迎错误报告、功能请求和拉式请求。