ElevenLabs

offiziell

Der offizielle ElevenLabs MCP-Server

Was kann man mit ElevenLabs MCP machen?

  • Text-to-Speech — Bitten Sie Ihren Assistenten, Sprache aus Text mit einer beliebigen Stimme von ElevenLabs zu erzeugen.
  • Stimmklonierung und -design — Erstellen Sie benutzerdefinierte Stimmen, indem Sie Stimmen aus Samples klonen oder neue mit und entwerfen.
  • Sprache-zu-Sprache-Konvertierung — Wandeln Sie eine vorhandene Aufnahme mit speech_to_speech in eine andere Stimme oder einen anderen Stil um.
  • Audio-Transkription — Konvertieren Sie Sprache in Text und identifizieren Sie verschiedene Sprecher mit speech_to_text.
  • Soundeffekte und Musik — Erzeugen Sie Klanglandschaften, Soundeffekte oder Musikstücke aus Textbeschreibungen mit und .
  • Audio-Isolation — Trennen Sie Gesang von Hintergrundgeräuschen oder isolieren Sie bestimmte Audioelemente mit isolate_audio.

Dokumentation

export

[!WARNING] Dieser lokale MCP-Server ist zugunsten des ElevenLabs gehosteten MCP-Servers veraltet.

Der gehostete Server ist unter https://api.elevenlabs.io/v1/mcp verfügbar, ohne dass etwas installiert oder lokal ausgeführt werden muss. Er authentifiziert sich mit OAuth, sodass keine API-Schlüssel in Ihren Client kopiert werden. Siehe die Dokumentation zum gehosteten MCP-Server, um eine Verbindung von Claude, Cursor oder einem anderen MCP-Client herzustellen.

Dieses Repository wird nicht mehr aktiv gepflegt.

Discord Community Twitter PyPI Tests

Offizieller ElevenLabs Model Context Protocol (MCP)-Server, der die Interaktion mit leistungsstarken Text-to-Speech- und Audioverarbeitungs-APIs ermöglicht. Dieser Server erlaubt MCP-Clients wie Claude Desktop, Cursor, Windsurf, OpenAI Agents und anderen, Sprache zu erzeugen, Stimmen zu klonen, Audio zu transkribieren und mehr.

Schnellstart mit Claude Desktop

  1. Holen Sie sich Ihren API-Schlüssel von ElevenLabs. Es gibt eine kostenlose Stufe mit 10.000 Credits pro Monat.
  2. Installieren Sie uv (Python-Paketmanager), installieren Sie mit curl -LsSf https://astral.sh/uv/install.sh | sh oder sehen Sie sich das uv Repository für zusätzliche Installationsmethoden an.
  3. Gehen Sie zu Claude > Einstellungen > Entwickler > Konfiguration bearbeiten > claude_desktop_config.json und fügen Sie Folgendes ein:
{
  "mcpServers": {
    "ElevenLabs": {
      "command": "uvx",
      "args": ["elevenlabs-mcp"],
      "env": {
        "ELEVENLABS_API_KEY": "<insert-your-api-key-here>"
      }
    }
  }
}

Wenn Sie Windows verwenden, müssen Sie den "Entwicklermodus" in Claude Desktop aktivieren, um den MCP-Server zu nutzen. Klicken Sie auf "Hilfe" im Hamburger-Menü oben links und wählen Sie "Entwicklermodus aktivieren".

Andere MCP-Clients

Für andere Clients wie Cursor und Windsurf führen Sie Folgendes aus:

  1. pip install elevenlabs-mcp
  2. python -m elevenlabs_mcp --api-key={{PUT_YOUR_API_KEY_HERE}} --print, um die Konfiguration zu erhalten. Fügen Sie sie in das entsprechende Konfigurationsverzeichnis ein, das von Ihrem MCP-Client angegeben wird.

Das war's. Ihr MCP-Client kann jetzt über diese Tools mit ElevenLabs interagieren:

Beispielverwendung

⚠️ Warnung: ElevenLabs-Credits werden benötigt, um diese Tools zu verwenden.

Versuchen Sie, Claude zu fragen:

  • "Erstelle einen KI-Agenten, der wie ein Film-Noir-Detektiv spricht und Fragen zu klassischen Filmen beantworten kann"
  • "Generiere drei Sprachvariationen für einen weisen, uralten Drachencharakter, dann wähle ich meine Lieblingsstimme aus, um sie zu meiner Stimmbibliothek hinzuzufügen"
  • "Konvertiere diese Aufnahme meiner Stimme so, dass sie wie ein mittelalterlicher Ritter klingt"
  • "Erstelle eine Klanglandschaft eines Gewitters in einem dichten Dschungel mit Tieren, die auf das Wetter reagieren"
  • "Verwandle diese Sprache in Text, identifiziere verschiedene Sprecher und konvertiere sie dann mit einzigartigen Stimmen für jede Person zurück"

Optionale Funktionen

Dateiausgabekonfiguration

