{
  "name": "elevenlabs",
  "display_name": "ElevenLabs",
  "description": "A server that integrates with ElevenLabs text-to-speech API capable of generating full voiceovers with multiple voices.",
  "repository": {
    "type": "git",
    "url": "https://github.com/mamertofabian/elevenlabs-mcp-server"
  },
  "homepage": "https://github.com/mamertofabian/elevenlabs-mcp-server",
  "author": {
    "name": "mamertofabian"
  },
  "license": "MIT",
  "categories": [
    "Media Creation"
  ],
  "tags": [
    "ElevenLabs",
    "Text-to-Speech",
    "SvelteKit",
    "TTS"
  ],
  "installations": {
    "uvx": {
      "type": "uvx",
      "command": "uvx",
      "args": [
        "elevenlabs-mcp-server"
      ],
      "env": {
        "ELEVENLABS_API_KEY": "${ELEVENLABS_API_KEY}",
        "ELEVENLABS_VOICE_ID": "${ELEVENLABS_VOICE_ID}",
        "ELEVENLABS_MODEL_ID": "${ELEVENLABS_MODEL_ID}",
        "ELEVENLABS_STABILITY": "${ELEVENLABS_STABILITY}",
        "ELEVENLABS_SIMILARITY_BOOST": "${ELEVENLABS_SIMILARITY_BOOST}",
        "ELEVENLABS_STYLE": "${ELEVENLABS_STYLE}",
        "ELEVENLABS_OUTPUT_DIR": "${ELEVENLABS_OUTPUT_DIR}"
      }
    },
    "docker": {
      "type": "docker",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ELEVENLABS_API_KEY",
        "mcp/elevenlabs"
      ],
      "env": {
        "ELEVENLABS_API_KEY": "${ELEVENLABS_API_KEY}"
      }
    }
  },
  "arguments": {
    "ELEVENLABS_API_KEY": {
      "description": "Your API key for ElevenLabs to access the text-to-speech services.",
      "required": true,
      "example": "sk-12345abcd"
    },
    "ELEVENLABS_VOICE_ID": {
      "description": "The ID of the voice you want to use for synthesis.",
      "required": true,
      "example": "voice-12345"
    },
    "ELEVENLABS_MODEL_ID": {
      "description": "The model ID to be used, indicating the version of the ElevenLabs API to utilize.",
      "required": false,
      "example": "eleven_flash_v2"
    },
    "ELEVENLABS_STABILITY": {
      "description": "Stability of the voice generation; controls variations in the output voice.",
      "required": false,
      "example": "0.5"
    },
    "ELEVENLABS_SIMILARITY_BOOST": {
      "description": "Boosting similarity for the voices; affects how closely the output mimics the selected voice.",
      "required": false,
      "example": "0.75"
    },
    "ELEVENLABS_STYLE": {
      "description": "Style parameter to adjust the expression in the generated speech.",
      "required": false,
      "example": "0.1"
    },
    "ELEVENLABS_OUTPUT_DIR": {
      "description": "Directory path where the generated audio files will be saved.",
      "required": false,
      "example": "output"
    }
  },
  "tools": [
    {
      "name": "generate_audio_simple",
      "description": "Generate audio from plain text using default voice settings",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "Plain text to convert to audio"
          },
          "voice_id": {
            "type": "string",
            "description": "Optional voice ID to use for generation"
          }
        },
        "required": [
          "text"
        ]
      }
    },
    {
      "name": "generate_audio_script",
      "description": "Generate audio from a structured script with multiple voices and actors. \n                    Accepts either:\n                    1. Plain text string\n                    2. JSON string with format: {\n                        \"script\": [\n                            {\n                                \"text\": \"Text to speak\",\n                                \"voice_id\": \"optional-voice-id\",\n                                \"actor\": \"optional-actor-name\"\n                            },\n                            ...\n                        ]\n                    }",
      "inputSchema": {
        "type": "object",
        "properties": {
          "script": {
            "type": "string",
            "description": "JSON string containing script array or plain text. For JSON format, provide an object with a 'script' array containing objects with 'text' (required), 'voice_id' (optional), and 'actor' (optional) fields."
          }
        },
        "required": [
          "script"
        ]
      }
    },
    {
      "name": "delete_job",
      "description": "Delete a voiceover job and its associated files",
      "inputSchema": {
        "type": "object",
        "properties": {
          "job_id": {
            "type": "string",
            "description": "ID of the job to delete"
          }
        },
        "required": [
          "job_id"
        ]
      }
    },
    {
      "name": "get_audio_file",
      "description": "Get the audio file content for a specific job",
      "inputSchema": {
        "type": "object",
        "properties": {
          "job_id": {
            "type": "string",
            "description": "ID of the job to get audio file for"
          }
        },
        "required": [
          "job_id"
        ]
      }
    },
    {
      "name": "list_voices",
      "description": "Get a list of all available ElevenLabs voices with metadata",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    },
    {
      "name": "get_voiceover_history",
      "description": "Get voiceover job history. Optionally specify a job ID for a specific job.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "job_id": {
            "type": "string",
            "description": "Optional job ID to get details for a specific job"
          }
        },
        "required": []
      }
    }
  ],
  "docker_url": "https://hub.docker.com/r/mcp/elevenlabs"
}
