Connects Claude to the Spoken API for pulling podcast transcripts with real speaker names instead of "Speaker 1" labels. Exposes three tools: search_podcasts to find episodes by text query or pasted Spotify/YouTube URL, get_transcript to fetch the full Markdown transcript with timestamps, and get_balance to check your credit usage. Spoken is a retrieval API for already published podcasts, so you skip running your own transcription pipeline. Useful when you need to summarize episodes, build RAG indexes over podcast content, or let an agent answer questions about specific shows. Runs on pay per use credits with a demo key available for testing.
SPOKEN_API_KEYsecretAPI key from spoken.md (starts with pt_). Defaults to pt_demo (search works fully; transcripts limited to the demo episode).
Spoken is a transcript API that turns any published podcast into clean Markdown with real speaker names — not "Speaker 1." One API call returns named, timestamped text, ready for LLMs, RAG pipelines, summarizers, and search.
It's a transcript retrieval API, not a speech-to-text service: it works on already-published podcasts, so you skip uploading audio, running diarization, and mapping anonymous speaker labels by hand. For published shows that's typically 5–10× cheaper than running the audio through a transcription service.
agents.md, llms.txt, and an OpenAPI specGet a key at spoken.md — or try it free with the demo key pt_demo (search works fully; transcripts limited to the demo episode).
# 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'
The transcript comes back as Markdown with named speakers and timestamps:
**John Smith** (0:00)
Welcome to the show. Today we're talking about...
**Jane Doe** (0:15)
Thanks for having me.
| Method & path | What it does | Credits |
|---|---|---|
GET /search?q={query or URL} | Find episodes; returns id, title, podcast, date | 0 |
GET /transcripts/{id} | Return the Markdown transcript | 1 on first fetch, 0 on repeat |
GET /balance | Current credit balance + usage history | 0 |
POST /buy | New-key checkout (Stripe) | — |
POST /top-up?key={key} | Returning-customer top-up (Stripe) | — |
Auth is the x-api-key header. Responses include X-Credits-Remaining and X-Credits-Charged. See agents.md for the full error table and response shapes.
examples/podcast_summarizer.py — fetch a transcript and summarize itexamples/rag_pipeline.py — chunk a transcript for a vector store / RAGexamples/quickstart.sh — search → transcript in two curl callsThis repo includes spoken-mcp, a Model Context Protocol server that exposes Spoken to MCP-compatible agents (Claude Desktop, Cursor, Cline, …). It provides three tools:
| Tool | Description |
|---|---|
search_podcasts | Find episodes by text or a pasted Spotify/YouTube URL |
get_transcript | Fetch an episode's transcript as Markdown with real speaker names |
get_balance | Check remaining credits |
Add it to your MCP client config (e.g. Claude Desktop's claude_desktop_config.json):
{
"mcpServers": {
"spoken": {
"command": "npx",
"args": ["-y", "spoken-mcp"],
"env": { "SPOKEN_API_KEY": "pt_your_key" }
}
}
}
SPOKEN_API_KEY defaults to pt_demo (search works fully; transcripts limited to the demo episode). Get a real key at spoken.md.
Run from source instead:
npm install && npm run build
SPOKEN_API_KEY=pt_your_key node dist/index.js
Spoken is designed to be called by agents. Point your agent at the Agent Skill (also served at https://spoken.md/.well-known/skills/spoken-md/SKILL.md), or hand it agents.md. The OpenAPI spec makes it easy to wrap as a tool for any function-calling or MCP-compatible client (Claude, GPT, Cursor).
Pay-per-use credits, no subscription. New keys: 100 for $15, 500 for $50, 2,000 for $160. Machine-readable at spoken.md/pricing.md.
Spoken is built and maintained at spoken.md.
csoai-org/pdf-document-mcp
xt765/mcp-document-converter
io.github.ai-aviate/better-notion
suekou/mcp-notion-server
meterlong/mcp-doc
n24q02m/better-notion-mcp