MCP Server

Lenny Rachitsky Podcast Transcripts MCP Server

ai.com.mcp/lenny-rachitsky-podcast

What this MCP does

Provides searchable access to Lenny Rachitsky podcast episode metadata, transcript text, transcript chunks, and formatted transcripts.

getEpisodes
List episodes - Lists episodes with parsed frontmatter (guest, title, duration, youtube_url, etc.) and their canonical resource URIs.
Input schema
{'type': 'object', 'properties': {'sort': {'enum': ['recent', 'views', 'title'], 'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'cursor': {'type': 'string', 'description': 'Opaque pagination cursor'}, 'x-hapi-auth-state': {'type': 'string'}}}
getEpisodesGuest
Get an episode card (metadata + key URIs)
Input schema
{'type': 'object', 'required': ['guest'], 'properties': {'guest': {'type': 'string'}, 'x-hapi-auth-state': {'type': 'string'}}}
getEpisodesGuestChunks
List chunk descriptors for an episode - Returns chunk boundaries and URIs for chunk retrieval. Chunks may be computed on-demand using size/overlap parameters.
Input schema
{'type': 'object', 'required': ['guest'], 'properties': {'size': {'type': 'integer', 'maximum': 20000, 'minimum': 200}, 'guest': {'type': 'string'}, 'overlap': {'type': 'integer', 'maximum': 5000, 'minimum': 0}, 'x-hapi-auth-state': {'type': 'string'}}}
getEpisodesGuestChunksChunkIdtxt
Get a specific transcript chunk as plain text
Input schema
{'type': 'object', 'required': ['guest', 'chunkId'], 'properties': {'guest': {'type': 'string'}, 'chunkId': {'type': 'integer', 'minimum': 0}, 'x-hapi-auth-state': {'type': 'string'}}}
getEpisodesGuestMetadatajson
Get episode metadata as JSON (frontmatter)
Input schema
{'type': 'object', 'required': ['guest'], 'properties': {'guest': {'type': 'string'}, 'x-hapi-auth-state': {'type': 'string'}}}
getEpisodesGuestTranscriptformat
Get transcript in a specific format - Returns the transcript in the requested format: - md: markdown (may include or exclude frontmatter based on include_frontmatter) - txt: clean text (best for LLM ingestion) - json: structured form (metadata + transcript text)
Input schema
{'type': 'object', 'required': ['guest', 'format'], 'properties': {'guest': {'type': 'string'}, 'format': {'enum': ['md', 'txt', 'json'], 'type': 'string'}, 'x-hapi-auth-state': {'type': 'string'}, 'include_frontmatter': {'type': 'boolean'}}}
getSearch
Search episodes and transcripts - Searches across metadata (D1) and transcript text (Vectorize). Returns matches as resources, including per-hit URIs pointing to episode cards and transcript chunks. Note: pagination cursor applies to metadata search only. Example (vector search with filters): GET /search?q=pricing&mode=vector&guest=Marty%20Cagan&keywords=pricing,monetization&top_k=5
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string'}, 'mode': {'enum': ['metadata', 'transcript', 'vector', 'both'], 'type': 'string'}, 'guest': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'title': {'type': 'string'}, 'top_k': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'cursor': {'type': 'string', 'description': 'Opaque pagination cursor'}, 'keywords': {'type': 'string'}, 'namespace': {'type': 'string'}, 'episode_slug': {'type': 'string'}, 'x-hapi-auth-state': {'type': 'string'}}}
postSearch
Search episodes and transcripts (POST body) - Same search as GET /search, but parameters are provided in the request body. This is useful for longer filter payloads.
Input schema
{'type': 'object', 'required': ['undefinedBody'], 'properties': {'undefinedBody': {'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string'}, 'mode': {'enum': ['metadata', 'transcript', 'vector', 'both'], 'type': 'string'}, 'guest': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'title': {'type': 'string'}, 'top_k': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'cursor': {'type': 'string'}, 'keywords': {'type': 'string'}, 'namespace': {'type': 'string'}, 'episode_slug': {'type': 'string'}}}, 'x-hapi-auth-state': {'type': 'string'}}}
Added
postSearch
Sept. 11, 2026, 3:33 p.m.
Added
getSearch
Sept. 11, 2026, 3:33 p.m.
Added
getEpisodesGuestChunksChunkIdtxt
Sept. 11, 2026, 3:33 p.m.
Added
getEpisodesGuestChunks
Sept. 11, 2026, 3:33 p.m.
Added
getEpisodesGuestTranscriptformat
Sept. 11, 2026, 3:33 p.m.
Added
getEpisodesGuestMetadatajson
Sept. 11, 2026, 3:33 p.m.
Added
getEpisodesGuest
Sept. 11, 2026, 3:33 p.m.
Added
getEpisodes
Sept. 11, 2026, 3:33 p.m.