# 一门过时的 MCP 课程，为何仍值得 FDE 花两小时

> 这 11 节课早于 2026-07-28 规范，逐节亲手重写，就能看清协议改了什么。

原文: https://fdetimes.net/zh/books-courses/deeplearning-ai-anthropic-mcp-course-review/

2024 年 11 月 25 日，Anthropic 发布 MCP，将其定位为一项新标准，用来把 AI 助手连接到数据真正所在的地方。不到半年，2025 年 5 月 19 日，DeepLearning.AI 推出短课“MCP: Build Rich-Context AI Apps with Anthropic”。此后，协议又迎来 2026-07-28 规范，改动触及核心。

这听起来是缺点，但对前线部署工程师（FDE）来说，正是这段差距让课程变得有用。在客户现场，很多工作就是把模型接到客户已有的系统上：工单、文档、数据库。MCP 正是为解决这个问题而设计的。最好的学法是先看视频，再对照现行规范把每一部分亲手重写一遍。

## 谁来讲，讲什么？

课程由 DeepLearning.AI 与 Anthropic 联合制作，讲师是 Elie Schoppik。课程页面标注难度为 Intermediate，共 11 节视频课，总时长约两小时或更短。

学员只需熟悉 Python，并对提示词和 LLM 应用的构建方式有基本了解。课程目录包括：多 client 架构（每个 client 一条连接）、为 server 添加 prompt 和 resource，以及创建并部署远程 server。

这几部分正好对应一个真实项目的各个阶段：理解问题、搭建原型、接入客户系统、迁移到共享环境。

## 每个 client 一条连接：这决定了怎么排障

根据 MCP 官方架构文档，每个 client 与对应的 server 各自保持一条连接。这听起来简单，却决定了排查故障的方式。

设想一家物流公司，想要一个助手，既能检索内部工单系统，又能查阅流程文档库。这就是两个 server。你的 host 里会有两个 client，各自维护一条独立连接。

文档库超时时，只有一条连接失败，工单检索照常工作。客户报障时，第一件事就是判断出问题的是哪条连接。

讲编写 client 的几节课最值得亲手重做。如果只是运行示例代码，你不会知道连接的生命周期落在哪里。

## tool、resource 和 prompt：需求调研的三个问题

除了 tool，课程还专门有一节“Adding Prompt and Resource Features”，让 server 同时提供 prompt 和 resource。对 FDE 来说，这种划分也是拆解客户需求的方法。

回到那家物流公司。按订单号查工单，是模型在需要时调用的动作，应当做成 tool。破损货物的处理流程文档，是供模型阅读的数据，应当做成 resource。员工每天都在用的“给值班经理的事故摘要”模板，应当做成 prompt。

**要点:** 写 server 之前，先给每项需求归类：模型是要做一件事、读一份资料，还是套用现成的模板？

自测时，可以先遮住下表中间一列，把同一家物流公司的四项假设需求分好类，再核对答案。

| 客户需求 | 类型 | 判断依据 |
|---|---|---|
| 仓库上报货物破损时新建工单 | Tool | 模型是否需要执行操作？ |
| 易碎品包装规范 | Resource | 是否为只读数据？ |
| 发给经理的交班报告模板 | Prompt | 用户是否每天重复使用这份模板？ |
| 按运单号查询订单状态 | Tool | 结果是否取决于模型传入的参数？ |

这个练习里有两个常见错误值得记住。一是把所有东西都做成 tool，连只需阅读的文档也不例外，结果模型只能猜什么时候该调用。二是把报告模板塞进 host 的系统提示词，而不是由 server 以 prompt 的形式提供，这样客户就无法自行修改模板。

第一次需求调研时，可以列出客户想做的事情，把每一条放进这三栏之一。分完之后，server 的设计也就八九不离十了。

## 从笔记本到共享服务器

课程有一部分讲创建和部署远程 server。现行规范文档在讨论日志时提到 stdio 传输，在讨论移除会话时提到 Streamable HTTP。

