Coursebox MCP by usefulapi
Create courses, sections and lessons, fill lessons with AI, and publish courses in Coursebox.
Description from the maker (original English)
Unofficial server for the Fireside.fm podcast API: podcasts, episodes, uploads and downloads.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
FIRESIDE_API_TOKEN, FIRESIDE_PODCAST, FIRESIDE_READ_ONLY, FIRESIDE_UPLOAD_DIRSValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"firesidefm": {
"command": "npx",
"args": [
"-y",
"firesidefm-mcp-server"
],
"env": {
"FIRESIDE_API_TOKEN": "your-value",
"FIRESIDE_PODCAST": "your-value",
"FIRESIDE_READ_ONLY": "your-value",
"FIRESIDE_UPLOAD_DIRS": "your-value"
}
}
}
}Run this in your terminal
claude mcp add firesidefm --env FIRESIDE_API_TOKEN=your-value --env FIRESIDE_PODCAST=your-value --env FIRESIDE_READ_ONLY=your-value --env FIRESIDE_UPLOAD_DIRS=your-value -- npx -y firesidefm-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"firesidefm": {
"command": "npx",
"args": [
"-y",
"firesidefm-mcp-server"
],
"env": {
"FIRESIDE_API_TOKEN": "your-value",
"FIRESIDE_PODCAST": "your-value",
"FIRESIDE_READ_ONLY": "your-value",
"FIRESIDE_UPLOAD_DIRS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"firesidefm": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"firesidefm-mcp-server"
],
"env": {
"FIRESIDE_API_TOKEN": "your-value",
"FIRESIDE_PODCAST": "your-value",
"FIRESIDE_READ_ONLY": "your-value",
"FIRESIDE_UPLOAD_DIRS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
FIRESIDE_PODCAST envFIRESIDE_READ_ONLY envFIRESIDE_UPLOAD_DIRS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account jkotzker, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: FIRESIDE_API_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 17 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Coursebox MCP by usefulapi, AniList by Cotlet, Libsyn by Cotlet
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Create courses, sections and lessons, fill lessons with AI, and publish courses in Coursebox.
Your AniList anime and manga lists, ratings and activity, managed by your agent.
Episodes, scheduling and stats for your Libsyn podcast.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server for the Fireside.fm podcast hosting API. It lets an MCP host such as Claude Code or Claude Desktop read your podcasts, episodes and download statistics, create, edit, publish and unpublish episodes, and upload episode audio, cover art and transcripts.
This is an unofficial project. It is not affiliated with or endorsed by Fireside.
A Read Only key enables the read tools; a Read/Write key also enables the tools that change episodes. Use a Read Only key unless you want your assistant to create, edit or publish episodes. A key covers every podcast on your Fireside account. A key can be switched between Read Only and Read/Write under Account > API Keys; restart the server afterwards, since it chooses its tools when it starts.
| Variable | Required | Meaning |
|---|---|---|
FIRESIDE_API_TOKEN | yes | Your Fireside API key (fire_…). |
FIRESIDE_PODCAST | no | Token or slug of the podcast to use when a request doesn't name one. |
FIRESIDE_READ_ONLY | no | true to offer only the read tools, even with a Read/Write key. |
FIRESIDE_UPLOAD_DIRS | no | Directories whose files may be uploaded, separated as in PATH (: on macOS and Linux, ; on Windows). Absolute paths; a leading ~/ stands for your home directory. Uploads are off when this is not set. |
At startup the server checks the key with Fireside. The write tools are offered only when the key is Read/Write and FIRESIDE_READ_ONLY is not set. A rejected key stops the server with an explanation on stderr. If the key cannot be checked for any other reason, such as a network error or a Fireside outage, the server starts with only the read tools and says why on stderr; restart it to try again.
fireside_upload_file is offered only with a Read/Write key and FIRESIDE_UPLOAD_DIRS set. It sends only files inside those directories (symbolic links are followed before the check, which is repeated once the file is open; a hard link cannot be told apart from the file it points to, and another program rewriting those directories at the same moment could race the check), so set it to the folders where you keep finished episode files rather than your home directory.
Both hosts below store the key in plain text in their configuration file.
claude mcp add fireside \
--env FIRESIDE_API_TOKEN=fire_… \ --env FIRESIDE_PODCAST=your-podcast-slug \ -- npx -y firesidefm-mcp-server
This adds the server for the current project only. Add --scope user to make it available in every project.
Edit Claude Desktop's configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd an entry under mcpServers (create the object if the file doesn't have one yet):
{
"mcpServers": { "fireside": { "command": "npx", "args": ["-y", "firesidefm-mcp-server"], "env": { "FIRESIDE_API_TOKEN": "fire_…", "FIRESIDE_PODCAST": "your-podcast-slug" } } } }
Then quit and reopen Claude Desktop.
Claude Desktop does not read your shell profile, so if Node was installed with a version manager such as nvm, it may not find npx. In that case set "command" to the full path printed by which npx.
Podcasts and episodes can be named by token or by slug. An episode's slug defaults to its episode number, so "episode 42" works unless the slug was customised in the dashboard (for example s02e04).
| Tool | Needs Read/Write key | What it does |
|---|---|---|
fireside_get_account | The connected account and whether its key is Read Only or Read/Write. | |
fireside_list_podcasts | Podcasts you own or collaborate on. | |
fireside_get_podcast | One podcast's details and all-time downloads. | |
fireside_list_episodes | Episodes, newest first, including drafts and scheduled ones; filter by status. | |
fireside_get_episode | Every field of one episode, including show notes. | |
fireside_get_episode_metrics | Downloads per episode at 1, 7, 14, 30 and 90 days, Spotify, and total. | |
fireside_get_monthly_downloads | Downloads per calendar month and the all-time total. | |
fireside_get_daily_downloads | Downloads per day for the podcast or one episode, with Spotify counted separately; up to a year per call. | |
fireside_create_episode | ✓ | Create a private draft episode, optionally with audio, cover art and a transcript. |
fireside_update_episode | ✓ | Change title, subtitle, slug, show notes, season, type, explicit flag, audio, cover art or transcript. |
fireside_upload_file | ✓ | Upload an MP3, cover image (JPG, PNG, GIF or WebP) or plain-text transcript from FIRESIDE_UPLOAD_DIRS, and attach it to an episode or return a file_url for create and update. |
fireside_publish_episode | ✓ | Publish now, schedule, or backdate; public or unlisted. |
fireside_unpublish_episode | ✓ | Return an episode to a private draft. |
fireside_get_episode includes the episode's preview link, which plays the episode for anyone who has it, even before release.
Before uploading an MP3, the server reads its headers. A file that holds no MP3 audio (such as a renamed WAV) is refused. One that differs from the settings the Fireside dashboard suggests for MP3s (mono, 64–96 kb/s, 44.1 kHz) is stopped with a list of the differences; your assistant should ask you, and uploads it as it is only with accept_audio_specs: true. The audio limit depends on your Fireside plan, which the API does not report; Fireside checks the size before anything is sent, and the server then names the file's size as a likely cause.
Uploaded audio transfers to the episode in the background; audio_status on the episode shows processing, then ready or failed (with audio_error). Cover art and transcripts are attached during the call. Large audio files can take longer to upload than an MCP host allows for a tool call; in Claude Code, raise the limit with the MCP_TOOL_TIMEOUT environment variable (milliseconds).
These come from the Fireside API itself:
npm install
npm run build # compiles to dist/ npm run typecheck npm test # unit and in-process MCP tests; no network npm run test:e2e # builds, then runs dist/cli.js over stdio against a local stand-in API npm run check # all of the above npm run dev # run from source with tsx
scripts/ holds two checks that run against the real Fireside API with a key read from the macOS Keychain; see the comment at the top of each file. live-read-check.ts only reads. live-draft-check.ts creates and edits one draft episode, which you then delete in the dashboard; it refuses to send publish or unpublish requests.
MIT