Tổng kết — Bản đồ lớn, survey & bước tiếp theo

Wrapping upCơ bản15 phút

Bạn sẽ học được
  • Nắm được nội dung: Tổng kết — Bản đồ lớn, survey & bước tiếp theo.

Chúc mừng bạn!

Nếu bạn đang đọc bài này sau khi đi qua hết 13 bài trước, bạn đã đi qua phần khó nhất — kiến thức nền tảng về transport, notifications, sampling và roots. Hãy dành 30 giây ghi nhận điều đó trước khi đi tiếp.

Bài này không có concept mới. Mục đích của nó là:

  • Ráp lại bức tranh lớn — kết nối các mảnh đã học thành mental model thống nhất.
  • Gợi ý roadmap tiếp theo — bạn nên học gì, làm gì tiếp theo.
  • Nhận phản hồi của bạn — để khóa học cải thiện cho cohort sau.

Bức tranh lớn — 4 layer của MCP nâng cao

Sau 13 bài, đây là mental model nên in vào đầu:

Mỗi layer phụ thuộc layer bên dưới. Nếu layer 1 hiểu sai → không debug được layer 4.

Pattern "if-then" phải nhớ

5 pattern này cover 80% decisions bạn sẽ phải đưa ra trong 1 năm build MCP production.

  • If tool cần progress/log → then check transport không phải stateless_http=True.
  • If tool cần sampling → then check transport bidirectional (STDIO or StreamableHTTP stateful).
  • If tool cần file access → then implement roots enforcement trong code.
  • If deploy multi-pod → then chọn sticky session HOẶC chấp nhận stateless_http=True.
  • If proxy không support SSE → then bật json_response=True VÀ chấp nhận mất progress.
┌────────────────────────────────────────────────────────────┐
│                                                            │
│   LAYER 4: ADVANCED CAPABILITIES                           │
│   ──────────────────────────────                           │
│   Sampling — server mượn model của client                  │
│   Roots — file access boundary + context                   │
│   Notifications (log + progress) — UX feedback             │
│                                                            │
│                       ▼ phụ thuộc ▼                        │
│                                                            │
│   LAYER 3: TRANSPORT LIMITATIONS                           │
│   ────────────────────────                                 │
│   stateless_http — bật thì mất bidirectional               │
│   json_response — bật thì mất streaming                    │
│                                                            │
│                       ▼ phụ thuộc ▼                        │
│                                                            │
│   LAYER 2: TRANSPORT IMPLEMENTATION                        │
│   ────────────────────────────                             │
│   STDIO — full bidirectional, local                        │
│   StreamableHTTP — SSE workaround cho bidirectional        │
│                                                            │
│                       ▼ phụ thuộc ▼                        │
│                                                            │
│   LAYER 1: MESSAGE FORMAT                                  │
│   ───────────────────                                      │
│   JSON-RPC 2.0                                             │
│   Request-Result (có id)                                   │
│   Notification (không id)                                  │
│   Bidirectional: cả client & server initiate               │
│                                                            │
└────────────────────────────────────────────────────────────┘

Những gì bạn bây giờ có thể làm

Sau khóa:

✅ Build MCP server production với full 3 tính năng advanced (notifications, sampling, roots).

✅ Deploy remote MCP server lên bất kỳ cloud nào (Cloud Run, Fly.io, AWS Lambda, Cloudflare Workers) với cấu hình đúng.

✅ Debug được các lớp production bug điển hình:

✅ Chọn đúng transport + flag combination cho mỗi scenario:

✅ Đọc spec MCP official và implement feature mới khi SDK chưa support.

✅ Review code MCP của người khác, flag các anti-pattern (path traversal, fake case studies, flag misuse).

  • "Progress không hiện" → transport flag.
  • "Sampling timeout" → primary SSE closed bởi proxy.
  • "Path access denied" → roots config hoặc is_path_allowed bug.
  • "Client không nhận notification" → callback không register đúng.
  • Local dev → STDIO.
  • Small prod single instance → StreamableHTTP default.
  • Large scale public API → StreamableHTTP stateless.
  • Enterprise full-feature → StreamableHTTP + sticky session.

Những gì bạn chưa học trong khóa này

Khóa tập trung vào protocol & transport nâng cao. Các chủ đề chưa cover nhưng quan trọng:

1. Authentication & Authorization (OAuth 2.1)

Spec MCP mới nhất (2025) đã chuẩn hóa OAuth 2.1 cho MCP server public. Bạn cần thêm tài liệu:

Ngắn gọn: expose MCP server public không phải chỉ deploy. Cần login flow, scope permission, token management. Đây là cụm bài riêng.

2. MCP Registry

Có registry chính thức tại mcp.dev (hoặc URL tương tự) để publish MCP server như npm package. Submit server lên đó → user discover được từ Claude Desktop marketplace.

3. Multi-server orchestration

Pattern chain 2+ MCP server qua sampling recursive. Mới touch qua trong bài 10.8.

4. Testing strategies

Unit test, integration test, contract test cho MCP server. Library mcp-testing phát triển nhưng chưa ổn định.

5. Observability

Distributed tracing cho MCP (OpenTelemetry instrumentation). Metric dashboards (Prometheus, Grafana).

6. Performance tuning

Khi server của bạn chạy 10k+ req/s, có nhiều tối ưu:

7. Security hardening deep

Rate limiting, DDoS protection, input validation library, SBOM, dependency scanning.

  • MCP Authentication Spec
  • Video: "Building with MCP and the Claude API" (developer__20251009) có nói về "payment MCP server với OAuth flow".
  • Connection pooling.
  • Async batching.
  • Cache layer cho tools idempotent.
  • SSE event batching.

Roadmap học tiếp

Tuần tới (nếu bạn vừa xong khóa)

Tháng tới

Quý tới

  • Chọn 1 tool đang có trong dự án của bạn. Thêm notifications (2 dòng code).
  • Deploy MCP server lên cloud dù chỉ là hello world. Fight một lần với stateless_http.
  • Chia sẻ 1 insight với đồng nghiệp (viết 1 message Slack ngắn, hoặc 1 tweet).
  • Build 1 MCP server nhỏ giải quyết 1 pain point thực tế của bạn.
  • Đọc OAuth 2.1 spec và thử implement cho public server.
  • Contribute 1 PR cho một MCP server open-source trên GitHub.
  • Viết blog post về kinh nghiệm dùng MCP advanced trong dự án thật.
  • Tham gia MCP community (Discord/Slack của Anthropic, MCP Dev).
  • Experiment với multi-server chain — sampling recursive.

Resource để học thêm

Official docs

Video Anthropic

Community

Books / Long-form content