在客户现场，跑在你笔记本上的 stdio 原型通常足够演示。一旦整个运营团队都要用，server 就必须远程运行，例如走 Streamable HTTP。到这一步，身份认证、内网访问、运维归属等问题就来了，应尽早提出。

## 哪些要亲手重写

根据官方文档，2026-07-28 规范把 MCP 改成了无状态协议：移除协议层会话及 `Mcp-Session-Id` 请求头，取消 `initialize` 握手，每个请求自带协议版本和能力声明。sampling 和协议层日志也已弃用。

课程页面没有专讲 sampling、会话或日志的课，因此不要想当然地认为示例代码依赖它们。但你自己补充的代码，或客户项目里的旧代码，很可能用到了。这些功能在弃用期内仍可使用，只是不应再写进新代码。

把这一点套到物流公司的工单 server 上。假设你写了一个“总结工单”的 tool，由 server 通过 sampling 请 client 调用模型。新规范建议直接调用 LLM 服务商的 API；重写时，比较合理的做法是让 tool 只返回工单数据，由 host 调用模型完成总结。

无状态同样需要审查。如果你的 server 在两次调用之间记住了“当前正在查看的工单”，新规范要求改为通过 tool 参数显式传递句柄，例如每次调用都传入订单号。日志在 stdio 下写入 `stderr`，或通过 OpenTelemetry 输出。

## 按什么顺序学，适合谁？

先读 modelcontextprotocol.io 上的介绍和架构页面。然后从头到尾看完课程，关掉视频，自己重写 client 和远程 server，并对照 2026-07-28 规范的变更日志逐项检查。

这门课适合调用过 LLM API、但从未把模型接入外部系统的工程师。如果你已经为生产环境写过 MCP server，可以跳过视频，只读规范变更日志。

## 把练习变成求职证明

看完 11 节视频只能说明你学过。FDE 面试官更看重一个 GitHub 仓库：里面有一个通过 Streamable HTTP 运行的远程 server，README 写明所用规范版本，并说明每项能力为何选择 tool、resource 或 prompt。

浏览 FDE 岗位描述时，留意其中是否提到 MCP 或与客户系统集成，面试时带上这个仓库。

看视频足以理解架构。但只有按新规范重写一遍，才能看清改了什么。

**本周动手试试:**

- 看课程前几节之前，先读 modelcontextprotocol.io 上的介绍和架构页面
- 不照抄示例代码，写一个连接两个 MCP server 的 host，再对照 2026-07-28 规范变更日志，审查所有用到 sampling、日志或会话状态的地方
- 通过 Streamable HTTP 部署一个远程 server，发布到 GitHub，并在 README 中写明所用规范版本

## 信源

- [✨ New course! Enroll in MCP: Build Rich-Context AI Apps with Anthropic (DeepLearning.AI Community)](https://community.deeplearning.ai/t/new-course-enroll-in-mcp-build-rich-context-ai-apps-with-anthropic/817997)

- [MCP: Build Rich-Context AI Apps with Anthropic - DeepLearning.AI](https://www.deeplearning.ai/courses/mcp-build-rich-context-ai-apps-with-anthropic)

- [MCP: Build Rich-Context AI Apps with Anthropic - DeepLearning.AI](https://www.deeplearning.ai/short-courses/mcp-build-rich-context-ai-apps-with-anthropic/)

- [What is the Model Context Protocol (MCP)?](https://modelcontextprotocol.io/docs/getting-started/intro)

- [Introducing the Model Context Protocol - Anthropic](https://www.anthropic.com/news/model-context-protocol)

- [Architecture overview - Model Context Protocol](https://modelcontextprotocol.io/docs/learn/architecture)

- [Key Changes - Model Context Protocol specification 2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28/changelog)

- [MCP 2026-07-28 release (blog.modelcontextprotocol.io)](https://blog.modelcontextprotocol.io/posts/2026-07-28)

- [MCP goes stateless in the 2026-07-28 specification (WorkOS)](https://workos.com/blog/mcp-stateless-spec-2026-07-28)
