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
相关推荐
Omics Pro9 小时前
Cell封面|衰老生物学开源AI工具包
数据库·人工智能·算法·机器学习·自然语言处理
FYKJ_201010 小时前
springboot雅集社区养老管理系统04456-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
FYKJ_201010 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
javascript·vue.js·spring boot·mysql·typescript·spark·express
FYKJ_201011 小时前
springboot羽毛球场地管理系统00626-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
FYKJ_201011 小时前
django药饮个性化推荐系统54839-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
code_Bo17 小时前
多 Agent 协作最大的坑不是模型,是失忆
ai编程·cursor·mcp
IT枫斗者枫哥17 小时前
MyBatis一对多分页:LIMIT 20,为什么凑不齐20个订单?
java·数据库
Flynt17 小时前
"MySQL搜不动就上ES"?我先在50万行数据上测了它自带的ngram全文索引
mysql·elasticsearch·搜索引擎
Y0017 小时前
PostgreSQL 的锁:为什么你的 ALTER TABLE 会卡住,以及怎么查
数据库·postgresql