我给 Cursor 装了个“万能插座“,它居然能操控我的电脑了?

MCP入门三部曲 · 第1篇
大家好,我是程序猿Joe。
今天想跟大家聊聊 MCP(Model Context Protocol,模型上下文协议)。
说实话,我之前也是让 Cursor 写写代码、改改文案,从来没想过它能直接操作我的电脑。直到前几天,我给它接了一个 MCP 文件系统服务器,结果你猜怎么着?它能直接读取我桌面上的文件、整理我的下载文件夹、甚至帮我写代码后自动保存到项目目录里!
而且整个过程,我不需要写一行集成代码,就像给手机插了个 USB-C 外设一样简单。
今天就把我研究 MCP 的经验,用最通俗的方式分享给大家。文章有点长,但全是干货,建议先收藏。
一、先搞懂:MCP 到底是啥?
很多人看到"模型上下文协议"这几个字就头大,感觉是什么高深莫测的学术概念。
其实用一个生活场景就能讲明白——智能家居。
1. MCP Host(主机)—— 智能音箱
你家里的小爱同学、天猫精灵,就是一个"主机"。你对着它说话,它理解你的意图,然后指挥各种设备干活。
在 AI 世界里,Cursor、VS Code、Windsurf 这些编辑器就是 MCP Host。它们负责跟用户对话,理解你想干什么。
2. MCP Server(服务器)—— 各种智能设备
你家里的智能灯泡、空调、窗帘、摄像头,这些都是"设备"。每个设备有自己的功能:灯泡能开关和调亮度,空调能调温度,摄像头能录像。
在 MCP 里,MCP Server 就是给 AI 提供能力的"设备"。比如文件系统服务器能让你操作电脑文件,数据库服务器能查数据,GitHub 服务器能管理代码。
3. MCP Client(客户端)—— 连接协议
智能音箱怎么知道怎么控制灯泡?靠的是蓝牙、WiFi、Zigbee 这些通信协议。每个设备都要先跟音箱"配对",告诉音箱:“我会什么功能”。
MCP Client 就是干这个的——它负责把 Host 和 Server 连接起来,让它们能互相通信。Host 问 Server:“你有啥本事?” Server 回答:“我能查天气、能读文件。” 然后 Host 就知道什么时候该调用谁了。
一句话总结:MCP 就是 AI 界的"万能插座",让不同的 AI 应用和外部工具能够即插即用,不需要每次都重新接一遍线。
二、为什么我们需要 MCP?
光说概念太抽象,直接对比一下有 MCP 和没 MCP 的区别,你就明白了。
没有 MCP 的时候(我以前就是这么干的)
假设你想让 Cursor 帮你查一下数据库里的用户数据,然后写个报告保存到桌面。
传统的做法是:
① 写一堆 API 调用代码 —— 先写 Python 脚本连数据库,把查询逻辑封装成 API。
② 再写文件操作代码 —— 再写一段代码把结果保存到本地文件。
③ 最后给 Cursor 接进去 —— 把这些功能封装成 Cursor 能调用的函数,配置权限,调试接口……
问题:每换一个 AI 工具(比如从 Cursor 换到其他 AI 编辑器),或者每加一个新功能(比如再连一个 Slack),你都要重新写一遍集成代码。十几个工具就是十几套接口,维护起来简直是噩梦。
有了 MCP 以后
现在你只需要:
① 装个 MCP 服务器 —— 比如装一个文件系统的 MCP 服务器,配置好它能访问哪些目录。
② AI 自动发现 —— Cursor 打开后就自动识别出:“哦,我现在能操作文件了。”
③ 直接对话使用 —— 你跟 Cursor 说:“帮我整理桌面的图片。” 它直接就能干。
优势:一次配置,到处使用。换个 AI 客户端(比如在不同项目间复用同一套 MCP 服务器配置),只要客户端支持 MCP,之前配好的服务器直接就能用,完全不用改。
| 维度 | 传统方式 | MCP 方式 |
|---|---|---|
| 接入成本 | 每个工具都要单独开发接口 | 统一协议,即插即用 |
| 跨客户端 | 换一个 AI 要重新集成 | 服务器不变,客户端自动适配 |
| 功能发现 | 硬编码在程序里 | AI 自动发现可用能力 |
| 维护成本 | N 个工具 × M 个客户端 | N 个工具 + M 个客户端 |
三、MCP 的三个核心"法宝"
很多人学 MCP,一上来就被工具、资源、提示词这些术语搞蒙了。
其实用智能家居的类比,特别好理解:
1. 工具(Tools)—— 设备的"操作按钮"
你家的空调遥控器上有各种按钮:开关、调温度、调风速。这些都是"工具"。
MCP 里的工具,就是 AI 可以调用的函数。比如文件系统服务器提供的工具可能有:读文件、写文件、创建目录、搜索文件。
关键点:工具是模型控制的。AI 自己判断什么时候该调用哪个工具,不需要你提前指定。当然,每次执行前都会征求你的同意。
划重点:工具让 AI 从"只能聊天"变成了"能干活"。它是 MCP 最核心的能力。
2. 资源(Resources)—— 设备的"状态显示屏"
你家的温湿度传感器,一直在显示当前温度和湿度。这就是"资源"——它提供的是信息,不是操作。
MCP 里的资源,就是 AI 可以读取的数据。比如当前文件夹里的文件列表、数据库的表结构、某个文档的内容。
关键点:资源是应用驱动的。什么时候读取、读取多少,由客户端(也就是 AI 应用)自己决定。
3. 提示词(Prompts)—— “场景模式”
你家的智能家居有个"回家模式":一按按钮,灯亮了、空调开了、窗帘拉上了。这就是预设好的"场景"。
MCP 里的提示词,就是 预设好的对话模板。比如"帮我分析这段代码"、“帮我写个周报”,这些模板里已经定义好了要调用哪些工具、按什么顺序来。
关键点:提示词是用户控制的。需要用户主动选择,不会自动触发。
| 概念 | 类比 | 控制者 | 例子 |
|---|---|---|---|
| 工具(Tools) | 空调遥控器的按钮 | AI 模型 | 读文件、查数据库 |
| 资源(Resources) | 温湿度显示屏 | 应用程序 | 文件列表、表结构 |
| 提示词(Prompts) | 智能家居场景模式 | 用户 | 代码审查模板 |
四、MCP 的架构长啥样?
知道概念还不够,了解架构才能理解 MCP 是怎么工作的。
MCP 的架构就两层,特别简洁:
数据层——“说啥”
数据层定义了客户端和服务器之间通信的"语言"。MCP 用的是 JSON-RPC 2.0,就是一种结构化的消息格式。
比如客户端问服务器:“你有啥工具?” 消息长这样:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}
服务器回复:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "read_file",
"description": "读取文件内容",
"inputSchema": { }
}
]
}
}
传输层——“咋传”
传输层负责消息怎么送过去。MCP 支持两种方式:
- STDIO(标准输入输出):本地进程之间通信,速度快,适合本地服务器。比如 Cursor 启动一个本地的文件系统服务器。
- Streamable HTTP:走网络通信,适合远程服务器。比如 Cursor 通过 remote server(HTTP/SSE)连接远程服务器。
记住一个原则:数据层规定"说什么",传输层规定"怎么传"。同一套数据层协议,可以跑在不同的传输层上。
五、常见误区(我踩过的坑)
误区1:MCP 是某个公司的私有技术
MCP 是 Anthropic 发起的,但它是完全开源的开放标准。就像 USB-C 不是苹果独有的一样,Cursor / Windsurf、VS Code 都在支持 MCP。
误区2:用了 MCP 就不需要写代码了
MCP 解决的是"AI 怎么连外部工具"的问题,不是"替代编程"。你要开发新功能,还是得写代码实现 MCP 服务器。但它让集成这件事变得简单了。
误区3:MCP 服务器可以随意访问我电脑的所有东西
完全不是。MCP 服务器只能访问你明确授权的目录和文件。每次执行敏感操作前,AI 都会弹窗问你"要不要执行"。权限完全由你控制。
六、总结
MCP 不是银弹,它只是一种连接方式——让 AI 和外部世界打通的方式。
传统的方式是"每个 AI 单独造轮子",MCP 的方式是"造一个万能插座,大家都往上插"。
让每块积木待在它该待的位置,不要让每个 AI 都重新发明接口!
下一篇,我会手把手教你:怎么给 Cursor 接上本地文件系统和远程数据库,不用写代码,5分钟搞定。
如果觉得这篇文章对你有帮助,欢迎点赞、在看、转发三连!有问题也可以在评论区留言,我会尽量回复。
关于作者:程序猿Joe,从CRUD程序员到架构师的蜕变者,专治各种"代码癌症"。不定期分享技术干货,欢迎关注。
更多推荐

所有评论(0)