Podfetcher Tools
Search podcasts, browse episodes, and fetch podcast transcripts from Podfetcher using the bundled Node.js CLI, SDK, or MCP server.
Like a lobster shell, security has layers — review code before you run it.
License
Runtime requirements
SKILL.md
Podfetcher Tools
Podfetcher Tools is a Node.js client bundle for the Podfetcher API. It gives you three ways to work with podcast data from the same package:
- a CLI for quick terminal workflows
- an SDK for custom scripts and apps
- an MCP server so agents can search shows, list episodes, and fetch transcripts
Use it when you want to discover podcasts, inspect episode catalogs, or retrieve transcripts from podfetcher.com.
Requirements
- Node.js 20+
PODFETCHER_API_KEYset to a valid Podfetcher API key
The default API base URL is https://api.podfetcher.com. Override it only when targeting a non-production environment.
Getting Started
- Create or sign in to your account at podfetcher.com.
- Generate an API key from the Podfetcher dashboard.
- Export the key before running the CLI or MCP server:
export PODFETCHER_API_KEY="pk_live_your_key_here"
Optional overrides:
PODFETCHER_BASE_URLfor non-production environmentsPODFETCHER_API_KEY_HEADERif you need a non-default header name
Entry Points
If the package is installed globally from npm, use these binaries:
podfetcherpodfetcher-mcp
If you are working from a local checkout instead, run commands from this directory or reference these files by absolute path from another workspace:
- CLI:
node src/cli.js - MCP server:
node src/mcp.js - SDK import:
./src/sdk.js
CLI Commands
Search shows
podfetcher shows search --q "<query>" [--limit <n>] [--cursor <cursor>] [--json]
--qis required- Returns
items[]withshowId,title, andauthor - If present, pass
nextCursorinto--cursorfor the next page
List episodes
podfetcher shows episodes --show-id <showId> [--from <iso>] [--to <iso>] [--since <iso>] [--order-by publishedAt] [--order asc|desc] [--limit <n>] [--cursor <cursor>] [--json]
--show-idis required- Returns
items[]withepisodeId,publishedAt,title, andtranscriptStatus
Fetch transcript
podfetcher transcripts fetch --episode-id <episodeId> [--wait] [--poll-interval-ms <ms>] [--wait-timeout-ms <ms>] [--idempotency-key <key>] [--json]
--episode-idis required- Without
--wait, the API may return a queued job withjobIdandstatus=PROCESSING - With
--wait, the client polls until the transcript is ready or the timeout expires
Global CLI Options
--api-key <key>orPODFETCHER_API_KEYfor Podfetcher authentication--base-url <url>orPODFETCHER_BASE_URLfor API endpoint override--api-key-header <header>orPODFETCHER_API_KEY_HEADERfor header override--timeout-ms <ms>--json
Typical Workflow
# 1. Find a show
podfetcher shows search --q "lex fridman" --limit 3 --json
# 2. List recent episodes
podfetcher shows episodes --show-id <showId> --order-by publishedAt --order desc --limit 5 --json
# 3. Fetch the transcript and wait for completion
podfetcher transcripts fetch --episode-id <episodeId> --wait --json
MCP Server
Start the MCP server over stdio:
podfetcher-mcp
Available tools:
search_showslist_episodesfetch_transcript
Example config:
{
"mcpServers": {
"podfetcher": {
"command": "node",
"args": ["/absolute/path/to/podfetcher-tools/src/mcp.js"],
"env": {
"PODFETCHER_API_KEY": "pk_live_..."
}
}
}
}
Error Handling
- HTTP errors are formatted as
[HTTP <status>] <code>: <message> - Missing API key errors are reported before the request is sent
- Exit code is
1on error and0on success
Files
6 totalComments
Loading comments…
