Zum Inhalt

MCP Python SDK

Maschinelle Übersetzung

Diese Seite wurde automatisch aus der englischen Dokumentation übersetzt, und die englische Seite ist die maßgebliche Fassung. Wenn sich etwas falsch liest, erklärt Übersetzungen, wie du es melden kannst.

Diese Dokumentation beschreibt v2, die aktuelle stabile Release-Linie

Neu bei v2 oder kommst du von v1? Neu in v2 ist die Fünf-Minuten-Tour durch alle Änderungen, und der Migrationsleitfaden behandelt jeden Breaking Change. Noch auf v1.x? Die Dokumentation dazu findest du in den v1.x-Docs. Etwas hakt oder ist unklar? Sag uns Bescheid.

Mit dem Model Context Protocol (MCP) können Anwendungen LLMs auf standardisierte Weise Kontext bereitstellen. Dabei wird das Bereitstellen von Kontext von der eigentlichen Interaktion mit dem LLM getrennt.

Dies ist das offizielle Python SDK dafür. Damit kannst du:

  • MCP-Server bauen, die jedem MCP-Host Tools, Ressourcen und Prompts anbieten.
  • MCP-Clients bauen, die sich mit jedem MCP-Server verbinden.
  • Jeden Standard-Transport sprechen: stdio, Streamable HTTP und SSE.

Voraussetzungen

Python 3.10+.

Installation

uv add "mcp[cli]"
pip install "mcp[cli]"

Das Extra [cli] bringt den Befehl mcp mit; den brauchst du für die Entwicklung. Wofür die einzelnen Abhängigkeiten da sind, steht unter Installation.

Beispiel

Erstellen

Lege eine Datei server.py an:

server.py
from mcp.server import MCPServer

mcp = MCPServer("Demo")


@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers."""
    return a + b


@mcp.resource("greeting://{name}")
def greeting(name: str) -> str:
    """Greet someone by name."""
    return f"Hello, {name}!"

Das ist ein vollständiger MCP-Server.

Er bietet ein Tool an, add, und eine Ressource mit Template, greeting://{name}.

Starten

uv run mcp dev server.py

Das startet deinen Server und öffnet den MCP Inspector, eine interaktive Oberfläche, mit der du ihn erkunden kannst. Öffne die URL, die er ausgibt.

Note

Der Inspector ist eine Node.js-App, deshalb braucht mcp dev npx auf deinem PATH.

Ausprobieren

Gehe im Inspector zu Tools und rufe add mit a=1, b=2 auf.

Du bekommst 3 zurück. ✨

Dieses Formular (ein Pflichtfeld vom Typ Integer für a, ein weiteres für b) hat der Inspector aus deinen Type Hints gebaut. Claude macht das genauso, und jeder andere MCP-Host auch.

Gehe jetzt zu Resources und lies greeting://World:

Hello, World!

Zusammenfassung

Sieh dir noch einmal an, was du nicht geschrieben hast:

  • Kein JSON Schema. a: int, b: int ist das Schema.
  • Kein Parsen von Requests, keine Serialisierung, kein Validierungscode.
  • Keinerlei Protokollbehandlung.

Du hast zwei Python-Funktionen mit Type Hints und einem Docstring geschrieben. Den Rest erledigt das SDK.

Wie es weitergeht

  • Einstieg führt dich von der Installation zu einem funktionierenden, getesteten Server.
  • Du baust eine Anwendung, die MCP-Server nutzt? Beginne mit Clients.
  • Du hast schon eine FastAPI- oder Starlette-App? In eine bestehende App einbinden hängt einen MCP-Server darin ein.
  • Du suchst eine bestimmte Fehlermeldung? Fehlerbehebung ist nach dem wörtlichen Text geordnet.
  • Du fragst dich, was sich in v2 geändert hat? Neu in v2 ist die Fünf-Minuten-Tour.
  • Du migrierst von v1? Beginne mit dem Migrationsleitfaden.
  • Du suchst eine genaue Signatur? Die API-Referenz wird aus dem Quellcode generiert.
  • Du liest mit einem LLM? Diese Dokumentation wird auch im Format llms.txt veröffentlicht: llms.txt ist ein Index der Seiten, und llms-full.txt enthält alle Seiten in einer einzigen Datei.