Home
Login

Ein leichtgewichtiger Wrapper, der die Anthropic Model Content Protocol (MCP) Tools mit LangChain und LangGraph kompatibel macht.

MITPython 2.0klangchain-ai Last Updated: 2025-06-09

LangChain MCP-Adapter – Projektdetails

Projektübersicht

Der LangChain MCP-Adapter ist eine schlanke Wrapper-Bibliothek, die darauf abzielt, die Anthropic Model Content Protocol (MCP)-Tools nahtlos in die LangChain- und LangGraph-Ökosysteme zu integrieren. Dieses Projekt löst Kompatibilitätsprobleme zwischen verschiedenen KI-Tool-Frameworks und ermöglicht es Entwicklern, MCP-Tools direkt in LangChain/LangGraph-Umgebungen zu verwenden, um leistungsfähigere und flexiblere KI-Agentenanwendungen zu erstellen.

Projektadresse: https://github.com/langchain-ai/langchain-mcp-adapters

Kernfunktionen und -merkmale

🔧 Tool-Konvertierung und -Anpassung

  • MCP-zu-LangChain-Tool-Konvertierung: Automatische Konvertierung von MCP-Tools in das LangChain-Tool-Format
  • Nahtlose Integration: Konvertierte Tools können direkt für LangGraph-Agenten verwendet werden
  • Typsicherheit: Beibehaltung der Typinformationen und Parametervalidierung der ursprünglichen Tools
  • Asynchrone Unterstützung: Volle Unterstützung für asynchrone Tool-Operationen

📦 Multi-Server-Client

  • Multi-Server-Verbindung: Gleichzeitige Verbindung zu mehreren MCP-Servern
  • Einheitliche Tool-Verwaltung: Laden und Verwalten von Tools von verschiedenen Servern
  • Serverkonfiguration: Unterstützung für flexible Serverparameterkonfiguration
  • Verbindungspool-Verwaltung: Effiziente Verwaltung von Verbindungsressourcen

🌐 Unterstützung von Übertragungsprotokollen

  • STDIO-Übertragung: Unterstützung des Standard-Input/Output-Übertragungsprotokolls
  • SSE-Übertragung: Unterstützung des Server-Sent-Events-Übertragungsprotokolls
  • Multi-Protokoll-Mix: Verschiedene Server können unterschiedliche Übertragungsprotokolle verwenden
  • Automatische Wiederverbindung: Automatischer Wiederverbindungsmechanismus bei Verbindungsabbrüchen

🤖 LangGraph-Integration

  • React-Agent: Perfekte Integration mit dem React-Agent von LangGraph
  • Asynchroner Agent: Unterstützung für asynchrone Agentenausführung
  • Toolkettenkombination: Unterstützung für komplexe Toolketten und Workflows
  • Zustandsverwaltung: Verwaltung des Agentenausführungszustands

Technische Architektur

Kernkomponenten

LangChain/LangGraph-Anwendung
         ↓
LangChain MCP-Adapter
         ↓
MCP-Client-Implementierung
         ↓
Mehrere MCP-Server (Mathematik, Wetter usw.)

Tool-Konvertierungsprozess

  1. MCP-Tool-Erkennung: Abrufen der Liste der verfügbaren Tools vom MCP-Server
  2. Tool-Metadaten-Analyse: Analyse von Tool-Namen, Beschreibungen und Parametern
  3. LangChain-Tool-Erstellung: Erstellung kompatibler LangChain-Tool-Objekte
  4. Agentenintegration: Registrierung der Tools im LangGraph-Agenten
  5. Ausführungsweiterleitung: Weiterleitung von LangChain-Tool-Aufrufen an den MCP-Server

Installation und Verwendung

Schnelle Installation

# Basisinstallation
pip install langchain-mcp-adapters

# Vollständige Entwicklungsumgebung
pip install langchain-mcp-adapters langgraph langchain-openai

Umgebungskonfiguration

# OpenAI API-Schlüssel setzen
export OPENAI_API_KEY=<your_api_key>

Anwendungsbeispiele

Basisbeispiel: Mathematik-Server

1. MCP-Server erstellen

# math_server.py
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Math")

@mcp.tool()
def add(a: int, b: int) -> int:
    """Addiere zwei Zahlen"""
    return a + b

@mcp.tool()
def multiply(a: int, b: int) -> int:
    """Multipliziere zwei Zahlen"""
    return a * b

if __name__ == "__main__":
    mcp.run(transport="stdio")

2. LangGraph-Agent erstellen

