- MCP(Model Context Protocol) คือวิธีการแบบมาตรฐานในการมอบเครื่องมือและคอนเท็กซ์ให้กับ LLM
- ทำหน้าที่เป็นอินเทอร์เฟซมาตรฐานที่เชื่อมโมเดล AI เข้ากับแหล่งข้อมูลหรือเครื่องมือต่าง ๆ ได้ คล้ายกับพอร์ต USB-C
- OpenAI Agents SDK รองรับ MCP ทำให้สามารถผสานรวมกับเซิร์ฟเวอร์ MCP ได้หลากหลาย
เซิร์ฟเวอร์ MCP
- ขณะนี้สเปก MCP กำหนดเซิร์ฟเวอร์ไว้ 2 ประเภทตามกลไกการรับส่งข้อมูลที่ใช้:
- stdio เซิร์ฟเวอร์จะทำงานเป็นซับโปรเซสของแอปพลิเคชัน และอาจมองได้ว่าเป็นการทำงานแบบ "โลคัล"
- HTTP over SSE เซิร์ฟเวอร์จะทำงานจากระยะไกล และเชื่อมต่อผ่าน URL
- สามารถเชื่อมต่อกับเซิร์ฟเวอร์เหล่านี้ได้โดยใช้คลาส
MCPServerStdio และ MCPServerSse
- ตัวอย่างเช่น วิธีใช้งานเซิร์ฟเวอร์ไฟล์ซิสเต็ม MCP อย่างเป็นทางการมีดังนี้:
async with MCPServerStdio(
params={
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", samples_dir],
}
) as server:
tools = await server.list_tools()
การแคช
- การเรียก
list_tools() จากเซิร์ฟเวอร์ MCP ทุกครั้งที่เอเจนต์ทำงาน อาจทำให้เกิดความหน่วงได้ โดยเฉพาะเมื่อเป็นเซิร์ฟเวอร์ระยะไกล
- หากต้องการแคชรายการเครื่องมือโดยอัตโนมัติ สามารถส่ง
cache_tools_list=True ไปยัง MCPServerStdio และ MCPServerSse ได้ แต่ควรทำเฉพาะเมื่อมั่นใจว่ารายการเครื่องมือจะไม่เปลี่ยนแปลง
- หากต้องการล้างแคช สามารถเรียก
invalidate_tools_cache() จากเซิร์ฟเวอร์ได้
4 ความคิดเห็น
Anthropic เปิดซอร์ส Model Context Protocol
วิธีพัฒนา Model Context Protocol (MCP)
คำอธิบายเปรียบเทียบ MCP กับ API
Awesome MCP Servers - รายการเซิร์ฟเวอร์ที่รองรับ Model Context Protocol
ความคิดเห็นบน Hacker News
วันนี้ MCP ได้เพิ่ม Streamable HTTP แล้ว ซึ่งถือเป็นความก้าวหน้าครั้งใหญ่เพราะไม่จำเป็นต้องคงการเชื่อมต่อกับเซิร์ฟเวอร์ HTTP ระยะไกลไว้ตลอดเวลา
/get_weatherพร้อม{ "location": "New York" }Authorizationและใช้เอนด์พอยต์แบบดั้งเดิมมีการเปรียบเทียบว่า MCP คือพอร์ต USB-C ของแอปพลิเคชัน AI
เคยสงสัยว่า OpenAI จะสนับสนุนสิ่งนี้อย่างเป็นทางการหรือไม่ แต่ตอนนี้ได้คำตอบแล้ว
เคยหวังว่าจะรองรับ OpenAPI ฉันสร้าง MCP server มาบ้างสองสามตัว แต่รู้สึกว่ามันเป็น API ที่ยืดหยุ่นน้อยกว่าและมีเอกสารแย่กว่า
เข้าใจได้ยากว่าคุณค่าของ MCP คืออะไร มันให้ความรู้สึกเหมือนเป็นอีกหนึ่งสิ่งรบกวนท่ามกลางความสับสนของเทคโนโลยี AI ยุคใหม่
ฉันสร้างสถาปัตยกรรมที่ทำให้ AI agent ใช้ "เครื่องมือ" ได้บนเครื่องโลคัล รองรับ LLM และ LLM server ได้หลายประเภท
ยังมีวิดีโอที่แสดงให้เห็นอย่างแท้จริงว่า MCP ใช้งานอย่างไรไม่มากนัก และยังขาดกรณีใช้งานจริงสำหรับโปรแกรมเมอร์
มีการเปรียบเทียบว่า MCP คือพอร์ต USB-C ของแอปพลิเคชัน AI
ดูเหมือนว่ากำลังอ้างถึง HTTP+SSE ซึ่งเป็นเวอร์ชันเก่าของ MCP ไม่ใช่เวอร์ชัน Streaming HTTP ใหม่
ถ้าอยากลอง MCP แบบง่าย ๆ ฉันทำ <a href="https://skeet.build/mcp" rel="nofollow">skeet.build/mcp</a> ไว้
ผมเองก็รู้สึกว่า OpenAPI function calling น่าจะดีกว่าไม่ใช่เหรอครับ เพราะการต้องมาทำอันนี้ขึ้นใหม่ด้วยโปรโตคอล MCP ก็เป็นงานเหมือนกัน
น่าจะเป็นความต่างระหว่าง push กับ poll ไหมครับ แทนที่จะทำ function calling แยกตามแต่ละโมเดลหรือแต่ละบริการ การโฮสต์สเปก MCP แล้วให้เอเจนต์มาคอย poll ดู น่าจะสะดวกกว่าสำหรับฝั่ง 3rd party