• MCP
  • Model Context Protocol
  • AI

MCP (Model Context Protocol) คืออะไรและทำงานอย่างไร

คู่มือที่เข้าใจง่ายเกี่ยวกับ Model Context Protocol (MCP) ที่อธิบายว่าช่วยให้ LLMs เข้าถึงทรัพยากรภายนอกเพื่อเอาชนะข้อจำกัดด้านความรู้และสร้างแอปพลิเคชั่น AI ที่ทรงพลังยิ่งขึ้นได้อย่างไร

Yijun
Yijun
Developer

หยุดเสียเวลาเป็นสัปดาห์กับการยืนยันตัวตนผู้ใช้
เปิดตัวแอปที่ปลอดภัยเร็วขึ้นด้วย Logto ผสานการยืนยันตัวตนผู้ใช้ภายในไม่กี่นาทีและมุ่งเน้นที่ผลิตภัณฑ์หลักของคุณ
เริ่มต้นใช้งาน
Product screenshot

MCP คืออะไร?

MCP (Model Context Protocol) เป็นโปรโตคอลเปิดที่เป็นสากลที่มาตรฐานวิธีที่แอปพลิเคชั่นจัดเตรียมข้อมูลบริบทให้กับโมเดลภาษาขนาดใหญ่ (LLMs)

พูดง่ายๆ คือ เช่นเดียวกับโปรโตคอล HTTP ที่อนุญาตให้เว็บไซต์และเบราว์เซอร์ต่างๆ แลกเปลี่ยนข้อมูลตามกฎเดียวกัน MCP ก็เหมือนกับโปรโตคอล HTTP ของโลก AI MCP ช่วยให้โมเดล AI ที่แตกต่างกันเชื่อมต่อกับแหล่งข้อมูลและเครื่องมือที่หลากหลายในลักษณะที่เป็นมาตรฐาน การมาตรฐานนี้ทำให้นักพัฒนาสร้างแอปพลิเคชั่น AI ได้ง่ายขึ้นโดยไม่ต้องสร้างอินเทอร์เฟซที่เชี่ยวชาญสำหรับแต่ละโมเดลหรือแหล่งข้อมูล

ทำไมเราถึงต้องการ MCP?

โมเดลภาษาขนาดใหญ่ (LLMs) นั้นมีความสามารถสูง แต่เผชิญกับข้อจำกัดหลักหลายประการ:

  • ข้อจำกัดความรู้และปัญหาในการอัปเดต: LLMs รู้จักข้อมูลที่รวมอยู่ในข้อมูลการฝึกเพียงเท่านั้น ตัวอย่างเช่น ความรู้ของ GPT-4 ถูกตัดขาดในเดือนเมษายน 2023 การฝึกโมเดลภาษาขนาดใหญ่ต้องการทรัพยากรการคำนวณและเวลามากมาย มักใช้เวลาหกเดือนหรือมากกว่านั้นในการสร้างเวอร์ชันใหม่ สิ่งนี้สร้างปัญหาที่ยาก: ความรู้ของโมเดลมักล้าสมัย ในขณะที่การอัปเดตมีค่าใช้จ่ายสูงและใช้เวลานาน เมื่อโมเดลใหม่เสร็จสิ้นการฝึก ความรู้ของมันก็เริ่มล้าหลังแล้ว

  • ขาดความรู้เฉพาะด้าน: LLMs ถูกฝึกโดยใช้ข้อมูลทั่วไปที่เข้าถึงได้สาธารณะ พวกเขาไม่สามารถเข้าใจข้อมูลเฉพาะทางและข้อมูลในสถานการณ์ธุรกิจเฉพาะได้ลึกซึ้ง ตัวอย่างเช่น กระบวนการภายในของสถานพยาบาลหนึ่งๆ แคตตาล็อกผลิตภัณฑ์ของบริษัท หรือความรู้เฉพาะทางขององค์กรไม่ได้อยู่ในขอบเขตการฝึกของโมเดล

  • ไม่มีมาตรฐานที่เป็นเอกภาพในการเข้าถึงข้อมูลภายนอก: ปัจจุบันมีหลายวิธีในการจัดหาข้อมูลเพิ่มเติมให้กับ LLMs เช่น RAG (Retrieval-Augmented Generation), ฐานความรู้ท้องถิ่น, การค้นหาในอินเทอร์เน็ต ฯลฯ ทีมพัฒนาที่แตกต่างกันนำเสนอวิธีการบูรณาการที่ต่างกัน นำไปสู่ต้นทุนการบูรณาการระบบที่สูง ระบบที่มีข้อมูลเฉพาะทาง (เช่น CRM, ERP, ระบบบันทึกทางการแพทย์ ฯลฯ) ยากที่จะบูรณาการเข้ากับ LLMs ได้อย่างราบรื่น การบูรณาการแต่ละครั้งต้องการการพัฒนาที่กำหนดเอง ขาดวิธีการที่เป็นมาตรฐานร่วมกัน

