mcpField
S
Spoken

Spoken

本地服务
spoken.md媒体与设计53 周前更新

关于 Spoken

Spoken 可检索已发布播客,并返回带说话者姓名和时间戳的 Markdown 转录文本。其 API 和 MCP 服务面向构建摘要、搜索或 RAG 工作流的开发者与 Agent,无需自行转录音频。

主要功能

  1. 01按文本或 Spotify/YouTube 链接搜索节目
  2. 02获取带说话者姓名的 Markdown 转录
  3. 03列出播客全集与最新节目
  4. 04跟踪关注节目和转录额度

适用场景

  1. 01总结已发布的播客单集
  2. 02将转录文本加入 RAG 流程
  3. 03检查已关注节目是否有新集

MCP 相关

托管服务 https://spoken.md/mcp 和本地 spoken-mcp 包提供 8 个工具,用于搜索单集、获取转录、管理关注节目及查询额度。MCP 客户端可通过 Streamable HTTP 连接,或运行本地包。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"spoken": {
"command": "npx",
"args": [
"-y",
"spoken-mcp"
],
"env": {
"SPOKEN_API_KEY": "<SPOKEN_API_KEY>"
}
}
}
}
启动命令npx -y spoken-mcp
需要配置的环境变量
SPOKEN_API_KEY密钥API key from spoken.md (starts with pt_). Defaults to pt_demo (search works fully; transcripts limited to the demo episode).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmspoken-mcp0.1.1

工具

4

收录的工具列表 · 更新于 3 周前

参数类型必填说明
querystring是自由文本(例如 'huberman sleep')或粘贴的单集 URL。

详细介绍

Spoken — 播客文字稿 API 和 MCP 服务,提供带真实说话人姓名的整洁 Markdown

Spoken 是一款文字稿 API,可将任何已发布的播客转换为整洁的 Markdown,并标注真实说话人姓名,而不是“说话人 1”。一次 API 调用即可返回带姓名和时间戳的文本,可直接用于大模型、RAG 流水线、摘要工具和搜索。本仓库还提供 spoken-mcp,这是一款 MCP 服务,可让 Claude Desktop、Claude Code、Cursor 和 Cline 将相同的文字稿作为工具使用 — 请参阅作为 MCP 服务使用。

这是文字稿检索 API,而非语音转文字服务:它处理的是已发布的播客,因此无需上传音频、运行说话人分离,也无需手动为匿名说话人标签匹配姓名。对于已发布的节目,这种方式通常比通过转录服务处理音频便宜 5–10 倍。

  • 🎙️ 真实说话人姓名,自动匹配
  • 📄 整洁的 Markdown,带时间戳,针对大模型上下文窗口和 RAG 分块进行了优化
  • 🔎 按文本查询搜索,或粘贴 Spotify/YouTube URL
  • 💳 按使用量付费的额度 — 无需订阅,失败的调用绝不扣费,重复获取免费
  • 🤖 原生支持 Agent — 随附 Agent Skill、agents.md、llms.txt 和 OpenAPI 规范

在 spoken.md 获取密钥 — 或使用演示密钥 pt_demo 免费试用(搜索功能完整可用;文字稿仅限演示集中的播客)。

快速开始

# 1. Find an episode (by text, or paste a Spotify/YouTube URL)
curl -s 'https://spoken.md/search?q=huberman+sleep' \
  -H 'x-api-key: pt_demo'

# 2. Fetch the transcript as Markdown
curl -s 'https://spoken.md/transcripts/1000651996090' \
  -H 'x-api-key: pt_demo'

返回的文字稿为 Markdown 格式,带有说话人姓名和时间戳:

**John Smith** (0:00)
Welcome to the show. Today we're talking about...

**Jane Doe** (0:15)
Thanks for having me.

端点

方法和路径功能额度
GET /search?q={query or URL}查找节目;返回 id、title、podcast、podcastId、date0
GET /podcasts/{podcastId}/episodes列出节目的完整历史目录;返回每集的 id、title、date0
GET /transcripts/{id}返回 Markdown 文字稿首次获取扣 1,重复获取扣 0
GET /balance当前额度余额和使用记录0
GET /following此密钥关注的节目(根据获取记录推断,或通过 PUT 声明/通过 DELETE /following/{podcastId} 移除)0
GET /new这些节目尚未获取的新播客集,每集附有文字稿 URL;使用 ?format=atom 获取订阅源0
POST /buy新密钥结账(Stripe)—
POST /top-up?key={key}回头客充值(Stripe)—

