CCA · Foundations

MCP resources เป็น content catalog ลดการเรียกสำรวจ

แนวคิด

นอกจาก tool ที่เป็น "การกระทำ" MCP server ยังเปิดเผย resource ที่เป็น "เนื้อหา" ได้ resource คือ content catalog ที่ให้ agent มองเห็นข้อมูลที่มีอยู่โดยไม่ต้องเรียก tool ไปสำรวจทีละอย่าง ตัวอย่างที่ exam guide ยกคือ สรุป issue, ลำดับชั้นของเอกสาร, และ schema ของฐานข้อมูล

ใน Claude Code เราอ้างถึง MCP resource ด้วยการ mention แบบ @ คล้ายการอ้างไฟล์ พิมพ์ @ เพื่อดู resource ที่มีจาก server ที่เชื่อมต่ออยู่ แล้วอ้างเจาะจงด้วยรูปแบบ @server:protocol://resource/path resource จะถูกดึงมาและแนบเป็น attachment โดยอัตโนมัติเมื่อถูกอ้าง และ Claude Code จะจัดเตรียม tool สำหรับ list และ read resource ให้เองเมื่อ server รองรับ เนื้อหาของ resource เป็นชนิดใดก็ได้ที่ server ให้มา ทั้ง text, JSON, หรือข้อมูลที่มีโครงสร้าง

ทำไมสำคัญ

เหตุผลที่ resource มีค่าคือมันลดการเรียก tool เชิงสำรวจ ถ้า agent ต้องเข้าใจว่าฐานข้อมูลมีตารางอะไรบ้าง โดยไม่มี catalog มันต้องเดา แล้วยิง tool ไปถามทีละตาราง เสียรอบและเสียโทเคน แต่ถ้า schema ทั้งก้อนเปิดเผยเป็น resource agent เห็นภาพรวมทันทีในคราวเดียว แล้วค่อยเรียก tool เจาะจงเฉพาะสิ่งที่ต้องใช้จริง

หลักการแบ่งงานจึงชัด ใช้ tool สำหรับการกระทำ และใช้ resource สำหรับการมองเห็นข้อมูลที่มีอยู่ resource ตอบคำถามว่า "มีอะไรให้ใช้บ้าง" ส่วน tool ทำงานว่า "ลงมือทำสิ่งนั้น" การให้ agent เห็น catalog ก่อน ช่วยให้มันวางแผนได้ดีขึ้นและลดการลองผิดลองถูก

เชื่อมโยงกับบริบทที่ใหญ่กว่านี้ เมื่อ tool คืน output ที่ใหญ่โดยธรรมชาติ เช่น schema ฐานข้อมูลหรือ tree ของไฟล์ทั้งหมด Claude Code มีกลไกจัดการ output ขนาดใหญ่โดยเก็บลงดิสก์แล้วแทนด้วยการอ้างอิงไฟล์ การออกแบบให้ข้อมูลอ้างอิงพวกนี้อยู่ในรูป resource ตั้งแต่ต้น จึงเป็นวิธีที่เป็นระเบียบกว่าการให้ agent ยิง tool ไปดึงมาซ้ำ ๆ

ตัวอย่าง

# อ้าง MCP resource ด้วย @ mention ใน Claude Code
@db:postgres://schema/public          # schema ทั้งก้อนเป็น catalog
@issues:jira://project/ENG/summary    # สรุป issue

# แทนที่จะ:
#   call list_tables -> call describe_table(a) -> describe_table(b) -> ...
# ให้ agent เห็น schema ทั้งหมดจาก resource ในคราวเดียว
# แล้วค่อยเรียก tool เจาะจงเฉพาะที่ต้องใช้

เช็คความเข้าใจ

MCP resource ต่างจาก MCP tool อย่างไร และมีไว้เพื่ออะไร

ใน Claude Code อ้างถึง MCP resource อย่างไร

อ่านต่อ