Second Brain MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Second Brain MCP What did the Lex Fridman podcast say about AGI timelines?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π§ Second Brain MCP
Remember everything you watch and listen to.
A Model Context Protocol server that turns YouTube videos and podcasts into a private, searchable memory β built on the brand-new stateless MCP spec (2026-07-28).
Paste a link once. Ask about it forever.
"What did that video I watched last month say about salary negotiation?"
π§ β "At [12:43] in Never Split the Difference β Chris Voss, he says never to accept the first offer without anchoring highβ¦" β with a deep link that jumps to the exact second.
Why
You watch hours of talks, tutorials, and podcasts β and a week later you can quote none of it. Browser history remembers that you watched something; nothing remembers what it said. Second Brain gives your AI assistant total recall over everything you've ever watched or listened to:
π― Ask across your whole watch history β answers come back with timestamps and deep links to the exact moment.
π Private by design β one local SQLite file. No cloud, no accounts, no API keys. Podcast audio is transcribed locally.
β‘ Zero-key ingestion β YouTube captions are fetched directly; nothing to configure.
ποΈ Nothing is deleted without you β destructive operations use the spec's new multi round-trip (MRTR) approval flow.
Related MCP server: yt
Quickstart
1. Install
Option A β as a tool, straight from GitHub (recommended):
uv tool install git+https://github.com/ravishu5/second-brain-mcpThis installs the second-brain command into ~/.local/bin. Find its absolute path β you'll need it below:
which second-brain # e.g. /Users/you/.local/bin/second-brainOption B β from a local clone (for hacking on it):
git clone https://github.com/ravishu5/second-brain-mcp
cd second-brain-mcp
python3 -m venv .venv && .venv/bin/pip install -e .Your binary is then at <clone-dir>/.venv/bin/second-brain.
2. Connect a client
Always use the absolute path to the binary. GUI apps (like Claude Desktop) don't inherit your shell's
PATH, so a baresecond-braincommand often fails with "Failed to spawn process: No such file or directory".
Claude Code
claude mcp add second-brain -- /absolute/path/to/second-brainClaude Desktop β Settings β Developer β Edit Config, then add:
{
"mcpServers": {
"second-brain": {
"command": "/absolute/path/to/second-brain"
}
}
}
ex: "command": "/Users/ravi/Desktop/mcp/second-brain-mcp/.venv/bin/second-brain" in my caseFully quit (βQ) and reopen Claude Desktop β the server should show as connected under Settings β Developer.
As a stateless HTTP service (deployable behind any load balancer β no sticky sessions, no shared state):
second-brain --http --port 80003. Use it
Talk to your assistant:
βΊ Remember this: https://www.youtube.com/watch?v=8S0FDjFBj8o
βΊ What have I saved about system design?
βΊ What did Lex's guest say about AGI timelines? Link me to the moment.
βΊ Give me a digest of everything I added this week.Tools
Tool | What it does |
| Ingest a YouTube video or podcast episode: fetch transcript, chunk with timestamps, index. |
| BM25 full-text search across every transcript; returns passages with deep links to the exact second. |
| Everything in the brain, newest first, with stats. |
| Read a raw transcript, optionally sliced by time range. |
| What you added recently, rolled up. |
| Delete an item β gated by MRTR user confirmation. |
Podcast transcription is optional (local faster-whisper):
pip install "second-brain-mcp[whisper]"Built on the 2026-07-28 stateless spec
This server is a working showcase of MCP's biggest release since remote MCP launched:
sequenceDiagram
participant U as User
participant C as Client (Claude)
participant S as Second Brain
C->>S: tools/call forget("that crypto video")
S-->>C: resultType: input_required ("Permanently delete? No undo.")
C->>U: Asks for approval
U-->>C: Yes
C->>S: tools/call retry (inputResponses + requestState)
S-->>C: "Forgot 'Crypto Explained' (213 chunks removed)."Stateless by construction. No
initializehandshake, noMcp-Session-Id. Every request is self-contained; protocol metadata rides in_metaper request. Run one instance or twenty behind a load balancer β nothing breaks, because the only durable state is your local SQLite file, addressed through explicit item ids that clients thread between calls (exactly the application-state pattern the spec prescribes).MRTR instead of server-push.
forgetreturnsresultType: "input_required"with an elicitation request; the client gathers your approval and retries withinputResponses. No open streams, no sessions β and nothing is ever deleted without a human saying yes.Header-routable. Under the streamable HTTP transport, gateways can rate-limit
Mcp-Method: tools/call+Mcp-Name: remember(expensive ingestion) differently from cheaprecallreads β without parsing a byte of JSON.SDK v2. Built on
mcpv2.0.0, released alongside the spec. Type hints are the schema;Resolve()powers the MRTR flow.
Architecture
βββββββββββββββ remember(url) ββββββββββββββββ
β Claude / β βββββββββββββββββΊ β ingest.py β YouTube captions (no key)
β any MCP β β β RSS + local whisper
β client β recall(query) ββββββββββββββββ€
β β βββββββββββββββββΊ β store.py β SQLite + FTS5 (BM25)
βββββββββββββββ ββ passages + β ~/.second- β timestamped chunks
deep links β brain/ β
ββββββββββββββββTranscripts are merged into ~450-character chunks, split on silence gaps (usually topic boundaries), each carrying its start/end timestamps β so search hits map back to a playable moment, not just a document.
Troubleshooting
"Server disconnected" / "Failed to spawn process: No such file or directory" β the client can't find the binary. Use the absolute path from
which second-brain(or your venv's.venv/bin/second-brain) in the config, then fully restart the client.macOS:
PermissionError: Operation not permittedon a path under~/Desktop,~/Documents, or~/Downloadsβ macOS blocks other apps from reading those folders. Don't point the client at a venv inside them; install outside instead:uv tool install git+https://github.com/ravishu5/second-brain-mcp(lands in~/.local, which isn't protected). Alternatively grant the client Desktop access under System Settings β Privacy & Security β Files and Folders."No transcript/captions available" β the video has captions disabled; there's nothing to index (yet β see roadmap).
Podcast ingestion errors about whisper β install the optional extra:
pip install "second-brain-mcp[whisper]".Where's my data? One SQLite file at
~/.second-brain/brain.db. Override with theSECOND_BRAIN_DBenv var. Delete the file to wipe the brain.
Development
git clone https://github.com/ravishu5/second-brain-mcp
cd second-brain-mcp
uv sync --extra dev
uv run pytest
uv run mcp dev src/second_brain_mcp/server.py # MCP inspectorRoadmap
Client-side summaries on ingest via MRTR
sampling/createMessage(the client's model writes the summary β still zero server keys)Semantic search (local embeddings) alongside BM25
Browser extension: one-click "remember this"
Whisper speaker diarization for podcasts
PRs welcome β especially ingestion sources (lectures, audiobooks, Twitch VODs).
License
MIT Β© Ravi Shankar
Available Tools
6 toolsdigestA
Summarize what was added to the brain in the last N days.
Inputs: days. Returns: result
forgetA
Permanently delete an item (by id, URL, or title fragment).
Requires explicit user confirmation via the MRTR elicitation flow β nothing is deleted until the user approves.
Inputs: item_ref (required). Returns: result
libraryC
List everything stored in the second brain, newest first.
Inputs: limit. Returns: result
recallA
Search everything ever watched or listened to.
Full-text (BM25) search across all indexed transcripts. Returns the most relevant passages with timestamps and deep links so the exact moment can be replayed. Use this to answer questions like "what did that video say about X?" β then answer from the returned passages, citing timestamps.
Inputs: query (required), limit. Returns: result
rememberA
Add a YouTube video or podcast episode to the second brain.
Pass a YouTube URL, or a podcast RSS feed URL (optionally with an
episode title filter; defaults to the latest episode). The transcript
is fetched, chunked with timestamps, and indexed for search. Returns the
stored item's id β use it with transcript and forget.
Inputs: url (required), episode. Returns: result
transcriptA
Read the raw transcript of one item (by id, URL, or title fragment).
Optionally slice by start/end seconds to pull just one section.
Inputs: item_ref (required), end, start. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 6 tools
Each tool serves a unique function: remember adds content, recall searches, library lists, transcript retrieves raw text, digest summarizes recent additions, and forget deletes. No two tools overlap in purpose, and their descriptions clarify the distinct use cases.
Most tool names are single-word imperative verbs (remember, recall, digest, forget), giving a clear action-oriented pattern. However, 'library' and 'transcript' are nouns, breaking the otherwise consistent verb style, though still predictable in context.
With six tools, the set is well-scoped for a personal knowledge management server. Each tool addresses a core needβadding, searching, listing, reading, summarizing, and deletingβwithout unnecessary bloat or overlap.
The tool surface covers the full lifecycle for stored media: creation (remember), retrieval (recall, library, transcript), summarization (digest), and deletion (forget). There are no obvious gaps or dead ends; the only potential missing operation is update, but it's not essential for this domain.
Related MCP Connectors
An MCP server that provides tools to discover and retrieve podcast episodes transcripts.
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
MCP server for RiverScript, an AI transcription platform - fetches transcripts shared via a link.
MCP server for structured access to Lenny Rachitsky podcast transcripts. For content creators.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables users to retrieve YouTube transcripts and perform video or channel searches without requiring Google API keys. It supports transcript chunking and provides tools for detailed video content analysis and channel metadata extraction.530 npm4MIT
- AlicenseNot gradedqualityNot gradedmaintenanceAn MCP server that provides YouTube data access without API keys or quotas. It enables agents to search videos, retrieve transcripts and metadata, and perform full-text search across cached content for AI context retrieval.3 npm-
- AlicenseNot gradedqualityDmaintenanceMCP server that extracts YouTube video transcripts (including metadata) as Markdown, enabling AI to summarize and discuss video content without watching it.MIT
- AlicenseAqualityDmaintenanceMCP server that lets AI agents search YouTube and fetch transcripts.23MIT