ต่อ AI Agent เข้าเครื่องมือสิบตัวด้วยโค้ดแยกกันหมด กว่าจะรู้ว่า MCP แก้ปัญหานี้ได้

สรุปสั้น ๆ
MCP (Model Context Protocol) คือมาตรฐานเปิดที่กำหนดวิธีให้ AI Agent เชื่อมต่อกับเครื่องมือ ฐานข้อมูล และระบบภายนอกแบบเดียวกันทุกที่ แทนที่จะต้องเขียน integration แยกทุกคู่ระหว่างโมเดลกับเครื่องมือ ทีมพัฒนาเขียน MCP Server ครั้งเดียวแล้วให้ AI Client ตัวไหนก็เชื่อมต่อได้ทันที
ลองนึกภาพทีมพัฒนาที่มีทั้ง Claude, ChatGPT ปลั๊กอินภายใน และ Agent ที่บริษัทเขียนเองอีกตัวหนึ่ง ทั้งสามตัวต้องเชื่อมกับระบบเดียวกันคือฐานข้อมูลลูกค้า ระบบตั๋วงาน และ Google Drive ของทีม ถ้าไม่มีมาตรฐานกลาง ทีมต้องเขียนโค้ดเชื่อมต่อแยกกัน 3 คูณ 3 เท่ากับ 9 ชุด ทุกครั้งที่ระบบฝั่งใดฝั่งหนึ่งเปลี่ยน API ก็ต้องไล่แก้ทุกจุดที่เชื่อมอยู่ นี่คือปัญหาที่เรียกกันในวงการว่า N×M integration problem
ปัญหานี้ไม่ใช่เรื่องใหม่ วงการซอฟต์แวร์เจอปัญหาแบบเดียวกันมาแล้วหลายรอบ ตั้งแต่ยุคที่ไดรเวอร์เครื่องพิมพ์ต้องเขียนแยกทุกยี่ห้อจนกว่าจะมีมาตรฐานกลาง หรือยุคที่ทุกเว็บต้องเขียนระบบล็อกอินเองจนกว่าจะมี OAuth เข้ามาเป็นมาตรฐาน AI Agent ก็อยู่ในจุดเดียวกัน คือมีโมเดลเก่งขึ้นเรื่อย ๆ แต่การต่อโมเดลเข้ากับ 'โลกจริง' ยังเป็นงานที่ต้องเขียนซ้ำทุกคู่ MCP จึงถูกออกแบบมาเป็นตัวกลางที่ตัดงานซ้ำซ้อนนี้ทิ้ง
บทความนี้จะอธิบายว่า MCP คืออะไรในระดับที่นักพัฒนาเอาไปใช้งานได้จริง ไม่ใช่แค่คำนิยามกว้าง ๆ ครอบคลุมตั้งแต่สถาปัตยกรรม ส่วนประกอบหลัก วิธีการทำงาน ไปจนถึงจุดที่ต้องระวังก่อนเอาไปใช้ในระบบจริง เพื่อให้อ่านจบแล้วตัดสินใจได้ว่าโปรเจกต์ของคุณควรเริ่มใช้ MCP ตอนนี้หรือยัง
MCP คืออะไรกันแน่ ในหนึ่งประโยคที่นักพัฒนาเข้าใจตรงกัน
MCP ย่อมาจาก Model Context Protocol เป็นมาตรฐานเปิดที่เผยแพร่ครั้งแรกโดย Anthropic ปลายปี 2024 แล้วถูกองค์กรอื่นในวงการ AI นำไปใช้ต่อจนกลายเป็นมาตรฐานที่ใช้ข้ามค่ายในเวลาไม่ถึงปี หัวใจของมันคือการกำหนด 'โปรโตคอลกลาง' สำหรับให้ AI Agent คุยกับเครื่องมือ ฐานข้อมูล ไฟล์ หรือ API ภายนอก โดยใช้รูปแบบข้อความเดียวกันไม่ว่าเครื่องมือปลายทางจะเป็นอะไร
พูดให้เป็นรูปธรรม MCP ทำหน้าที่คล้าย USB-C ของโลกซอฟต์แวร์ AI ก่อนหน้านี้อุปกรณ์แต่ละยี่ห้อมีหัวเสียบเฉพาะของตัวเอง ต้องพกอะแดปเตอร์หลายแบบ พอมี USB-C เป็นมาตรฐานกลาง อุปกรณ์ต่างยี่ห้อก็เสียบเข้าหากันได้ทันที MCP ทำหน้าที่แบบเดียวกันระหว่าง AI Model กับ Tools ภายนอก คือกำหนดว่า 'ช่องเสียบ' หน้าตาเป็นแบบไหน ทั้งสองฝั่งจึงคุยกันรู้เรื่องโดยไม่ต้องรู้จักกันมาก่อน
สิ่งสำคัญที่ต้องแยกให้ออกคือ MCP ไม่ใช่โมเดล AI และไม่ใช่ Agent Framework มันเป็นแค่ 'โปรโตคอล' หรือกติกาการสื่อสาร คล้ายกับที่ HTTP เป็นโปรโตคอลของเว็บ ไม่ใช่ตัวเว็บไซต์เอง ตัวมันเองไม่ได้ฉลาดขึ้นมาเอง แต่มันทำให้ความฉลาดของโมเดลที่มีอยู่แล้วไปถึงข้อมูลและเครื่องมือจริงได้ง่ายขึ้นมาก
ก่อนมี MCP ทีมพัฒนาแก้ปัญหานี้กันอย่างไร
ก่อนหน้า MCP นักพัฒนาที่อยากให้ AI Agent เรียกใช้เครื่องมือภายนอกต้องเขียน Function Calling แบบเฉพาะเจาะจงต่อโมเดลแต่ละเจ้า เพราะรูปแบบ schema ของ OpenAI, Anthropic หรือ Google ไม่เหมือนกันเป๊ะ พอเปลี่ยนโมเดลหรืออัปเกรดเวอร์ชัน โค้ดฝั่งเชื่อมต่อก็ต้องปรับตาม ทำให้ทีมที่อยากทดลองสลับโมเดลเจอภาระงานที่ไม่เกี่ยวกับ Logic ทางธุรกิจเลยแม้แต่น้อย
อีกปัญหาที่หนักกว่าคือทุกทีมต้องคิดเรื่องความปลอดภัยเอง เช่น จะให้ Agent เข้าถึงฐานข้อมูลแค่ไหน จะจำกัดสิทธิ์การเขียนไฟล์อย่างไร แต่ละทีมออกแบบคนละแบบ บางทีมเข้มงวดเกินจนใช้งานไม่สะดวก บางทีมหลวมเกินจนเสี่ยง เพราะไม่มีรูปแบบมาตรฐานให้อ้างอิง MCP เข้ามาแก้ปัญหาส่วนนี้ด้วยการกำหนดขอบเขต Tool/Resource ที่ชัดเจนตั้งแต่ระดับโปรโตคอล
สถาปัตยกรรมของ MCP มีสามส่วนหลัก
MCP ออกแบบมาเป็นสถาปัตยกรรมแบบ Host-Client-Server ซึ่งต่างจากสถาปัตยกรรม Client-Server ทั่วไปตรงที่มีตัวกลางเพิ่มมาอีกชั้นเพื่อจัดการหลาย Connection พร้อมกัน:
| ส่วนประกอบ | ทำหน้าที่อะไร | ตัวอย่าง |
|---|---|---|
| Host | แอปพลิเคชันที่ผู้ใช้เห็น เป็นตัวรวม Client ไว้ข้างใน | Claude Desktop, IDE ที่มี AI ผู้ช่วย |
| Client | ตัวจัดการ Connection แบบ 1 ต่อ 1 กับแต่ละ Server | MCP Client ในตัว Host |
| Server | โปรแกรมที่เปิด Tool/Resource ให้เรียกใช้ | MCP Server ต่อฐานข้อมูล, MCP Server ต่อ Git |
องค์ประกอบหลักที่ MCP Server เปิดให้ใช้ได้
MCP กำหนด Primitive หลักไว้สามแบบ ซึ่งเป็นตัวตัดสินว่า Server หนึ่งตัวจะทำหน้าที่อะไรได้บ้าง แต่ละแบบถูกออกแบบมาให้ตอบโจทย์คนละสถานการณ์ ไม่ใช่ใช้แทนกันได้หมด
- Tools — ฟังก์ชันที่ AI Agent เรียกให้ทำงานได้ เช่น ค้นหาข้อมูลในฐานข้อมูล ส่งอีเมล หรือสร้างไฟล์ เปรียบเสมือน Function Calling แต่มีมาตรฐานกลาง ให้ AI ตัดสินใจเองว่าจะเรียก Tool ไหนตอนไหน
- Resources — ข้อมูลที่ AI อ่านได้แต่ไม่ได้เรียกให้ทำงาน เช่น เนื้อหาไฟล์ log ล่าสุด หรือ schema ของฐานข้อมูล ใช้เป็นบริบทประกอบการตอบคำถาม
- Prompts — เทมเพลตคำสั่งสำเร็จรูปที่ Server เตรียมไว้ให้ผู้ใช้เลือกใช้ซ้ำได้ เช่น เทมเพลตสำหรับสรุปโค้ด review หรือเทมเพลตวิเคราะห์ log error
- ทั้งสามตัวนี้คือสิ่งที่ต้องเข้าใจก่อนออกแบบ MCP Server ของตัวเอง เพราะการเลือกว่าจะเปิดฟังก์ชันเป็น Tool หรือ Resource มีผลต่อพฤติกรรมที่ AI จะเลือกใช้งานมันจริง ๆ
ตัวอย่างสมมติ: Agent ตอบคำถามลูกค้าโดยดึงข้อมูลจากระบบภายใน
สมมติทีมพัฒนาต้องการให้ AI Agent ตอบคำถามพนักงานเกี่ยวกับสถานะคำสั่งซื้อ โดยไม่ต้องเปิดหน้าจอระบบ ERP เอง ขั้นตอนที่เกิดขึ้นเบื้องหลังคร่าว ๆ มีดังนี้ (ตัวเลขและชื่อระบบเป็นตัวอย่างประกอบเท่านั้น): พนักงานพิมพ์ถามใน Host ว่า 'คำสั่งซื้อเลขที่ 88213 ถึงไหนแล้ว' โมเดลใน Host วิเคราะห์แล้วตัดสินใจว่าต้องเรียก Tool ชื่อ get_order_status ที่ MCP Server เปิดไว้ Client ส่ง Request ไปยัง Server ที่เชื่อมกับระบบ ERP จริง Server ดึงข้อมูลแล้วส่งกลับเป็น JSON มาตรฐาน สุดท้ายโมเดลนำผลลัพธ์มาเรียบเรียงเป็นคำตอบภาษาธรรมชาติ
จุดที่ต่างจาก Function Calling แบบเดิมคือ ทีมพัฒนาไม่ต้องเขียน schema ให้ตรงกับโมเดลเฉพาะเจ้า เพราะ MCP Server ตัวเดียวกันนี้ใช้ได้กับ Host หลายตัวพร้อมกัน ไม่ว่า Host จะใช้โมเดลจากค่ายไหนก็เชื่อมต่อผ่านโปรโตคอลเดียวกันได้หมด นี่คือจุดคุ้มค่าที่สุดของการลงทุนเขียน MCP Server ให้ระบบภายในองค์กร
MCP ต่างจากแนวคิดที่คล้ายกันอย่างไร
หลายคนสับสนระหว่าง MCP กับแนวคิดใกล้เคียงที่มีอยู่ก่อนแล้ว ทั้งที่จริง ๆ แต่ละอย่างแก้คนละปัญหา การเข้าใจความต่างช่วยให้เลือกใช้เครื่องมือถูกจุด ไม่ใช่เปลี่ยนไปใช้ MCP เพราะกระแสอย่างเดียว
เทียบกับ Function Calling ธรรมดา MCP ไม่ได้มาแทนที่ แต่เป็นชั้นมาตรฐานที่ครอบอยู่บน Function Calling อีกที ให้อ่านรายละเอียดเปรียบเทียบเต็ม ๆ ได้ใน MCP กับ Function Calling ต่างกันตรงไหน ส่วนเทียบกับ REST API ทั่วไป MCP เพิ่มชั้นที่ทำให้ AI ค้นพบเองว่ามี Tool อะไรให้เรียกบ้างโดยไม่ต้องอ่านเอกสารล่วงหน้า รายละเอียดอยู่ใน MCP กับ API ต่างกันอย่างไร
สถานะการใช้งานจริงในทีมพัฒนาไทยตอนนี้
ในทางปฏิบัติ ทีมพัฒนาไทยที่เริ่มใช้ MCP ส่วนใหญ่เริ่มจากงานภายในองค์กรก่อน เช่น ต่อ AI Agent เข้าฐานข้อมูล เข้าระบบ ticket หรือเข้า Git repository เพื่อให้ผู้ช่วย AI ในเครื่องมือพัฒนาช่วยตอบคำถามเกี่ยวกับโค้ดได้แม่นขึ้น เพราะเป็นงานที่ควบคุมความเสี่ยงได้ง่ายกว่าการเปิดให้บุคคลภายนอกเข้าถึง
ข้อสังเกตหนึ่งที่พบบ่อยคือทีมที่เพิ่งเริ่มมักประเมินเรื่อง Authentication ต่ำเกินไป คิดว่าตั้ง MCP Server แล้วต่อ Tool ได้เลยจบ แต่พอต้องเปิดให้ AI Agent เข้าถึงระบบที่มีข้อมูลอ่อนไหว การจัดการสิทธิ์การเข้าถึงกลายเป็นเรื่องใหญ่กว่าการเขียน Tool เองมาก เรื่องนี้อธิบายละเอียดไว้ใน ความเสี่ยงด้าน Security ของ MCP และ การตั้งค่า MCP OAuth
ควรเริ่มใช้ MCP ตอนไหน และยังไม่ต้องใช้ตอนไหน
MCP เหมาะกับสถานการณ์ที่มีการเชื่อม AI เข้ากับเครื่องมือมากกว่าหนึ่งตัว หรือคาดว่าจะขยายจำนวน Tool ในอนาคต เพราะความคุ้มค่าของมาตรฐานกลางจะเห็นชัดขึ้นเรื่อย ๆ ตามจำนวนการเชื่อมต่อที่เพิ่มขึ้น ถ้าทีมมีแค่ Agent ตัวเดียวที่ต่อ Tool เดียวแบบง่าย ๆ การเขียน Function Calling ตรง ๆ อาจเร็วกว่าและไม่ต้องแบกภาระดูแลโปรโตคอลเพิ่ม
- ประเมินก่อนว่ามีกี่ Agent และกี่ระบบที่ต้องเชื่อมกัน ถ้ามากกว่า 2x2 ความคุ้มค่าของ MCP เริ่มชัดเจน
- เริ่มจากระบบภายในที่ความเสี่ยงต่ำก่อน เช่น ระบบเอกสารหรือ Ticket ก่อนขยับไปยังระบบที่มีข้อมูลลูกค้า
- วางแผนเรื่องสิทธิ์การเข้าถึงตั้งแต่ยังไม่มี Server ตัวแรก ไม่ใช่มาคิดทีหลังตอนมีปัญหาแล้ว
- ทดลองกับ MCP Client ที่มีอยู่แล้วในเครื่องมือพัฒนาที่ทีมใช้ ก่อนตัดสินใจเขียน Server เอง เพื่อดูพฤติกรรมจริงก่อนลงทุนเวลา
ทำแบบนี้แล้วพัง เพราะ… ข้อผิดพลาดที่ทีมเริ่มต้นเจอบ่อย
ทีมที่เพิ่งเริ่มใช้ MCP มักเจอปัญหาซ้ำ ๆ กันไม่กี่แบบ การรู้ล่วงหน้าว่ามันเกิดจากอะไรช่วยประหยัดเวลาแก้บั๊กได้เยอะ นี่คือกรณีที่พบบ่อยที่สุดจากการคุยกับทีมพัฒนาที่ลองใช้จริง
- เปิด Tool กว้างเกินไปตั้งแต่แรก เพราะอยากให้ AI ทำได้ทุกอย่าง ทำแบบนี้แล้วพัง เพราะโมเดลเลือกเรียก Tool ผิดจังหวะบ่อยขึ้นตามจำนวน Tool ที่เพิ่ม ควรเริ่มจาก Tool น้อยและเฉพาะเจาะจงก่อน ค่อยขยาย
- ไม่ตรวจสอบ Input ที่ส่งเข้า Tool เพราะเชื่อว่าโมเดลจะส่งค่าที่ถูกต้องมาเสมอ ทำแบบนี้แล้วพัง เพราะโมเดลอาจสร้างค่าที่ดูสมเหตุสมผลแต่ผิดจริง เช่น เลขคำสั่งซื้อที่ไม่มีอยู่จริง Server ต้องตรวจสอบ Input เหมือนกับรับ Request จากผู้ใช้ทั่วไป
- ใช้ Server ตัวเดียวรับทุก Connection โดยไม่มี Rate Limit ทำแบบนี้แล้วพัง เพราะถ้ามีหลาย Agent เรียกพร้อมกันจำนวนมาก Server อาจล่มหรือทำให้ระบบปลายทางที่เชื่อมอยู่รับภาระเกิน
- ไม่แยก Environment ทดสอบกับ Production ทำแบบนี้แล้วพัง เพราะ Tool ที่กำลังทดลองพฤติกรรมยังไม่นิ่งอาจไปแก้ไขข้อมูลจริงโดยไม่ตั้งใจ ควรมี MCP Server แยกชุดสำหรับทดสอบเสมอ
สรุป
MCP ไม่ใช่เทรนด์ที่มาแล้วก็ผ่านไป แต่เป็นความพยายามแก้ปัญหาเชิงโครงสร้างที่ทีมพัฒนาเจอมานานแล้ว คือการเชื่อม AI เข้ากับระบบจริงโดยไม่ต้องเขียนสะพานเชื่อมใหม่ทุกครั้ง เข้าใจสถาปัตยกรรม Host-Client-Server และ Primitive สามแบบให้แม่น จะช่วยให้ตัดสินใจได้เร็วขึ้นว่าโปรเจกต์ไหนควรใช้และควรออกแบบ Tool อย่างไร
ขั้นต่อไปหลังอ่านบทความนี้ ควรไปทำความเข้าใจรายละเอียดของแต่ละส่วนประกอบให้ลึกขึ้น โดยเฉพาะฝั่ง Server ที่เป็นจุดที่ทีมพัฒนาส่วนใหญ่ต้องลงมือเขียนเองจริง และฝั่ง Security ที่มักถูกมองข้ามในช่วงเริ่มต้น
- MCP คือมาตรฐานเปิดที่ทำให้ AI Agent เชื่อมกับเครื่องมือภายนอกด้วยรูปแบบเดียวกันทุกที่
- สถาปัตยกรรมหลักคือ Host-Client-Server และมี Primitive สามแบบคือ Tools, Resources, Prompts
- คุ้มค่าที่สุดเมื่อมีหลาย Agent หรือหลายระบบที่ต้องเชื่อมต่อร่วมกัน ไม่ใช่ทุกโปรเจกต์ต้องใช้
- เรื่องสิทธิ์การเข้าถึงและความปลอดภัยต้องวางแผนตั้งแต่ต้น ไม่ใช่คิดทีหลัง
คำถามที่พบบ่อย
MCP เป็นผลิตภัณฑ์ของบริษัทเดียวหรือเป็นมาตรฐานเปิด
เป็นมาตรฐานเปิดที่เผยแพร่สเปกให้ใครก็นำไปใช้งานหรือพัฒนาต่อได้ ไม่ผูกกับผลิตภัณฑ์ใดผลิตภัณฑ์หนึ่ง แม้ Anthropic จะเป็นผู้เผยแพร่ครั้งแรก แต่ปัจจุบันมีทั้งเครื่องมือพัฒนาและผู้ให้บริการ AI หลายเจ้ารองรับ MCP แล้ว
ต้องเขียนโค้ดเองทั้งหมดไหมถึงจะใช้ MCP ได้
ไม่จำเป็นเสมอไป มี MCP Server สำเร็จรูปสำหรับระบบยอดนิยมหลายตัวอยู่แล้ว เช่น ต่อฐานข้อมูล ต่อ Git หรือต่อระบบไฟล์ ทีมที่ใช้ระบบมาตรฐานอาจไม่ต้องเขียนเองเลย ส่วนที่ต้องเขียนเองมักเป็นระบบภายในเฉพาะขององค์กร
MCP ทำงานได้กับโมเดล AI ทุกเจ้าหรือเฉพาะบางเจ้า
ตัวโปรโตคอลออกแบบมาให้ไม่ผูกกับโมเดลใดโมเดลหนึ่ง แต่ในทางปฏิบัติต้องดูว่า Host หรือเครื่องมือที่ใช้งานรองรับ MCP Client หรือยัง ถ้า Host รองรับแล้ว โมเดลเบื้องหลังจะเป็นค่ายไหนก็เชื่อมต่อผ่านโปรโตคอลเดียวกันได้
ใช้ MCP กับโปรเจกต์เล็ก ๆ คุ้มไหม
ถ้ามีแค่การเชื่อมต่อเดียวและไม่มีแผนขยาย การเขียน Function Calling ตรง ๆ อาจเร็วกว่า ความคุ้มค่าของ MCP จะชัดขึ้นเมื่อมีหลาย Agent หรือหลายระบบที่ต้องดูแลร่วมกัน
MCP Server กับ MCP Client ต่างกันตรงไหน
Server คือฝั่งที่เปิด Tool/Resource ให้เรียกใช้ ส่วน Client คือฝั่งที่อยู่ใน Host และทำหน้าที่เชื่อมต่อไปยัง Server แต่ละตัว อธิบายละเอียดพร้อมตัวอย่างไว้ใน <a href="/blog/mcp-server-คืออะไร">MCP Server คืออะไร</a> และ <a href="/blog/mcp-client-คืออะไร">MCP Client คืออะไร</a>
เริ่มเรียนรู้ MCP ควรเริ่มจากตรงไหนก่อน
แนะนำให้เริ่มจากเข้าใจสถาปัตยกรรม Host-Client-Server และ Primitive ทั้งสามแบบก่อน จากนั้นค่อยลองต่อกับ MCP Server สำเร็จรูปตัวใดตัวหนึ่งเพื่อดูพฤติกรรมจริง ก่อนจะเริ่มเขียน Server เองสำหรับระบบภายในองค์กร
อ่านต่อแบบเจาะลึก
ทดลองวัดผลโฆษณาเข้า LINE ฟรี 14 วัน
สมัครแล้วสร้างโปรเจกต์ เชื่อม LINE ติดตั้ง Tracking แล้วเริ่มเห็น Funnel จาก Click ถึง Purchase ได้ทันที ไม่ต้องใช้บัตรเครดิต
เริ่มทดลองใช้ฟรี 14 วันบทความที่เกี่ยวข้อง

เชื่อม Claude เข้า MCP Server แล้ว Agent ไม่ยอมเรียก Tool เลย ปัญหาอยู่ที่ MCP Client หรือเปล่า

มี MCP Server ในเครื่อง 5 ตัว จะเปิดให้พนักงาน 40 คนใช้ร่วมกันได้ไหม
