不懂SQL?用MCP+AI,一句话搞定MySQL查询
近,AI领域最值得关注的技术之一莫过于MCP(Model Context Protocol)了。
MCP由Claude的母公司Anthropic在2024年底开源发布的技术,它充当AI大模型与外部数据、工具之间的“通用语言”或“万能插座”。
通过MCP,AI大模型可以与外界沟通,获取信息并完成具体任务。
在未来,也许就是依靠主流大模型充当大脑,再借助各种MCP工具,来帮我们完成各种工作。
这几天,我也了解了一些MCP工具,比如爬虫的、处理文件的、操作浏览器的。
也有不少MySQL的MCP工具。
这篇文章,我们就讲一下怎样借助Cline和mysql-mcp-server,来实现自然语言转SQL,从而获取到数据库中的结果。
1 安装Cline
Cline是一个AI编程插件,这款工具主要可以实现:
- 通过提示词直接生成代码;
- 通过提示词+MCP完成更多的功能。
打开Vscode,在插件市场搜索:Cline,点击Install。
点击下方按钮信任插件:
2 配置Cline
点击左侧最下方的图标,再点击设置:
配置DeepSeek的API key:
点击Let's go!
当然,如果没有DeepSeek官方的API key,也可以使用硅基流动的API key。
API Provider选择:“OpenAI Compatible”
Base URL填:https://api.siliconflow.cn/
API Key 填:在硅基流动官网申请的API key
Mode ID 填:deepseek-ai/DeepSeek-R1
再点击Done。
3 安装mysql-mcp-server
我们在VS Code的窗口把mysql-mcp-server项目下载下来,执行:
git clone https://github.com/dpflucas/mysql-mcp-server.git
进入到项目文件夹:
cd mysql-mcp-server
安装依赖并构建,执行:
npm install
npm run build
再点击CLINE里的MCP Servers,如下图这个按钮:
点击Installed,再点击Configure MCP Servers
就可以看到有个配置文件cline_mcp_settings.json
可以使用推荐的配置(见:https://github.com/dpflucas/mysql-mcp-server):
{
"mcpServers": {
"mysql": {
"command": "node",
"args": ["D:mcpmysql-mcp-serveruildindex.js"],
"env": {
"MYSQL_HOST": "your-mysql-host",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your-mysql-user",
"MYSQL_PASSWORD": "your-mysql-password",
"MYSQL_DATABASE": "your-default-database"
},
"disabled": false,
"autoApprove": []
}
}
}
同时,也要在我们克隆下来的项目里新增.env文件,并配置如下内容:
# Connection parameters
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=your-mysql-user
MYSQL_PASSWORD=your-mysql-password
MYSQL_DATABASE=your-default-database
# Advanced connection pool parameters
MYSQL_CONNECTION_LIMIT=10 # Maximum number of connections in the pool (default: 10)
MYSQL_QUEUE_LIMIT=0 # Maximum number of connection requests to queue (default: 0, unlimited)
MYSQL_CONNECT_TIMEOUT=10000 # Connection timeout in milliseconds (default: 10000)
MYSQL_IDLE_TIMEOUT=60000 # How long a connection can be idle before being released (in milliseconds)
MYSQL_MAX_IDLE=10 # Maximum number of idle connections to keep in the pool
记得都改成你要连接的MySQL。
4 测试
配置完成后,在Cline聊天框,输入你的请求,就能返回数据库里的数据,比如:
返回的结果是:
我们再来测试具体的SQL,比如新建一张测试表,假如是销量信息的,并写入一些测试数据:
CREATE TABLE product_sales (
id int auto_increment PRIMARY KEY comment '主键',
product_name varchar(255) comment '商品名',
price DECIMAL(10,2) comment '商品单价',
quantity int comment '销售量',
sale_date date comment '销售日期',
key idx_product_name(product_name)
);
INSERT INTO product_sales (product_name, price, quantity, sale_date)
VALUES
('iPhone 12', 8999, 10, '2023-04-21'),
('iPad Pro', 7999, 5, '2023-04-21'),
('MacBook Pro', 14999, 3, '2023-04-22'),
('AirPods Pro', 2199, 20, '2023-04-22'),
('Apple Watch Series 7', 3299, 8, '2023-04-22'),
('iPhone 11', 5999, 15, '2023-04-23'),
('iPad Air', 4699, 7, '2023-04-23'),
('MacBook Air', 9999, 4, '2023-04-24'),
('AirPods 2', 1299, 25, '2023-04-24'),
('Apple Watch SE', 2599, 12, '2023-04-25');
再到Cline询问:
销售信息表是product_sales,求出2023-04-22的总销售额:
就会产生SQL,让你确认:
点击Approve,就能生成结果。
整个实现过程,就是:用户输入 → VSCode 插件 (Cline) → mysql-mcp-server → MySQL 数据库 → 查询结果
5 更多MySQL相关的MCP工具
可以去MCP工具合集里搜索MySQL关键字,工具集地址:
https://smithery.ai
MySQL相关的MCP还是挺多的:
其他的大家感兴趣也可以试试看。