Skip to content

Commit a97d490

Browse files
committed
feat: align the MCP example and guides with the 2026-07-28 specification
- Rewrite the mcp-server example for the stateless 2026-07-28 spec: no initialize handshake, per-request _meta.protocolVersion validation, and the input_required round-trip via params.inputResponses (8 tests). - Add bilingual migration guide guides/mcp/migrate-2026-07-28 covering the removals, deprecations, authorization hardening, and a migration checklist. - Add the four official MCP/AAIF announcement sources to the reviewed catalog; regenerate catalog.json, README catalogs, and the content manifest (19 docs).
1 parent 6a109b0 commit a97d490

22 files changed

Lines changed: 625 additions & 39 deletions

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,14 @@ which access or safety constraints deserve attention.
6868

6969
<!-- catalog-index:start -->
7070
<!-- Generated by tools/render_readmes.py; edit catalog/ instead. -->
71-
> **29 reviewed resources** · Catalog reviewed 2026-09-02 · 21 intermediate or advanced · Primary sources first
71+
> **33 reviewed resources** · Catalog reviewed 2026-09-06 · 25 intermediate or advanced · Primary sources first
7272
7373
### Choose a learning path
7474

7575
- [**Python foundations**](#path-foundations) — Learn the language, environments, dependencies, typing, and tests that reliable Python work depends on. (8 resources)
7676
- [**Web and APIs**](#path-web-apis) — Build typed services and applications that connect Python logic to users and other systems. (7 resources)
7777
- [**Automation**](#path-automation) — Turn repeatable work into maintainable scripts, browser workflows, and data pipelines. (7 resources)
78-
- [**AI agents**](#path-ai-agents) — Learn tools, structured output, state, evaluation, and the safety boundaries of agent systems. (7 resources)
78+
- [**AI agents**](#path-ai-agents) — Learn tools, structured output, state, evaluation, and the safety boundaries of agent systems. (11 resources)
7979

8080
<a id="path-foundations"></a>
8181
### Python foundations
@@ -137,6 +137,10 @@ Learn tools, structured output, state, evaluation, and the safety boundaries of
137137
| [Google Agent Development Kit](https://adk.dev/)<br><sub>Official docs</sub> | Google's official documentation for developing, evaluating, and deploying modular agent systems. | Advanced<br>English | API key typically required<br>Review permissions and side effects | 2026-08-31 |
138138
| [Instructor documentation](https://python.useinstructor.com/)<br><sub>Official project</sub> | Structured outputs and validation for LLMs powered by Pydantic, enabling predictable tool calling and schema enforcement. | Intermediate<br>English | API key typically required<br>Review permissions and side effects | 2026-09-02 |
139139
| [Model Context Protocol Python SDK](https://github.com/modelcontextprotocol/python-sdk)<br><sub>Official project</sub> | Official Python implementation of the Model Context Protocol for building MCP servers and clients. | Intermediate<br>English | No API key<br>Review permissions and side effects | 2026-09-02 |
140+
| [MCP 2026-07-28 specification release](https://blog.modelcontextprotocol.io/posts/2026-07-28/)<br><sub>Official docs</sub> | The official release announcement for the 2026-07-28 Model Context Protocol specification, covering the stateless redesign and breaking changes. | Intermediate<br>English | No API key<br>Low risk | 2026-09-06 |
141+
| [MCP 2026-07-28 release candidate overview](https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/)<br><sub>Official docs</sub> | The official release-candidate post that enumerates the 2026-07-28 breaking changes and the migration window for SDK maintainers. | Intermediate<br>English | No API key<br>Low risk | 2026-09-06 |
142+
| [Anthropic donating MCP to the Agentic AI Foundation](https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation)<br><sub>Official docs</sub> | Anthropic's announcement establishing neutral Linux Foundation governance for MCP under the Agentic AI Foundation. | Intermediate<br>English | No API key<br>Low risk | 2026-09-06 |
143+
| [MCP under the Agentic AI Foundation](https://aaif.io/projects/model-context-protocol)<br><sub>Official project</sub> | The Agentic AI Foundation project page for MCP, the neutral governance home for specification development and roadmaps. | Intermediate<br>English | No API key<br>Low risk | 2026-09-06 |
140144

141145
Missing an important official source? [Propose a resource or report a correction](https://github.com/flypythoncom/python/issues/new/choose).
142146
<!-- catalog-index:end -->

README_cn.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,14 @@ python examples/product-slug/verify.py solution
6262

6363
<!-- catalog-index:start -->
6464
<!-- Generated by tools/render_readmes.py; edit catalog/ instead. -->
65-
> **29 条已审核资源** · 最近整体审核:2026-09-02 · 21 条进阶或高级资源 · 一手来源优先
65+
> **33 条已审核资源** · 最近整体审核:2026-09-06 · 25 条进阶或高级资源 · 一手来源优先
6666
6767
### 选择学习路径
6868

6969
- [**Python 基础**](#path-foundations) — 掌握语言基础、环境、依赖、类型与测试,为可靠的 Python 项目打好根基。 (8 条资源)
7070
- [**Web 与 API**](#path-web-apis) — 构建有类型约束的服务和应用,把 Python 逻辑连接到用户与其他系统。 (7 条资源)
7171
- [**自动化**](#path-automation) — 把重复工作变成可维护的脚本、浏览器工作流和数据管道。 (7 条资源)
72-
- [**AI Agent**](#path-ai-agents) — 理解工具调用、结构化输出、状态、评测以及 Agent 系统的安全边界。 (7 条资源)
72+
- [**AI Agent**](#path-ai-agents) — 理解工具调用、结构化输出、状态、评测以及 Agent 系统的安全边界。 (11 条资源)
7373

7474
<a id="path-foundations"></a>
7575
### Python 基础
@@ -131,6 +131,10 @@ python examples/product-slug/verify.py solution
131131
| [Google Agent Development Kit](https://adk.dev/)<br><sub>官方文档</sub> | Google 官方模块化 Agent 系统开发、评测与部署文档。 | 高级<br>英语 | 通常需要 API Key<br>检查权限与副作用 | 2026-08-31 |
132132
| [Instructor documentation](https://python.useinstructor.com/)<br><sub>官方项目</sub> | 基于 Pydantic 的大模型结构化输出与严格验证框架,确保工具调用与数据提取的确定性。 | 进阶<br>英语 | 通常需要 API Key<br>检查权限与副作用 | 2026-09-02 |
133133
| [Model Context Protocol Python SDK](https://github.com/modelcontextprotocol/python-sdk)<br><sub>官方项目</sub> | Model Context Protocol 官方 Python SDK,用于快速构建和集成标准的 MCP 工具与服务。 | 进阶<br>英语 | 无需 API Key<br>检查权限与副作用 | 2026-09-02 |
134+
| [MCP 2026-07-28 specification release](https://blog.modelcontextprotocol.io/posts/2026-07-28/)<br><sub>官方文档</sub> | Model Context Protocol 2026-07-28 规范的官方发布公告,说明无状态重构与破坏性变更。 | 进阶<br>英语 | 无需 API Key<br>低风险 | 2026-09-06 |
135+
| [MCP 2026-07-28 release candidate overview](https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/)<br><sub>官方文档</sub> | 官方 RC 发布说明,逐项列出 2026-07-28 的破坏性变更以及留给 SDK 维护者的迁移窗口。 | 进阶<br>英语 | 无需 API Key<br>低风险 | 2026-09-06 |
136+
| [Anthropic donating MCP to the Agentic AI Foundation](https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation)<br><sub>官方文档</sub> | Anthropic 官方公告,宣布将 MCP 交由 Linux 基金会旗下的 Agentic AI Foundation 中立治理。 | 进阶<br>英语 | 无需 API Key<br>低风险 | 2026-09-06 |
137+
| [MCP under the Agentic AI Foundation](https://aaif.io/projects/model-context-protocol)<br><sub>官方项目</sub> | Agentic AI Foundation 的 MCP 项目主页,是规范开发与路线图的中立治理入口。 | 进阶<br>英语 | 无需 API Key<br>低风险 | 2026-09-06 |
134138

135139
没有找到合适的官方资料?可以[建议资源或报告错误](https://github.com/flypythoncom/python/issues/new/choose)
136140
<!-- catalog-index:end -->

catalog.json

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"$schema": "./schema/catalog-v1.schema.json",
33
"schema_version": 1,
44
"catalog": {
5-
"reviewed_on": "2026-09-02",
5+
"reviewed_on": "2026-09-06",
66
"status": "active"
77
},
88
"paths": [
@@ -532,6 +532,74 @@
532532
"risk": "medium",
533533
"featured": false,
534534
"order": 7
535+
},
536+
{
537+
"id": "mcp-2026-07-28-spec-release",
538+
"path": "ai-agents",
539+
"title": "MCP 2026-07-28 specification release",
540+
"url": "https://blog.modelcontextprotocol.io/posts/2026-07-28/",
541+
"source_type": "official-docs",
542+
"level": "intermediate",
543+
"language": "en",
544+
"why_en": "The official release announcement for the 2026-07-28 Model Context Protocol specification, covering the stateless redesign and breaking changes.",
545+
"why_zh": "Model Context Protocol 2026-07-28 规范的官方发布公告,说明无状态重构与破坏性变更。",
546+
"reviewed_on": "2026-09-06",
547+
"status": "active",
548+
"requires_key": false,
549+
"risk": "low",
550+
"featured": false,
551+
"order": 8
552+
},
553+
{
554+
"id": "mcp-2026-07-28-release-candidate",
555+
"path": "ai-agents",
556+
"title": "MCP 2026-07-28 release candidate overview",
557+
"url": "https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/",
558+
"source_type": "official-docs",
559+
"level": "intermediate",
560+
"language": "en",
561+
"why_en": "The official release-candidate post that enumerates the 2026-07-28 breaking changes and the migration window for SDK maintainers.",
562+
"why_zh": "官方 RC 发布说明,逐项列出 2026-07-28 的破坏性变更以及留给 SDK 维护者的迁移窗口。",
563+
"reviewed_on": "2026-09-06",
564+
"status": "active",
565+
"requires_key": false,
566+
"risk": "low",
567+
"featured": false,
568+
"order": 9
569+
},
570+
{
571+
"id": "anthropic-mcp-aaif-donation",
572+
"path": "ai-agents",
573+
"title": "Anthropic donating MCP to the Agentic AI Foundation",
574+
"url": "https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation",
575+
"source_type": "official-docs",
576+
"level": "intermediate",
577+
"language": "en",
578+
"why_en": "Anthropic's announcement establishing neutral Linux Foundation governance for MCP under the Agentic AI Foundation.",
579+
"why_zh": "Anthropic 官方公告,宣布将 MCP 交由 Linux 基金会旗下的 Agentic AI Foundation 中立治理。",
580+
"reviewed_on": "2026-09-06",
581+
"status": "active",
582+
"requires_key": false,
583+
"risk": "low",
584+
"featured": false,
585+
"order": 10
586+
},
587+
{
588+
"id": "aaif-model-context-protocol",
589+
"path": "ai-agents",
590+
"title": "MCP under the Agentic AI Foundation",
591+
"url": "https://aaif.io/projects/model-context-protocol",
592+
"source_type": "official-project",
593+
"level": "intermediate",
594+
"language": "en",
595+
"why_en": "The Agentic AI Foundation project page for MCP, the neutral governance home for specification development and roadmaps.",
596+
"why_zh": "Agentic AI Foundation 的 MCP 项目主页,是规范开发与路线图的中立治理入口。",
597+
"reviewed_on": "2026-09-06",
598+
"status": "active",
599+
"requires_key": false,
600+
"risk": "low",
601+
"featured": false,
602+
"order": 11
535603
}
536604
]
537605
}

catalog/catalog.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
reviewed_on: '2026-09-02'
1+
reviewed_on: '2026-09-06'
22
status: active
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
id: aaif-model-context-protocol
2+
path: ai-agents
3+
title: MCP under the Agentic AI Foundation
4+
url: https://aaif.io/projects/model-context-protocol
5+
source_type: official-project
6+
level: intermediate
7+
language: en
8+
why_en: The Agentic AI Foundation project page for MCP, the neutral governance home for specification development and roadmaps.
9+
why_zh: Agentic AI Foundation 的 MCP 项目主页,是规范开发与路线图的中立治理入口。
10+
reviewed_on: '2026-09-06'
11+
status: active
12+
requires_key: false
13+
risk: low
14+
featured: false
15+
order: 11
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
id: anthropic-mcp-aaif-donation
2+
path: ai-agents
3+
title: Anthropic donating MCP to the Agentic AI Foundation
4+
url: https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation
5+
source_type: official-docs
6+
level: intermediate
7+
language: en
8+
why_en: Anthropic's announcement establishing neutral Linux Foundation governance for MCP under the Agentic AI Foundation.
9+
why_zh: Anthropic 官方公告,宣布将 MCP 交由 Linux 基金会旗下的 Agentic AI Foundation 中立治理。
10+
reviewed_on: '2026-09-06'
11+
status: active
12+
requires_key: false
13+
risk: low
14+
featured: false
15+
order: 10
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
id: mcp-2026-07-28-release-candidate
2+
path: ai-agents
3+
title: MCP 2026-07-28 release candidate overview
4+
url: https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/
5+
source_type: official-docs
6+
level: intermediate
7+
language: en
8+
why_en: The official release-candidate post that enumerates the 2026-07-28 breaking changes and the migration window for SDK maintainers.
9+
why_zh: 官方 RC 发布说明,逐项列出 2026-07-28 的破坏性变更以及留给 SDK 维护者的迁移窗口。
10+
reviewed_on: '2026-09-06'
11+
status: active
12+
requires_key: false
13+
risk: low
14+
featured: false
15+
order: 9
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
id: mcp-2026-07-28-spec-release
2+
path: ai-agents
3+
title: MCP 2026-07-28 specification release
4+
url: https://blog.modelcontextprotocol.io/posts/2026-07-28/
5+
source_type: official-docs
6+
level: intermediate
7+
language: en
8+
why_en: The official release announcement for the 2026-07-28 Model Context Protocol specification, covering the stateless redesign and breaking changes.
9+
why_zh: Model Context Protocol 2026-07-28 规范的官方发布公告,说明无状态重构与破坏性变更。
10+
reviewed_on: '2026-09-06'
11+
status: active
12+
requires_key: false
13+
risk: low
14+
featured: false
15+
order: 8

content-manifest.json

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,23 +73,23 @@
7373
{
7474
"id": "example-mcp-server",
7575
"type": "example",
76-
"content_version": 1,
76+
"content_version": 2,
7777
"status": "reviewed",
78-
"reviewed_on": "2026-09-02",
78+
"reviewed_on": "2026-09-06",
7979
"locales": [
8080
{
8181
"lang": "en-US",
8282
"path": "examples/mcp-server/README.md",
8383
"title": "Model Context Protocol (MCP) Tool Server",
84-
"summary": "Build a safe, compliant JSON-RPC 2.0 MCP tool server with parameter validation and structured error boundaries.",
85-
"sha256": "12cbb64484ad5ccccb05d50566ef7c3c92eb9043641bf299b94b5247adaf12b2"
84+
"summary": "Build a stateless 2026-07-28 MCP tool server with JSON-RPC 2.0 dispatch, no initialize handshake, schema validation, error isolation, and the input_required round-trip.",
85+
"sha256": "989d76f36d383a73fde46c5e9a88df6efc6466b44f1b7a867c0745d1bdb1a0d6"
8686
},
8787
{
8888
"lang": "zh-CN",
8989
"path": "examples/mcp-server/README_cn.md",
9090
"title": "Model Context Protocol (MCP) 工具服务",
91-
"summary": "构建规范安全的 JSON-RPC 2.0 MCP 工具服务,实现参数校验与结构化错误边界",
92-
"sha256": "ec1a70a7cb3304df5a1dd69412bf892f81dace748a7a3f56a811d3146c45b19f"
91+
"summary": "构建符合 2026-07-28 无状态规范的 MCP 工具服务,实现无需 initialize 握手的 JSON-RPC 2.0 分发、参数校验、错误隔离与 input_required 多轮交互",
92+
"sha256": "e29cb70049b5bc5220226ab411b75c7a898242a061490a88fa1d7ef8ca7e9fa1"
9393
}
9494
]
9595
},
@@ -185,6 +185,29 @@
185185
}
186186
]
187187
},
188+
{
189+
"id": "mcp-2026-07-28-migration",
190+
"type": "guide",
191+
"content_version": 1,
192+
"status": "reviewed",
193+
"reviewed_on": "2026-09-06",
194+
"locales": [
195+
{
196+
"lang": "en-US",
197+
"path": "guides/mcp/migrate-2026-07-28.md",
198+
"title": "Migrate a Python MCP server to the 2026-07-28 specification",
199+
"summary": "Update a Python MCP server for the stateless 2026-07-28 specification by removing the initialize handshake, adopting the input_required round-trip, dropping deprecated features, and hardening authorization.",
200+
"sha256": "47a96d64e7f2a86c39fcc716b1e65527961256ae44cb79e2817a13c3eb7feaa2"
201+
},
202+
{
203+
"lang": "zh-CN",
204+
"path": "guides/mcp/migrate-2026-07-28_cn.md",
205+
"title": "将 Python MCP 服务端迁移到 2026-07-28 规范",
206+
"summary": "面向 2026-07-28 无状态规范更新 Python MCP 服务端,移除 initialize 握手、采用 input_required 多轮交互、放弃废弃特性并强化授权。",
207+
"sha256": "bb9eb48393dccc469b6ffcdd52248e82d71daf85dd9b891d00b3adf9b8027425"
208+
}
209+
]
210+
},
188211
{
189212
"id": "product-slug-example",
190213
"type": "example",

examples/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ loop without trusting generated code on sight.
66

77
- [Product slug regression](product-slug/README.md): reproduce a text-boundary bug, ask an agent for the smallest fix, and verify the solution. Standard library only; about three minutes.
88
- [Untrusted payload validation](pydantic-validation/README.md): handle messy camelCase and snake_case inputs, dirty amount strings, and structured error responses.
9-
- [MCP tool server](mcp-server/README.md): build a standard JSON-RPC 2.0 Model Context Protocol tool server with schema validation and isolated runtime errors.
9+
- [MCP tool server](mcp-server/README.md): build a stateless 2026-07-28 MCP tool server: no initialize handshake, schema validation, error isolation, and the input_required round-trip.
1010
- [Async batch fetcher](async-fetcher/README.md): control concurrency with Semaphore, back off and retry transient HTTP failures, and collect structured results.
1111
- [Resilient batch pipeline](structured-pipeline/README.md): process semi-structured data safely with batch error isolation and field validation using the standard library.
1212

0 commit comments

Comments
 (0)