Lenny RAG MCP Server

$git clone git@github.com:mpnikhil/lenny-rag-mcp.git && cd lenny-rag-mcp && python -m venv venv && source venv/bin/activate && pip install -e .
README.md

Hierarchical RAG over 299 Lenny Rachitsky podcast transcripts

Lenny RAG MCP Server

An MCP server providing hierarchical RAG over 299 Lenny Rachitsky podcast transcripts. Enables product development brainstorming by retrieving relevant insights, real-world examples, and full transcript context.

Quick Start

# Clone the repository (includes pre-built index via Git LFS)
git clone git@github.com:mpnikhil/lenny-rag-mcp.git
cd lenny-rag-mcp

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate

# Install the package
pip install -e .

Claude Code

claude mcp add lenny --scope user -- /path/to/lenny-rag-mcp/venv/bin/python -m src.server

Or add to ~/.claude.json:

{
  "mcpServers": {
    "lenny": {
      "type": "stdio",
      "command": "/path/to/lenny-rag-mcp/venv/bin/python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/lenny-rag-mcp"
    }
  }
}

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "lenny": {
      "command": "/path/to/lenny-rag-mcp/venv/bin/python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/lenny-rag-mcp"
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project or ~/.cursor/mcp.json globally:

{
  "mcpServers": {
    "lenny": {
      "command": "/path/to/lenny-rag-mcp/venv/bin/python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/lenny-rag-mcp"
    }
  }
}

Replace /path/to/lenny-rag-mcp with your actual clone location in all configs.


MCP Tools

`search_lenny`

Semantic search across the entire corpus. Returns pointers for progressive disclosure.

Parameter Type Description
query string Search query (e.g., "pricing B2B products", "founder mode")
top_k integer Number of results (default: 5, max: 20)
type_filter string Filter by type: insight, example, topic, episode

Returns: Ranked results with relevance scores, episode references, and topic IDs for drilling down.

`get_chapter`

Load a specific topic with full context. Use after search_lenny to get details.

Parameter Type Description
episode string Episode filename (e.g., "Brian Chesky.txt")
topic_id string Topic ID (e.g., "topic_3")

Returns: Topic summary, all insights, all examples, and raw transcript segment.

`get_full_transcript`

Load complete episode transcript with metadata.

Parameter Type Description
episode string Episode filename (e.g., "Brian Chesky.txt")

Returns: Full transcript (10-40K tokens), episode metadata, and topic list.

`list_episodes`

Browse available episodes, optionally filtered by expertise.

Parameter Type Description
expertise_filter string Filter by tag (e.g., "growth", "pricing", "AI")

Returns: List of 299 episodes with guest names and expertise tags.


Data Curation Approach

Hierarchical Extraction

Each transcript is processed into a 4-level hierarchy enabling progressive disclosure:

Episode
├── Topics (10-20 per episode)
│   ├── Insights (2-4 per topic)
│   └── Examples (1-3 per topic)

This allows Claude to start with lightweight search results and drill down only when needed, keeping context windows efficient.

Extraction Schema

{
  "episode": {
    "guest": "Guest Name",
    "expertise_tags": ["growth", "pricing", "leadership"],
    "summary": "150-200 word episode summary",
    "key_frameworks": ["Framework 1", "Framework 2"]
  },
  "topics": [{
    "id": "topic_1",
    "title": "Searchable topic title",
    "summary": "Topic summary",
    "line_start": 1,
    "line_end": 150
  }],
  "insights": [{
    "id": "insight_1",
    "text": "Actionable insight or contrarian take",
    "context": "Additional context",
    "topic_id": "topic_1",
    "line_start": 45,
    "line_end": 52
  }],
  "examples": [{
    "id": "example_1",
    "explicit_text": "The story as told in the transcript",
    "inferred_identity": "Airbnb",
    "confidence": "high",
    "tags": ["marketplace", "growth", "launch strategy"],
    "lesson": "Specific lesson from this example",
    "topic_id": "topic_1",
    "line_start": 60,
    "line_end": 85
  }]
}

Implicit Anchor Detection

Many guests reference companies without naming them ("at my previous company..."). The extraction prompt instructs the model to infer identities based on the guest's background:

  • Brian Chesky saying "when we started" → Airbnb (high confidence)
  • A marketplace expert saying "one ride-sharing company" → likely Uber/Lyft (medium confidence)

This surfaces examples that wouldn't b

Tools (4)

search_lennySemantic search across the entire corpus returning pointers for progressive disclosure.
get_chapterLoad a specific topic with full context including summary, insights, and examples.
get_full_transcriptLoad complete episode transcript with metadata and topic list.
list_episodesBrowse available episodes, optionally filtered by expertise tags.

Configuration

claude_desktop_config.json
{"mcpServers": {"lenny": {"command": "/path/to/lenny-rag-mcp/venv/bin/python", "args": ["-m", "src.server"], "cwd": "/path/to/lenny-rag-mcp"}}}

Try it

Search Lenny's podcast for insights on pricing B2B products.
What does Brian Chesky say about founder mode? Get the full chapter context.
List all episodes related to growth and marketplace strategy.
Find real-world examples of launch strategies used by successful startups in the transcripts.
Get the full transcript for the episode with Brian Chesky to understand his key frameworks.

Frequently Asked Questions

What are the key features of Lenny RAG MCP Server?

Hierarchical RAG processing transcripts into Episodes, Topics, Insights, and Examples.. Semantic search across 299 podcast episodes with relevance scoring.. Progressive disclosure to keep context windows efficient by drilling down from search to specific chapters.. Implicit anchor detection to identify unnamed companies based on guest background.. Expertise-based filtering for browsing episodes by tags like growth, pricing, or AI..

What can I use Lenny RAG MCP Server for?

Product managers looking for expert advice on specific frameworks and growth tactics.. Founders seeking real-world examples of how companies like Airbnb or Uber handled early challenges.. Brainstorming product development strategies using curated insights from industry leaders.. Researching contrarian takes and actionable advice on B2B pricing and leadership..

How do I install Lenny RAG MCP Server?

Install Lenny RAG MCP Server by running: git clone git@github.com:mpnikhil/lenny-rag-mcp.git && cd lenny-rag-mcp && python -m venv venv && source venv/bin/activate && pip install -e .

What MCP clients work with Lenny RAG MCP Server?

Lenny RAG MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use Lenny RAG MCP Server with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free