Kiro 配置 MySQL MCP Server 通用教程

Kiro 配置 MySQL MCP Server 通用教程

一、什么是 MCP

MCP(Model Context Protocol)是 Kiro 扩展能力的机制,允许 AI 通过 MCP Server 直接访问外部服务(如数据库、API等)。配置 MySQL MCP Server 后,Kiro 可以在对话中直接执行 SQL 查询。


二、前置条件

1. 安装 uv(Python 包管理器)

uv 提供 uvx 命令,用于下载和运行 MCP Server。

bash 复制代码
pip install uv

安装完成后验证:

bash 复制代码
uv --version

参考:uv 安装指南

2. 预装 MCP Server 包(推荐)

为避免运行时下载超时或权限问题,建议提前安装:

bash 复制代码
uv tool install mcp-server-mysql

国内网络需指定镜像源:

bash 复制代码
uv tool install mcp-server-mysql --index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装成功后会提示可执行文件路径,例如:

  • Windows: C:\Users\<用户名>\.local\bin\mcp-server-mysql.exe
  • macOS/Linux: ~/.local/bin/mcp-server-mysql

注:

博客:

https://blog.csdn.net/badao_liumang_qizhi

三、配置文件

配置文件路径

级别 路径 作用域
工作区级 <项目>/.kiro/settings/mcp.json 仅当前项目
用户级 ~/.kiro/settings/mcp.json 所有项目共享

优先级:工作区配置 > 用户级配置

配置文件示例

方式一:使用 uvx 动态运行(简洁,需网络)

json 复制代码
{
  "mcpServers": {
    "mysql": {
      "command": "uvx",
      "args": ["mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

方式二:使用预装好的可执行文件路径(推荐,无需网络)

json 复制代码
{
  "mcpServers": {
    "mysql": {
      "command": "C:\\Users\\<用户名>\\.local\\bin\\mcp-server-mysql.exe",
      "args": [],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

配置字段说明

字段 说明
command MCP Server 启动命令,可以是 uvx 或可执行文件的完整路径
args 命令参数,用 uvx 时填包名 ["mcp-server-mysql"],直接路径时填 []
env.MYSQL_HOST 数据库地址
env.MYSQL_PORT 数据库端口,默认 3306
env.MYSQL_USER 数据库用户名
env.MYSQL_PASSWORD 数据库密码
env.MYSQL_DATABASE 要连接的数据库名
disabled 是否禁用,false 为启用
autoApprove 免确认自动执行的工具名列表,空数组表示每次需确认

四、连接生效

配置文件保存后,有两种方式让 Kiro 加载:

  1. 自动检测:Kiro 会自动检测配置变更并重连
  2. 手动重连Ctrl+Shift+P → 搜索 MCP → 选择重新连接 MCP 服务器

连接状态可在 Kiro 功能面板的 MCP Server 视图中查看。


五、使用方式

连接成功后,直接在对话中让 Kiro 执行 SQL:

复制代码
请执行:SELECT * FROM users LIMIT 10;

Kiro 会调用 MCP 工具执行查询并返回结果。


六、常见问题排查

问题1:'uvx' 不是内部或外部命令

日志特征

复制代码
'uvx' 不是内部或外部命令,也不是可运行的程序或批处理文件

原因uvx.exe 所在目录未加入系统 PATH。

解决方案(二选一):

  • 方案A:将 command 改为 uvx.exe 的完整路径
  • 方案B:将 Python Scripts 目录加入系统 PATH 环境变量

查找 uvx 路径:

bash 复制代码
python -c "import sysconfig; print(sysconfig.get_path('scripts', 'nt_user'))"

问题2:下载包超时(pypi.org 不可访问)

日志特征

复制代码
Failed to fetch: https://pypi.org/simple/mcp-server-mysql/
Caused by: operation timed out

原因:国内网络无法访问 PyPI 官方源。

解决方案 :在 env 中添加国内镜像配置:

json 复制代码
"env": {
  "MYSQL_HOST": "localhost",
  "MYSQL_PORT": "3306",
  "MYSQL_USER": "root",
  "MYSQL_PASSWORD": "your_password",
  "MYSQL_DATABASE": "your_database",
  "UV_INDEX_URL": "https://pypi.tuna.tsinghua.edu.cn/simple"
}

或者用方式二(预装后直接指定路径),彻底绕过运行时下载。


问题3:pywin32 安装权限拒绝(Windows)

日志特征

复制代码
Failed to install: pywin32-xxx.whl
Caused by: 拒绝访问。 (os error -2147024891)

原因uvx 在临时目录创建可执行文件时被系统权限拦截。

解决方案

  1. 使用管理员权限终端预装:uv tool install mcp-server-mysql
  2. 然后配置中 command 直接指向安装好的可执行文件路径

问题4:数据库连接被拒

可能原因

  • 数据库地址/端口不对
  • 用户名密码错误
  • 数据库服务器未开放远程连接
  • 需要 VPN 才能访问内网数据库

排查:先在本机用其他工具(如 mysql 命令行、Navicat)测试能否连接。


七、安全建议

  1. 使用只读账号:避免 AI 误执行 DELETE/UPDATE 等危险操作
  2. 不要提交密码到 Git :将 .kiro/settings/mcp.json 加入 .gitignore
  3. autoApprove 谨慎配置:留空意味着每次 SQL 执行前需要确认,更安全
  4. 测试环境优先:先在测试库验证,确认无误再切换生产库

八、完整配置流程速查

复制代码
1. pip install uv
2. uv tool install mcp-server-mysql --index-url https://pypi.tuna.tsinghua.edu.cn/simple
3. 创建 .kiro/settings/mcp.json,填入数据库连接信息
4. command 使用预装好的可执行文件完整路径
5. Ctrl+Shift+P → MCP → 重新连接
6. MCP Server 视图确认状态为 "已连接"
7. 在对话中直接让 Kiro 执行 SQL
相关推荐
张洛闻Eren8 小时前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
Danny转行做跨境9 小时前
亚马逊选品插件推荐: 免费额度与各档位成本拆解
跨境电商·mcp·sorftime
布莱克6059 小时前
理解索引:从概念到实践
数据库·mysql
g105655913912 小时前
LAMP博客平台Wordpress实战
android·mysql·nginx·php
我不是疯子是傻子12 小时前
Qt CAN通信周期发送抖动?实测定时器精度校准与时间戳补偿方案
开发语言·数据库·qt
这个DBA有点耶13 小时前
数据库迁移怎么做到“零翻车“:金仓 KDMS/KDTS/KFS 工具链实测
数据库·架构·dba
2501_9378609413 小时前
MySQL联合查询(多表查询)
数据库·mysql
名字还没想好☜14 小时前
Next.js 用 Server Components 直连数据库:去掉 API 层的边界,和三条别踩的安全红线
前端·javascript·数据库·安全·react·next.js
迷迭香yy14 小时前
行业板块轮动因子实战从板块资金到因子建模的本地化Python全流程
数据库·人工智能·python
SelectDB15 小时前
抖音集团 实时数据仓库:Apache Doris / SelectDB 的技术能力与实践
数据库