ElevenLabs MCP Server
officielLe serveur MCP officiel d'ElevenLabs
Documentation
Serveur officiel ElevenLabs Model Context Protocol (MCP) qui permet d'interagir avec les puissantes API de synthèse vocale et de traitement audio. Ce serveur permet aux clients MCP comme Claude Desktop, Cursor, Windsurf, OpenAI Agents et d'autres de générer de la parole, cloner des voix, transcrire de l'audio, et bien plus encore.
Démarrage rapide avec Claude Desktop
- Obtenez votre clé API depuis ElevenLabs. Il existe un niveau gratuit avec 10 000 crédits par mois.
- Installez
uv(gestionnaire de paquets Python), installez aveccurl -LsSf https://astral.sh/uv/install.sh | shou consultez le dépôt deuvpour d'autres méthodes d'installation. - Allez dans Claude > Paramètres > Développeur > Modifier la configuration > claude_desktop_config.json pour inclure ce qui suit :
{
"mcpServers": {
"ElevenLabs": {
"command": "uvx",
"args": ["elevenlabs-mcp"],
"env": {
"ELEVENLABS_API_KEY": "<insert-your-api-key-here>"
}
}
}
}
Si vous utilisez Windows, vous devrez activer le « Mode Développeur » dans Claude Desktop pour utiliser le serveur MCP. Cliquez sur « Aide » dans le menu hamburger en haut à gauche et sélectionnez « Activer le mode développeur ».
Autres clients MCP
Pour d'autres clients comme Cursor et Windsurf, exécutez :
pip install elevenlabs-mcppython -m elevenlabs_mcp --api-key={{PUT_YOUR_API_KEY_HERE}} --printpour obtenir la configuration. Collez-la dans le répertoire de configuration approprié spécifié par votre client MCP.
C'est tout. Votre client MCP peut maintenant interagir avec ElevenLabs via ces outils :
Exemples d'utilisation
⚠️ Avertissement : Des crédits ElevenLabs sont nécessaires pour utiliser ces outils.
Essayez de demander à Claude :
- « Crée un agent IA qui parle comme un détective de film noir et peut répondre à des questions sur les films classiques »
- « Génère trois variations de voix pour un personnage de dragon ancien et sage, puis je choisirai ma voix préférée à ajouter à ma bibliothèque vocale »
- « Convertit cet enregistrement de ma voix pour qu'il ressemble à un chevalier médiéval »
- « Crée un paysage sonore d'un orage dans une jungle dense avec des animaux réagissant au temps »
- « Transforme ce discours en texte, identifie les différents locuteurs, puis reconvertis-le en utilisant des voix uniques pour chaque personne »
Fonctionnalités optionnelles
Configuration de la sortie des fichiers
Vous pouvez configurer la façon dont le serveur MCP gère les sorties de fichiers en utilisant ces variables d'environnement dans votre claude_desktop_config.json :
ELEVENLABS_MCP_BASE_PATH: Spécifie le chemin de base pour les opérations sur les fichiers avec des chemins relatifs (par défaut :~/Desktop)ELEVENLABS_MCP_OUTPUT_MODE: Contrôle la façon dont les fichiers générés sont retournés (par défaut :files)
Modes de sortie
La variable d'environnement ELEVENLABS_MCP_OUTPUT_MODE prend en charge trois modes :
-
files(par défaut) : Sauvegarde les fichiers sur le disque et retourne les chemins des fichiers"env": { "ELEVENLABS_API_KEY": "your-api-key", "ELEVENLABS_MCP_OUTPUT_MODE": "files" } -
resources: Retourne les fichiers en tant que ressources MCP ; les données binaires sont encodées en base64, le texte est retourné en tant que texte UTF-8"env": { "ELEVENLABS_API_KEY": "your-api-key", "ELEVENLABS_MCP_OUTPUT_MODE": "resources" } -
both: Sauvegarde les fichiers sur le disque ET les retourne en tant que ressources MCP"env": { "ELEVENLABS_API_KEY": "your-api-key", "ELEVENLABS_MCP_OUTPUT_MODE": "both" }
Avantages du mode Ressource :
- Les fichiers sont retournés directement dans la réponse MCP sous forme de données encodées en base64
- Aucune E/S disque requise - utile pour les environnements conteneurisés ou sans serveur
- Les clients MCP peuvent accéder immédiatement au contenu des fichiers sans accès au système de fichiers
- En mode
both, les ressources peuvent être récupérées ultérieurement en utilisant le modèle d'URIelevenlabs://filename
Cas d'utilisation :
files: Flux de travail traditionnels basés sur les fichiers, développement localresources: Environnements cloud, clients MCP sans accès au système de fichiersboth: Flexibilité maximale, mise en cache et scénarios de partage de ressources
Clés de résidence des données
Vous pouvez spécifier la région de résidence des données avec la variable d'environnement ELEVENLABS_API_RESIDENCY. Par défaut : "us".
Remarque : La résidence des données est une fonctionnalité réservée aux entreprises. Consultez la documentation pour plus de détails.
Contribuer
Si vous souhaitez contribuer ou exécuter à partir des sources :
- Clonez le dépôt :
git clone https://github.com/elevenlabs/elevenlabs-mcp
cd elevenlabs-mcp
- Créez un environnement virtuel et installez les dépendances en utilisant uv :
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
- Copiez
.env.examplevers.envet ajoutez votre clé API ElevenLabs :
cp .env.example .env
# Edit .env and add your API key
- Exécutez les tests pour vous assurer que tout fonctionne :
./scripts/test.sh
# Or with options
./scripts/test.sh --verbose --fail-fast
-
Installez le serveur dans Claude Desktop :
mcp install elevenlabs_mcp/server.py -
Déboguez et testez localement avec MCP Inspector :
mcp dev elevenlabs_mcp/server.py
Dépannage
Les journaux lors de l'exécution avec Claude Desktop se trouvent à :
- Windows :
%APPDATA%\Claude\logs\mcp-server-elevenlabs.log - macOS :
~/Library/Logs/Claude/mcp-server-elevenlabs.log
Délais d'attente lors de l'utilisation de certains outils
Certaines opérations de l'API ElevenLabs, comme la conception vocale et l'isolation audio, peuvent prendre beaucoup de temps. Lors de l'utilisation de l'inspecteur MCP en mode développement, vous pourriez obtenir des erreurs de délai d'attente même si l'outil a terminé sa tâche prévue.
Cela ne devrait pas se produire avec un client comme Claude.
MCP ElevenLabs : spawn uvx ENOENT
Si vous rencontrez l'erreur « MCP ElevenLabs: spawn uvx ENOENT », confirmez son chemin absolu en exécutant cette commande dans votre terminal :
which uvx
Une fois que vous avez obtenu le chemin absolu (par exemple, /usr/local/bin/uvx), mettez à jour votre configuration pour utiliser ce chemin (par exemple, "command": "/usr/local/bin/uvx"). Cela garantit que le bon exécutable est référencé.