关于 Podcast Index MCP Server
Podcast Index MCP Server 面向播客研究者和制作人,提供 Podcast Index 搜索及节目、单集数据查询。只读工具涵盖人物出演、趋势、Feed 健康状况和索引元数据。
主要功能
- 01按人物或关键词搜索单集
- 02按标题和标识符查找节目
- 03查看热门节目和近期 Feed
- 04获取节目与单集详情
- 05查询 Feed 健康状况及 value4value 数据
- 06读取索引分类和统计数据
适用场景
- 01查找潜在嘉宾出演过的单集
- 02按分类查看热门节目
- 03检查播客 Feed 和近期单集
- 04查看 Podcast Index 活动与元数据
MCP 相关
向 MCP 客户端提供 Podcast Index 的只读搜索、查询、趋势、单集、Feed、分类及统计工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
18收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| q | string | 是 | 要搜索的人名(例如 "Conor Bronsdon") |
| max | number | 否 | 返回结果的最大数量(默认值为 10) |
| fulltext | boolean | 否 | 返回完整的文本描述(默认值为 false) |
详细介绍

上方演示中显示的结果为示例数据,并非真实的 Podcast Index 响应。
关于
由 Conor Bronsdon 为 Chain of Thought 播客制作工作流构建并维护,可在研究期间查找嘉宾亮相信息并检查订阅源健康状况。Conor 主持 Chain of Thought,这是一档探讨 AI 基础设施以及从业者如何实际构建相关技术的节目。更多创作者工具请见 ai-tools-for-creators。可在 X 上通过 @ConorBronsdon 找到 Conor。
配套工具:
- Transistor MCP:Transistor.fm 官方 MCP 服务。管理单集、发布内容和查看分析数据。
- substack-mcp:阅读文章并管理 Substack 草稿
- op3-mcp:查看 OP3 的下载量、听众地域分布和使用的应用
- apple-podcasts-mcp:从 Apple Podcasts Connect 获取播放量、关注者数量和每集收听数据
- gsc-mcp:在 Google Search Console 中查询搜索效果、关键词和站点地图
- podcast-benchmark:仅使用公开数据,将节目与同类节目进行对比
前置条件
- Node.js 18+
- 免费的 Podcast Index API 凭据——请前往 api.podcastindex.org 获取
安装
git clone https://github.com/conorbronsdon/podcastindex-mcp.git
cd podcastindex-mcp
npm install
npm run build
配置
Claude Desktop
添加到 Claude Desktop 配置文件(claude_desktop_config.json)中:
{
"mcpServers": {
"podcastindex": {
"command": "node",
"args": ["/path/to/podcastindex-mcp/build/index.js"],
"env": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
}
Claude Code
添加到项目的 .mcp.json 中:
{
"mcpServers": {
"podcastindex": {
"command": "node",
"args": ["/path/to/podcastindex-mcp/build/index.js"],
"env": {
"PODCASTINDEX_API_KEY": "your-api-key",
"PODCASTINDEX_API_SECRET": "your-api-secret"
}
}
}
}
工具
此服务完全只读:每个工具都声明了 MCP 工具注解 readOnlyHint: true,因此客户端知道任何调用都不会修改内容,可以跳过写入许可提示。
| 工具 | 描述 |
|---|---|
search_by_person | 搜索某人作为主持人或嘉宾参与的节目。返回所有已编入索引的播客中的匹配结果。 |
search_by_term | 按主题、节目名称或关键词在所有播客中进行全文搜索。 |
search_by_title | 按标题搜索播客。 |
podcast_by_feed_url | 按 RSS Feed URL 查找播客。返回 Feed ID、iTunes ID、分类、上次更新时间和 Feed 健康状况。 |
podcast_by_feed_id | 按 Podcast Index Feed ID 查找播客。返回完整元数据。 |
podcast_by_itunes_id | 按 Apple Podcasts(iTunes)ID 查找播客。 |
podcast_by_guid | 按 podcast:guid 标签值查找播客。 |
trending_podcasts | 获取当前热门播客,可选择按语言和分类筛选。 |
episodes_by_feed_id | 按 Feed ID 获取指定播客的节目。 |
episode_by_id | 按 Podcast Index 节目 ID 查找单集。 |
episodes_live | 获取当前正在直播(主动串流)的节目。 |
recent_episodes | 获取整个索引中最近发布的节目。 |
recent_feeds | 获取整个索引中最近更新的播客 Feed。 |
recent_new_feeds | 获取新加入索引的播客 Feed。 |
value_by_feed_id | 按 Feed ID 获取播客的 value4value(闪电网络支付)信息。 |
value_by_feed_url | 按 Feed URL 获取播客的 value4value(闪电网络支付)信息。 |
categories_list | 获取 Podcast Index 分类及其 ID 的完整列表。 |
stats_current | 获取 Podcast Index 当前的汇总统计数据。 |
类型化错误
API 失败会映射到一个类型化错误层级(以 PodcastIndexError 为基类,并包含 AuthenticationError、RateLimitError、ValidationError、NotFoundError 和 ServerError 子类,根据 HTTP 状态码进行区分),定义于 src/errors.ts。每次工具调用失败时仍会返回相同的 isError: true 响应格式;类型化错误层级只是让错误消息具体说明出了什么问题(凭据错误、触发速率限制、请求格式错误等),而不是一律返回通用的“API error”字符串。
示例提示词
配置完成后,你可以向 Claude 提出类似以下问题:
- “在 Podcast Index 中搜索所有 Satya Nadella 担任嘉宾的节目”
- “目前有哪些热门科技播客?”
- “查询 https://feeds.transistor.fm/chain-of-thought 的 Feed 健康状况,并列出最近 5 集节目”
开发
构建项目:
npm run build
开发期间监视更改:
npm run watch
添加新工具
- 在
src/api-client.ts中添加 API 方法 - 在
src/types.ts中添加类型守卫和参数类型 - 在
src/tool-handlers.ts中添加工具定义和处理程序 - 使用
npm run build重新构建
贡献
欢迎提交问题和拉取请求。如果你希望将某个 Podcast Index 端点作为工具提供,请提交问题并描述使用场景;或者按照上述步骤操作并提交 PR。错误报告应包含工具名称和你传入的参数。
致谢
此服务得以实现,离不开免费的开源 Podcast Index API 及其文档——这里的所有工具都是该 API 的轻量封装。
此版本扩展的端点覆盖范围和类型化错误设计,参考了 Craig Lawton 的 podcastindex-mcp-server,这是一个更早为同一 API 构建的 MCP 服务。此处未使用该项目的任何代码;本服务的实现、工具架构和错误处理代码均依据官方 API 文档独立编写。
免责声明
这是一个独立的个人项目,与任何公司均无关联,也未获得任何公司的赞助或认可。文中观点均为我个人观点。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。