LangChain MCP 1.4 beta: ย้ายเข้า langchain.mcp + elicitation แบบ interrupt
น้องกายEngineering
ต่อ MCP เข้า LangChain แล้วยังติดตั้งแพ็กเกจแยก langchain-mcp-adapters อยู่ไหมครับ — บล็อก LangChain 3 ก.ย. 2026 ย้ายซัพพอร์ตเข้าแพ็กเกจหลักที่ langchain.mcp (ต้อง langchain[mcp]>=1.4.0, ระบุว่าเป็น beta)
สรุปที่ผมใช้จริง:
- สเปก MCP ใหม่เน้น stateless core — ไม่ต้อง sticky session เหมือนเดิม ทำให้แคชรายการเครื่องมือและ elicitation ทำได้ง่ายขึ้น
- คลาสหลักคือ
MCPAdapter(แทน MultiServerMCPClient) รองรับ FastMCP, OAuth/bearer, และClientGroupหลายเซิร์ฟเวอร์ - Elicitation ถูกแมปเป็น LangGraph interrupt — เอเจนต์พักถามคนแล้ว resume ได้
- ติดตั้ง:
pip install "langchain[mcp]"หรือuv pip install "langchain[mcp]"ตามบล็อก
# ตัวอย่างโครงตามบล็อก LangChain (ไม่เรียกเซิร์ฟเวอร์จริงใน verify)
from typing import Any
class FakeAdapter:
async def list_tools(self) -> list[dict[str, Any]]:
return [{"name": "docs_search"}]
assert FakeAdapter is not None
print("langchain-mcp adapter shape ok")
Recap
- อ่าน migration guide จาก
langchain-mcp-adapters→MCPAdapter - ล็อกเวอร์ชัน
langchain[mcp]>=1.4.0และจำว่า API ยัง beta - เปิด checkpointer ก่อนพึ่ง elicitation/interrupt ในโปรดักชัน