场景想象:
你是一个开发者,电脑里有个users.db数据库。你想问 Claude:“帮我查查在这个数据库里,上个月注册的用户有多少?”
- 没有 MCP 之前:你得先自己写一段 Python 代码连数据库,把数据查出来,复制粘贴给 Claude,然后问它。麻烦!
- 有了 MCP 之后:你在 Claude Desktop 里安装一个
SQLite MCP Server插件,配置好数据库路径。然后直接问 Claude,它自己就会去查库、分析、告诉你结果。全程自动化。这就是MCP (Model Context Protocol)的魔力。它是 AI 界的USB Type-C 标准——只要你的数据源(GitHub、数据库、飞书)支持 MCP,任何 AI 模型都能即插即用,直接读取和操作。
1. 它是干什么用的?🧐
MCP是由 Anthropic (Claude 母公司) 开源的一套标准化协议。
它的核心目的是:统一 AI 模型与外部数据/工具之间的连接方式。
❌没有 MCP (乱世):
- Cursor 编辑器想连 MySQL,Cursor 团队得开发个插件。
- Windsurf 编辑器想连 MySQL,Windsurf 团队也得开发个插件。
- Agent A 想连 MySQL,开发者还得自己写代码。
- N 个 AI 工具 × M 个数据源 = N×M 的工作量。
✅有了 MCP (大一统):
- MySQL 官方(或社区)只需要开发一个
MySQL MCP Server。 - Cursor、Windsurf、Agent A 只要支持 MCP 协议,直接连接这个 Server 就能用。
- 1 个 Server + N 个 Client = 极简连接。
- MySQL 官方(或社区)只需要开发一个
2. 它扮演了什么角色?🎭
MCP 扮演的是“通用适配器”或“驱动程序接口”的角色。
想象一下电脑的USB 接口:
- 💻Host (主机):你的电脑(对应 AI Client,如 Claude Desktop, Cursor)。
- 🖱️Device (设备):鼠标、键盘、U盘(对应 MCP Server,如 GitHub, SQLite)。
- 🔌Protocol (协议):USB 协议(对应 MCP 协议)。
因为有了 USB 协议,联想电脑不需要为罗技鼠标专门写驱动,插上就能用。
同理,因为有了 MCP 协议,Claude 不需要为 GitHub 专门写适配代码,连上就能用。
3. 它的工作原理 ⚙️
MCP 采用的是经典的Client-Server (客户端-服务端)架构,通常通过JSON-RPC进行通信。
3.1 架构图解 🗺️
3.2 MCP 的三大核心能力 💎
MCP 规定了三种标准的“交互模式”,涵盖了 AI 此时此刻最需要的场景:
- 📖Resources (资源) —— “我能让你看什么”
- 作用:让 AI读取外部数据。
- 原理:Server 告诉 Client:“我有这些文件 URI,你想看哪个?”
- 🗣️Prompts (提示词) —— “我能帮你问什么”
- 作用:预设好的沟通模板。
- 原理:Server 提供一套菜单,用户点菜,Server 把上下文填进去发给 AI。
- 🛠️Tools (工具) —— “我能让你干什么”
- 作用:即上一篇文章说的Agent Skill,让 AI执行操作。
- 原理:Server 暴露函数给 Client,AI 决定调用时,由 Server 执行。
3.3 案例剖析:以 SQLite MCP Server 为例 🌰
我们来看看一个具体的SQLite MCP Server是怎么向 AI 展示它的能力的:
| 能力类型 | 具体功能 (What) | AI 怎么用 (How) |
|---|---|---|
| Resources | schema.sql(数据库结构定义) | 当你问“这个库里有哪些表?”时,AI 会读取这个资源,看懂表结构。 |
| Tools | read_query(执行查询) | 当你问“查查用户总数”时,AI 会调用这个工具,传入SELECT count(*) FROM users。 |
| Prompts | data_analyst(数据分析师) | 这是一个预设模版。你点选它,AI 就会自动切换到“数据分析师”人设,并加载数据库结构上下文。 |
3.3.1 交互流程图解 🔄
让我们用时序图来看看,当你问了一句话后,Cursor (客户端)、LLM (大模型大脑)和MCP Server (工具人)之间到底发生了什么:
核心角色分析:
- Cursor (Client):👮联络员。它负责把话传给大模型,把活派给 MCP Server。
- LLM (Model):🧠大脑。它不做具体操作,它只负责思考:“我该用哪个工具?参数传什么?”
- MCP Server:🦾手脚。它不思考,只负责执行命令(查库、读文件)。
3.4 常见疑问与误区 (FAQ) ❓
Q1: MCP Server 必须跑在服务器上吗?
不用!这是最大的误解。
- 🏠本地模式 (Local / stdio):这是目前最主流的玩法。
- MCP Server 作为一个子进程直接运行在你的电脑上(和 Claude Desktop 同一台电脑)。
- 它们通过标准输入输出 (stdio)偷偷说悄悄话。
- 优点:安全、快、能直接读写你本地文件(比如
FilesystemServer)。
- ☁️远程模式 (Remote / SSE):这是高级玩法。
- MCP Server 部署在远程云服务器上。
- Claude Desktop 通过SSE (Server-Sent Events)协议连接它。
- 优点:适合团队共享的工具(比如公司内部的知识库 Server)。
一句话总结:个人开发者平时用的 MCP Server,99% 都是跑在自己本机上的本地进程。
Q2: 到底是“大模型”调用的工具,还是“Cursor”调用的?
这是一个经典的“动嘴 👄 vs 动手 👐”的问题。
很多同学会疑惑:大模型不是只生成文本吗?它怎么能查数据库?
- 大模型 (LLM):只负责决策 (动嘴)。
- 它通过分析你的问题,输出一段文本(JSON 格式):“我觉得应该调用
read_query工具,参数是SELECT * FROM users”。 - 它自己没有联网能力,也没有执行代码的能力,它只能“说话”。
- 它通过分析你的问题,输出一段文本(JSON 格式):“我觉得应该调用
- Cursor (Client):负责执行 (动手)。
- 它监听大模型的回复,一旦看到“调用工具”的指令,就立马去连接 MCP Server,执行真正的操作。
- 拿到结果后,再把结果喂回给大模型。
形象比喻:
- 大模型是指挥官🤴(瘫痪在床但在运筹帷幄),他下令:“帮我拿杯水!”
- Cursor是护工/执行者🏃,他听到命令后,去厨房(MCP Server)拿水,然后喂给指挥官。
4. 热门好用的 MCP 工具推荐 🧰
现在社区已经涌现了大量现成的 MCP Server,你几乎可以直接拿来用:
4.1 🛠️ 生产力工具
- 📂Filesystem (文件系统)
- 用途:让 AI 读写你电脑本地的文件。
- 场景:让 Claude 帮你重构整个项目的代码,或者整理乱七八糟的文档文件夹。
- 🐙Git / GitHub
- 用途:管理代码版本,搜索 GitHub 仓库。
- 场景:问 AI “最近的版本提交里,谁修改了登录逻辑?”,或者让它直接帮你提 PR。
- 🔍Brave Search
- 用途:联网搜索。
- 场景:给本来不能联网的本地大模型(如 Ollama 跑的 DeepSeek)装上这个,它就能回答“今天的新闻”了。
4.2 🧠 知识管理工具
- ☁️Google Drive / Slack
- 用途:连接你的云端工作流。
- 场景:让 AI 总结 Slack 里的会议记录,并存到 Google Doc 里。
- 🧠Memory (记忆)
- 用途:给 AI 一个外挂的“长期记忆库”。
- 场景:让 AI 记住你的编程习惯、偏好,下次不用重复说。
4.3 🕹️ 怎么安装和使用?
目前体验最好的客户端是Claude Desktop(Mac/Windows 应用) 和Cursor。
以Claude Desktop为例:
- 📥 下载安装 Claude Desktop。
- ⚙️ 找到配置文件(通常在
~/Library/Application Support/Claude/claude_desktop_config.json)。 - 📝 把你想用的 Server 配置填进去(通常需要先安装
npm或python环境)。 - 🔌 重启 Claude,你会发现右上角多了一个“🔌”图标,点开就能看到连接好的工具了。
4.4 配置文件详解:以 SQLite 为例 🧐
很多同学打开claude_desktop_config.json会一脸懵。我们以配置SQLite为例,逐行拆解它的含义:
{"mcpServers":{"my-sqlite-db":{"command":"uvx","args":["mcp-server-sqlite","--db-path","/Users/lifei/data/users.db"],"env":{"DEBUG":"1"}}}}- 🔑
mcpServers: 这是一个大字典,里面装着你安装的所有 MCP 插件。 - 🏷️
my-sqlite-db(Key):插件的昵称。- 这个名字你可以随便起(比如
work-db,test-db),Claude 界面上显示的就是这个名字。
- 这个名字你可以随便起(比如
- 🚀
command:启动命令。- 告诉 Claude 怎么启动这个插件。
- 常见的有
uvx(Python 工具链),npx(Node.js 工具链), 或者直接是/usr/bin/python3。 - 注意:这里必须是可执行文件的绝对路径,或者在系统 PATH 里的命令。
- 📦
args:启动参数。- 这是传给
command的参数列表。 - 比如上面的例子,意思是运行:
uvx mcp-server-sqlite --db-path /Users/lifei/data/users.db。
- 这是传给
- 🌐
env(可选):环境变量。- 有些插件需要 API Key(比如 GitHub),就放在这里。
- 例如:
"GITHUB_PERSONAL_ACCESS_TOKEN": "sk-..."。
5. 推荐资源与网站 🔗
要想深入玩转 MCP,这几个网站必看:
- 📚MCP 官方文档:modelcontextprotocol.io
- 最权威的协议说明和入门教程。
- 🏪Smithery:smithery.ai
- MCP 界的 App Store。你可以在这里搜索各种现成的 MCP Server,一键复制安装配置。
- 📑Glama:glama.ai/mcp/servers
- 另一个高质量的 MCP Server 列表站,分类很清晰。
6. 总结 📝
MCP 是 AI 工程化的基础设施。
随着 MCP 的普及,未来的每一个 API、每一个数据库、每一个 SaaS 软件,都会自带一个 MCP Server。
到那时,AI Agent 就像拥有了万能钥匙,可以随意打开任何软件的大门。