spoken
MCP serverDocs & knowledgeYour AI can read podcast episodes as clean Markdown transcripts with real speaker names. spoken fetches those transcripts through the Spoken API whenever your AI needs them. Once added, your AI can quote, summarize, or discuss episode conversations with accurate attribution.
Use spoken in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add spoken and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use spoken to search podcasts
Needs your own account with this service. Keys stay in your vault.
Details
Available today. Use it from your connected AI after setup.
Add spoken, then ask your AI to pull the transcript for a podcast episode you want to work with.
What your AI can do with it
- Fetch transcripts for podcast episodes
- Read transcripts as clean, ready-to-use Markdown
- See exactly who said what with real speaker names
- Quote episode conversations with correct attribution
- Summarize or answer questions about what was said in an episode
Install spoken
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user spoken 'https://spoken.md/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://spoken.md/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=spoken&config=eyJ1cmwiOiJodHRwczovL3Nwb2tlbi5tZC9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://spoken.md/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add spoken --url 'https://spoken.md/mcp'Run it once, then sign in with codex mcp login spoken if the server asks for an account.
From the project's README
As published by spokenmd/spoken in README.md.
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. This repo also ships spoken-mcp, an MCP server that gives Claude Desktop, Claude Code, Cursor and Cline the same transcripts as tools — see Use as an MCP server.
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.
- 🎙️ Real speaker names, resolved automatically
- 📄 Clean Markdown with timestamps, tuned for LLM context windows and RAG chunking
- 🔎 Search by text query or paste a Spotify/YouTube URL
- 💳 Pay-per-use credits — no subscription, failed calls never charged, repeat fetches free
- 🤖 Agent-native — ships with an Agent Skill,
agents.md,llms.txt, and an OpenAPI spec
Get a key at spoken.md — or try it free with the demo key pt_demo (search works fully; transcripts limited to the demo episode).
Quickstart
# 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.
Endpoints
| Method & path | What it does | Credits |
|---|---|---|
GET /search?q={query or URL} | Find episodes; returns id, title, podcast, podcastId, date | 0 |
GET /podcasts/{podcastId}/episodes | List a show's full back catalog; returns every episode's id, title, 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
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 callsexamples/archive-show.sh— archive a show's entire back catalogue, one file per episode
Use from Python
The spoken-md package wraps the API with no dependencies outside the standard library, and installs a spoken-md command.
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=...) walks a whole show and is resumable; errors are typed by status (PaymentRequired carries the top-up URL, NotFound means no transcript). See python/README.md.
Use as an MCP server
This repo includes spoken-mcp, a Model Context Protocol server that exposes Spoken to MCP-compatible agents (Claude Desktop, Cursor, Cline, …). It provides four tools:
| Tool | Description |
|---|---|
search_podcasts | Find episodes by text or a pasted Spotify/YouTube URL |
list_episodes | List a show's entire back-catalog from a podcast_id |
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
Use with AI agents
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).
Pricing
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.
Links
- Website & docs: https://spoken.md
- Agent instructions: https://spoken.md/agents.md
- OpenAPI spec: https://spoken.md/.well-known/openapi.json
- LLM-friendly overview: https://spoken.md/llms.txt
Spoken is built and maintained at spoken.md.
Tools it offers (8)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
search_podcastsget_transcriptlist_episodesget_balancelist_followingfollow_podcastunfollow_podcastlist_new_episodes
Signals
- GitHub stars
- 6
- Last commit
- Oct 2026
- Weekly downloads
- 458
- Weekly_downloads
- 458 weekly_downloads
Advanced
- Delivery
- spoken MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-spokenmd-spoken- Source
- github.com/spokenmd/spoken
- Hosted endpoint
https://spoken.md/mcp
More in Docs & knowledge
MCP server · dat999zx
More in Docs & knowledgeagent-native-slides
MCP server · builderio
More in Docs & knowledgemcp-memory-server
MCP server · mnemoverse
More in Docs & knowledgedatasinking
MCP server · heubme2020
More in Docs & knowledgeemailmd
MCP server · anypost
More in Docs & knowledgeTransloadit Media Processing
MCP server · transloadit
More in Docs & knowledge