นี่คือเหตุผลที่เราต้องการ MCP MCP ให้โปรโตคอลที่เป็นมาตรฐานที่อนุญาตให้ LLMs เข้าถึงข้อมูลและเครื่องมือภายนอกในลักษณะทางเดียวกัน แก้ปัญหาทั้งหมดข้างต้นได้ ผ่าน MCP เราสามารถได้เปรียบที่สำคัญดังต่อไปนี้:

  • การบูรณาการที่มีอยู่สำเร็จรูป: MCP เสนอการบูรณาการเซิร์ฟเวอร์หลายประเภทที่พร้อมใช้แล้ว รวมถึงระบบไฟล์, ฐานข้อมูล (PostgreSQL, SQLite), เครื่องมือพัฒนา (Git, GitHub, GitLab), เครื่องมือเน็ตเวิร์ก (Brave Search, Fetch), เครื่องมือเพิ่มประสิทธิภาพ (Slack, Google Maps) และอื่นๆ ซึ่งหมายความว่าคุณไม่จำเป็นต้องสร้างการบูรณาการเหล่านี้จากศูนย์ คุณสามารถใช้ตัวเชื่อมต่อนี้ได้ง่ายๆ เพื่อให้ LLMs เข้าถึงข้อมูลในระบบเหล่านี้

  • การสลับ LLM ระหว่างผู้ให้บริการได้อย่างยืดหยุ่น: วันนี้คุณอาจใช้ GPT-4 พรุ่งนี้คุณอาจต้องการลองใช้ Claude หรือ Gemini หรือใช้ LLM ที่ต่างกันสำหรับสถานการณ์ที่แตกต่างกัน ด้วย MCP คุณไม่จำเป็นต้องเขียนโค้ดบูรณาการแอปพลิเคชั่นของคุณใหม่ทั้งหมด แค่เปลี่ยนโมเดลพื้นฐาน ทั้งข้อมูลและการบูรณาการเครื่องมือยังคงไม่เปลี่ยนแปลง

  • การสร้างการทำงานอัตโนมัติ AI ที่ซับซ้อน: ลองจินตนาการถึงระบบการวิเคราะห์เอกสารทางกฎหมายที่ต้องการสอบถามฐานข้อมูลหลายแห่ง ใช้เครื่องมือเฉพาะสำหรับการเปรียบเทียบเอกสาร และสร้างรายงาน MCP อนุญาตให้คุณสร้างตัวแทนและการทำงานอัตโนมัติบน LLMs

MCP ทำงานอย่างไร

ใน MCP มีสามบทบาทหลัก: MCP Server (จัดหาข้อมูลและความสามารถในการเข้าถึงเครื่องมือ), MCP Client (ฝังใน LLM และสื่อสารกับ MCP Server) และ MCP Hosts (แอปพลิเคชันที่บูรณาการ LLMs และ Clients เช่น Claude Desktop, Cursor ฯลฯ) ลองดูที่บทบาททั้งสามนี้ให้ละเอียดขึ้นเพื่อดูว่าพวกเขาทำงานร่วมกันอย่างไร

MCP Server

MCP Server เป็นโปรแกรมที่ให้ความสามารถในการเข้าถึงข้อมูลและเครื่องมือสำหรับ LLMs ในการใช้ แตกต่างจากเซิร์ฟเวอร์ API ระยะไกลทั่วไป MCP Server สามารถทำงานเป็นแอปพลิเคชันท้องถิ่นบนอุปกรณ์ของผู้ใช้หรือถูกปรับใช้เซิร์ฟเวอร์ระยะไกล

MCP Server แต่ละครั้งจัดหาเครื่องมือชุดหนึ่งที่รับผิดชอบในการดึงข้อมูลจากข้อมูลท้องถิ่นหรือบริการระยะไกล เมื่อ LLM กำหนดว่าต้องการใช้เครื่องมือบางอย่างในขณะที่ประมวลผลงาน มันจะใช้เครื่องมือที่จัดหาโดย MCP Server เพื่อรับข้อมูลจำเป็นและส่งกลับไปยัง LLM

MCP Client

MCP Client เป็นสะพานเชื่อมโยงระหว่าง LLMs และ MCP Servers ฝังอยู่ใน LLM มันมีหน้าที่:

  • รับคำขอจาก LLM
  • ส่งต่อคำขอให้ MCP Server ที่เหมาะสม
  • นำผลลัพธ์จาก MCP Server กลับไปยัง LLM

