MCP
MCP
一、先别急:MCP 到底是干嘛的?
一句话先给你定心丸
MCP 不是代码、不是模型、不是 AI 本身 MCP 是:教 AI 怎么“用工具”的一套统一方法
二、先看一个【没有 MCP】的真实问题
场景:AI 想帮你做三件事
- 查一下用户余额
- 读一个本地文件
- 调用一个天气接口
没有 MCP 的时候会发生什么?
每个工具都长这样(举例):
查用户余额:
{ "uid": 123 }读文件:
{ "path": "/tmp/a.txt", "mode": "r" }查天气:
{ "city": "beijing", "lang": "zh" }
问题来了:
- 参数名字不一样
- 格式不一样
- 返回结果也不一样
AI 心里想的是:
“我每用一个工具,就要重新学一套规则?”
三、MCP 出现了(转折点)
MCP 干了一件非常“朴素但伟大”的事
**不管你是什么工具 都要: 按统一格式写清楚“你是谁、你要什么、你会给什么”。
四、MCP 的核心结构(一定要懂)
MCP 里只有三样核心东西,没有第四样:
1. Tool(工具)——「你能干什么」
人话解释
Tool = AI 可以调用的一个能力
奶奶版
Tool = 电饭煲 / 电视 / 洗衣机
AI 世界里的 Tool 例子
| 工具名 | 干嘛的 |
|---|---|
| get_user | 查用户信息 |
| read_file | 读文件 |
| get_weather | 查天气 |
Tool 就是“功能本身”。
2. Schema(说明书)——「你怎么用」
这是 MCP 最关键的地方。
人话解释
Schema = 把工具的用法说清楚,给 AI 看
奶奶版
Schema = “这个按钮是开关 那个按钮是预约 水放多少米线”
AI 世界里的 Schema 例子(白话)
我们有一个工具:查天气
Schema 会告诉 AI:
工具叫什么?
get_weather你需要给我什么? 城市名(city)
我会返回什么? 温度、天气情况
翻译成“说明书语言”
工具名:get_weather 输入:城市 输出:天气信息
AI 一看就知道:“哦,我什么时候该用你了”。
3. Server(服务器)——「工具放哪」
人话解释
MCP Server = 专门放工具 + 说明书的地方
奶奶版
Server = “家里那个放所有电器的地方” 插上电就能用
AI 世界里的 Server
- Server 里有很多 Tool
- 每个 Tool 都有 Schema
- AI 一连上,就全看见了
AI 的感觉是:
“原来你这儿有这么多我能用的东西!”
五、完整流程示例(重点)
下面我们走一遍 真实完整流程。
示例 1:AI 查天气(从 0 到 1)
第一步:人类准备一个工具
你写了一个函数(不用看代码):
功能: 输入城市 返回天气
第二步:用 MCP 写 Schema(说明书)
你告诉 MCP:
工具名:
get_weather参数:
- city(字符串)
返回:
- temperature
- condition
第三步:放进 MCP Server
现在 Server 里有:
- get_weather(带说明书)
第四步:AI 连上 Server
AI 问:
“你这儿有什么工具?”
Server 回答:
“我这儿有个 get_weather,可以查天气”
第五步:AI 自己决定用工具
用户说:
“北京今天天气怎么样?”
AI 内心推理(你不用操心):
“这是查天气 我应该用 get_weather city = 北京”
第六步:AI 调用工具
工具返回:
晴,25 度
AI 回答用户:
“北京今天晴,25 度。”
完成。
六、再来一个例子(查用户)
示例 2:AI 查用户余额
你准备了一个工具
输入:user_id 输出:balance
MCP Schema 告诉 AI
工具名:get_user_balance 参数:user_id 返回:余额
用户问
“我账户里还有多少钱?”
AI 自动完成
- 判断:这是“查余额”
- 选择工具:get_user_balance
- 填参数:user_id = 当前用户
- 拿结果
- 说人话
七、为什么 MCP 这么牛?
因为它做到了三件事:
- AI 不用硬编码逻辑
- 工具怎么变,AI 都不用重新训练
- 公司内部工具终于能安全地给 AI 用
八、终极对照表(帮你记住)
| 现实世界 | MCP 世界 |
|---|---|
| 电器 | Tool |
| 说明书 | Schema |
| 工具箱 | Server |
| 奶奶 | AI |
九、你现在应该真正明白的事
MCP 本质不是技术炫技 而是: 把“怎么用工具”这件事,说清楚
十、总结
MCP 是一套统一标准, 让 AI 像新员工一样, 看说明书就会用工具, 不用人盯着教。
实践例子
一、先搞懂3个关键“角色”:一句话说透
咱们把专业词换成生活里的东西,一听就明白:
- MySQL:就是你家的“大账本柜子”,里面能放好多本账本(比如“用户账本”“商品账本”“订单账本”),专门记正经事儿(比如谁买了啥、花了多少钱)。
- AI:就是个“聪明的小助理”,会听你说话、帮你干活,但它看不懂账本上的“格式”(就像不懂账本上的手写体),没法直接翻账本。
- MCP:就是“翻译官+桥梁”!一边能听懂AI说的人话,一边能看懂账本(MySQL)的格式,帮AI和账本沟通——你跟AI说“查点东西”,MCP就翻译成账本能懂的“指令”,再把账本的结果翻成人话告诉你。
简单说:MCP让AI从“只会聊天”变成“会管账本、查账本”的小帮手,不用你自己翻厚厚的账本、算复杂的数~
二、准备工作:先把“账本柜子”和“翻译官”备好
要让AI帮你管账本,得先做好3件事:找翻译官、摆好账本柜子、画好账本格子。
1. 找“翻译官”(MCP服务器)
翻译官不用自己造,现成的能直接用:
- 打开电脑,上一个叫“蓝耘MCP广场”的网站(就像手机应用商店);
- 在搜索框里输“mysql”(账本柜子的名字),就能找到好多“翻译官”(MCP服务器);
- 选一个带“支持读写”“安全靠谱”的翻译官(比如“MySQL MCP服务器 by modelcontextprotocol”),点进去就能看到它的“使用说明”(后面要用到)。
2. 摆好“账本柜子”(创建MySQL数据库)
就像家里买了个空柜子,得先给它起个名、分好格子:
- 打开MySQL这个“账本软件”(电脑上提前装好在);
- 输两句话(不用记,复制粘贴就行):
create database lanyun; # 给柜子起名叫“lanyun”(蓝耘) use lanyun; # 以后就用这个柜子装账本 - 点一下“执行”,柜子就建好了~
3. 画“账本格子”(建3本核心账本)
柜子是空的,得画3本账本,分别记“谁是客户”“有啥商品”“谁买了啥”:
- 还是在账本软件里,复制下面一大段“画格子的命令”,点“执行”:
# 客户账本(记姓名、电话、年龄) CREATE TABLE IF NOT EXISTS `users` ( `id` 编号 INT PRIMARY KEY AUTO_INCREMENT, `username` 姓名 VARCHAR(50) NOT NULL UNIQUE, `phone` 电话 VARCHAR(20) UNIQUE, `age` 年龄 TINYINT UNSIGNED, `create_time` 记录时间 DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; # 商品账本(记商品名、价格、库存) CREATE TABLE IF NOT EXISTS `products` ( `id` 编号 INT PRIMARY KEY AUTO_INCREMENT, `name` 商品名 VARCHAR(100) NOT NULL, `price` 价格 DECIMAL(10,2) NOT NULL, `stock` 库存 INT NOT NULL DEFAULT 0, `category` 分类 VARCHAR(50) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; # 订单账本(记谁买了啥、付没付钱) CREATE TABLE IF NOT EXISTS `orders` ( `id` 订单号 INT PRIMARY KEY AUTO_INCREMENT, `user_id` 客户编号 INT NOT NULL, `product_id` 商品编号 INT NOT NULL, `quantity` 买了几件 INT NOT NULL DEFAULT 1, `total_price` 总价 DECIMAL(10,2) NOT NULL, `status` 状态 TINYINT NOT NULL DEFAULT 1, # 1=没付钱、2=付了、3=发货了、4=完事了、5=取消了 `create_time` 下单时间 DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - 执行完,3本带格子的账本就做好了(客户账本、商品账本、订单账本)。
4. 填点“测试数据”(让账本有内容)
空账本没法试AI,先填点假数据进去:
- 复制下面的“填数据命令”,分3次执行(先填客户、再填商品、最后填订单):
# 填10个客户 INSERT INTO `users` (`username`, `phone`, `age`) VALUES ('张三', '13800138000', 25), ('李四', '13800138001', 30), ('王五', '13800138002', 22), ('赵六', '13800138003', 28), ('孙七', '13800138004', 35), ('周八', '13800138005', 26), ('吴九', '13800138006', 29), ('陈十', '13800138007', 32), ('杨九', '13800138008', 24), ('黄十', '13800138009', 31); # 填8个商品 INSERT INTO `products` (`name`, `price`, `stock`, `category`) VALUES ('小米14 Pro', 4999.00, 200, '手机'), ('华为Mate 60 Pro', 5999.00, 150, '手机'), ('苹果MacBook Pro', 12999.00, 80, '电脑'), ('联想拯救者', 8999.00, 100, '电脑'), ('大疆无人机', 3799.00, 60, '无人机'), ('索尼耳机', 2499.00, 120, '耳机'), ('小米净化器', 899.00, 180, '家电'), ('美的电饭煲', 399.00, 250, '家电'); # 填15个订单 INSERT INTO `orders` (`user_id`, `product_id`, `quantity`, `total_price`, `status`) VALUES (1, 1, 1, 4999.00, 4), # 张三买小米手机,完事了 (2, 2, 1, 5999.00, 3), # 李四买华为手机,发货了 (3, 3, 1, 12999.00, 1), # 王五买苹果电脑,没付钱 (4, 4, 1, 8999.00, 4), # 赵六买联想电脑,完事了 (5, 5, 1, 3799.00, 2), # 孙七买无人机,付了钱 (6, 7, 2, 1798.00, 3), # 周八买2台净化器,发货了 (7, 8, 1, 399.00, 1), # 吴九买电饭煲,没付钱 (8, 1, 2, 9998.00, 4), # 陈十买2台小米手机,完事了 (9, 2, 1, 5999.00, 5), # 杨九买华为手机,取消了 (10, 3, 1, 12999.00, 2),# 黄十买苹果电脑,付了钱 (2, 6, 1, 2499.00, 4), # 李四买索尼耳机,完事了 (3, 7, 1, 899.00, 3), # 王五买净化器,发货了 (4, 8, 3, 1197.00, 1), # 赵六买3个电饭煲,没付钱 (5, 5, 2, 7598.00, 2); # 孙七买2台无人机,付了钱 - 执行完,账本里就有真实的数据了,AI就能帮你查了~
三、关键一步:让“翻译官”对接“账本柜子”
现在翻译官(MCP)和账本柜子(MySQL)都有了,得让它们认识彼此:
- 打开电脑上的VSCode软件(就像写字板),装一个叫“CodeBuddy”的插件(就像给写字板加个“AI助手功能”);
- 在插件里找到“MCP配置”,复制下面的“对接命令”,把里面的“你的密码”改成你账本软件的密码,“你的主机IP”改成你电脑的IP(不懂就问孩子,或者让孩子帮你填):
{ "mcpServers": { "mysql": { "command": "npx", "args": ["-y", "@kevinwatt/mysql-mcp"], "env": { "MYSQL_HOST": "你的主机IP", // 比如192.168.1.100 "MYSQL_PORT": "3306", "MYSQL_USER": "root", "MYSQL_PASS": "你的密码", // 比如123456 "MYSQL_DB": "lanyun" } } } } - 保存配置,插件会自动让翻译官和账本柜子“握手”,屏幕上显示“连接成功”就搞定了~
四、实际用起来:让AI帮你查账本、记账本
现在万事俱备,咱们让AI干两件核心活:查账本、记新账。
1. 让AI查账本(复杂问题也能答)
不用你翻账本、算数据,直接跟AI说人话就行:
- 在CodeBuddy插件的聊天框里,输这段话(照着抄就行,也能改条件): “帮我查这几件事:
- 要看的内容:客户姓名、电话、买的商品名、订单状态、下单时间;
- 筛选条件:客户年龄超过28岁、商品价格超过3000元、2025年之后下的单、订单没取消;
- 排序:先按年龄大的排,再按下单早的排。”
- 点“发送”,AI会通过MCP翻译官问账本,几秒钟就会给你结果,还能自动生成Excel表格(就像把查出来的内容抄到新本子上),里面清清楚楚列着符合条件的记录~
2. 让AI记新账(批量加客户)
要加新客户,不用一个个填账本,跟AI说就行:
- 在聊天框里输这段话: “帮我给客户账本加5个人:
- 姓名:钱二,电话13800138010,年龄33;
- 姓名:宋三,电话13800138011,年龄38;
- 姓名:李西,电话13800138012,年龄29;
- 姓名:王五新,电话13800138013,年龄40;
- 姓名:陈六,电话13800138014,年龄35。 加完告诉我成没成,有没有重复的电话。”
- 点“发送”,AI会通过翻译官把新客户记到账本里,之后告诉你“成功加了5个人,没重复”。
- 你也能去账本软件里查:输
SELECT * FROM users WHERE id >= 11;,就能看到新加的5个客户,一个都没漏~
五、总结:MCP到底好用在哪?
- 不用学复杂的“账本语言”(SQL),说人话AI就懂;
- 查复杂数据、记批量数据不用自己动手,省时间还不容易错;
- 安全靠谱,不会随便改账本、丢数据。
