adamanz/podcast-generator-mcp
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.
generate_full_podcast
All-in-one podcast generation tool.
generate_podcast_script
Creates a script for the podcast.
create_podcast_audio
Converts the script into audio files.
combine_podcast_audio
Merges and processes audio files into a final podcast.
šļø Podcast Generator MCP
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
- Python 3.10+
- ElevenLabs API Key: Get one at elevenlabs.io
- 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
Tool | Description |
---|---|
generate_full_podcast | All-in-one podcast generation |
generate_podcast_script | Create just the script |
create_podcast_audio | Convert script to audio |
combine_podcast_audio | Merge 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
- Topics: Be specific! "AI in Healthcare 2025" > "Technology"
- Duration: 5-8 minutes is the sweet spot
- Voices: Mix genders for better contrast
- Styles: Match style to content
- API Usage: Each minute uses ~10-15 API calls
š¤ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
š License
This project is licensed under the MIT License - see the file for details.
š Acknowledgments
- Built with FastMCP by Prefect
- Powered by ElevenLabs AI voices
- Inspired by the Model Context Protocol community
š¬ Support
- FastMCP Docs: gofastmcp.com
- ElevenLabs: elevenlabs.io/docs
- Issues: GitHub Issues
Made with ā¤ļø by the MCP community