Fireside.fm (unofficial)

io.github.jkotzker由 GitHub 帳號 jkotzker 發布v0.3.0更新於 Oct 30, 2026

Unofficial server for the Fireside.fm podcast API: podcasts, episodes, uploads and downloads.

已驗證STDIO僅桌面資料與分析媒體與設計

概覽

AI 產生的概覽

非官方的 Fireside.fm 播客 API MCP 伺服器,讓助理讀取播客、單集與下載統計,並在具備讀寫金鑰時建立、編輯、發布單集及上傳媒體檔案。

可以做什麼
  • 讀取帳號、播客與單集資訊,包含節目說明以及草稿和排程單集
  • 讀取單集、按月與按日的下載統計,Spotify 另行計算
  • 建立與編輯草稿單集,包含標題、節目說明、季數、音訊、封面與文字稿
  • 從允許的本機目錄上傳 MP3 音訊、封面圖片與純文字文字稿
  • 立即發布、排程或回溯發布單集,或將其退回私人草稿
適用情境
適合在 Fireside.fm 架設播客、希望助理查詢單集細節與下載數據,或在不開啟後台的情況下草擬、修改與發布單集的情境。
執行需求
透過 npx 以 stdio 在本機執行,需要 Node.js 22 或更新版本。必須在 FIRESIDE_API_TOKEN 提供 Fireside API 金鑰;選用的 FIRESIDE_PODCAST 設定預設播客,FIRESIDE_READ_ONLY 僅啟用讀取工具,FIRESIDE_UPLOAD_DIRS 啟用上傳。需要能連線至 Fireside 的網路。
安裝前請注意
此 API 金鑰涵蓋帳號下所有播客,並以明文存放在主機的設定檔中。讀寫金鑰可建立、編輯、發布與取消發布單集,發布時還可能同步到播客已連結的社群帳號。上傳會把本機檔案傳送給 Fireside,應將 FIRESIDE_UPLOAD_DIRS 限制在必要目錄。單集預覽連結在正式發布前也能被任何持有者播放。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Fireside.fm (unofficial),將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

firesidefm-mcp-server

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.

Requirements

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.

Configuration

VariableRequiredMeaning
FIRESIDE_API_TOKENyesYour Fireside API key (fire_…).
FIRESIDE_PODCASTnoToken or slug of the podcast to use when a request doesn't name one.
FIRESIDE_READ_ONLYnotrue to offer only the read tools, even with a Read/Write key.
FIRESIDE_UPLOAD_DIRSnoDirectories 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 Code

sh
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.

Claude Desktop

Edit Claude Desktop's configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add an entry under mcpServers (create the object if the file doesn't have one yet):

json
{  "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.

Tools

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).

ToolNeeds Read/Write keyWhat it does
fireside_get_accountThe connected account and whether its key is Read Only or Read/Write.
fireside_list_podcastsPodcasts you own or collaborate on.
fireside_get_podcastOne podcast's details and all-time downloads.
fireside_list_episodesEpisodes, newest first, including drafts and scheduled ones; filter by status.
fireside_get_episodeEvery field of one episode, including show notes.
fireside_get_episode_metricsDownloads per episode at 1, 7, 14, 30 and 90 days, Spotify, and total.
fireside_get_monthly_downloadsDownloads per calendar month and the all-time total.
fireside_get_daily_downloadsDownloads 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).

Limitations

These come from the Fireside API itself:

  • Chapters cannot be uploaded through the API. Publishing an episode without audio fails.
  • Files must fit your plan's limits: cover art up to 1.91 MB, transcripts up to 195 KB, and audio within your plan's MP3 limit.
  • Episodes cannot be deleted, and podcast settings cannot be changed.
  • Publishing also posts to the podcast's connected social accounts when the episode is set to do so in the dashboard. The API cannot see or change that setting.
  • Daily downloads come back at most 90 days per request. The server combines requests, so one call covers up to a year; ask for longer periods in parts.
  • Requests are limited to 120 per minute per key. The server waits out short rate-limit pauses and reports longer ones.

Development

sh
npm installnpm run build       # compiles to dist/npm run typechecknpm test            # unit and in-process MCP tests; no networknpm run test:e2e    # builds, then runs dist/cli.js over stdio against a local stand-in APInpm run check       # all of the abovenpm 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.

License

MIT

來源:README.md,提交 fb3c4fd

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:伺服器未能啟動。

版本歷史

3
  1. v0.3.0最新Oct 23, 2026
  2. v0.2.0Oct 14, 2026
  3. v0.1.0Oct 13, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分