Loading...
    • Entwicklerleitfaden
    • API-Referenz
    • MCP
    • Ressourcen
    • Versionshinweise
    Search...
    ⌘K
    Erste Schritte
    Einführung in ClaudeSchnelleinstieg
    Modelle & Preise
    ModellübersichtEin Modell auswählenNeuerungen in Claude 4.5Migration zu Claude 4.5ModellabschreibungenPreise
    Mit Claude entwickeln
    FunktionsübersichtVerwendung der Messages APIKontextfensterBest Practices für Prompting
    Funktionen
    Prompt-CachingKontext-BearbeitungErweitertes DenkenAufwandStreaming MessagesBatch-VerarbeitungZitationenMehrsprachige UnterstützungToken-ZählungEmbeddingsVisionPDF-UnterstützungFiles APISuchergebnisseStrukturierte AusgabenGoogle Sheets Add-on
    Tools
    ÜbersichtTool-Verwendung implementierenToken-effiziente Tool-VerwendungFeingranulares Tool-StreamingBash-ToolCode-Ausführungs-ToolProgrammatischer Tool-AufrufComputer-Use-ToolText-Editor-ToolWeb-Abruf-ToolWeb-Such-ToolMemory-ToolTool-Such-Tool
    Agent Skills
    ÜbersichtSchnelleinstiegBest PracticesSkills mit der API verwenden
    Agent SDK
    ÜbersichtTypeScript SDKPython SDKMigrationsleitfaden
    Leitfäden
    Streaming-EingabeBerechtigungen verwaltenSitzungsverwaltungStrukturierte Ausgaben im SDKAgent SDK hostenSystem-Prompts ändernMCP im SDKBenutzerdefinierte ToolsSubagents im SDKSlash-Befehle im SDKAgent Skills im SDKKosten und Nutzung verfolgenTodo-ListenPlugins im SDK
    MCP in der API
    MCP-ConnectorRemote MCP-Server
    Claude auf Drittanbieter-Plattformen
    Amazon BedrockMicrosoft FoundryVertex AI
    Prompt Engineering
    ÜbersichtPrompt-GeneratorPrompt-Vorlagen verwendenPrompt-VerbessererKlar und direkt seinBeispiele verwenden (Multishot-Prompting)Claude denken lassen (CoT)XML-Tags verwendenClaude eine Rolle geben (System-Prompts)Claudes Antwort vorausfüllenKomplexe Prompts verkettenTipps für langen KontextTipps für erweitertes Denken
    Testen & Evaluieren
    Erfolgskriterien definierenTestfälle entwickelnEvaluierungstool verwendenLatenz reduzieren
    Schutzmaßnahmen verstärken
    Halluzinationen reduzierenAusgabekonsistenz erhöhenJailbreaks abschwächenStreaming-AblehnungenPrompt-Lecks reduzierenClaude im Charakter halten
    Verwaltung und Überwachung
    Admin API-ÜbersichtUsage and Cost APIClaude Code Analytics API
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Leitfäden

    MCP im SDK

    Erweitern Sie Claude Code mit benutzerdefinierten Tools unter Verwendung von Model Context Protocol Servern
    • Überblick
    • Konfiguration
    • Grundkonfiguration
    • Verwendung von MCP-Servern im SDK
    • Transport-Typen
    • stdio Server
    • HTTP/SSE Server
    • SDK MCP Server
    • Ressourcenverwaltung
    • Authentifizierung
    • Umgebungsvariablen
    • OAuth2 Authentifizierung
    • Fehlerbehandlung
    • Verwandte Ressourcen

    Überblick

    Model Context Protocol (MCP) Server erweitern Claude Code mit benutzerdefinierten Tools und Funktionen. MCPs können als externe Prozesse ausgeführt werden, über HTTP/SSE verbinden oder direkt innerhalb Ihrer SDK-Anwendung ausgeführt werden.

    Konfiguration

    Grundkonfiguration

    Konfigurieren Sie MCP-Server in .mcp.json im Stammverzeichnis Ihres Projekts:

    {
      "mcpServers": {
        "filesystem": {
          "command": "npx",
          "args": ["@modelcontextprotocol/server-filesystem"],
          "env": {
            "ALLOWED_PATHS": "/Users/me/projects"
          }
        }
      }
    }

    Verwendung von MCP-Servern im SDK

    Transport-Typen

    stdio Server

    Externe Prozesse, die über stdin/stdout kommunizieren:

    // .mcp.json Konfiguration
    {
      "mcpServers": {
        "my-tool": {
          "command": "node",
          "args": ["./my-mcp-server.js"],
          "env": {
            "DEBUG": "${DEBUG:-false}"
          }
        }
      }
    }

    HTTP/SSE Server

    Remote-Server mit Netzwerkkommunikation:

    SDK MCP Server

    In-Process-Server, die innerhalb Ihrer Anwendung laufen. Für detaillierte Informationen zur Erstellung benutzerdefinierter Tools siehe den Custom Tools Leitfaden:

    Ressourcenverwaltung

    MCP-Server können Ressourcen bereitstellen, die Claude auflisten und lesen kann:

    Authentifizierung

    Umgebungsvariablen

    OAuth2 Authentifizierung

    OAuth2 MCP-Authentifizierung im Client wird derzeit nicht unterstützt.

    Fehlerbehandlung

    Behandeln Sie MCP-Verbindungsfehler elegant:

    Verwandte Ressourcen

    • Custom Tools Leitfaden - Detaillierter Leitfaden zur Erstellung von SDK MCP-Servern
    • TypeScript SDK Referenz
    • Python SDK Referenz
    • SDK Berechtigungen
    • Häufige Arbeitsabläufe
    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    for await (const message of query({
      prompt: "Liste Dateien in meinem Projekt auf",
      options: {
        mcpConfig: ".mcp.json",
        allowedTools: ["mcp__filesystem__list_files"]
      }
    })) {
      if (message.type === "result" && message.subtype === "success") {
        console.log(message.result);
      }
    }
    // SSE Server-Konfiguration
    {
      "mcpServers": {
        "remote-api": {
          "type": "sse",
          "url": "https://api.example.com/mcp/sse",
          "headers": {
            "Authorization": "Bearer ${API_TOKEN}"
          }
        }
      }
    }
    
    // HTTP Server-Konfiguration
    {
      "mcpServers": {
        "http-service": {
          "type": "http",
          "url": "https://api.example.com/mcp",
          "headers": {
            "X-API-Key": "${API_KEY}"
          }
        }
      }
    }
    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // Verfügbare Ressourcen auflisten
    for await (const message of query({
      prompt: "Welche Ressourcen sind vom Datenbankserver verfügbar?",
      options: {
        mcpConfig: ".mcp.json",
        allowedTools: ["mcp__list_resources", "mcp__read_resource"]
      }
    })) {
      if (message.type === "result") console.log(message.result);
    }
    // .mcp.json mit Umgebungsvariablen
    {
      "mcpServers": {
        "secure-api": {
          "type": "sse",
          "url": "https://api.example.com/mcp",
          "headers": {
            "Authorization": "Bearer ${API_TOKEN}",
            "X-API-Key": "${API_KEY:-default-key}"
          }
        }
      }
    }
    
    // Umgebungsvariablen setzen
    process.env.API_TOKEN = "your-token";
    process.env.API_KEY = "your-key";
    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    for await (const message of query({
      prompt: "Daten verarbeiten",
      options: {
        mcpServers: {
          "data-processor": dataServer
        }
      }
    })) {
      if (message.type === "system" && message.subtype === "init") {
        // MCP-Server-Status überprüfen
        const failedServers = message.mcp_servers.filter(
          s => s.status !== "connected"
        );
        
        if (failedServers.length > 0) {
          console.warn("Verbindung fehlgeschlagen:", failedServers);
        }
      }
      
      if (message.type === "result" && message.subtype === "error_during_execution") {
        console.error("Ausführung fehlgeschlagen");
      }
    }