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
- MCP-Tool-Erkennung: Abrufen der Liste der verfügbaren Tools vom MCP-Server
- Tool-Metadaten-Analyse: Analyse von Tool-Namen, Beschreibungen und Parametern
- LangChain-Tool-Erstellung: Erstellung kompatibler LangChain-Tool-Objekte
- Agentenintegration: Registrierung der Tools im LangGraph-Agenten
- 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.