- อัปเดตใหม่ของสเปก MCP เน้นไปที่ส่วนของ เมตาดาต้าแบบมีโครงสร้าง และ การจัดการคอนเท็กซ์ โดยมีเป้าหมายเพื่อเพิ่ม ความสามารถในการขยาย และเสริม การทำงานร่วมกันได้ ระหว่างระบบที่หลากหลาย
- มีการเพิ่ม ฟิลด์ข้อมูลใหม่ และกำหนดรายละเอียดของ ฟิลด์บังคับ เดิมให้ชัดเจนยิ่งขึ้น การจัด โครงสร้างแบบลำดับชั้น ของเมตาดาต้าช่วยให้รองรับวิธีการขยายเฉพาะของแต่ละระบบได้
- มีการกำหนดกฎที่ชัดเจนสำหรับ การติดตามคอนเท็กซ์ และ การอัปเดตแอตทริบิวต์ โดยเน้นความสามารถในการจัดการ ข้อมูลสถานะอย่างสม่ำเสมอ มากกว่าเดิม
- มีการระบุขั้นตอน การจัดการสิทธิ์ และ การตรวจสอบข้อมูล ไว้ในข้อกำหนดของโปรโตคอลอย่างชัดเจน ฟิลด์บางส่วนที่เพิ่มเข้ามาใหม่ถูกออกแบบโดยคำนึงถึง ความเข้ากันได้ กับ เวอร์ชันของโปรโตคอลในอนาคต
- รองรับการผสานข้ามแพลตฟอร์ม: วางรากฐานให้สามารถแลกเปลี่ยน ข้อมูลคอนเท็กซ์ ได้อย่างสม่ำเสมอแม้อยู่บนหลายแพลตฟอร์ม AI และสภาพแวดล้อมบริการคลาวด์
- MCP(Model Context Protocol) คือ โปรโตคอลสำหรับการแลกเปลี่ยนเมตาดาต้าคอนเท็กซ์ ระหว่างระบบ AI หลากหลายประเภท เช่น โมเดลแมชชีนเลิร์นนิงหรือโมเดลภาษาขนาดใหญ่
Major changes
- ยกเลิกการรองรับ JSON-RPC batching (PR #416)
- เพิ่มการรองรับ structured tool output (PR #371)
- จัดประเภท MCP server เป็น OAuth resource server และเพิ่ม protected resource metadata เพื่อให้ค้นหา Authorization server ที่เชื่อมต่ออยู่ได้ดีขึ้น (PR #338)
- กำหนดให้ MCP client ต้องรองรับการทำงานของ Resource Indicator ตาม RFC 8707 (เพื่อป้องกันเซิร์ฟเวอร์ที่เป็นอันตรายจากการได้ access token ไป) (PR #734)
- ทำให้ security considerations และ best practices ในข้อกำหนด Authorization ชัดเจนขึ้น พร้อมเพิ่ม หน้าคู่มือด้านความปลอดภัย แยกต่างหาก
- เพิ่มฟีเจอร์ Elicitation (คำขอสอบถามข้อมูล) เพื่อให้เซิร์ฟเวอร์สามารถขอข้อมูลเพิ่มเติมจากผู้ใช้ได้ (PR #382)
- เพิ่มการรองรับ Resource Links ทำให้สามารถใส่ลิงก์ทรัพยากรในผลลัพธ์ของการเรียกใช้เครื่องมือได้ (PR #603)
- ระหว่างการเจรจาเวอร์ชันโปรโตคอล กำหนดให้ต้องมีเฮดเดอร์
MCP-Protocol-Version บน HTTP (PR #548)
- เปลี่ยน SHOULD ของ Lifecycle Operation เป็น MUST (อ้างอิง)
Other schema changes
- มีการเพิ่มฟิลด์
_meta ไปยัง interface type มากขึ้น (PR #710) พร้อม ระบุวิธีใช้งานที่เหมาะสม
- เพิ่มฟิลด์
context ใน CompletionRequest เพื่อให้รวมตัวแปรที่ถูกตีความก่อนหน้าได้ (PR #598)
- เพิ่มฟิลด์
title สำหรับการแสดงผลที่เป็นมิตรกับผู้ใช้ แยกจากตัวระบุสำหรับโปรแกรม (name ใช้เป็นตัวระบุในโค้ด ส่วน title ใช้สำหรับการแสดงผล) (PR #663)
2 ความคิดเห็น
คอมเมนต์ใน Hacker News น่าผิดหวังนิดหน่อยนะ เหมือนจะดูแค่
stdioแต่ตอนนี้ทั้ง remote MCP server และ registry ที่คอยทำหน้าที่เป็นตัวกลางให้มัน ก็กำลังผุดขึ้นมาเป็นดอกเห็ดเลย....ความคิดเห็นจาก Hacker News
Authorization: Bearer ...กลับมาก็พอ