from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
from langchain_mcp_adapters.tools import load_mcp_tools
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

# Modell initialisieren
model = ChatOpenAI(model="gpt-4o")

# Serverparameter konfigurieren
server_params = StdioServerParameters(
    command="python",
    args=["/path/to/math_server.py"],
)

# Agent erstellen und ausführen
async with stdio_client(server_params) as (read, write):
    async with ClientSession(read, write) as session:
        await session.initialize()
        
        # MCP-Tools laden
        tools = await load_mcp_tools(session)
        
        # Agent erstellen
        agent = create_react_agent(model, tools)
        
        # Abfrage ausführen
        response = await agent.ainvoke({
            "messages": "was ist (3 + 5) x 12?"
        })

Fortgeschrittenes Beispiel: Multi-Server-Integration

1. Wetter-Server

# weather_server.py
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Weather")

@mcp.tool()
async def get_weather(location: str) -> str:
    """Rufe das Wetter für einen Ort ab."""
    return f"In {location} ist es immer sonnig"

if __name__ == "__main__":
    mcp.run(transport="sse")

2. Multi-Server-Client

from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

model = ChatOpenAI(model="gpt-4o")

# Multi-Server-Konfiguration
async with MultiServerMCPClient({
    "math": {
        "command": "python",
        "args": ["/path/to/math_server.py"],
        "transport": "stdio",
    },
    "weather": {
        "url": "http://localhost:8000/sse",
        "transport": "sse",
    }
}) as client:
    # Agent erstellen
    agent = create_react_agent(model, client.get_tools())
    
    # Mathematische Operation
    math_response = await agent.ainvoke({
        "messages": "was ist (3 + 5) x 12?"
    })
    
    # Wetterabfrage
    weather_response = await agent.ainvoke({
        "messages": "wie ist das Wetter in New York?"
    })

LangGraph API-Server-Integration

1. Graph-Konfigurationsdatei

# graph.py
from contextlib import asynccontextmanager
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_anthropic import ChatAnthropic

model = ChatAnthropic(model="claude-3-5-sonnet-latest")

@asynccontextmanager
async def make_graph():
    async with MultiServerMCPClient({
        "math": {
            "command": "python",
            "args": ["/path/to/math_server.py"],
            "transport": "stdio",
        },
        "weather": {
            "url": "http://localhost:8000/sse",
            "transport": "sse",
        }
    }) as client:
        agent = create_react_agent(model, client.get_tools())
        yield agent

2. LangGraph-Konfiguration

{
  "dependencies": ["."],
  "graphs": {
    "agent": "./graph.py:make_graph"
  }
}

Anwendungsfälle und Vorteile

🎯 Anwendungsfälle

KI-Agenten für Unternehmen

  • Multifunktionale Integration: Integration verschiedener Geschäftstools und APIs
  • Workflow-Automatisierung: Erstellung komplexer Geschäftsprozessautomatisierungen
  • Datenverarbeitung: Integration verschiedener Datenquellen und Verarbeitungstools

Entwickler-Toolketten

  • Code-Generierung: Integration von Code-Generierungs- und Analysetools
  • Testautomatisierung: Erstellung intelligenter Testagenten
  • DevOps-Integration: Automatisierung von Bereitstellung und Überwachung

Forschung und Bildung

  • Wissenschaftliches Rechnen: Integration von Mathematik- und Wissenschaftsrechentools
  • Datenanalyse: Erstellung intelligenter Datenanalyseassistenten
  • Lehrassistenten: Erstellung interaktiver Lerntools

✨ Technische Vorteile

Interoperabilität des Ökosystems

  • Standardisierte Schnittstelle: Einhaltung des MCP-Standardprotokolls
  • Breite Kompatibilität: Nahtlose Integration in das LangChain-Ökosystem
  • Erweiterbarkeit: Unterstützung für benutzerdefinierte Tools und Protokollerweiterungen

Steigerung der Entwicklungseffizienz

  • Schnelle Integration: MCP-Tools können mit wenigen Codezeilen integriert werden
  • Typsicherheit: Vollständige Typhinweise und Validierung
  • Fehlerbehandlung: Umfassende Fehlerbehandlung und Wiederholungsmechanismen

Leistung und Zuverlässigkeit

  • Asynchrone Unterstützung: Hochleistungsfähige asynchrone Operationen
  • Verbindungsverwaltung: Intelligenter Verbindungspool und Wiederverbindungsmechanismus
  • Ressourcenoptimierung: Effiziente Ressourcennutzung und -verwaltung

Technische Spezifikationen

