MCPLEARNING
MCP + LangChain Demo
Ein anfängerfreundliches Projekt, das zeigt, wie man MCP (Model Context Protocol) Server erstellt und mit einem LLM-Agent unter Verwendung von LangChain und LangGraph verbindet.
Was ist MCP?
MCP (Model Context Protocol) ist ein offenes Protokoll, mit dem Sie LLMs auf standardisierte Weise benutzerdefinierte Tools (Funktionen) zur Verfügung stellen können. Stellen Sie es sich als ein universelles Plugin-System für KI-Modelle vor.
Schlüsselkonzepte:
Begriff | Definition |
MCP Server | Ein Prozess, der Tools (Funktionen) über einen Transport (stdio oder HTTP) bereitstellt. Das LLM kann diese Tools aufrufen. |
MCP Client | Ein Prozess, der eine Verbindung zu einem oder mehreren MCP-Servern herstellt, deren Tools entdeckt und an ein LLM weiterleitet. |
Tool | Eine Python-Funktion, die mit |
Transport | Die Kommunikationsmethode zwischen Client und Server. |
FastMCP | Eine High-Level-Python-Klasse aus der Bibliothek |
Related MCP server: Model Context Protocol Multi-Agent Server
Projektstruktur
MCPLEARNING/
├── mathserver.py # MCP Server 1 - Math tools (stdio transport)
├── weather.py # MCP Server 2 - Weather tool (HTTP transport)
├── client.py # LangChain agent that connects to both servers
├── .env # API keys (NOT pushed to GitHub)
├── .gitignore
├── requirements.txt
└── pyproject.tomlWie es funktioniert (Schritt für Schritt)
Schritt 1: MCP Server — mathserver.py
Diese Datei erstellt einen MCP-Server namens "Math", der zwei Tools bereitstellt:
add(a, b)— Gibt die Summe zweier Ganzzahlen zurück.multiply(a, b)— Gibt das Produkt zweier Ganzzahlen zurück.
Er läuft auf dem stdio-Transport; das bedeutet, der Client startet ihn als Unterprozess und kommuniziert über stdin/stdout. Kein Port erforderlich.
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Math")
@mcp.tool()
def add(a: int, b: int) -> int:
"""Addition of two numbers"""
return a + b
@mcp.tool()
def multiply(a: int, b: int) -> int:
"""Multiplication of two numbers"""
return a * b
if __name__ == "__main__":
mcp.run(transport="stdio")Schritt 2: MCP Server — weather.py
Diese Datei erstellt einen MCP-Server namens "Weather", der ein Tool bereitstellt:
get_weather(location)— Gibt Wetterinformationen für einen bestimmten Ort zurück.
Er läuft auf dem streamable-http-Transport; das bedeutet, er startet einen Webserver unter http://127.0.0.1:8000/mcp. Der Client verbindet sich über HTTP mit ihm.
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Weather")
@mcp.tool()
async def get_weather(location: str) -> str:
"""Get the weather"""
return "It's always raining in California"
if __name__ == "__main__":
mcp.run(transport="streamable-http")Schritt 3: Client-Agent — client.py
Dies ist das Gehirn des Projekts. Es:
Stellt eine Verbindung zu beiden MCP-Servern her, unter Verwendung von
MultiServerMCPClient.Entdeckt alle Tools von beiden Servern (
add,multiply,get_weather).Erstellt ein Groq LLM (gehostetes Open-Source-Modell) und bindet die Tools daran.
Erstellt einen LangGraph-Agenten — einen Zustandsautomaten, in dem:
Das LLM entscheidet, ob es ein Tool aufruft oder direkt antwortet.
Wenn ein Tool aufgerufen wird, wird das Ergebnis zur endgültigen Antwort an das LLM zurückgegeben.
Testet zwei Abfragen:
"Was ist 3 + 5?" → Verwendet das
add-Tool."Wie ist das Wetter in Kalifornien?" → Verwendet das
get_weather-Tool.
Voraussetzungen
Python 3.13+
uv Paketmanager (empfohlen) oder pip
Ein Groq-API-Schlüssel — Erhalten Sie einen kostenlos unter console.groq.com
Einrichtung
1. Repository klonen
git clone https://github.com/<YOUR_USERNAME>/MCPLEARNING.git
cd MCPLEARNING2. Virtuelle Umgebung erstellen und aktivieren
# Using uv (recommended)
uv venv
uv pip install -r requirements.txt
# Or using pip
python -m venv .venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # Mac/Linux
pip install -r requirements.txt3. API-Schlüssel einrichten
Erstellen Sie eine .env-Datei im Projektstammverzeichnis:
GROQ_API_KEY=your_groq_api_key_hereWICHTIG: Committen Sie niemals Ihre
.env-Datei. Sie wird über.gitignoreausgeschlossen.
Projekt ausführen
Sie benötigen zwei geöffnete Terminals:
Terminal 1 — Weather MCP Server starten
python weather.pySie sollten Folgendes sehen:
INFO: Uvicorn running on http://127.0.0.1:8000Hinweis: Nur
weather.pymuss manuell gestartet werden. Diemathserver.pywird automatisch vom Client gestartet (stdio-Transport).
Terminal 2 — Client ausführen
python client.pyErwartete Ausgabe
Available MCP tools:
- add
- multiply
- get_weather
==============================
Testing Math MCP
==============================
Math Response: 3 + 5 = 8.
==============================
Testing Weather MCP
==============================
Weather Response: It's always raining in California.So erstellen Sie Ihren eigenen MCP Server
Installieren Sie die MCP-Bibliothek:
pip install mcpErstellen Sie eine neue Python-Datei (z.B.
myserver.py):
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("MyServer")
@mcp.tool()
def my_tool(param: str) -> str:
"""Description of what this tool does."""
return f"Result: {param}"
if __name__ == "__main__":
mcp.run(transport="stdio") # For stdio transport
# mcp.run(transport="streamable-http") # For HTTP transportVerbinden Sie sie in Ihrem Client, indem Sie sie zur Konfiguration von
MultiServerMCPClienthinzufügen:
client = MultiServerMCPClient({
"myserver": {
"command": "python",
"args": ["myserver.py"],
"transport": "stdio",
},
})Transportvergleich
Transport | Funktionsweise | Wann zu verwenden |
stdio | Client startet den Server als Unterprozess. Kommunikation via stdin/stdout. | Lokale Tools, einfache Einrichtung, kein Netzwerk nötig. |
streamable-http | Server läuft als Webserver. Client verbindet sich via HTTP. | Entfernte Tools, mehrere Clients, geräteübergreifend. |
Verwendete Schlüsselbibliotheken
Bibliothek | Zweck |
| Erstellen von MCP-Servern mit |
| Brücke zwischen MCP-Servern und LangChain-Tools. |
| LangChain-Integration für Groq-gehostete LLMs. |
| Erstellen von Agent-Workflows als Graph (Agent ↔ Tools-Schleife). |
| Laden von API-Schlüsseln aus der |
Wichtige Dinge, die zu beachten sind
Der Weather-Server muss vor dem Client gestartet werden — Da er den HTTP-Transport verwendet, muss der Serverprozess zuerst gestartet werden. Der Mathe-Server (stdio) wird automatisch vom Client gestartet.
Groq-API-Schlüssel ist erforderlich — Ohne ihn schlagen die LLM-Aufrufe fehl. Holen Sie sich einen kostenlosen Schlüssel unter console.groq.com.
Committen Sie niemals
.env— Fügen Sie.envimmer zu.gitignorehinzu, bevor Sie Code pushen.Portkonflikte — Der Weather-Server läuft standardmäßig auf Port 8000. Wenn ein anderer Prozess diesen Port verwendet, kann der Server nicht gestartet werden.
Windows-Kodierungsproblem — Unter Windows unterstützt die Konsole möglicherweise keine UTF-8-Zeichen, die vom LLM zurückgegeben werden. Die
client.pybehandelt dies mitsys.stdout.reconfigure(encoding="utf-8").Modellverfügbarkeit — Der Groq-Modellname (
openai/gpt-oss-120b) muss gültig und auf der Groq-Plattform verfügbar sein. Überprüfen Sie die Groq-Modellliste auf aktuelle Optionen.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA Model Context Protocol (MCP) server that demonstrates mathematical capabilities through a LangChain integration, allowing clients to perform math operations via the MCP protocol.
- Flicense-qualityDmaintenanceDemonstrates custom MCP servers for math and weather operations, enabling multi-agent orchestration using LangChain, Groq, and MCP adapters for both local and remote tool integration.1
- Flicense-qualityCmaintenanceA demonstration MCP server that provides math (add/multiply) and weather tools, connecting via stdio and streamable HTTP, and integrates with LangChain and LangGraph for agentic workflows.
- Flicense-qualityDmaintenanceA collection of MCP servers demonstrating math operations, weather data, and LangGraph workflows.1
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Reyansh1996/MCPLEARNING'
If you have feedback or need assistance with the MCP directory API, please join our Discord server