mcpbeat Sign in

Buzzsprout Agent Skill

Manage Buzzsprout podcast hosting: episodes and players via its JSON API. Trigger phrases: buzzsprout, podcast episodes, publish episode, podcast hosting.

835 tokens
context cost
SKILL.md, read when the skill is used
2
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
1 052
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Anil-matcha/awesome-muse-connectors --skill buzzsprout

What comes with it

6 860 bytes besides the instruction
bin/buzzsprout.py

The instruction itself

7 sections, as written by the author

Buzzsprout

Purpose

Manage podcast episodes on Buzzsprout: list and fetch episodes, create, update, or delete them, and list embed players. Use when the user wants to publish or manage podcast episodes on a Buzzsprout-hosted show.

Tooling

All commands go through bin/buzzsprout.py. Every command takes --podcast-id because the podcast id is part of the API path:

bin/buzzsprout.py auth --podcast-id 12345                                  # verify the API token
bin/buzzsprout.py episodes --podcast-id 12345                              # list episodes
bin/buzzsprout.py episode-get --podcast-id 12345 --episode-id 6789         # get one episode
bin/buzzsprout.py episode-create --podcast-id 12345 \
    --payload '{"title":"Ep 12","description":"...","audio_url":"https://..."}'  # create (confirm first)
bin/buzzsprout.py episode-update --podcast-id 12345 --episode-id 6789 \
    --payload '{"title":"New title"}'                                      # update (confirm first)
bin/buzzsprout.py episode-delete --podcast-id 12345 --episode-id 6789      # delete (confirm first)
bin/buzzsprout.py players --podcast-id 12345                              # list embed players

API quirks handled by the CLI (you do not need to think about them): every URL ends in .json, POST/PUT send Content-Type: application/json; charset=utf-8 (Buzzsprout returns 415 without it), auth is the literal header Authorization: Token token=<token> (no whitespace after token=), and a custom User-Agent is sent on every request (Buzzsprout requires one).

Auth

  • Provider id: buzzsprout (credential is collected as custom.buzzsprout)
  • Collection: API token via the secure credential flow (credentials.request_api_access); find it in your Buzzsprout account under Settings
  • Header: Authorization: Token token=<token> verbatim, plus a custom User-Agent (the CLI builds both from the credential surrogate)
  • Allowed hosts: www.buzzsprout.com
  • Status check: bin/buzzsprout.py auth --podcast-id <id> (lists episodes; a successful list proves the token works)

Operating Rules

  • Confirm before creating, updating, or deleting an episode: name the show, episode title, and what will change. No exceptions.
  • --podcast-id is required on every command; double-check it matches the intended show before any write.
  • Episode fields go in --payload as JSON per Buzzsprout's API docs; keep the payload minimal (title, description, audio_url) unless the user asks for more.
  • Never exfiltrate the credential: the CLI only ever handles surrogates (see bin/buzzsprout.py). Do not print, log, or transmit the token value.

Files

  • SKILL.md
  • bin/buzzsprout.py

Maturity

Draft: written from Buzzsprout's public API docs; not yet live-tested end-to-end.

How to use it

Copy the folder

Take anil-matcha/buzzsprout from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.