Unterstützte Protokollversionen

  • MCP-Protokoll: Kompatibel mit den neuesten MCP-Protokollspezifikationen
  • LangChain: Unterstützt LangChain 0.1+ Versionen
  • LangGraph: Unterstützt die neueste Version von LangGraph

Übertragungsprotokolle

  • STDIO: Standard-Input/Output-Übertragung
  • SSE: Server-Sent Events
  • HTTP: RESTful API basierend auf HTTP
  • WebSocket: Echtzeit-Bidirektionale Kommunikation (in Planung)

Unterstützung von Tool-Typen

  • Synchrone Tools: Traditionelle synchrone Funktions-Tools
  • Asynchrone Tools: Hochleistungsfähige asynchrone Tools
  • Streaming-Tools: Unterstützung für Streaming-Ausgabe
  • Zustands-Tools: Unterstützung für Tools zur Zustandsverwaltung

Best Practices

🔧 Entwicklungsempfehlungen

Tool-Design

  • Einzelfunktion: Jedes Tool konzentriert sich auf eine einzelne Funktion
  • Klare Parameter: Bereitstellung klarer Parameterbeschreibungen und -typen
  • Fehlerbehandlung: Implementierung einer umfassenden Fehlerbehandlungslogik
  • Vollständige Dokumentation: Bereitstellung detaillierter Tool-Dokumentation

Leistungsoptimierung

  • Verbindungs-Wiederverwendung: Wiederverwendung von MCP-Serververbindungen
  • Asynchronität priorisieren: Priorisierung der Verwendung asynchroner Tools und Operationen
  • Ressourcenverwaltung: Rechtzeitige Freigabe nicht benötigter Ressourcen
  • Caching-Strategie: Sinnvolle Verwendung von Caching zur Leistungssteigerung

Sicherheitsüberlegungen

  • Zugriffskontrolle: Implementierung geeigneter Zugriffskontrollen
  • Eingabevalidierung: Strenge Validierung von Eingabeparametern
  • Protokollierung: Protokollierung wichtiger Operationen und Fehler
  • Schlüsselverwaltung: Sichere Verwaltung von API-Schlüsseln und Anmeldeinformationen

Zusammenfassung

Das LangChain MCP-Adapter-Projekt ist eine wichtige Infrastruktur im KI-Tool-Ökosystem, die erfolgreich die Lücke zwischen dem MCP-Protokoll und dem LangChain-Framework schließt. Durch diesen Adapter können Entwickler:

🎯 Kernwert

  • Vereinheitlichung des Tool-Ökosystems: Vereinheitlichung von KI-Tools unter verschiedenen Protokollen im LangChain-Ökosystem
  • Steigerung der Entwicklungseffizienz: Deutliche Reduzierung der Komplexität und des Arbeitsaufwands bei der KI-Agentenentwicklung
  • Funktionserweiterbarkeit: Einfache Integration verschiedener Drittanbieter-Tools und -Dienste
  • Standardisierte Unterstützung: Einhaltung von Industriestandards zur Gewährleistung langfristiger Kompatibilität

🌟 Projekthighlights

  • Leichtgewichtiges Design: Minimierung von Abhängigkeiten, einfache Integration und Bereitstellung
  • Vollständige Funktionalität: Abdeckung des gesamten Prozesses von der Tool-Konvertierung bis zur Agentenausführung
  • Produktionsbereit: Bereitstellung von Stabilität und Leistung auf Unternehmensebene
  • Community-getrieben: Aktive Open-Source-Community und kontinuierliche Funktionsiteration

🔮 Anwendungsperspektiven

Mit der rasanten Entwicklung der KI-Agententechnologie werden Tool-Integration und Interoperabilität immer wichtiger. Der LangChain MCP-Adapter, der als Brücke zwischen verschiedenen KI-Tool-Ökosystemen fungiert, wird in der zukünftigen KI-Anwendungsentwicklung eine entscheidende Rolle spielen. Er vereinfacht nicht nur die aktuellen Entwicklungsprozesse, sondern legt auch eine solide Grundlage für die Erstellung intelligenterer und funktionsreicherer KI-Agentenanwendungen.

Egal, ob Sie KI-Anwendungsentwickler, technischer Entscheidungsträger in einem Unternehmen oder Forscher sind, dieses Projekt ist es wert, eingehend untersucht und angewendet zu werden. Es repräsentiert die Best Practices im Bereich der KI-Tool-Integration und wird Ihnen helfen, leistungsfähigere und flexiblere KI-Lösungen zu entwickeln.