คุณสามารถตรวจสอบ พัฒนา MCP Client เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการบูรณาการ MCP Client กับ LLMs

MCP Hosts

โปรแกรมเช่น Claude Desktop, IDEs (Cursor ฯลฯ) หรือเครื่องมือ AI ที่ต้องการเข้าถึงข้อมูลผ่าน MCP แอปพลิเคชั่นเหล่านี้จัดเตรียมอินเทอร์เฟซให้กับผู้ใช้ในการโต้ตอบกับ LLMs ขณะเดียวกันบูรณาการ MCP Client เพื่อเชื่อมต่อกับ MCP Servers เพื่อขยายความสามารถของ LLMs ด้วยเครื่องมือที่จัดหาโดย MCP Servers

เวิร์กโฟลว์ MCP

บทบาททั้งสามข้างต้นในที่สุดก่อให้เกิดแอปพลิเคชั่น AI ที่สร้างบน MCP

กระบวนการเวิร์กโฟลว์ของระบบนี้มีดังนี้:

วิธีสร้าง MCP Server

MCP Server เป็นลิงค์ที่สำคัญที่สุดในระบบ MCP มันกำหนดว่า LLMs จะใช้เครื่องมือใดในการเข้าถึงข้อมูลใด ส่งผลต่อขอบเขตการใช้งานและความสามารถของแอปพลิเคชั่น AI โดยตรง

เพื่อเริ่มสร้าง MCP Server ของคุณเอง ขอแนะนำให้อ่าน คู่มือเริ่มต้นอย่างรวดเร็ว ซึ่งอธิบายกระบวนการตั้งค่าสิ่งแวดล้อมจนถึงการบูรณาการและการใช้งาน MCP Server เราจะแค่พูดถึงรายละเอียดการใช้จริงหลักๆ เท่านั้น

กำหนดเครื่องมือที่ให้โดย MCP Server

ฟังก์ชันหลักของ MCP Server คือการกำหนดเครื่องมือผ่านวิธี server.tool() เครื่องมือเหล่านี้คือฟังก์ชันที่ LLMs สามารถเรียกใช้เพื่อรับข้อมูลภายนอกหรือดำเนินการเฉพาะ มาดูตัวอย่างที่ง่ายๆ ใช้ Node.js:

ในตัวอย่างนี้ เรากำหนดเครื่องมือที่เรียกว่า search-documents ที่รับสตริงการค้นหาและจำนวนผลลัพธ์สูงสุดเป็นพารามิเตอร์ การใช้งานเครื่องมือนี้ควรเชื่อมต่อกับระบบฐานความรู้และส่งคืนผลลัพธ์ของการค้นหา

LLM จะตัดสินว่าจะใช้เครื่องมือนี้หรือไม่ตามการกำหนดของเครื่องมือและคำถามของผู้ใช้ ถ้าจำเป็น LLM จะเรียกใช้เครื่องมือนี้ ดึงผลลัพธ์และสร้างคำตอบรวมผลลัพธ์กับคำถามของผู้ใช้

แนวทางปฏิบัติที่ดีที่สุดในการกำหนดเครื่องมือ

เมื่อสร้างเครื่องมือเหล่านี้ คุณสามารถปฏิบัติตามแนวทางที่ดีที่สุดเหล่านี้:

  • คำอธิบายที่ชัดเจน: ให้คำอธิบายที่ชัดเจนและถูกต้องสำหรับแต่ละเครื่องมือ โดยระบุฟังก์ชันการใช้งาน สถานการณ์ที่ใช้ได้ และข้อจำกัดอย่างชัดเจน นี่จะช่วยให้ LLM เลือกเครื่องมือที่เหมาะสมและลดความซับซ้อนในการอ่านและบำรุงรักษาโค้ดโดยนักพัฒนา
  • การตรวจสอบพารามิเตอร์: ใช้ Zod หรือไลบรารีที่คล้ายๆ กันเพื่อตรวจสอบพารามิเตอร์ขาเข้าอย่างเคร่งครัด ตรวจสอบให้แน่ใจว่ามีประเภทที่ถูกต้อง ช่วงค่าที่สมเหตุสมผล และปฏิเสธการป้อนไม่ตรงตามข้อกำหนด สิ่งนี้จะป้องกันไม่ให้เกิดความผิดพลาดไปยังระบบแบ็คเอนด์และปรับปรุงเสถียรภาพโดยรวม
  • การจัดการข้อผิดพลาด: ใช้นโยบายการจัดการข้อผิดพลาดอย่างทั่วถึง จับข้อยกเว้นที่อาจเกิดขึ้นและส่งคืนข้อความข้อผิดพลาดที่เป็นมิตรกับผู้ใช้ สิ่งนี้จะปรับปรุงประสบการณ์ผู้ใช้และอนุญาตให้ LLM ส่งมอบคำตอบที่มีความหมายตามเงื่อนไขของข้อผิดพลาดแทนที่จะล้มเหลวเพียงอย่างเดียว
  • การควบคุมการเข้าถึงข้อมูล: ให้แน่ใจว่า Backend Resource APIs มีระบบรับรองความถูกต้องและการอนุญาตอย่างดี ออกแบบขอบเขตการอนุญาตอย่างรอบคอบ จำกัด MCP Server ให้เข้าถึงและส่งคืนข้อมูลที่ผู้ใช้ได้รับอนุญาตเท่านั้น สิ่งนี้จะป้องกันการรั่วไหลของข้อมูลที่ไวและรับประกันความปลอดภัยของข้อมูล