(Chưa có book chuyên về MCP tính đến 2026. Các bài blog tiếng Anh uy tín hiện tại là từ Anthropic engineering blog, Latent Space newsletter, và Alex Albert's personal blog.)

  • modelcontextprotocol.io — trung tâm mọi thông tin.
  • MCP Specification on GitHub — spec gốc, TypeScript.
  • Python SDK — dùng trong khóa này.
  • TypeScript SDK — nếu bạn dev JS/TS.
  • The Model Context Protocol (MCP) — Theo Chu, David Soria Parra, Alex Albert (2025-06-16).
  • MCP 201 | Code w/ Claude — David Soria Parra đi sâu vào primitives (2025-07-31).
  • Building with MCP and the Claude API — Alex Albert, John Welsh, Michael Cohen (2025-10-09).
  • Why we built—and donated—the MCP — story tại sao Anthropic open-source (2025-12-11).
  • Anthropic Discord — kênh #mcp.
  • MCP GitHub Discussions — nơi post câu hỏi khó.
  • Twitter/X hashtag #modelcontextprotocol.

Survey — Feedback giúp khóa cải thiện

Nếu bạn dành 3-5 phút cho vài câu hỏi dưới đây, khóa này sẽ tốt hơn cho cohort sau.

Câu 1: Cảm nhận tổng quan

Trên thang 1-10, độ hữu ích của khóa cho bạn? ________ /10

Câu 2: Bài nào khó hiểu nhất?

Câu 3: Bài nào bạn thấy hữu ích nhất?

(Thường là bài gần với pain point hiện tại của bạn. Viết tên bài + 1 câu lý do.)

___________________________________________________________

Câu 4: Topic nào bạn mong có thêm?

Câu 5: Bạn sẽ apply kiến thức từ khóa vào đâu trong 30 ngày tới?

(1-2 câu ngắn. Viết cụ thể: "Add notifications cho tool X", "Deploy server Y lên cloud", ...)

___________________________________________________________

Câu 6: Recommend khóa này cho ai?

Câu 7: Một điều bạn muốn thay đổi/bổ sung cho khóa

___________________________________________________________

  • [ ] 10.1 — Tổng quan
  • [ ] 10.2 — JSON message types
  • [ ] 10.3 — STDIO transport
  • [ ] 10.4 — StreamableHTTP transport
  • [ ] 10.5 — StreamableHTTP chuyên sâu
  • [ ] 10.6 — State & Stateless HTTP flags
  • [ ] 10.7 — Log & Progress notifications
  • [ ] 10.8 — Walkthrough Notifications
  • [ ] 10.9 — Sampling
  • [ ] 10.10 — Walkthrough Sampling
  • [ ] 10.11 — Roots
  • [ ] 10.12 — Walkthrough Roots
  • [ ] 10.13 — Quiz
  • [ ] OAuth 2.1 & authentication
  • [ ] MCP registry & publishing
  • [ ] Testing strategies
  • [ ] Observability & monitoring
  • [ ] Performance tuning
  • [ ] Multi-server orchestration
  • [ ] Security hardening deep
  • [ ] Khác (ghi rõ): ___________
  • [ ] Backend developer mới học MCP.
  • [ ] Developer đã có MCP server trong production.
  • [ ] DevOps/Platform engineer.
  • [ ] AI engineer/researcher.
  • [ ] Technical product manager.
  • [ ] Khác: ___________

Lời kết

Khóa học này kết thúc. Nhưng kiến thức về MCP còn đang phát triển từng tuần. Spec có version mới mỗi vài tháng. SDK có breaking change. Ecosystem server mở rộng theo cấp số nhân.

Để giữ kiến thức "sống", bạn cần:

MCP là một protocol còn trẻ. Bạn đang ở giai đoạn đầu của cái mà có thể là industry standard cho AI integration trong 5 năm tới. Kiến thức bạn đang có là asset.

Chúc bạn build được những MCP server tuyệt vời. Và nếu có câu hỏi, thấy bug trong tài liệu này, hoặc muốn chia sẻ — đừng ngần ngại lên tiếng.

Cảm ơn bạn đã đi hết chặng đường này.

— Team Anthropic Academy

  • Build — không dùng là quên.
  • Theo dõi spec + Anthropic announcements.
  • Tương tác — tham gia community, hỏi và trả lời.

🎉 Những điều bạn đã hoàn thành

  • ✅ 13 bài học + 1 tổng kết
  • ✅ Hiểu MCP message format (JSON-RPC 2.0)
  • ✅ Biết 2 transport chính (STDIO, StreamableHTTP) + workaround SSE
  • ✅ Phân tích được trade-off của 2 flag stateless_http + json_response
  • ✅ Implement được 3 tính năng advanced: notifications, sampling, roots
  • ✅ Trải qua 3 walkthrough code thực tế
  • ✅ Làm quiz 10 câu
  • ✅ Có roadmap tiếp theo rõ ràng

Phản hồi và hỗ trợ

  • Gặp vấn đề kỹ thuật: post issue trên GitHub của SDK đang dùng.
  • Muốn chia sẻ: Anthropic Discord kênh #mcp, hoặc Twitter #modelcontextprotocol.
  • Tài liệu tham khảo chuyên sâu: modelcontextprotocol.io.
  • Góp ý cho khóa tiếng Việt này: gửi feedback dưới dạng issue hoặc comment trong repo học tập.

Happy building! 🚀

Bản quyền 2026 Anthropic — Bản tiếng Việt chuyên sâu. Mọi quyền được bảo lưu.

Khóa học "Model Context Protocol — Advanced Topics" (bản tiếng Việt v2.0) được tinh chế từ nguồn chính thức Anthropic Academy với bổ sung context từ các transcript: developer__20250616__the-model-context-protocol-mcp, developer__20250731__mcp-201-code-w-claude, developer__20251009__building-with-mcp-and-the-claude-api.

 ┌───────────────────────────────────────┐
 │                                       │
 │   You now know enough MCP to be       │
 │   dangerous. Go build something.      │
 │                                       │
 │            — David, Theo, Alex        │
 │              (MCP co-creators)        │
 │                                       │
 └───────────────────────────────────────┘
Nội dung này có hữu ích không?