Stateless MCP
มาตรฐาน MCP ฉบับ 2026-07-28 ที่ตัดระบบ session ทิ้งทั้งหมด ทุกคำขอจบในตัวเอง เป็น breaking change ของทั้งวงการ
Stateless MCP คือชื่อเรียกมาตรฐาน mcp ฉบับลงวันที่ 2026-07-28 ซึ่งเปลี่ยนหลักการพื้นฐานของโปรโตคอลด้วยการตัดระบบ session ออกทั้งหมด ของเดิมในฉบับ 2025-11-25 กำหนดว่า client ต้องยิงคำขอสองรอบ รอบแรกเพื่อเริ่มต้นการเชื่อมต่อและรับค่า Mcp-Session-Id กลับมา แล้วจึงเรียกใช้ tool ในรอบถัดไป ฉบับใหม่ยุบเหลือรอบเดียว โดยเอาส่วนหัว Mcp-Session-Id ออกจาก transport แบบ Streamable HTTP และยกเลิกขั้นตอนจับมือ initialize กับ notifications/initialized ทิ้ง แทนที่ด้วยการให้ทุกคำขอพกเวอร์ชันโปรโตคอลและความสามารถของ client ติดไปในฟิลด์ _meta ของตัวเอง ส่วน server ที่ยังต้องการเก็บสถานะข้ามการเรียกให้ใช้ handle ที่ server เป็นคนออกให้ แล้วส่งกลับมาเป็นพารามิเตอร์ของ tool ตามปกติ
เหตุผลเบื้องหลังคือเรื่องการขยายระบบ Simon Willison ซึ่งเขียนถึงการเปลี่ยนแปลงนี้เมื่อ 31 กรกฎาคม 2026 สรุปประโยชน์ไว้ว่า "now you don't need to maintain server-side state to keep track of those session IDs, or worry about routing the same session to the same backend machine" คือไม่ต้องเก็บสถานะฝั่ง server และไม่ต้องกังวลว่าจะส่งคำขอของ session เดิมกลับไปที่เครื่องเดิมได้อย่างไร ซึ่งเป็นปัญหาที่กวนใจคนสร้างระบบขนาดใหญ่ที่มีหลายเครื่องรับงาน เขายังบอกว่ารูปแบบใหม่ "greatly decreases the complexity of implementing both clients and servers for the protocol" และพิสูจน์ด้วยการเขียนของสามชิ้นเสร็จภายในสัปดาห์เดียว การเปลี่ยนครั้งนี้มาพร้อมสิ่งอื่นด้วย เช่น การเพิ่มคำสั่ง server/discover ที่ server ต้องรองรับเพื่อประกาศเวอร์ชันและความสามารถของตัวเอง การแทน endpoint แบบ GET และการ subscribe ทรัพยากรด้วย subscriptions/listen ตัวเดียว และการประกาศเลิกใช้ฟีเจอร์ Roots, Sampling และ Logging โดยมีช่วงเปลี่ยนผ่านอย่างน้อยสิบสองเดือน
สิ่งที่คนทำงานควรรู้คือนี่เป็น breaking change จริง ระบบที่สร้างบนโปรโตคอลฉบับก่อนหน้าต้องแก้ให้เข้ากับรูปแบบใหม่ ไม่ใช่แค่อัปเดตแล้วใช้ต่อได้เลย สำหรับองค์กรที่เพิ่งเริ่มต่อเครื่องมือภายในเข้ากับ AI ผ่าน MCP ในปี 2026 คำถามที่ต้องถามผู้ให้บริการหรือทีมพัฒนาคือรองรับโปรโตคอลฉบับไหน และมีแผนย้ายอย่างไร ส่วนคนที่ยังไม่เริ่ม การรอให้เครื่องมือรอบตัวขยับมาที่ฉบับใหม่ก่อนก็เป็นทางเลือกที่สมเหตุสมผล ในทางแนวคิด การเปลี่ยนครั้งนี้ทำให้ MCP มีหน้าตาใกล้เคียงกับเว็บ API ทั่วไปมากขึ้น คือแต่ละคำขอเป็นอิสระต่อกันและมีข้อมูลครบในตัวเอง ซึ่งเป็นหลักการเดียวกับที่ทำให้ระบบเว็บขยายตัวได้ง่ายมาตลอด (ดู stateless และ stateful)
ตัวอย่างจากบทสนทนาจริง
หัวหน้าฝ่ายไอที: "ทีมเราเพิ่งทำ MCP server ต่อกับระบบคลังสินค้าเสร็จเมื่อเดือนที่แล้วครับ แล้วได้ข่าวว่ามาตรฐานเปลี่ยนอีกแล้ว ต้องรื้อทำใหม่หมดเลยไหม"
สถาปนิกระบบ: "ไม่ถึงกับรื้อหมดครับ ตัว tool ที่เขียนไว้ใช้ต่อได้ สิ่งที่ต้องแก้คือชั้นเชื่อมต่อ เพราะฉบับ 2026-07-28 เอา session ออกทั้งหมด ของเดิมที่ยิงสองรอบเพื่อขอ session id ก่อน เหลือรอบเดียวจบ ข้อดีคือเราไม่ต้องทำ sticky session บน load balancer อีกต่อไป ผมเสนอให้รองรับทั้งสองฉบับไปก่อนสักหนึ่งไตรมาส แล้วค่อยตัดของเก่าทิ้งเมื่อ client ทุกตัวย้ายครบครับ"
ระวังสับสนกับ
- mcp : MCP คือตัวมาตรฐานสำหรับให้โมเดลต่อกับเครื่องมือและข้อมูลภายนอก ส่วน stateless MCP คือชื่อที่คนใช้เรียกมาตรฐานเดียวกันนี้ในฉบับ 2026-07-28 ที่ตัด session ออก ไม่ใช่โปรโตคอลคนละตัว
- stateless : stateless เป็นหลักการทั่วไปในระบบซอฟต์แวร์ที่ว่าแต่ละคำขอต้องมีข้อมูลครบในตัวเอง ส่วน stateless MCP คือการเอาหลักการนั้นมาใช้กับ MCP อย่างเป็นทางการในฉบับใหม่
- session : session คือช่วงการทำงานต่อเนื่องที่ระบบจำบริบทไว้ให้ ซึ่งยังคงมีอยู่ในเครื่องมือ AI ที่เราใช้ตามปกติ สิ่งที่ถูกตัดออกคือ session ในระดับโปรโตคอลระหว่าง client กับ server เท่านั้น ไม่ใช่ประสบการณ์การสนทนาต่อเนื่องของผู้ใช้
Sources (2)
- https://modelcontextprotocol.io/specification/2026-07-28/changelog fetched 2026-08-05
- https://simonwillison.net/2026/Jul/31/stateless-mcp/ fetched 2026-08-05
อ่านจบแล้วอยากตามเรื่อง AI แบบนี้ต่อทุกวัน เรามีสรุปข่าวภาษาไทยส่งทาง LINE ทุกเช้า กดเพิ่มเพื่อนไว้ได้เลย ไม่มีค่าใช้จ่าย