使用说明
buzzsprout-mcp
MCP server for Buzzsprout podcast management -- episodes, audio upload, and publishing automation.
Installation
Run directly with npx:
npx buzzsprout-mcp
Or install globally:
npm install -g buzzsprout-mcp
buzzsprout-mcp
Configuration
Set the following environment variables:
| Variable | Description | Where to find |
|---|---|---|
BUZZSPROUT_API_TOKEN |
API authentication token | Buzzsprout dashboard > My Account > API |
BUZZSPROUT_PODCAST_ID |
Numeric podcast identifier | URL path on your Buzzsprout dashboard (e.g., https://www.buzzsprout.com/12345 -> 12345) |
BUZZSPROUT_ALLOWED_UPLOAD_DIR |
Allowlist root for local audio uploads. Absolute path to the directory holding your episode audio. Unset means every audio_file_path upload is refused; audio_url uploads keep working either way. |
You choose it -- e.g. /Users/you/podcast/audio |
export BUZZSPROUT_API_TOKEN="your-api-token"
export BUZZSPROUT_PODCAST_ID="12345"
export BUZZSPROUT_ALLOWED_UPLOAD_DIR="/Users/you/podcast/audio"
Breaking change from 0.1.1: local uploads require an allowlist root
Through 0.1.1, audio_file_path accepted any path and uploaded those bytes under your
API token. An AI agent steered by prompt injection could name ~/.ssh/id_rsa or a
project .env and exfiltrate it.
Local file uploads are now refused unless BUZZSPROUT_ALLOWED_UPLOAD_DIR is set, and a
path is only accepted when it resolves inside that directory -- .. traversal, symlinks
pointing out of the root, and sibling directories sharing a name prefix are all rejected.
File content is validated by magic bytes rather than by extension, so a non-audio file
renamed .mp3 is refused too.
If file uploads started failing after upgrading, set BUZZSPROUT_ALLOWED_UPLOAD_DIR to
your audio directory. audio_url mode is unchanged.
Available Tools
| Tool | Description |
|---|---|
buzzsprout_list_episodes |
List all episodes for the podcast |
buzzsprout_get_episode |
Get details for a specific episode by ID |
buzzsprout_create_episode |
Create a new episode with title, description, tags, and scheduling |
buzzsprout_update_episode |
Update an existing episode's metadata |
buzzsprout_delete_episode |
Soft-delete an episode (sets to private) |
buzzsprout_upload_audio |
Upload audio via URL, or via a local file path that resolves inside BUZZSPROUT_ALLOWED_UPLOAD_DIR (local uploads are refused when that variable is unset) |
MCP Client Configuration
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"buzzsprout": {
"command": "npx",
"args": ["-y", "buzzsprout-mcp"],
"env": {
"BUZZSPROUT_API_TOKEN": "your-api-token",
"BUZZSPROUT_PODCAST_ID": "12345",
"BUZZSPROUT_ALLOWED_UPLOAD_DIR": "/Users/you/podcast/audio"
}
}
}
}
License
MIT