Model Context Protocol คืออะไร
MCP (Model Context Protocol) เป็นมาตรฐานการเชื่อมต่อแบบ Open-source สำหรับเชื่อมต่อ AI Applications กับระบบภายนอกได้อย่างเป็นมาตรฐานเดียวกันและกำหนดการเข้าถึงและใช้งานได้อย่างถูกต้องชัดเจน เช่น การที่ chatGPT หรือ Claude หรือ Gemini เชื่อมต่อกับแหล่งข้อมูลภายนอกอย่างไฟล์หรือฐานข้อมูลต่าง ๆ ได้ หรือใช้ Search Engine ในการออกไปค้นหาข้อมูลได้ ไปจนถึงเครื่องมือหรือโฟลว์การทำงานที่ต้องใช้ Prompt เฉพาะต่าง ๆ เปรียบเสมือนกับว่าเป็น USB-C ที่ทำมือถือเชื่อมต่อกับอุปกรณ์อื่น ๆ ได้นั่นเอง
การมี MCP สามารถช่วยให้ AI Agents ทำสิ่งต่าง ๆ เหล่านี้ได้
- Agents สามารถที่จะเชื่อมต่อกับ Google Calendar ได้และช่วยวางแผนจัดการตารางเวลาช่วยลงเวลาต่าง ๆ ให้กับเราได้
- Agents สามารถช่วยออกแบบดีไซน์ Web Applications บน Figma ได้
- Agents สามารถวิเคราะห์ข้อมูลของธุรกิจได้ด้วยการเชื่อมต่อฐานข้อมูลต่าง ๆ ขององค์กร
- Agents สามารถที่จะสร้าง 3D Designs ใน Blender ได้และสั่งปริ้นท์ผ่าน 3D Printer
ทั้งหมดนี้และอื่น ๆ สามารถทำให้เกิดขึ้นได้หากมีการออกแบบวิธีการเชื่อมต่อและสั่งการระหว่าง AI Agents กับระบบภายนอกได้อย่างถูกต้อง
MCP Core Concepts
MCP มุ่งเน้นเฉพาะโปรโตคอลสำหรับการแลกเปลี่ยนบริบทเท่านั้น โดยไม่ได้กำหนดวิธีการที่แอปพลิเคชัน AI ใช้ LLM หรือจัดการบริบทที่ให้มาอย่างไร และมีขอบเขตหลัก ๆ ดังนี้
- MCP Specification อธิบายถึงโครงสร้างและวิธีการสื่อสารทั้งหมดของ MCP บอกข้อกำหนดทางเทคนิคต่าง ๆ ทั้งฝั่ง Client (แอปที่ใช้งาน) และ Server (ผู้ให้บริการ) ว่าจะต้องเขียนโค้ดอย่างไรให้คุยกันรู้เรื่องในมาตรฐานนี้
- MCP SDKs มี Library/Package สำหรับภาษาโปรแกรมมิ่งต่าง ๆ ช่วยให้นักพัฒนาไม่ต้องเริ่มต้นเขียนตาม Specification ตั้งแต่ศูนย์
- MCP Development Tools เป็นเครื่องมือช่วยเหลือสำหรับให้นักพัฒนาทำงานได้สะดวกขึ้น ทั้งการสร้างและตรวจสอบระบบเช่น MCP Inspector
- MCP Reference Server Implementations คือตัวอย่างโค้ดของ Server ที่สร้างขึ้นตามมาตรฐาน MCP อย่างสมบูรณ์ มีตัวอย่างให้ศึกษาดูได้ครบถ้วน
สถาปัตยกรรมที่ใช้จะเป็นแบบ Client-Server โดยที่ MCP Host (หรือก็คือ AI Application) จะสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ MCP หนึ่งตัวหรือมากกว่านั้น และ MCP Host ส่วนใหญ่ใช้วิธีนี้ในการสร้างขึ้นมาซึ่งจะเป็น Client หนึ่งตัวติดต่อกับ Server แต่ละตัวแบบ 1 ต่อ 1 ยกตัวอย่างเช่นเรามี Agentic AI Application 1 ตัว (นี่คือ MCP Host) ทำเกี่ยวกับการจัดการงานเขียนโค้ดส่วนตัวและมีทติ้งมันจึงจำเป็นต้องต่อเข้ากับ Google Calendar, Slack, GitHub (ทั้ง 3 อย่างนี้คือ Server) ด้วยการออกแบบของ MCP เราจะต้องมี Client ทั้งหมด 3 ตัวเช่นกันสำหรับให้แต่ละตัวติดต่อกับ Server เหล่านี้ โดยที่ MCP Host มีหน้าที่คอยจัดการ Client เหล่านี้อีกทีนึง
ทั้งนี้ MCP Server หมายถึงโปรแกรมที่ทำหน้าที่ให้เสิร์ฟข้อมูล Context ได้ไม่ว่ามันจะรันอยู่ที่ใดก็ตาม เป็นไปทั้งบน Local (เครื่องตัวเอง) และ Remote (เครื่องอื่นผ่านอินเตอร์เน็ต)
MCP Layers
MCP ประกอบด้วย 2 เลเยอร์หลักดังนี้
- Data Layer กำหนดวิธีสื่อสารระหว่าง Client กับ Server โดยใช้ JSON-RPC (JSON คือส่วนของรูปแบบข้อมูล และ RPC คือการเรียกใช้งานฟังก์ชันในเครื่องอื่น) นอกจากส่งข้อมูลแล้วชั้นนี้ยังจัดการเกี่ยวกับ Lifecycle ตั้งแต่ Initialize ให้รู้จักกันว่าคือเครื่องมืออะไร เวอร์ชั่นไหน ทำอะไรได้ ไปจนถึงการตรวจสอบสถานะว่ายังใช้งานได้หรือไม่ไปจนถึงการจบการทำงานและตัดการเชื่อมต่อ และสิ่งที่ใช้งานในชั้นนี้ประกอบด้วยองค์ประกอบพื้นฐานหลักได้แก่ Tools, Resources, Prompts และ Notifications
- Transport Layer กำหนดกลไกและช่องทางการสื่อสารที่ช่วยให้ Client กับ Server แลกเปลี่ยนข้อมูลได้ ซึ่งรวมถึงการสร้างการเชื่อมต่อเฉพาะ, การทำ Message Framing (เพื่อให้อ่านข้อมูลได้เข้าใจไม่ติดกันยาวเฟื้อยจนไม่เข้าใจคำสั่งหรือเยอะเกินไป), และการอนุญาตเพื่อตรวจสอบ
Data Layer ใช้โปรโตคอลการแลกเปลี่ยนข้อมูลแบบ JSON-RPC 2.0 ซึ่งกำหนดโครงสร้างและความหมายของข้อมูล โดยชั้นนี้ประกอบด้วย
- Lifecycle Management: ทำหน้าที่เริ่มต้นการเชื่อมต่อ, จัดการสื่อสาร, และการยุติการเชื่อมต่อระหว่าง Client กับ Server
- Server Features: ช่วยให้ Server สามารถให้บริการฟังก์ชันหลัก ๆ รวมถึงเครื่องมือต่าง ๆ สำหรับให้ Agents ทำงานบางอย่างได้ ข้อมูลต่าง ๆ สำหรับเป็น Context ให้ Agents ทำได้ถูกต้องมากขึ้น และ Prompt Template ที่ช่วยให้ผู้ใช้งานใช้งานได้ง่ายขึ้น
- Client Features: สิ่งที่ Client สามารถทำบางอย่างให้ Server ได้ เนื่องจาก MCP ออกแบบมาให้ Server สามารถที่จะขอให้ Client ช่วยทำงานบางอย่างได้เช่น Server ขอให้ AI ช่วยสรุปข้อความหรือเจนเนื้อหาให้หน่อย, Server ขอให้ AI ไปถามผู้ใช้งานหน่อย (เช่น “ช่วยใส่ API Key ให้หน่อยครับ” หรือ “ยืนยันว่าจะลบไฟล์ใช่ไหม?”), และ Server ส่งบันทึกการทำงาน (Log) ไปแปะไว้ที่หน้าจอ Console ของ Client เพื่อให้ผู้ใช้งานดูได้ว่าเกิดอะไรขึ้นบ้าง เป็นต้น
- Utility Features: เป็นฟีเจอร์เสริมที่ทำให้ประสบการณ์การใช้งานดีขึ้น เช่น การแจ้งเตือนแบบ Real-time, การส่งสถานะความคืบหน้า สำหรับงานที่ใช้เวลานานเพื่อให้ AI หรือผู้ใช้รู้ว่าไม่ได้ค้าง
Data Layer คือหัวใจหลักที่ทำให้เกิดการทำงานร่วมกันแบบ Two-way communication (สื่อสารสองทาง) อย่างสมบูรณ์ ไม่ใช่แค่ AI สั่งแล้วจบ แต่มีการโต้ตอบ ขอข้อมูลมนุษย์ และรายงานผลได้ด้วย
Transport Layer ทำหน้าที่จัดการช่องทางการสื่อสารและการตรวจสอบสิทธิ์ระหว่าง Client กับ Server โดยจะจัดการการสร้างการเชื่อมต่อ Message Framing และการสื่อสารที่ปลอดภัยในทุกฝ่ายที่ใช้ MCP โดย MCP รองรับวิธีการรับส่งข้อมูลสองแบบคือ
- Stdio Transport สำหรับคุยกันภายในเครื่อง (Standard Input/Output) ข้อดีคือเร็วมากไม่ต้องผ่าน Network ไม่ต้องต่อเน็ต
- Streamable HTTP Transport สำหรับคุยข้ามเครื่อง/รีโมท โดยที่ ขาไป (Client → Server): ใช้ HTTP POST ส่งคำสั่งไป ส่วนขากลับ (Server → Client) ใช้ Server-Sent Events (SSE) ซึ่งเป็นเทคนิคที่ Server สามารถยิงข้อมูลกลับมาหาเราได้เรื่อยๆ (Streaming) โดยที่เราไม่ต้องกด Refresh และด้านความปลอดภัยรองรับระบบล็อกอินมาตรฐานโลก เช่น Bearer tokens, API keys และ สำหรับ MCP แนะนำให้ใช้ OAuth ในการยืนยันตัวตน
Transport Layer จะทำหน้าที่ซ่อนความยุ่งยากของการส่งข้อมูลเอาไว้และไม่ว่าคุณจะส่งข้อมูลผ่าน สายตรง (Stdio) หรือผ่าน อินเทอร์เน็ต (HTTP) ก็ตามเนื้อหาข้างใน (Data Layer / JSON-RPC) จะหน้าตา
เหมือนเดิมเป๊ะๆ 100% ซึ่งช่วยให้นักพัฒนาทำงานได้ง่ายขึ้นอย่างมาก
Conclusion
Model Context Protocol (หรือ MCP) คือมาตรฐานกลางที่ช่วยให้ AI Application
สามารถเชื่อมต่อสื่อสารกับระบบภายนอกได้อย่างราบรื่นมีประสิทธิภาพเป็นมาตรฐานเดียวกันซึ่งจะทำให้ติดต่อใช้งานกันได้ทั้งหมด
- เปรียบเหมือน USB-C ของโลก AI: เป็นพอร์ตมาตรฐานที่ทำให้ AI “เสียบ” เชื่อมต่อกับเครื่องมือต่าง ๆ ได้ทันทีโดยไม่ต้องเขียนวิธีเชื่อมต่อใหม่ทุกครั้ง
- ช่วยให้ AI “ลงมือทำ” ได้จริง: ทำให้ AI Agent ไม่ใช่แค่คุยโต้ตอบ แต่สามารถเข้าถึงข้อมูลองค์กร, ลงตารางนัดหมาย, หรือสั่งงานซอฟต์แวร์อื่นแทนเราได้
- การทำงานแบบ Client-Server: แยกการทำงานเป็นระบบชัดเจน
- Data Layer: จัดการคำสั่งและข้อมูล (คุยกันด้วยภาษา JSON-RPC)
- Transport Layer: จัดการช่องทางการส่งข้อมูล (รองรับทั้งส่งในเครื่องเดียวกัน และส่งผ่านอินเทอร์เน็ต)
MCP คือตัวช่วยปลดล็อกให้ AI เก่งขึ้นด้วยการเชื่อมต่อกับโลกภายนอกได้อย่างเป็นมาตรฐานเดียวกัน