วิธีการรับรองความปลอดภัยในการแลกเปลี่ยนข้อมูลระหว่าง MCP (โมเดล AI) และระบบภายนอก

เมื่อใช้งาน MCP Servers ที่เชื่อมต่อโมเดล AI กับระบบภายนอก มีความท้าทายด้านความปลอดภัยสองประการใน MCP Implementation:

  • การรับรองความถูกต้อง: ต่างจากแอปพลิเคชันแบบดั้งเดิม ในสภาพแวดล้อม MCP ผู้ใช้ไม่สามารถลงชื่อเข้าสู่ระบบด้วยวิธีการเข้าสู่ระบบแบบดั้งเดิม (เช่น ชื่อผู้ใช้/รหัสผ่าน, อีเมล/รหัสยืนยัน, ฯลฯ) เพื่อเข้าถึงระบบภายนอกได้
  • การควบคุมการเข้าถึงคำขอ MCP Server: ผู้ใช้ที่เข้าถึงระบบผ่านเครื่องมือ AI เป็นบุคคลเดียวกันกับที่อาจใช้ระบบของคุณโดยตรง MCP Server ทำหน้าที่เป็นตัวแทนของพวกเขาเมื่อพวกเขาโต้ตอบผ่านเครื่องมือ AI การออกแบบกลไกการควบคุมการเข้าถึงใหม่ทั้งหมดเพียงเพื่อรองรับ MCP Server จะต้องใช้ความพยายามและต้นทุนจำนวนมาก

วิธีแก้ไขที่สำคัญต่อความท้าทายเหล่านี้คือการใช้งาน Personal Access Tokens (PATs) PATs มอบวิธีที่ปลอดภัยสำหรับผู้ใช้ในการให้สิทธิ์การเข้าถึงโดยไม่แชร์ Credentials ของตนหรือจำเป็นต้องเข้าสู่ระบบแบบมีปฏิสัมพันธ์

นี่คือวิธีการทำงานของเวิร์กโฟลว์:

วิธีการนี้ช่วยให้บริการปัจจุบันของคุณสามารถรักษากลไกการรับรองความถูกต้องไว้ได้ขณะที่เปิดใช้งานการบูรณาการ MCP อย่างปลอดภัย

คุณสามารถอ้างอิงบล็อกโพสต์: เพิ่มพลังให้ธุรกิจของคุณ: เชื่อมต่อเครื่องมือ AI กับบริการของคุณที่มีการควบคุมการเข้าถึง พร้อมตัวอย่าง โค้ดต้นฉบับที่สมบูรณ์ เพื่อเรียนรู้วิธีการใช้ Personal Access Tokens (PAT) ของ Logto ควบคู่กับ Role-Based Access Control (RBAC) เพื่อจำกัดทรัพยากรที่ MCP สามารถเข้าถึงได้จากบริการแบ็คเอนด์

สรุป

MCP (Model Context Protocol) นำความเปลี่ยนแปลงที่ปฏิวัติมาสู่การผสมผสาน LLMs กับธุรกิจเฉพาะ มันแก้ปัญหาข้อจำกัดด้านความรู้ในโมเดลภาษาขนาดใหญ่ ขาดความรู้เฉพาะด้าน และมาตรฐานที่ไม่เป็นเอกภาพในการเข้าถึงข้อมูลภายนอก

การใช้ MCP เพื่อเชื่อมต่อบริการของคุณเองจะนำมาซึ่งความเป็นไปได้ใหม่ๆ ให้กับธุรกิจของคุณ MCP เป็นสะพานเชื่อมที่เชื่อมโยง AI กับมูลค่าธุรกิจ คุณสามารถสร้างผู้ช่วย AI ที่เข้าใจความรู้ภายในของบริษัทคุณจริงๆ พัฒนาเครื่องมืออัจฉริยะที่เข้าถึงข้อมูลล่าสุด และสร้างแอปพลิเคชั่นทางการที่ตอบสนองความต้องการเฉพาะของอุตสาหกรรมได้