播客索引MCP服务器
MCP(模型上下文协议)服务器,提供对 播客索引 API,使人工智能助手能够搜索和发现播客。
特性
- 综合搜索:按通用术语、特定标题或按人搜索播客
- 剧集发现:浏览播客提要中的所有剧集,获取详细的剧集信息
- 播客详细信息:检索完整的元数据,包括描述、资金、价值块等
- 丰富的过滤:支持值块类型(Lightning、Hive、WebMoney)、显式内容过滤和日期范围
- 安全认证:使用播客索引API密钥/秘密身份验证
- 完整的工作流程:实现从搜索到详细内容探索的多步骤发现
先决条件
- Python 3.10或更高版本
- 播客索引API证书(在这里注册)
安装
选择最适合您需求的安装方法:
选项1:使用uvx快速入门(推荐)
最快的开始方式。无需克隆存储库:
uvx --from git+https://github.com/eugenechae/podcast-index-mcp podcast-index-mcp优点:一个命令安装,自动更新,无需路径配置
需求: 紫外线 包管理器
选项2:用pipx安装
使用pipx作为独立工具安装:
pipx install git+https://github.com/eugenechae/podcast-index-mcp.git优点:隔离环境,Python用户熟悉,持久安装
需求: pipx (安装时 pip install pipx)
更新: pipx upgrade podcast-index-mcp
卸载: pipx uninstall podcast-index-mcp
选项3:开发安装
为了促进或地方发展:
- 克隆存储库:
git clone https://github.com/eugenechae/podcast-index-mcp.git
cd podcast-index-mcp- 安装依赖项:
uv sync优点:完全控制,易于修改和贡献
需求: 紫外线 包管理器
配置
Claude桌面设置
配置取决于您的安装方法。将适当的配置添加到您的Claude Desktop配置文件中:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
用于uvx安装(选项1)
{
"mcpServers": {
"podcast-index": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/eugenechae/podcast-index-mcp",
"podcast-index-mcp"
],
"env": {
"PODCAST_INDEX_API_KEY": "your-api-key-here",
"PODCAST_INDEX_API_SECRET": "your-api-secret-here"
}
}
}
}备注:不需要路径配置!uvx自动处理一切。
用于管道安装(选项2)
{
"mcpServers": {
"podcast-index": {
"command": "podcast-index-mcp",
"env": {
"PODCAST_INDEX_API_KEY": "your-api-key-here",
"PODCAST_INDEX_API_SECRET": "your-api-secret-here"
}
}
}
}备注:The podcast-index-mcp 安装pipx后,您可以在PATH中使用该命令。
用于开发安装(选项3)
{
"mcpServers": {
"podcast-index": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/podcast-index-mcp",
"run",
"podcast-index-mcp"
],
"env": {
"PODCAST_INDEX_API_KEY": "your-api-key-here",
"PODCAST_INDEX_API_SECRET": "your-api-secret-here"
}
}
}
}开发安装的重要注意事项:
- 获取绝对路径 到存储库:
- MacOS/Linux:运行 pwd 在存储库目录中 - 视窗:运行 cd 在存储库目录中
- windows用户:使用双反睫毛(
\\)或正斜杠(/)在路径中:
"C:\\Users\\YourName\\podcast-index-mcp"或者:
"C:/Users/YourName/podcast-index-mcp"- 如果
uv找不到命令,使用到的完整路径uv可执行文件:
- 通过以下方式查找: which uv (MacOS/Linux)或 where uv (Windows) - 例子: "command": "/Users/yourname/.local/bin/uv"
API证书
替换 your-api-key-here 和 your-api-secret-here 使用您的实际播客索引API证书。您可以通过以下方式获得这些 在这里注册.
用法
可用工具
搜索播客
在播客索引数据库中按标题、作者和所有者搜索播客。
参数:
q(字符串,必填):搜索查询词max(整数):最大结果数(1-1000)val(string):按值块类型筛选(any,lightning,hive,webmonetization)clean(boolean):排除显式内容fulltext(boolean):返回完整的文本字段,而不是截断的文本字段aponly(布尔值):仅返回带有iTunes ID的播客similar(boolean):包含相似的匹配项
退货: 播客提要数组,每个提要包含:
id:播客索引提要IDtitle:播客标题author:播客作者/创作者description:播客描述(除非fulltext=true)url:RSS源URL- 加上元数据,如
image,link、类别信息和值块详细信息(如果存在)
search_podcasts_by_title
专门按标题字段搜索播客(比一般搜索更集中)。
参数:
q(字符串,必填):与播客标题匹配的搜索词max(整数):最大结果数(1-1000)val(string):按值块类型筛选clean(boolean):排除显式内容fulltext(boolean):返回完整的文本字段similar(boolean):使用模糊搜索包含类似的标题匹配
退货: 结构与 search_podcasts -播客提要数组 id, title, author, description, url,以及其他元数据
搜索_个人资料_按_人
搜索以特定人物为特色或提及特定人物的剧集。
参数:
q(字符串,必填):要搜索的人名max(整数):最大剧集结果数(1-1000)fulltext(boolean):返回完整的剧集描述
退货: 剧集数组,每集包含:
id:剧集IDtitle:剧集标题feedTitle:本集所属播客的名称feedId:播客索引提要IDdescription:剧集描述(除非fulltext=true)- 加上其他元数据,如
datePublished,link、人物标签和其他剧集详细信息
get_episodes
按逆时间顺序检索特定播客提要中的所有剧集。
参数:
id(整数,必填):播客索引中的播客提要IDsince(整数):Unix时间戳-仅返回在此时间之后发布的剧集max(整数):最大集数(1-1000)fulltext(boolean):返回完整的剧集描述
退货: 指定播客提要中的剧集数组,每个剧集包含:
id:剧集IDtitle:剧集标题description:剧集描述(除非fulltext=true)datePublished:发布日期的Unix时间戳- 加上元数据,如
link,enclosureUrl,duration、章节、成绩单和其他剧集详细信息
get_podcast_details
通过订阅源ID获取特定播客的完整元数据。
参数:
id(整数,必填):播客索引中的播客提要ID
退货: 完整的播客提要元数据,包括:
id:播客索引提要IDtitle:播客标题author:播客作者/创作者description:完整播客描述url:RSS源URLlink:播客网站image:播客艺术作品URL- 加上全面的元数据,如类别、资金信息、价值块、iTunes数据和语言
get_episode_tails
按剧集ID获取特定剧集的完整元数据。
参数:
id(整数,必填):播客索引中的剧集IDfulltext(boolean):返回完整的剧集描述
退货: 完整的剧集元数据,包括:
id:剧集IDtitle:剧集标题feedTitle:播客的名称feedId:播客索引提要IDdescription:剧集描述(除非fulltext=true)link:剧集URL- 加上详细的元数据,如人物标签、章节、文字记录、声音片段、价值块和出版日期
示例工作流程
这些多工具工作流程展示了组合不同端点的强大功能:
1.以人为本的发现
"Find episodes featuring Jensen Huang, then show me complete details about the first result,
including information about the podcast it's from."使用的工具: search_episodes_by_person → get_episode_details → get_podcast_details
2.主题深度挖掘
"Search for podcasts about artificial intelligence, get the details of the top result,
and show me its 10 most recent episodes."使用的工具: search_podcasts → get_podcast_details → get_episodes
3.支持闪电的内容搜索
"Find podcasts that support Bitcoin Lightning payments, get details on the first 3 results,
and show me their latest episodes."使用的工具: search_podcasts (val=“亮”)→ get_podcast_details (×3) → get_episodes (×3)
4.比较分析
"Search for 'technology news' podcasts, compare the top 2 by getting their full details,
and show me the 5 most recent episodes from each."使用的工具: search_podcasts → get_podcast_details (×2) → get_episodes (×2)
发展
运行测试
# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov=podcast_index
# Run specific test file
uv run pytest tests/test_client.py代码质量
# Type checking
uv run pyrefly check
# Linting
uv run ruff check .
# Formatting
uv run ruff format .在本地运行服务器
对于开发安装(选项3),您可以直接运行服务器:
# Run via Python module
uv run python -m podcast_index.main
# Or use the entry point command
uv run podcast-index-mcp服务器使用stdio传输,并通过MCP协议进行通信。
对于uvx或pipx安装,服务器在Claude Desktop中配置后会自动运行,无需手动运行。
API 文档
有关API的详细文档,请访问 播客索引API文档.
许可证
MIT许可证-有关详细信息,请参阅许可证文件
