podcast-generator-mcp

adamanz/podcast-generator-mcp

3.2

If you are the rightful owner of podcast-generator-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Podcast Generator MCP is a server that utilizes Model Context Protocol to create AI-driven podcasts with diverse voices and styles.

Tools
  1. generate_full_podcast

    All-in-one podcast generation tool.

  2. generate_podcast_script

    Creates a script for the podcast.

  3. create_podcast_audio

    Converts the script into audio files.

  4. combine_podcast_audio

    Merges and processes audio files into a final podcast.

šŸŽ™ļø Podcast Generator MCP

FastMCP ElevenLabs License: MIT

A Model Context Protocol (MCP) server that creates two-sided podcasts with different AI voices. Generate engaging podcast conversations on any topic with just a few commands!

šŸ—ļø Architecture

graph TB
    A[Claude Desktop/MCP Client] --> B[Podcast Generator MCP Server]
    B --> C{MCP Tools}
    
    C --> D[generate_podcast_script]
    C --> E[create_podcast_audio]
    C --> F[combine_podcast_audio]
    
    D --> G[LLM API]
    E --> H[ElevenLabs API]
    F --> I[ffmpeg]
    
    G --> J[Script JSON]
    H --> K[Individual Audio Files]
    I --> L[Final Podcast MP3]
    
    style A fill:#f9f,stroke:#333,stroke-width:4px
    style B fill:#bbf,stroke:#333,stroke-width:2px
    style L fill:#bfb,stroke:#333,stroke-width:2px

Components

  • MCP Server: FastMCP-based server exposing podcast generation tools
  • Script Generation: Uses LLM to create natural dialogue scripts
  • Audio Generation: Converts text to speech using ElevenLabs voices
  • Audio Processing: Combines and normalizes audio using ffmpeg
  • Output Management: Organizes all files in timestamped directories

🌟 Features

šŸ“¢ New Enhanced Version Available! Check out for PDF support, background music, podcast series, and more!

Core Features

  • šŸ¤– AI-Generated Scripts: Creates natural, engaging dialogue using LLMs
  • šŸŽ­ Multiple Voices: Choose from 20+ different ElevenLabs voices
  • šŸŽ¬ Full Production Pipeline: Script → Audio → Final Podcast
  • šŸŽØ Multiple Styles: Conversational, interview, educational, debate
  • šŸ”§ Audio Processing: Automatic normalization, fades, and transitions
  • šŸ“ Organized Output: All files saved in timestamped folders

šŸš€ Quick Start

Prerequisites

  1. Python 3.10+
  2. ElevenLabs API Key: Get one at elevenlabs.io
  3. ffmpeg: For audio processing
    # macOS
    brew install ffmpeg
    
    # Ubuntu/Debian
    sudo apt install ffmpeg
    
    # Windows
    choco install ffmpeg
    

Installation

# Clone the repository
git clone https://github.com/adamanz/podcast-generator-mcp.git
cd podcast-generator-mcp

# Install dependencies
pip install -r requirements.txt

# Set your API key
export ELEVENLABS_API_KEY="your-api-key-here"

Running the Server

# Run standard version
python podcast_mcp_server.py

# Or run enhanced version with file support
python podcast_mcp_server_enhanced.py

Claude Desktop Integration

Add to your Claude Desktop config:

{
  "mcpServers": {
    "podcast-generator": {
      "command": "python",
      "args": ["/path/to/podcast_mcp_server.py"],
      "env": {
        "ELEVENLABS_API_KEY": "your-key"
      }
    }
  }
}

šŸ“š Usage Examples

Generate a Complete Podcast

In Claude Desktop or via the MCP client:

"Create a 5-minute podcast about artificial intelligence"

Custom Voices

"Generate a podcast about space exploration with Charlie as host and Emily as guest"

Different Styles

"Make an educational podcast about quantum computing"
"Create a debate-style podcast about social media"

šŸ› ļø Available Tools

ToolDescription
generate_full_podcastAll-in-one podcast generation
generate_podcast_scriptCreate just the script
create_podcast_audioConvert script to audio
combine_podcast_audioMerge and process audio files

šŸŽ­ Available Voices

Male Voices

Adam, Antoni, Arnold, Bill, Brian, Callum, Charlie, Clyde, Daniel, Dave

Female Voices

Alice, Aria, Charlotte, Domi, Dorothy, Emily, Elli, Grace, Jessie, Laura

šŸ“‚ Output Structure

~/Desktop/podcast_20240610_143022/
ā”œā”€ā”€ script.json              # Generated script
ā”œā”€ā”€ 001_host.mp3            # Individual audio files
ā”œā”€ā”€ 002_guest.mp3
ā”œā”€ā”€ ...
ā”œā”€ā”€ silence.mp3             # Pause between speakers
ā”œā”€ā”€ concat_list.txt         # ffmpeg file list
ā”œā”€ā”€ YourPodcastTitle.mp3    # Final combined podcast
└── metadata.json           # Episode information

šŸ”§ Advanced Usage

Custom Personalities

generate_podcast_script(
    topic="Mars Colonization",
    host_personality="skeptical scientist",
    guest_personality="enthusiastic entrepreneur"
)

API Status Check

# Check if everything is configured
status = await client.read_resource("status://api")

šŸ› Troubleshooting

No Audio Generated?

  • Check if ELEVENLABS_API_KEY is set correctly
  • Verify API key at elevenlabs.io
  • Check your API quota

ffmpeg Errors?

  • Ensure ffmpeg is installed: ffmpeg -version
  • Check file permissions in output directory

Script Generation Issues?

  • Try more specific topics
  • Adjust duration (3-10 minutes works best)
  • Use different styles for variety

šŸ’” Tips for Best Results

  1. Topics: Be specific! "AI in Healthcare 2025" > "Technology"
  2. Duration: 5-8 minutes is the sweet spot
  3. Voices: Mix genders for better contrast
  4. Styles: Match style to content
  5. API Usage: Each minute uses ~10-15 API calls

šŸ¤ Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

šŸ“ License

This project is licensed under the MIT License - see the file for details.

šŸ™ Acknowledgments

šŸ“¬ Support


Made with ā¤ļø by the MCP community