Sie können konfigurieren, wie der MCP-Server Dateiausgaben behandelt, indem Sie diese Umgebungsvariablen in Ihrer claude_desktop_config.json verwenden:

  • ELEVENLABS_MCP_BASE_PATH: Geben Sie den Basispfad für Dateioperationen an (Standard: ~/Desktop). Dieses Verzeichnis ist auch die Sicherheitsgrenze für Eingabedateien: Jeder Pfad, der an ein Tool übergeben wird, das eine lokale Datei liest (z. B. speech_to_text, isolate_audio, speech_to_speech, video_to_music, upload_music_for_inpainting), muss innerhalb dieses Verzeichnisses aufgelöst werden, unabhängig davon, ob er als absoluter oder relativer Pfad angegeben ist. Pfade außerhalb davon – selbst wenn sie absolut sind und zuvor akzeptiert wurden – werden abgelehnt. Setzen Sie dies auf ein Verzeichnis, das alles enthält, was Sie lesen oder schreiben müssen.
  • ELEVENLABS_MCP_OUTPUT_MODE: Steuern Sie, wie generierte Dateien zurückgegeben werden (Standard: files)

Ausgabemodi

Die ELEVENLABS_MCP_OUTPUT_MODE-Umgebungsvariable unterstützt drei Modi:

  1. files (Standard): Dateien auf der Festplatte speichern und Dateipfade zurückgeben

    "env": {
      "ELEVENLABS_API_KEY": "your-api-key",
      "ELEVENLABS_MCP_OUTPUT_MODE": "files"
    }
    
  2. resources: Dateien als MCP-Ressourcen zurückgeben; Binärdaten werden base64-kodiert, Text wird als UTF-8-Text zurückgegeben

    "env": {
      "ELEVENLABS_API_KEY": "your-api-key",
      "ELEVENLABS_MCP_OUTPUT_MODE": "resources"
    }
    
  3. both: Dateien auf der Festplatte speichern UND als MCP-Ressourcen zurückgeben

    "env": {
      "ELEVENLABS_API_KEY": "your-api-key",
      "ELEVENLABS_MCP_OUTPUT_MODE": "both"
    }
    

Vorteile des Ressourcenmodus:

  • Dateien werden direkt in der MCP-Antwort als base64-kodierte Daten zurückgegeben
  • Kein Festplatten-I/O erforderlich – nützlich für containerisierte oder serverlose Umgebungen
  • MCP-Clients können auf Dateiinhalte sofort zugreifen, ohne Dateisystemzugriff
  • Im both-Modus können Ressourcen später mit dem elevenlabs://filename-URI-Muster abgerufen werden

Anwendungsfälle:

  • files: Traditionelle dateibasierte Arbeitsabläufe, lokale Entwicklung
  • resources: Cloud-Umgebungen, MCP-Clients ohne Dateisystemzugriff
  • both: Maximale Flexibilität, Caching und Ressourcenteilungsszenarien

Datenresidenz-Schlüssel

Sie können die Datenresidenzregion mit der ELEVENLABS_API_RESIDENCY-Umgebungsvariable angeben. Standard ist "us".

Hinweis: Datenresidenz ist ein reines Enterprise-Feature. Siehe die Dokumentation für weitere Details.

Mitwirken

Wenn Sie mitwirken oder aus dem Quellcode ausführen möchten:

  1. Klonen Sie das Repository:
git clone https://github.com/elevenlabs/elevenlabs-mcp
cd elevenlabs-mcp
  1. Erstellen Sie eine virtuelle Umgebung und installieren Sie Abhängigkeiten mit uv:
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
  1. Kopieren Sie .env.example nach .env und fügen Sie Ihren ElevenLabs-API-Schlüssel hinzu:
cp .env.example .env
# Edit .env and add your API key
  1. Führen Sie die Tests aus, um sicherzustellen, dass alles funktioniert:
./scripts/test.sh
# Or with options
./scripts/test.sh --verbose --fail-fast
  1. Installieren Sie den Server in Claude Desktop: mcp install elevenlabs_mcp/server.py

  2. Debuggen und testen Sie lokal mit MCP Inspector: mcp dev elevenlabs_mcp/server.py

Fehlerbehebung

Protokolle bei Verwendung mit Claude Desktop finden Sie unter:

  • Windows: %APPDATA%\Claude\logs\mcp-server-elevenlabs.log
  • macOS: ~/Library/Logs/Claude/mcp-server-elevenlabs.log

Zeitüberschreitungen bei bestimmten Tools

Bestimmte ElevenLabs-API-Operationen wie Sprachdesign und Audioisolierung können lange dauern, bis sie aufgelöst werden. Bei Verwendung des MCP-Inspectors im Entwicklermodus können Zeitüberschreitungsfehler auftreten, obwohl das Tool seine beabsichtigte Aufgabe erfüllt.

Dies sollte bei Verwendung eines Clients wie Claude nicht auftreten.

MCP ElevenLabs: spawn uvx ENOENT

Wenn Sie den Fehler "MCP ElevenLabs: spawn uvx ENOENT" erhalten, bestätigen Sie seinen absoluten Pfad, indem Sie diesen Befehl in Ihrem Terminal ausführen:

which uvx

Sobald Sie den absoluten Pfad erhalten (z. B. /usr/local/bin/uvx), aktualisieren Sie Ihre Konfiguration, um diesen Pfad zu verwenden (z. B. "command": "/usr/local/bin/uvx"). Dadurch wird sichergestellt, dass auf die richtige ausführbare Datei verwiesen wird.