Podcast Index MCP Server & CLI
A free, open source Podcast Index MCP server and CLI that lets Claude Code, Codex, Cursor and other AI agents search 4 million podcasts and read episode transcripts.
0.0(0 ratings)- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
claude mcp add podcastindex \
-e PODCASTINDEX_API_KEY=your-api-key \
-e PODCASTINDEX_API_SECRET=your-api-secret \
-- npx -y @thenavidm/podcastindex-mcp-cli@latest - 2
In Claude Code, type /mcp. Podcast Index should show as connected.
/mcp
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
claude mcp add podcastindex -e PODCASTINDEX_API_KEY="your-api-key" -e PODCASTINDEX_API_SECRET="your-api-secret" -- npx -y @thenavidm/podcastindex-mcp-cli@latest - 2
In Claude Code, type /mcp. Podcast Index should show as connected.
/mcp
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
claude mcp add podcastindex \
-e PODCASTINDEX_API_KEY=your-api-key \
-e PODCASTINDEX_API_SECRET=your-api-secret \
-- npx -y @thenavidm/podcastindex-mcp-cli@latest - 2
In Claude Code, type /mcp. Podcast Index should show as connected.
/mcp
- 1Download the extension
Download the Claude Desktop extension.
- 2
Double-click it, and Claude Desktop installs it.
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
codex mcp add podcastindex \
--env PODCASTINDEX_API_KEY=your-api-key \
--env PODCASTINDEX_API_SECRET=your-api-secret \
-- npx -y @thenavidm/podcastindex-mcp-cli@latest - 2
Check that Codex lists it.
codex mcp list
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
codex mcp add podcastindex --env PODCASTINDEX_API_KEY="your-api-key" --env PODCASTINDEX_API_SECRET="your-api-secret" -- npx -y @thenavidm/podcastindex-mcp-cli@latest - 2
Check that Codex lists it.
codex mcp list
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
codex mcp add podcastindex \
--env PODCASTINDEX_API_KEY=your-api-key \
--env PODCASTINDEX_API_SECRET=your-api-secret \
-- npx -y @thenavidm/podcastindex-mcp-cli@latest - 2
Check that Codex lists it.
codex mcp list
- 1
Open Cursor's settings, go to the MCP tab, and click Add new global MCP server.
- 2
Add the server.
Put your own key and secret in place of the examples.
{
"mcpServers": {
"podcastindex": {
"command": "npx",
"args": ["-y", "@thenavidm/podcastindex-mcp-cli@latest"],
"env": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
} - 3
Open the MCP tab again. It should show 36 tools.
- 1
Open the Command Palette and run MCP: Open User Configuration.
- 2
Add the server to that mcp.json.
If the file already has servers, add only this one inside servers. Put your own key and secret in place of the examples.
{
"servers": {
"podcastindex": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@thenavidm/podcastindex-mcp-cli@latest"],
"env": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
}
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
copilot mcp add podcastindex \
--env PODCASTINDEX_API_KEY=your-api-key \
--env PODCASTINDEX_API_SECRET=your-api-secret \
-- npx -y @thenavidm/podcastindex-mcp-cli@latest - 2
Check that Copilot CLI has it.
copilot mcp get podcastindex
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
copilot mcp add podcastindex --env PODCASTINDEX_API_KEY="your-api-key" --env PODCASTINDEX_API_SECRET="your-api-secret" -- npx -y @thenavidm/podcastindex-mcp-cli@latest - 2
Check that Copilot CLI has it.
copilot mcp get podcastindex
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
copilot mcp add podcastindex \
--env PODCASTINDEX_API_KEY=your-api-key \
--env PODCASTINDEX_API_SECRET=your-api-secret \
-- npx -y @thenavidm/podcastindex-mcp-cli@latest - 2
Check that Copilot CLI has it.
copilot mcp get podcastindex
- 1
Open your Gemini CLI settings.
~/.gemini/settings.json - 2
Add the server to settings.json.
If the file already has servers, add only this one inside mcpServers. Put your own key and secret in place of the examples.
{
"mcpServers": {
"podcastindex": {
"command": "npx",
"args": ["-y", "@thenavidm/podcastindex-mcp-cli@latest"],
"env": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
} - 3
Restart Gemini CLI and type /mcp to check it.
/mcp
- 1
Open your Gemini CLI settings.
%USERPROFILE%\.gemini\settings.json - 2
Add the server to settings.json.
If the file already has servers, add only this one inside mcpServers. Put your own key and secret in place of the examples.
{
"mcpServers": {
"podcastindex": {
"command": "npx",
"args": ["-y", "@thenavidm/podcastindex-mcp-cli@latest"],
"env": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
} - 3
Restart Gemini CLI and type /mcp to check it.
/mcp
- 1
Open your Gemini CLI settings.
~/.gemini/settings.json - 2
Add the server to settings.json.
If the file already has servers, add only this one inside mcpServers. Put your own key and secret in place of the examples.
{
"mcpServers": {
"podcastindex": {
"command": "npx",
"args": ["-y", "@thenavidm/podcastindex-mcp-cli@latest"],
"env": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
} - 3
Restart Gemini CLI and type /mcp to check it.
/mcp
- 1
Open your OpenCode config.
~/.config/opencode/opencode.json - 2
Add the server under mcp.
If the file already has servers, add only this one inside mcp. Put your own key and secret in place of the examples.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"podcastindex": {
"type": "local",
"command": ["npx", "-y", "@thenavidm/podcastindex-mcp-cli@latest"],
"enabled": true,
"environment": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
} - 3
Restart OpenCode.
- 1
Open your OpenCode config.
%USERPROFILE%\.config\opencode\opencode.json - 2
Add the server under mcp.
If the file already has servers, add only this one inside mcp. Put your own key and secret in place of the examples.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"podcastindex": {
"type": "local",
"command": ["npx", "-y", "@thenavidm/podcastindex-mcp-cli@latest"],
"enabled": true,
"environment": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
} - 3
Restart OpenCode.
- 1
Open your OpenCode config.
~/.config/opencode/opencode.json - 2
Add the server under mcp.
If the file already has servers, add only this one inside mcp. Put your own key and secret in place of the examples.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"podcastindex": {
"type": "local",
"command": ["npx", "-y", "@thenavidm/podcastindex-mcp-cli@latest"],
"enabled": true,
"environment": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
} - 3
Restart OpenCode.
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
openclaw mcp add podcastindex \
--command npx \
--arg -y \
--arg @thenavidm/podcastindex-mcp-cli@latest \
--env PODCASTINDEX_API_KEY=your-api-key \
--env PODCASTINDEX_API_SECRET=your-api-secret - 2
Check that it starts and lists its tools.
openclaw mcp doctor podcastindex --probe
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
openclaw mcp add podcastindex --command npx --arg -y --arg @thenavidm/podcastindex-mcp-cli@latest --env PODCASTINDEX_API_KEY="your-api-key" --env PODCASTINDEX_API_SECRET="your-api-secret" - 2
Check that it starts and lists its tools.
openclaw mcp doctor podcastindex --probe
- 1
Add it with a single command in a terminal.
Put your own key and secret in place of the examples.
openclaw mcp add podcastindex \
--command npx \
--arg -y \
--arg @thenavidm/podcastindex-mcp-cli@latest \
--env PODCASTINDEX_API_KEY=your-api-key \
--env PODCASTINDEX_API_SECRET=your-api-secret - 2
Check that it starts and lists its tools.
openclaw mcp doctor podcastindex --probe
- 1
In the agent panel, click the … menu, then MCP Servers, Manage MCP Servers and View raw config.
- 2
Add the server to mcp_config.json.
If the file already has servers, add only this one inside mcpServers. Put your own key and secret in place of the examples.
{
"mcpServers": {
"podcastindex": {
"command": "npx",
"args": ["-y", "@thenavidm/podcastindex-mcp-cli@latest"],
"env": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
}
- 1
Open your Hermes config.
~/.hermes/config.yaml - 2
Add the server under mcp_servers.
If the file already has mcp_servers, add only this one under it. Put your own key and secret in place of the examples.
mcp_servers:
podcastindex:
command: "npx"
args: ["-y", "@thenavidm/podcastindex-mcp-cli@latest"]
env:
PODCASTINDEX_API_KEY: "your-api-key"
PODCASTINDEX_API_SECRET: "your-api-secret"
- 1
Open your Hermes config.
%USERPROFILE%\.hermes\config.yaml - 2
Add the server under mcp_servers.
If the file already has mcp_servers, add only this one under it. Put your own key and secret in place of the examples.
mcp_servers:
podcastindex:
command: "npx"
args: ["-y", "@thenavidm/podcastindex-mcp-cli@latest"]
env:
PODCASTINDEX_API_KEY: "your-api-key"
PODCASTINDEX_API_SECRET: "your-api-secret"
- 1
Open your Hermes config.
~/.hermes/config.yaml - 2
Add the server under mcp_servers.
If the file already has mcp_servers, add only this one under it. Put your own key and secret in place of the examples.
mcp_servers:
podcastindex:
command: "npx"
args: ["-y", "@thenavidm/podcastindex-mcp-cli@latest"]
env:
PODCASTINDEX_API_KEY: "your-api-key"
PODCASTINDEX_API_SECRET: "your-api-secret"
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give Claude Code the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Claude Code what each command does and which ones ask first.
mkdir -p ~/.claude/skills/podcastindex
cp "$(npm root -g)/@thenavidm/podcastindex-mcp-cli/SKILL.md" ~/.claude/skills/podcastindex/ - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask Claude Code to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Claude Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give Claude Code the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Claude Code what each command does and which ones ask first.
New-Item -ItemType Directory -Force "$HOME\.claude\skills\podcastindex" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\podcastindex-mcp-cli\SKILL.md" "$HOME\.claude\skills\podcastindex\" - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask Claude Code to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Claude Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give Claude Code the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Claude Code what each command does and which ones ask first.
mkdir -p ~/.claude/skills/podcastindex
cp "$(npm root -g)/@thenavidm/podcastindex-mcp-cli/SKILL.md" ~/.claude/skills/podcastindex/ - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask Claude Code to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Claude Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give Codex the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Codex what each command does and which ones ask first.
mkdir -p ~/.agents/skills/podcastindex
cp "$(npm root -g)/@thenavidm/podcastindex-mcp-cli/SKILL.md" ~/.agents/skills/podcastindex/ - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask Codex to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Codex finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give Codex the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Codex what each command does and which ones ask first.
New-Item -ItemType Directory -Force "$HOME\.agents\skills\podcastindex" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\podcastindex-mcp-cli\SKILL.md" "$HOME\.agents\skills\podcastindex\" - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask Codex to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Codex finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give Codex the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Codex what each command does and which ones ask first.
mkdir -p ~/.agents/skills/podcastindex
cp "$(npm root -g)/@thenavidm/podcastindex-mcp-cli/SKILL.md" ~/.agents/skills/podcastindex/ - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask Codex to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Codex finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Cursor to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Cursor finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Cursor to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Cursor finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Cursor to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Cursor finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask VS Code to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so VS Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask VS Code to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so VS Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask VS Code to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so VS Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give Copilot CLI the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Copilot CLI what each command does and which ones ask first.
mkdir -p ~/.copilot/skills/podcastindex
cp "$(npm root -g)/@thenavidm/podcastindex-mcp-cli/SKILL.md" ~/.copilot/skills/podcastindex/ - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask Copilot CLI to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Copilot CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give Copilot CLI the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Copilot CLI what each command does and which ones ask first.
New-Item -ItemType Directory -Force "$HOME\.copilot\skills\podcastindex" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\podcastindex-mcp-cli\SKILL.md" "$HOME\.copilot\skills\podcastindex\" - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask Copilot CLI to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Copilot CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give Copilot CLI the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Copilot CLI what each command does and which ones ask first.
mkdir -p ~/.copilot/skills/podcastindex
cp "$(npm root -g)/@thenavidm/podcastindex-mcp-cli/SKILL.md" ~/.copilot/skills/podcastindex/ - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask Copilot CLI to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Copilot CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Gemini CLI to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Gemini CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Gemini CLI to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Gemini CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Gemini CLI to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Gemini CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give OpenCode the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenCode what each command does and which ones ask first.
mkdir -p ~/.config/opencode/skills/podcastindex
cp "$(npm root -g)/@thenavidm/podcastindex-mcp-cli/SKILL.md" ~/.config/opencode/skills/podcastindex/ - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask OpenCode to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so OpenCode finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give OpenCode the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenCode what each command does and which ones ask first.
New-Item -ItemType Directory -Force "$HOME\.config\opencode\skills\podcastindex" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\podcastindex-mcp-cli\SKILL.md" "$HOME\.config\opencode\skills\podcastindex\" - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask OpenCode to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so OpenCode finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give OpenCode the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenCode what each command does and which ones ask first.
mkdir -p ~/.config/opencode/skills/podcastindex
cp "$(npm root -g)/@thenavidm/podcastindex-mcp-cli/SKILL.md" ~/.config/opencode/skills/podcastindex/ - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask OpenCode to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so OpenCode finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give OpenClaw the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenClaw what each command does and which ones ask first.
mkdir -p ~/.openclaw/skills/podcastindex
cp "$(npm root -g)/@thenavidm/podcastindex-mcp-cli/SKILL.md" ~/.openclaw/skills/podcastindex/ - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask OpenClaw to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so OpenClaw finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give OpenClaw the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenClaw what each command does and which ones ask first.
New-Item -ItemType Directory -Force "$HOME\.openclaw\skills\podcastindex" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\podcastindex-mcp-cli\SKILL.md" "$HOME\.openclaw\skills\podcastindex\" - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask OpenClaw to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so OpenClaw finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Give OpenClaw the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenClaw what each command does and which ones ask first.
mkdir -p ~/.openclaw/skills/podcastindex
cp "$(npm root -g)/@thenavidm/podcastindex-mcp-cli/SKILL.md" ~/.openclaw/skills/podcastindex/ - 3
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 5
Ask OpenClaw to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so OpenClaw finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Antigravity to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Antigravity finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Antigravity to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Antigravity finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Antigravity to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Antigravity finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Hermes to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Hermes finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Hermes to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Hermes finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
Ask Hermes to use podcastindex-cli.
Running podcastindex-cli on its own lists every command, so Hermes finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.zshrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
List every command, then try one.
podcastindex-cli
podcastindex-cli get-trending
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
setx PODCASTINDEX_API_KEY "your-api-key"
setx PODCASTINDEX_API_SECRET "your-api-secret" - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
List every command, then try one.
podcastindex-cli
podcastindex-cli get-trending
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/podcastindex-mcp-cli@latest - 2
Save your Podcast Index details, so every new session has them.
Put your own key and secret in place of the examples.
echo 'export PODCASTINDEX_API_KEY=your-api-key' >> ~/.bashrc
echo 'export PODCASTINDEX_API_SECRET=your-api-secret' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
podcastindex-cli doctor - 4
List every command, then try one.
podcastindex-cli
podcastindex-cli get-trending
Needs Node 22 or newer and a free API key and secret. Get them in about 2 minutes.
It's free and open source. If it saves you time, star it on GitHub, so more people find it.
This free Podcast Index MCP server and CLI gives your AI real access to Podcast Index, the open directory of about 4 million podcasts. It searches shows and episodes, and then it opens the transcript: it fetches the file a show links to and gives your AI the words, with timestamps and speakers.
It's one install with two ways in. Claude, Codex, Cursor or any other MCP app calls its 36 tools for you, and the same tools work as a CLI that agents like Claude Code, Codex and OpenCode run, or that you type yourself.
In this guide, I'll show you:
- What the Podcast Index MCP server & CLI is, and what you can ask it
- How to install it and check that it works
- When to use the MCP server, and when the CLI
- Every tool, and how to keep your account safe
Every tool on this page comes from the server itself, and every cost was measured in Claude Code.
Key takeaways
What is the Podcast Index MCP server & CLI?
The Podcast Index MCP server & CLI is a free, open source program that lets AI agents search podcasts and read episode transcripts for you, in two ways. The MCP server is what an AI app like Claude, Codex or Cursor connects to, through MCP (Model Context Protocol), the open standard AI apps use to call outside tools.
You ask in plain language. Your AI picks the right tool, and the server makes the call to Podcast Index, and fetches transcripts from the show's own host.
The CLI is the same program as commands. podcastindex-cli get-trending runs the same code your AI runs when you ask what's trending, whether an agent like Claude Code runs it or you do.
In an AI OS, the layer that connects your AI to your context, your data and your tools, a server like this is how your AI reaches Podcast Index. I explain how the parts fit together in how to build an AI operating system, and here's how I use AI myself.
What can you ask it?
Once it's set up, you ask the way you'd ask an assistant. These are real prompts it handles:
Try askingWhen did they talk about pricing on that episode, and what did they say?
Where has this person been a guest, and what do they always get asked?
Find me 15 podcasts about indie games that are still publishing, and skip the dead ones.
Is my feed broken? Downloads dropped last week and I don't know why.
What's trending in true crime this week, in Swedish?
Give me the chapter list so I can see if this episode is worth 2 hours.
The first one shows why this is useful. Podcast Index tells you a transcript exists and hands out a link, and this server reads it back to your AI, so "when did they say that" gets an answer.
It works well next to my Apple Podcasts MCP server and OP3 MCP server, so your AI can check where a show ranks in each country and turn downloads into real listener numbers in the same chat. Every server I've made is on my MCP servers page.
For your show, my free podcast RSS feed validator and podcast rank checker help too. When your own show is ready to earn, I cover how to make money podcasting.
How to install the Podcast Index MCP server
Pick your app in the box at the top of this page. Each one is a single command or a pasted block, with your free API key and secret in it.
Windsurf, Zed and Cline take the same server, though they don't have a tab in the box yet. Follow the box's Cursor tab, and put its block here instead:
| App | Where the block goes |
|---|---|
| Windsurf | In the Cascade panel, open the Actions menu (…) and choose Open MCP config file, then paste the block. |
| Cline | Click the MCP Servers icon in the Cline panel, open the Configure tab, click Configure MCP Servers, and paste the block. |
| Zed | Go to Settings, then AI, then MCP Servers, and choose Add Server, then Add Local Server. Enter the block's command, arguments and variables, and Zed saves them under context_servers. |
Watch out: Every request is signed with the current time, so a computer clock that's more than 3 minutes off fails every call, just like a bad key. The doctor measures your clock for you.
Get your Podcast Index API key
You need a key and a secret, and both are free. The key says who you are, and the secret signs each request.
There's no review and no waiting, so it takes about 2 minutes. Keep the secret private, because anything holding it can use up your rate limit.
You don't need write permission. Only the 2 tools that add a podcast to the directory use it, and they say so if your key doesn't have it.
Check that it works
Run the doctor. It checks your key and secret, and measures your clock against Podcast Index's own.
npx -y @thenavidm/podcastindex-mcp-cli doctorThe clock line is the one to read. If it reports drift, fix the clock, not the key: on a Mac, sudo sntp -sS time.apple.com does it.
In Claude Code, /mcp also shows whether the Podcast Index server is connected. It's one of the Claude Code commands worth knowing.
Use the Podcast Index CLI
The CLI is the same 36 tools as commands. AI agents that run commands, like Claude Code, Codex and OpenCode, use it on their own, and you can type the same commands in a terminal or a script.
Every tool name becomes a command with dashes, so search_transcript runs as podcastindex-cli search-transcript.
npm install -g @thenavidm/podcastindex-mcp-cli
podcastindex-cli
podcastindex-cli search-podcasts --q "ai agents" --max 5
podcastindex-cli get-trending --max 10
podcastindex-cli find-guest-appearances --name "Tim Ferriss"The bare podcastindex-cli lists every command, podcastindex-cli which <words> finds the command for a task, and podcastindex-cli <command> --help shows what a command takes. Adding a feed to the index needs --confirm, the terminal's version of your approval.
podcastindex-cli install <app> adds the server to Claude Code, Codex, Claude Desktop, Cursor, VS Code or Gemini CLI, in each app's own format.
These are the flags you'll use most:
| Flag | What it does |
|---|---|
--json | Prints JSON |
--compact | Prints the JSON on one line |
--select a,b.c | Keeps only those fields, and a dotted path goes deeper |
--agent | Machine mode: compact JSON, no prompts, and it never confirms anything |
--confirm | Lets a write that asks first go ahead |
--dry-run | Shows what a write would do, without doing it |
A script can branch on the exit code:
| Exit code | What it means |
|---|---|
| 0 | It worked |
| 1 | Something unexpected went wrong |
| 2 | The command was typed wrong, or a write needed --confirm |
| 3 | It wasn't found |
| 4 | Podcast Index rejected the credentials |
| 5 | Podcast Index failed or couldn't be reached |
| 7 | You hit a rate limit, so wait and try again |
| 10 | Nothing is set up yet |
MCP server or CLI: which one?
Both are the same program with the same 36 tools. The difference is when your AI pays for them, in the tokens it reads.
- MCP server
- 11,800 tokens
- CLI
- Nothing
- MCP server
- 1,200 tokens
- CLI
- Nothing
- MCP server
- Nothing more, or in Claude Code the tools it picks
- CLI
- 3,400 tokens, once
- MCP server
- 237,000 tokens
- CLI
- 3,400 tokens
- MCP server
- Yes
- CLI
- No, there's no terminal there
- MCP server
- No
- CLI
- Yes
An app that loads every tool up front sends the full list with every message, whether you mention Podcast Index or not. Claude Code doesn't by default: its tool search sends only the tool names and the server's instructions, and loads a tool's full definition when your AI reaches for it.
The CLI costs nothing until Podcast Index comes up. Then your agent reads its skill file once and runs the commands it needs. With the skill added, Claude Code also lists its one-line description with every message, about 160 tokens.
When the whole conversation is about Podcast Index, the gap closes. Then the MCP server is the better experience, because you ask in plain language and your AI never has to look up a command.
How to spend less
In Claude Code, leave tool search on, which it is unless you've set ENABLE_TOOL_SEARCH=false.
Turn the server off when you aren't using it, with your AI app's own switch. PODCASTINDEX_READ_ONLY=1 also takes the three write tools off the list.
Or install the CLI and connect the server later, on the days it earns its place. Every tool stays in reach, and the standing cost drops to nothing.
Every number here was measured on October 5, 2026 in Claude Code 2.1.286 with Claude Opus 5.5. It's the same one-line prompt with and without the server connected, once with tool search off so every tool loads, and once with Claude Code's default. The skill was measured the same way, and other apps and models count tokens a little differently.
What Podcast Index actually does
A few things will surprise you, and they're why this server works the way it does.
A wrong clock looks exactly like a wrong key
Podcast Index accepts a request signed within 3 minutes of its own clock. A laptop that slept through a time zone change fails every call with the same error a bad key gives, so the doctor measures the drift and says which one it is.
Most shows skip the extra tags
Transcripts, chapters, credited guests, soundbites and payment splits are all optional Podcasting 2.0 tags, and most shows publish none of them. An empty result is a fact about that show, not a broken call.
That matters most for guest research. find_guest_appearances only sees shows that credit their guests, so its answer is a floor, never a complete list.
The transcript lives on the show's own host
Podcast Index only links to the file, which sits on the publisher's server. When a transcript fails to load, the podcast's hosting is down, and the index and the call are fine.
Where a show offers several formats, the server prefers JSON, because only that format reliably names the speakers. It works out the real format from the file itself, because publishers often label it wrong.
A payment split isn't revenue
A value block says a show accepts listener payments and names the wallets and their shares. It says nothing about whether anyone has paid.
Adding a feed can't be undone
submit_feed writes to a public directory that hundreds of podcast apps read, and this API has no delete. Removing a feed means asking the people who run Podcast Index.
Every Podcast Index tool
The tables below list all 36 tools, grouped the way the repo groups them. Of these, 33 only read, and three change something in the public index.
Start here
status- What it does
- Report whether the Podcast Index credentials are configured and working, how far this machine's clock is from the server's, and which tool groups are available.
- Kind
- Reads
Search
search_podcasts- What it does
- Search the Podcast Index for shows by keyword, across title, author and owner.
- Kind
- Reads
search_podcasts_by_title- What it does
- Search shows by title alone, ignoring author and owner.
- Kind
- Reads
search_episodes_by_person- What it does
- Find episodes where a named person is credited as host, guest, producer or any other role.
- Kind
- Reads
search_music- What it does
- Search feeds whose medium is music rather than talk.
- Kind
- Reads
Shows
get_podcast- What it does
- Everything Podcast Index knows about one show: metadata, category, episode count, when it last published, and which Podcasting 2.0 features it carries.
- Kind
- Reads
get_podcasts_batch- What it does
- Look up many shows in one request, by podcast GUID.
- Kind
- Reads
get_podcasts_by_medium- What it does
- List feeds of one Podcasting 2.0 medium.
- Kind
- Reads
list_categories- What it does
- Every category Podcast Index uses, with its numeric id.
- Kind
- Reads
Episodes
get_episodes- What it does
- Episodes for one show, newest first.
- Kind
- Reads
get_episode- What it does
- One episode in full: description, credited people, soundbites, value block, and the transcript and chapter pointers.
- Kind
- Reads
get_live_episodes- What it does
- Episodes currently marked live across the whole index, from the Podcasting 2.0 liveItem tag.
- Kind
- Reads
get_random_episodes- What it does
- Random episodes from across the index, optionally filtered by language and category.
- Kind
- Reads
get_recent_episodes- What it does
- The most recently published episodes across every show in the index, newest first.
- Kind
- Reads
Transcripts, chapters and soundbites
get_transcript- What it does
- Fetch and read the actual transcript of an episode, as timestamped text with speaker labels where the file has them.
- Kind
- Reads
search_transcript- What it does
- Search inside an episode's transcript and return the moments a phrase was said, each with a timestamp, the speaker where known, and the surrounding conversation.
- Kind
- Reads
get_chapters- What it does
- Fetch and read the chapter list a publisher attached to an episode: titles, start times, images and links.
- Kind
- Reads
get_soundbites- What it does
- The clips a publisher marked as the best moments of an episode, with start time and duration.
- Kind
- Reads
find_transcripts- What it does
- Scan a show's recent episodes and report which of them publish a transcript or chapters, without fetching any of the files.
- Kind
- Reads
Research
get_show_profile- What it does
- Everything about one show in a single call: metadata, publishing cadence measured from real episode dates, recent episodes, who is credited on them, whether it publishes transcripts or chapters, its payment split, and whether the index is crawling it successfully.
- Kind
- Reads
find_guest_appearances- What it does
- Every episode a named person is credited on, grouped by show and ordered newest first, with their role on each.
- Kind
- Reads
find_shows_to_pitch- What it does
- Search for shows on a topic and keep only the ones worth approaching: alive, publishing recently, with a real episode count and a way to contact them.
- Kind
- Reads
What's new and trending
get_trending- What it does
- Shows trending in the index right now, which is Podcast Index's own popularity signal rather than a chronological list.
- Kind
- Reads
get_recent_feeds- What it does
- Feeds that published something recently, newest activity first.
- Kind
- Reads
get_new_feeds- What it does
- Shows added to Podcast Index for the first time, newest first.
- Kind
- Reads
get_recent_soundbites- What it does
- The newest soundbites across the whole index: clips publishers themselves marked as the best moment of an episode.
- Kind
- Reads
Listener payments
get_value_block- What it does
- The value-for-value block for a show: the wallets that receive listener payments and the weight each one takes.
- Kind
- Reads
get_episode_value- What it does
- The value block for a single episode, which can differ from the show's.
- Kind
- Reads
list_value_podcasts- What it does
- Every feed in the index carrying a value block, paged.
- Kind
- Reads
get_new_value_feeds- What it does
- Feeds that added a value block recently.
- Kind
- Reads
Feed health and index size
check_feed_health- What it does
- Diagnose a podcast feed using the crawl history Podcast Index keeps on it: failed fetches, parse errors, the last HTTP status, when it was last successfully read, and whether the index has marked it dead or as a duplicate of another feed.
- Kind
- Reads
list_dead_feeds- What it does
- Feeds Podcast Index has marked dead, meaning they stopped responding long enough that crawling was abandoned.
- Kind
- Reads
get_index_stats- What it does
- How big the index is and how much of it is alive: total feeds, total episodes, how many feeds published in the last 3, 10, 30 and 90 days, and how many carry a value block.
- Kind
- Reads
Adding to the index
notify_feed_update- What it does
- Ping Podcast Index to say a feed has changed, so it recrawls sooner than its normal schedule.
- Kind
- Writes
submit_feed- What it does
- Add a podcast to Podcast Index by its RSS feed URL.
- Kind
- Asks first
submit_feed_by_itunes_id- What it does
- Add a podcast to Podcast Index using its iTunes id, for when you have an Apple Podcasts link but not the RSS URL.
- Kind
- Asks first
Is the Podcast Index MCP server safe?
Of 36 tools, 33 only read. notify_feed_update asks the index to recrawl a feed sooner, which is harmless, so it doesn't ask first.
submit_feed and submit_feed_by_itunes_id add a podcast to the public directory, which can't be undone, so both ask first, marked "Asks first" in the tool tables above.
When your AI calls one of them, the call needs a yes first. Where you use it decides who gives it:
- Claude Code (2.1.246 and later) asks you before every call, in every one of its permission modes.
- An app that can show forms asks you in a form.
- Any other app takes your AI's
confirm: trueas the yes, so tell your AI to check with you first. - An agent with no person to ask needs
PODCASTINDEX_CONFIRM=model, so itsconfirm: truecounts in every app. - In a terminal, you add
--confirmto the command.
If the answer is no, nothing reaches Podcast Index.
Make it read-only
Set PODCASTINDEX_READ_ONLY=1 and the three write tools disappear from the tool list, leaving 33 reading tools. PODCASTINDEX_ALLOW_DESTRUCTIVE=0 keeps the recrawl ping and blocks the two submits.
Keep a log of every write
Set PODCASTINDEX_AUDIT_LOG to a file path. The server writes one line per attempted write, allowed or blocked, with what it was about to do and who approved it.
Watch out: Transcripts, show notes and chapter titles are text strangers wrote, and anyone can put instructions into their own transcript. The server marks that text as data, but for an agent working on its own, PODCASTINDEX_READ_ONLY=1 is the real defense.
Your data
There's no server of ours in between, and nothing is collected. Your key, a timestamp, a signature and your query go to api.podcastindex.org, and transcript files come straight from each show's own host.
Your secret never leaves your computer. It's hashed into a signature, and only the hash travels.
Podcast Index MCP server settings
Every setting is an environment variable in your app's config. Only the key and the secret are required.
PODCASTINDEX_API_KEY- Default
- none
- What it does
- Holds your API key, which is required
PODCASTINDEX_API_SECRET- Default
- none
- What it does
- Holds your API secret, which is required and never sent
PODCASTINDEX_READ_ONLY- Default
0- What it does
1hides the 3 tools that write
PODCASTINDEX_ALLOW_DESTRUCTIVE- Default
1- What it does
0keeps the recrawl ping and blocks the two submits
PODCASTINDEX_AUDIT_LOG- Default
- off
- What it does
- Logs every attempted write to a file
PODCASTINDEX_MAX_TRANSCRIPT_CHARS- Default
24000- What it does
- Sets how much transcript one call returns
PODCASTINDEX_CACHE_TTL_MS- Default
300000- What it does
- Sets how long an answer is reused
PODCASTINDEX_REQUEST_TIMEOUT_MS- Default
30000- What it does
- Sets how long one request to the index may take
PODCASTINDEX_FILE_TIMEOUT_MS- Default
45000- What it does
- Sets how long a transcript file on a show's host may take
PODCASTINDEX_MIN_REQUEST_INTERVAL_MS- Default
120- What it does
- Spaces out requests to stay under the rate limit
PODCASTINDEX_MAX_RETRIES- Default
3- What it does
- Sets how often a failed request is retried
PODCASTINDEX_USER_AGENT- Default
podcastindex-mcp/<version>- What it does
- Names your product to Podcast Index
PODCASTINDEX_API_HOST- Default
- none
- What it does
- Another API host, for testing
PODCASTINDEX_SURFACE- Default
full- What it does
searchlists three tools that find, describe and run the rest
PODCASTINDEX_TOOL_TIMEOUT_MS- Default
- none
- What it does
- Gives up on any tool after this many milliseconds
PODCASTINDEX_CONFIRM- Default
human- What it does
modellets your AI'sconfirm: trueapprove on its own, for an agent with no person to ask
PODCASTINDEX_HTTP_PORT- Default
8000- What it does
- Sets the port for
--http
PODCASTINDEX_HTTP_HOST- Default
127.0.0.1- What it does
- Sets the address for
--http, and any other needs a token
PODCASTINDEX_HTTP_TOKEN- Default
- none
- What it does
- Sets the bearer token every
--httprequest needs
PODCASTINDEX_HTTP_ALLOWED_ORIGINS- Default
- none
- What it does
- Lists other websites allowed to call
--http, comma separated
PODCASTINDEX_DEBUG- Default
- off
- What it does
1prints debug lines
Troubleshooting
Run the doctor first. It names the step that failed and the fix.
| What you see | What to do |
|---|---|
| Every call fails with an auth error | Check the clock before the key. Requests must be signed within 3 minutes |
| The doctor says the secret isn't set | The server needs both halves. The key alone can't sign a request |
| A submit fails with a permission error | Podcast Index grants write access separately from a normal key |
get_transcript says the show publishes none | Most shows don't. That's a fact about the show, not a failure |
| A transcript times out | The show's host is slow. Raise PODCASTINDEX_FILE_TIMEOUT_MS |
| A transcript has no speakers | The show published it without labels. Only the JSON format reliably names them |
find_guest_appearances returns nothing | It only sees shows that credit their guests, which is a minority |
| You hit the rate limit | Ask for a batch or a show profile instead of one call at a time |
If the server doesn't show up in your app at all, run the command your app runs, in a terminal, and read the error.
More free tools for your podcast
Tag the links in your show notes so you can see which episode sent people, or make a QR code that opens your show.
Free tools
FAQs about the Podcast Index MCP server & CLI
Here are the questions people ask most about the Podcast Index MCP server and CLI.
The Podcast Index MCP server & CLI is a free, open source program that lets an AI app like Claude, Codex or Cursor search podcasts and read episode transcripts.
It has 36 tools for podcast search, transcripts, chapters, Podcasting 2.0 tags, listener payments and feed health, and the same tools run as a CLI that agents like Claude Code and Codex use, or that you type yourself.
An MCP server is a standard way to give an AI app real access to a tool, so it can act instead of guessing.
MCP stands for Model Context Protocol, and Claude, Codex, Cursor and many other AI apps speak it.
Every server I've made is on my MCP servers page.
The Podcast Index CLI is the same program as the Podcast Index MCP server, run as commands.
AI agents like Claude Code, Codex and OpenCode run them for you, and you can type them in a terminal or a script.
One npm package installs both.
Use the Podcast Index MCP server in an AI app with no terminal, like Claude Desktop's chat, and the CLI in a terminal, a script or a cron job.
In an AI app that can run commands, like Claude Code, Codex or Cursor, the CLI is the lighter choice, because it costs nothing until it runs.
Yes, the Podcast Index MCP server is free and open source under the MIT license, and the Podcast Index API key it needs is free too.
The only thing you pay for is your own AI app.
Yes, the Podcast Index MCP server needs a free API key and secret from api.podcastindex.org/signup.
There's no review, and they appear right away.
The Podcast Index MCP server reads a transcript whenever the show publishes one, and most shows don't.
It can't transcribe audio that was never transcribed, so an empty result is a fact about that show.
Check your clock before your key.
Every request is signed with the current time, and a clock more than 3 minutes off fails just like a bad key, which the doctor measures.
Yes, submit_feed adds a podcast to the index once you approve it.
It needs a key with write permission, which Podcast Index grants separately.
The Podcast Index MCP server works with any app that speaks MCP.
That includes Claude Code, Claude Desktop, Codex, Cursor, VS Code, Windsurf, Zed, Cline, GitHub Copilot CLI, Gemini CLI, OpenCode, OpenClaw, Antigravity and Hermes.
I did.
I'm Navid Moazzez, and I made the Podcast Index MCP server & CLI as one of my free tools on navid.me.
You can read more about me.
The code is on GitHub under the MIT license, and the package is on npm.
More MCP servers & CLIs
Related free tools
Navid.me is reader-supported. When you buy through links on this site, I may earn an affiliate commission. Read the affiliate disclaimer.
On this page
The most actionable AI newsletter for founders
Every week, get proven AI strategies, curated tools, and step-by-step systems to grow your audience, create better content, and build a profitable creator business.
No fluff, no filler, no BS. Just five minutes each week that might level up your online business and life.
P.S. Sign up now to get free access to my ultimate AI tools guide for creators.
