一、 宏观定义:什么是 MCP?
-
官方定义 :由 Anthropic 提出的开放标准协议,旨在标准化 AI 应用程序(LLM)如何与数据源和工具进行连接。
-
形象类比 :AI 界的 USB 接口。
-
痛点:以前每个 AI 代理要连接 Google Drive 或 Slack,都需要写一套专属代码(各种形状的插头)。
-
方案 :MCP 统一了接口标准。只要 Server 符合 MCP,任何符合 MCP 的 Host 都能即插即用。
-
二、 核心架构:HCS 模型
视频深入拆解了 MCP 的三个基本组成部分:
| 角色 | 全称 | 功能描述 | 举例 |
|---|---|---|---|
| H | Host (宿主) | 运行 AI 的主程序,用户交互的界面。 | Claude Desktop, n8n, IDE |
| C | Client (客户端) | 驻留在 Host 内部,负责发起连接和协议交换。 | Claude 内部的 MCP 插件 |
| S | Server (服务器) | 暴露数据和能力的微型程序,直接与数据源/API 对接。 | Google Sheets Server, SQL Server |
三、 功能核心:TRP 三剑客
这是 MCP Server 能够提供给 AI 的三类资产:
1. Tools (工具 - T)
-
本质 :可执行函数 (Functions)。
-
作用 :让 AI 具备"行动力"。
-
操作:AI 会请求执行某个 Tool,经过用户授权后,Server 执行并返回结果。
-
示例 :
send_email(发送邮件),calculate_math(计算),write_to_db(写入数据库)。
2. Resources (资源 - R)
-
本质 :只读数据 (Read-only Data)。
-
作用 :为 AI 提供"上下文知识"。
-
特点:AI 只能读取,不能通过此接口修改。
-
示例 :读取
.md文档内容、查看数据库 Schema、获取实时的日志流。
3. Prompt Templates (提示词模板 - P)
-
本质 :结构化指令 (Structured Blueprints)。
-
作用 :由专家预设,降低用户编写 Prompt 的难度。
-
示例:一个名为"分析财务报表"的模板,用户只需输入公司名,后台会自动填充复杂的分析指令。
四、 通信生命周期与传输 (Transport)
1. 生命周期
-
Initialization (初始化):Client 连接 Server,交换版本信息,确认彼此支持哪些 TRP。
-
Message Exchange (消息交换):Client 请求 Tool/Resource,Server 返回 Data。
-
Termination (终止):断开连接。
2. 传输方式 (Transports)
-
本地连接 :Host 和 Server 在同一台电脑,通过 Stdio(标准输入输出)进行日志级通信。
-
远程连接:Server 在云端。
-
SSE (Server-Sent Events):服务器向客户端单向推送(已逐渐被替代)。
-
HTTP Streamable Transport :首选方式,支持流式传输,灵活且高效。
-
无状态 vs 有状态:
-
Stateless (无状态):如麦当劳点餐,每次请求需完整信息,服务器不记旧账。
-
Stateful (有状态):如餐厅坐下来吃,服务器记得你点过什么。
-
-
五、 实操指南:如何构建 MCP Server?
1. 无代码方式 (n8n 演示)
-
适用:快速集成 API、简单的 Tools 调用。
-
流程:
-
在 n8n 中使用
MCP Server Trigger。 -
连接所需的节点(如 Gmail, Calculator)。
-
获取 Production URL。
-
在 Host(如 Claude)中通过
MCP Client Tool填入 URL 即可使用。
-
-
局限:目前 n8n 很难自定义复杂的 Resources 和 Prompt Templates。
2. 代码方式 (Python/TS)
-
适用:需要完整发挥 TRP 能力的复杂场景。
-
技术点:
-
使用装饰器(Decorators)定义功能:
@mcp.tool()或@mcp.resource()。 -
可以直接硬编码复杂的提示词模板在代码中。
-