手撕 MCP:用 TypeScript 从零写一个能跑的最小客户端(附可运行 demo)📖 摘要:本文从工程视角拆解 Model Context Protocol(MCP):不堆概念,直接用 TypeScript 从零写一个能跑的最小 stdio 客户端,覆盖 JSON-RPC 2.0 消息帧、initialize 握手、tools/list 与 tools/call 全流程,并附带一个可独立运行的演示服务端。文中还会澄清 2026-07-28 新规范的"无状态 server/discover"与旧版 initialize 握手的区别,并复盘 stdout 污染、换行黏包、请求 id 关联