ห้องมืดมีอะแดปเตอร์ MCP สองยุคต่อเข้าเอเจนต์เดียวกัน มีไฟเขียวแคชและไฟอำพัน interrupt

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 ในโปรดักชัน