
1. 为什么我要把 MySQL 接给 AI 直查先说清楚这篇要解决的事MySQL MCP Server 是一个把本地或远程 MySQL 数据库包装成 MCP 协议工具的服务装好之后Claude、Cursor、VS Code 里的 AI 助手就能直接执行 SQL、读表结构、拉样本数据不用你手动复制粘贴结果。它适合后端开发、数据分析、运维排查这几类人尤其是天天在数据库客户端和聊天窗口之间来回切的人。我之前的真实流程是这样的Navicat 里写好 SQL跑出结果复制切到 AI 对话框粘贴再描述需求等它分析。一次两次还行一天几十次就很烦。更麻烦的是我同时在用 Claude Desktop、Cursor 和 VS Code 里的 AI 插件每个工具都要单独配一遍数据库连接信息Key 和密码散落在四五个配置文件里改一次密码要挨个找。MCPModel Context Protocol本质上是 AI 和外部工具之间的协议层。没有它AI 只能聊天有了它AI 能调用工具去操作数据库、读文件、发请求。MySQL MCP Server 就是专门做数据库这一块的实现它把 execute_sql、get_schema_info、get_table_sample 这些能力暴露给 AI。这篇的路线是环境准备 → 装 MySQL MCP Server → 用 TaoToken 统一 Key 接入 → 在 AI 工具里验证直查数据库。目标是一次配置多个 AI 工具复用同一套 Key 和连接信息不用每个工具重复填。2. TaoToken 前置统一 Key 解决多工具分散配置多工具场景下最烦的不是装 MCP Server而是每个 AI 工具都要单独填一遍 API Key、Base URL、模型名。Claude Desktop 一套、Cursor 一套、VS Code 插件又一套改一次要翻三个配置文件。TaoToken 在这里的作用是提供一个统一的 API 入口和 Key 管理。你注册后在控制台创建一个 Key所有支持自定义 Base URL 的 AI 工具都填同一个 Key 和同一个 API 地址模型切换也在服务端做客户端不用改。具体操作路径先去官网注册账号https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content注册完进控制台创建 API Keyhttps://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentKey 创建页面在这里https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI 基础地址是https://taotoken.net/api这个不加 UTM直接填到工具的 Base URL 里如果你用的是 Claude Code 这类编码工具接入文档在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentClaude Code 专用接入页https://taotoken.net/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content长期做编码和 Agent 任务的可以看 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content想先验证模型通不通用模型对话页面测一下https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content注意TaoToken 的 Key 是给 AI 工具调用模型用的MySQL MCP Server 的数据库账号密码是另一套东西两者不要混。MCP Server 连数据库用的是 MySQL 自己的用户名密码TaoToken Key 是 AI 工具连模型服务用的。3. 可复制配置MySQL MCP Server 安装与接入3.1 环境检查Python 版本必须 3.11这是硬性要求。低于这个版本装依赖会直接报错。python --version # 期望输出Python 3.12.x 或更高 pip --version # 期望输出pip 24.x.x git --version # 期望输出git version 2.x.x如果 Python 低于 3.11先去 python.org 升级别往下走浪费时间。3.2 克隆代码并创建虚拟环境mkdir D:\project\mcp\mysql-mcp-server cd D:\project\mcp\mysql-mcp-server git clone https://github.com/designcomputer/mysql_mcp_server.git . python -m venv .venv # Windows PowerShell .\.venv\Scripts\Activate.ps1 # Windows CMD # .\.venv\Scripts\activate.bat # Linux / macOS # source .venv/bin/activate激活成功后终端前面会出现(.venv)前缀。3.3 安装依赖pip install -e .验证安装pip show mysql-mcp-server能看到Version: 0.3.1就说明装好了。3.4 配置数据库连接在项目根目录创建.env文件MYSQL_HOST127.0.0.1 MYSQL_PORT3306 MYSQL_USERmcp_readonly MYSQL_PASSWORD你的强密码 MYSQL_DATABASEyour_database MYSQL_USE_PUREtrueMYSQL_USE_PUREtrue在 Windows 下必须加否则会报 C Extension 缺失。这是纯 Python 模式性能略低但稳定。3.5 创建只读数据库用户生产库绝对不要用 root 连 MCP。在 MySQL 里执行CREATE USER IF NOT EXISTS mcp_readonly% IDENTIFIED BY 强密码12位以上; GRANT SELECT ON your_database.* TO mcp_readonly%; GRANT SHOW DATABASES ON *.* TO mcp_readonly%; GRANT PROCESS ON *.* TO mcp_readonly%; FLUSH PRIVILEGES; SELECT user, host FROM mysql.user WHERE user mcp_readonly; SHOW GRANTS FOR mcp_readonly%;3.6 接入 AI 工具以 Claude Desktop 为例配置文件位置系统路径Windows%APPDATA%\Claude\claude_desktop_config.jsonmacOS~/Library/Application Support/Claude/claude_desktop_config.jsonLinux~/.config/Claude/claude_desktop_config.json配置内容{ mcpServers: { mysql: { command: D:\\project\\mcp\\mysql-mcp-server\\.venv\\Scripts\\python.exe, args: [-m, mysql_mcp_server], env: { MYSQL_HOST: 127.0.0.1, MYSQL_PORT: 3306, MYSQL_USER: mcp_readonly, MYSQL_PASSWORD: 你的强密码, MYSQL_DATABASE: your_database, MYSQL_USE_PURE: true } } } }VS Code 的mcp.json写法略有不同{ mcpServers: { mysql: { type: stdio, command: uvx, args: [--from, mysql-mcp-server, mysql_mcp_server], env: { MYSQL_HOST: 127.0.0.1, MYSQL_PORT: 3306, MYSQL_USER: mcp_readonly, MYSQL_PASSWORD: 你的强密码, MYSQL_DATABASE: your_database } } } }3.7 TaoToken Key 填入 AI 工具以 Cursor 为例在设置里找到模型配置{ openai.apiKey: 你的TaoToken Key, openai.baseUrl: https://taotoken.net/api }Claude Code 的接入方式参考文档页填同一个 Key 和 Base URL。这样三个工具共用一套 Key改一次全生效。4. 验证请求AI 直查数据库成功结果4.1 命令行先跑通cd D:\project\mcp\mysql-mcp-server .\.venv\Scripts\Activate.ps1 $env:MYSQL_HOST127.0.0.1 $env:MYSQL_PORT3306 $env:MYSQL_USERmcp_readonly $env:MYSQL_PASSWORD你的强密码 $env:MYSQL_DATABASEyour_database $env:MYSQL_USE_PUREtrue .\.venv\Scripts\python.exe -m mysql_mcp_server看到这行日志就说明服务起来了INFO - Starting MySQL MCP server (STDIO)...4.2 在 AI 工具里验证重启 Claude Desktop 或 Cursor在对话框里输入帮我查一下 your_database 里有哪些表AI 会调用get_schema_info或execute_sql返回表列表。再试一个查一下 users 表的前 5 条数据AI 调用get_table_sample返回样本数据。如果这两个动作都成功说明 MCP Server 和 AI 工具已经打通。4.3 验证 TaoToken 模型调用在同一个对话框里问一个需要推理的问题根据 users 表结构帮我写一个查询最近 7 天注册用户的 SQLAI 先读表结构再生成 SQL再执行验证。这一串动作能跑完说明模型调用走 TaoToken和 MCP 工具调用走本地 Server都正常。5. 本篇常见错排查5.1 ImportError: MySQL Connector/Python C Extension not available原因Windows 下 C 扩展缺失。解决在 env 里加MYSQL_USE_PURE: true。5.2 Authentication plugin caching_sha2_password cannot be loaded原因MySQL 8.0 默认认证方式旧版 Connector 不支持。解决pip install --upgrade mysql-connector-python或者在 MySQL 里改认证方式ALTER USER mcp_readonly% IDENTIFIED WITH mysql_native_password BY 强密码; FLUSH PRIVILEGES;5.3 Cant connect to MySQL server (2003)排查顺序# 测试端口连通性 Test-NetConnection -ComputerName 127.0.0.1 -Port 3306检查 MySQL 服务是否启动、防火墙是否放行 3306、bind-address是否限制为 127.0.0.1、云服务器安全组是否开放。5.4 ModuleNotFoundError: No module named mcp原因没在虚拟环境里装或者 pip 装到了系统 Python。解决cd D:\project\mcp\mysql-mcp-server .\.venv\Scripts\Activate.ps1 pip install -e . pip show mcp5.5 Access denied for user检查密码是否正确、用户是否有远程权限SELECT user, host FROM mysql.user WHERE usermcp_readonly;如果 host 不是%或你的 IP需要重新授权。5.6 AI 工具里看不到 mysql 工具原因配置文件路径写错或者 JSON 格式有误。解决用绝对路径JSON 里反斜杠要转义成\\。改完重启 AI 工具。6. 一次配置多工具复用的实际效果我现在的情况是Claude Desktop 用来做数据分析和文档生成Cursor 用来写代码时顺手查表结构VS Code 里的插件用来做快速排查。三个工具共用同一个 TaoToken Key数据库连接信息也只在各自的 MCP 配置里写一次之后改密码只需要改.env和三个配置文件里的密码字段。实际用下来最省事的场景是写 MyBatis XML 的时候。以前要先开 Navicat 看字段名现在直接在 Cursor 里说根据 orders 表结构帮我写一个查询接口AI 自己读表结构、生成实体类、写 XML一步到位。安全方面只读用户是底线。我给mcp_readonly只授了 SELECT、SHOW DATABASES、PROCESS 三个权限AI 就算生成 DELETE 语句也执行不了。生产库和测试库分开配测试库可以放宽到 INSERT/UPDATE生产库永远只读。如果你也在多个 AI 工具之间来回切建议先把 TaoToken Key 统一了再配 MCP Server这样后面加新工具的时候只需要填一个 Key 和一个 Base URL不用再翻数据库密码。