Zum Inhalt springen

Dokumentation durchsuchen

Tippe, um alle Seiten der Dokumentation zu durchsuchen.

Dokumentationsmenü
LeitfadenZielgruppe · Entwickler & Agentenentwickler

MCP-Server

Ihre Agenten – auffindbar für jeden MCP-Client

Diese Seite wurde maschinell aus dem Englischen übersetzt. Bei Abweichungen gilt das Original.Original auf Englisch lesen

Jede Agent-Lab-Anwendung bringt einen Model Context Protocol-Server mit, der auf FastMCP basiert und unter /mcp eingebunden ist (Streamable HTTP, zustandslos). MCP-Clients – Claude Desktop, IDEs, Ihre eigenen Agenten – können die Agenten der Anwendung entdecken, den Dialogverlauf lesen und direkt mit Agenten kommunizieren. Der Server und seine Tool-/Prompt-Registrare nutzen denselben Discovery-Mechanismus wie Agenten: scan_packages und die Entry-Point-Gruppe agent_lab.agents.

Was der Server bereitstellt

Tool Beschreibung
get_agent_list Listet die in der laufenden Anwendung registrierten Agenten auf
get_message_list Liest den Dialogverlauf eines Agenten
post_message Sendet eine Nachricht an einen Agenten – Agent-zu-Agent-Kommunikation
read_prompt_mcp Liest ein Prompt-Template; wird auch als MCP-Prompt (prompts/get) und Ressource (prompt://) bereitgestellt

Das Prompt-Tripel stellt die Standard-System-Prompts jedes Agententyps bereit, mit mandantenspezifischen Überschreibungen über agent_type + setting_key.

Mit dem MCP Inspector ausprobieren

Starten Sie den MCP Inspector und verbinden Sie ihn mit Ihrer Anwendung (z. B. http://localhost:18000/mcp, Transport: Streamable HTTP):

npx @modelcontextprotocol/inspector

Öffnen Sie die Webkonsole (verwenden Sie den in der Konsole ausgegebenen Proxy-Link).

MCP-Inspector-Demo

Claude Desktop verbinden

Hinweis: Claude Desktop wird hier nur zu Demonstrationszwecken verwendet. Dieses Projekt steht in keiner Verbindung zu Anthropic AI.

  1. Installieren Sie die Bridge mcp-proxy, die Claude Desktop verwendet, um entfernte HTTP-Server zu erreichen:

    pip install mcp-proxy
  2. Öffnen Sie Settings → Developer → Edit Config und bearbeiten Sie claude_desktop_config.json (passen Sie den Endpoint an Ihre Installation an; die Python-Umgebung muss mcp-proxy enthalten):

Claude Desktop – Einrichtung 1

Claude Desktop – Einrichtung 2

Claude Desktop – Einrichtung 3

  1. Starten Sie Claude Desktop neu und navigieren Sie erneut zu Settings → Developer – Agent-Lab sollte nun sichtbar sein:

Claude Desktop – Einrichtung 4

  1. Probieren Sie es aus: Bitten Sie Claude, die Agenten aufzulisten, den Dialogverlauf einer Instanz des Supervised-Coder-Agenten abzurufen oder ein Snippet anzuzeigen, das der Agent zuvor generiert hat:

Claude Desktop – Demo

Claude Desktop – Demo

OpenAI Responses API

Das gehostete Model-Context-Protocol-Tool (MCP) in der Responses API vereinfacht die Anbindung an externe Services: Konfigurieren Sie Ihr Modell einmalig so, dass es auf einen MCP-Server zeigt – dieser fungiert als zentraler Tool-Host. (Quelle: MCP Tool Guide)

Ein Notebook, das die Integration der OpenAI Responses API mit dem Agent-Lab-MCP-Server demonstriert, finden Sie unter notebooks/11_mcp_client-openai-responses.ipynb.

Eigene Tools und Prompts hinzufügen

Alles wird auf dieselbe Weise entdeckt wie Agenten – dekorieren Sie es und stellen Sie (als Bibliotheksnutzer) sicher, dass Ihr Paket in scan_packages enthalten ist oder über die Entry-Point-Gruppe agent_lab.agents veröffentlicht wird.

Ein Tool – eine einfache asynchrone Funktion; ihr führender Parameter container wird aus dem DI-Container injiziert und vor Clients verborgen:

from agent_lab import discoverable_mcp_tool


@discoverable_mcp_tool(
    "my_hello_tool",
    description="Returns a friendly greeting.",
    annotations={"readOnlyHint": True},
)
async def hello_tool(container, name: str) -> str:
    return f"Hello, {name}!"

Ein Prompt – bereitgestellt über das vollständige Prompt-Tripel (Tool / prompts/get / prompt://-Ressource):

from agent_lab import discoverable_mcp_prompt


@discoverable_mcp_prompt("my_greeting_prompt")
def greeting_prompt() -> str:
    return "Greet the user warmly and briefly."

Fortgeschritten – eine vollständige Unterklasse von McpRegistrar (oder PromptSetRegistrar) für eigene Tool-/Prompt-/Ressourcen-Sets, über @discoverable_mcp_registrar(extra_deps=(...)). Um MCP-Instructions für Clients hinzuzufügen, übergeben Sie bei der Komposition Fragmente:

app = create_app(mcp_instructions=["Extra guidance for MCP clients."])

Ein ausgearbeitetes Beispiel ist im Scaffold enthalten (mcp/tools.py, mcp/prompts.py) – siehe Ihr erster Agent.

Authentifizierung

Wenn die Authentifizierung aktiviert ist, authentifizieren sich MCP-Clients über einen OAuth-Proxy, der auf Keycloak basiert: JWT-Prüfung gegen die JWKS des Realms (Scopes openid, profile, email) und Speicherung der OAuth-Clients in Redis (verschlüsselt). Die Anwendung veröffentlicht die standardmäßigen Metadaten-Endpoints (/.well-known/oauth-protected-resource/mcp, /.well-known/oauth-authorization-server/mcp), sodass konforme Clients sich selbst konfigurieren können.