Skip to content

MCP Engineering:AI 的 USB-C 接口标准

从「每个工具定制集成」到「一次开发,所有 AI 可用」——掌握 Model Context Protocol 的设计原理、开发实战与生态集成。

🎯 适合人群
想为 AI 工具(Claude Desktop、VS Code、Cursor 等)开发 MCP Server 或 Client 的开发者;想深入理解 AI 工具集成原理的技术决策者
📋 前置知识
了解 Python 或 TypeScript 基础;了解 HTTP 和 JSON;了解 AI 编程工具的基本使用(推荐)
⭐ 难度
★★★☆☆ 中高级
预计学习时间:约 6 小时
Stage 1: 45min · Stage 2: 60min · Stage 3: 90min(核心)· Stage 4: 60min · Stage 5: 45min · Stage 6: 60min

学完后你将能够

  • 理解 MCP 的核心架构(Client-Host-Server)和三大原语(Resources、Prompts、Tools)
  • 用 Python 或 TypeScript 开发 MCP Server 和 Client
  • 掌握 MCP Inspector 调试工具和常见问题排查
  • 理解 MCP 的安全模型、OAuth 2.1 授权流程
  • 了解 MCP 与 OpenAPI、Function Calling、A2A 等协议的区别和互补关系
  • 熟悉 MCP 生态系统——官方 Server、Registry、社区资源

课程亮点

📖
故事驱动
以开发者小周的集成之痛为线索,从「每次都要重写适配器」到「一次开发,所有 AI 可用」的完整历程
🔧
双语言实战
Python + TypeScript 双轨并行,Server 和 Client 都有完整可运行的代码示例
⚖️
协议对比
不只是学 MCP,更理解它和 OpenAPI、Function Calling、A2A 等协议的关系——何时用 MCP,何时不用
🛡️
安全优先
OAuth 2.1 授权流程、安全威胁模型、Tool annotations 的不可信性——每个实战都带安全意识

课程结构

阶段主题核心问题
第一阶段为什么需要 MCP工具集成到底有多痛?MCP 是怎么来的?
第二阶段MCP 基础MCP 内部是怎么运转的?三大原语各管什么?
第三阶段动手实战怎么开发 MCP Server 和 Client?怎么调试?
第四阶段进阶能力安全怎么保证?Server 能反过来请求 Client 吗?
第五阶段协议对比与生态MCP 和其他协议有什么区别?生态里有什么?
第六阶段练习与巩固动手设计、动手开发、动手排查

目录

第一阶段:为什么需要 MCP

第二阶段:MCP 基础

第三阶段:动手实战

第四阶段:进阶能力

第五阶段:协议对比与生态

第六阶段:练习与巩固

学习建议

  1. 先理解协议:前两个阶段偏概念,重点理解「为什么这样设计」而非「怎么写代码」
  2. 跟着小周走:故事场景来自真实开发痛点,想想你自己项目中遇到过的集成难题
  3. 动手写代码:第三阶段是核心,务必在本地跑通 Server 和 Client 示例
  4. 安全意识贯穿始终:MCP 涉及 AI 访问外部系统,安全考量贯穿整个课程
  5. 对照你的工具:课程提及多款 AI 工具的 MCP 配置方式,对照你正在用的那个来实践

按角色学习路线

你的角色推荐路线
前端开发者Stage 1-2(理解)→ Stage 3 TypeScript 版(实战)→ Stage 5(对比)
后端开发者Stage 1-2(理解)→ Stage 3 Python 版(实战)→ Stage 4(安全部署)
技术决策者Stage 1(动机)→ Stage 2(架构)→ 1.3 决策树 → Stage 5(选型)

速查卡片

三大原语:

原语类比控制方一句话
ResourcesGET 请求应用(Host)暴露数据,Host 决定何时读
Prompts函数定义用户提示词模板,用户选择用哪个
ToolsPOST 请求模型(LLM)可执行动作,AI 决定何时调用

两种传输:

传输场景消息格式安全
stdio本地stdin/stdout最安全,网络不可达
Streamable HTTP远程HTTP POST + SSE需 TLS + OAuth 2.1

四种 JSON-RPC 消息:

类型有 id?期待响应?
Request
Response有(匹配请求)
Notification
Error有(匹配请求)

版本特性速查:

功能v1v2v3v4
stdio 传输
Streamable HTTP
Tools / Resources / Prompts
Elicitation
Completions
Tool Annotations
OAuth 2.1

常用配置模板:

json
// claude_desktop_config.json(本地 stdio)
{
  "mcpServers": {
    "my-server": {
      "command": "python",
      "args": ["server.py 的完整路径"],
      "env": { "API_KEY": "xxx" }
    }
  }
}
json
// claude_desktop_config.json(远程 HTTP)
{
  "mcpServers": {
    "remote-server": {
      "url": "https://my-server.example.com/mcp"
    }
  }
}