通过 x-api-key 标头进行身份验证。响应中包含 X-Credits-Remaining 和 X-Credits-Charged。完整的错误表和响应格式请参阅 agents.md。

示例

在 Python 中使用

spoken-md 包通过标准库以外无其他依赖的方式封装了 API,并会安装 spoken-md 命令。

pip install spoken-md
from spoken_md import Spoken

spoken = Spoken()                                  # SPOKEN_API_KEY, or the demo key
episode = spoken.search("huberman sleep")[0]
print(spoken.transcript(episode.id))               # Markdown with real speaker names

archive(podcast_id, skip=...) 会遍历整个节目,并支持断点续传;错误按状态分类(PaymentRequired 包含充值 URL,NotFound 表示没有文字稿)。请参阅 python/README.md。

用作 MCP 服务

Spoken 通过两种方式提供 Model Context Protocol 服务:托管在 https://spoken.md/mcp,以及作为本仓库中的软件包 spoken-mcp,供在本地运行服务的客户端使用(Claude Desktop、Cursor、Cline 等)。两种方式都提供相同的八种工具:

工具描述
search_podcasts按文本或粘贴的 Spotify/YouTube URL 查找单集
list_episodes根据 podcast_id 列出某个节目的全部往期单集
get_transcript获取单集的 Markdown 格式文字稿,包含真实发言者姓名
get_balance查看剩余额度
list_following列出此密钥持续跟踪的节目,依据抓取记录推断或由用户声明
follow_podcast声明关注某个节目(或取消屏蔽)
unfollow_podcast屏蔽某个节目,使其不再显示在列表中,且抓取时不会重新添加
list_new_episodes列出已关注节目中尚未抓取的新单集,并提供文字稿链接

要保持知识库内容更新,可按计划调用 list_new_episodes,再对其列出的单集调用 get_transcript:每次抓取都会提高该节目的抓取基准。

托管服务

无需安装。将能连接 URL 的客户端指向 https://spoken.md/mcp(Streamable HTTP):

claude mcp add --transport http spoken https://spoken.md/mcp

首次有工具需要使用你的密钥时,客户端会要求你登录。若要跳过此步骤,可自行在请求头中发送密钥:Authorization: Bearer pt_your_key。

对于只能通过 OAuth 登录的客户端(例如开发者模式下的 ChatGPT),系统会将你引导至一个页面,让你粘贴一次密钥。各应用的具体步骤见:spoken.md/mcp-server。即使没有密钥,也可以搜索、列出某个节目的单集并使用演示单集。

本地运行

将其添加到 MCP 客户端配置中(例如 Claude Desktop 的 claude_desktop_config.json):

{
  "mcpServers": {
    "spoken": {
      "command": "npx",
      "args": ["-y", "spoken-mcp"],
      "env": { "SPOKEN_API_KEY": "pt_your_key" }
    }
  }
}

SPOKEN_API_KEY 默认为 pt_demo(搜索功能完整可用;文字稿仅限演示单集)。前往 spoken.md 获取真实密钥。

也可以改为从源码运行:

npm install && npm run build
SPOKEN_API_KEY=pt_your_key node dist/index.js

与 AI Agent 配合使用

Spoken 专为由 Agent 调用而设计。将 Agent Skill(也可通过 https://spoken.md/.well-known/skills/spoken-md/SKILL.md 获取)提供给你的 Agent,或将 agents.md 交给它。OpenAPI 规范便于将其封装为工具,供任何支持函数调用或兼容 MCP 的客户端使用(Claude、GPT、Cursor)。

定价

按次使用额度,无需订阅。新密钥套餐:15 美元可购买 100 个额度,50 美元可购买 500 个额度,160 美元可购买 2,000 个额度。机器可读版本见 spoken.md/pricing.md。

链接


Spoken 由 spoken.md 构建并维护。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。