Skip to main content
Glama
Pu11en

Channel Brains

by Pu11en

Channel Brains

Tell your AI to install it. It does.

CI Release Python License: MIT

Channel Brains is a local MCP server that indexes the public captions of any YouTube channel into a searchable database on your own machine — then lets your AI coding agent query it with timestamped citations back to the exact second of video.

No API key. No cloud. No account. It runs entirely on your computer.

Paste this into your local AI coding agent (Codex, Claude Code, ZCode, or Hermes):

Get this on yourself: https://github.com/Pu11en/channel-brains

That's the whole instruction. The agent identifies its own client, installs the right plugin, and verifies the six tools. You don't need to know what MCP or a plugin marketplace is.

Why

Every podcast, lecture, and dev stream is a library of knowledge — but video is unsearchable. Channel Brains turns a channel's spoken content into a database your agent can cite. Ask a question, get the answer with a link to the exact moment someone said it.

Related MCP server: tubescribe-mcp

See it

Point Channel Brains at a channel, wait for it to index, then search. Here it is searching Matt Pocock's channel for "generics" — note the timestamped citation back to the source video:

$ channel-brains search_brain --brain-id 8c45c891e781 --query "generics"

rank 1 · Generics: The most intimidating TypeScript feature
       https://youtu.be/dLPgQRbVquo?t=0  (0:00)
       "…we are going to be focusing on 10 tips to make you a master of
       typescript generics… they give you the power to make abstractions, to make
       your code a lot more DRY…"

rank 2 · A Complete Guide To Vercel's AI SDK
       https://youtu.be/mojZpktAiYQ?t=965  (16:05)
       "…use generateObject instead of generateText… we pass it a schema with a
       Zod schema…"

rank 3 · Generics: The most intimidating TypeScript feature
       https://youtu.be/dLPgQRbVquo?t=45  (0:45)

Every result links to the precise second the words were spoken. Your agent gets grounded, quotable evidence — not a hallucination.

How it works

  1. You give your agent a channel URL.

  2. Channel Brains ingests the public captions via yt-dlp (no API key), selecting up to 50 videos by view count, and stores them in a local SQLite FTS5 database.

  3. Ingestion is resumable and rate-limit-aware — it pauses cleanly on HTTP 429 and picks up where it left off.

  4. Your agent searches that database and returns matches with timestamped YouTube links.

It is deliberately small and local:

  • No hosted service, Docker, browser dashboard, embeddings, or LLM runtime

  • No YouTube API key, database server, or cloud account

  • One local SQLite database per user, protected by a cross-process ingestion lock

  • One channel ingestion job at a time, with resumable per-video progress

  • The only network requests are public YouTube requests made by yt-dlp during ingestion

Install

The easy way — paste this to your local AI coding agent and let it install itself:

Get this on yourself: https://github.com/Pu11en/channel-brains

The manual way — requires uv. MCP clients launch the pinned production release with:

uvx --from "git+https://github.com/Pu11en/channel-brains@v0.1.4" channel-brains-mcp

Verify the installation without starting the MCP server or contacting YouTube:

uvx --from "git+https://github.com/Pu11en/channel-brains@v0.1.4" channel-brains-mcp --check

A successful check prints one JSON object with "status": "ok", "transport": "stdio", and "tool_count": 6.

The server communicates only through standard input and output. Do not run it as an HTTP service.

Note: Installation requires a local AI coding agent (Codex, Claude Code, ZCode, or Hermes) that can run commands on your computer. A web-only chat (ChatGPT, Claude.ai) cannot install a local MCP server.

The six tools

Channel Brains exposes exactly these six tools to your agent:

Tool

Purpose

create_brain

Validate a channel URL, persist a brain, and start local ingestion.

get_brain_status

Read a snapshot or wait locally for completion, with progress and no YouTube requests.

list_brain_videos

Page through indexed, skipped, pending, and failed video records.

search_brain

Search local FTS5 caption chunks and return timestamped YouTube citations.

get_video_transcript

Page through stored caption chunks for one indexed video.

delete_brain

Remove a completed brain and all its local records. Active ingestion is refused.

First workflow

  1. Add the server to an MCP client using the install method above.

  2. Call create_brain with a supported YouTube channel URL, such as https://www.youtube.com/@OpenAI.

  3. Immediately call get_brain_status once with wait_until_terminal=true and keep the same turn active until it returns.

  4. Use search_brain to retrieve timestamped caption matches.

The initial ingestion scans the complete channel listing so it can select up to 50 videos by view count. Caption availability and YouTube rate limits determine how much can be indexed.

Configuration

Local data and privacy

By default, Channel Brains stores its SQLite database and lock file in the platform's user-data directory:

  • Windows: %LOCALAPPDATA%\channel-brains-mcp

  • macOS: ~/Library/Application Support/channel-brains-mcp

  • Linux: ~/.local/share/channel-brains-mcp

Set CHANNEL_BRAINS_HOME before launching the MCP server to use another location:

CHANNEL_BRAINS_HOME=/path/to/channel-brains-data uvx --from "git+https://github.com/Pu11en/channel-brains@v0.1.4" channel-brains-mcp

Captions and search indexes stay on the local machine. The only network requests are public YouTube requests made by yt-dlp and caption URL retrieval during ingestion.

Persistent YouTube rate limits

Channel Brains first uses paced anonymous requests and bounded retries. If YouTube keeps returning HTTP 429 from your network, explicitly opt in to one of yt-dlp's authenticated cookie sources in the MCP server environment:

CHANNEL_BRAINS_YOUTUBE_COOKIES_FROM_BROWSER=firefox

Or provide a Netscape-format cookie file:

CHANNEL_BRAINS_YOUTUBE_COOKIES_FILE=/private/path/youtube-cookies.txt

Set only one cookie source. Browser cookies grant the server the same YouTube session access as that browser; keep cookie files private and never commit them. A network proxy can be configured separately with CHANNEL_BRAINS_YOUTUBE_PROXY, using an http, https, socks4, socks5, or socks5h URL. After changing the MCP environment, restart the server and call create_brain again with the same channel URL to resume.

Manual MCP client configuration

The automated install above covers Codex, Claude Code, ZCode, and Hermes. For any other MCP client, the generic server definition is:

{
  "command": "uvx",
  "args": [
    "--from",
    "git+https://github.com/Pu11en/channel-brains@v0.1.4",
    "channel-brains-mcp"
  ]
}

Use a startup/connect timeout of at least 60 seconds. The first uvx run downloads the pinned package and can be slower than later starts.

Per-client configuration snippets (Hermes YAML, Codex TOML, ZCode/OpenCode JSON) are in docs/clients.md.

For AI agents

The automated agent installation flow is fully specified in AGENT_INSTALL.md. If you are an agent that has been asked to install this repository, read that file completely and execute the matching client procedure. Do not start YouTube ingestion during installation; wait for an explicit channel URL and indexing request.

Development and verification

uv sync --extra dev --locked
uv run ruff check .
uv run pytest
uv build

The default test suite is fully offline. The manual live release gate exercises a real channel through caption ingestion and timestamped local search:

uv run pytest -m live tests/test_live_youtube.py

Override the default channel when needed:

CHANNEL_BRAINS_LIVE_CHANNEL=https://www.youtube.com/@OpenAI uv run pytest -m live tests/test_live_youtube.py

YouTube requests are paced. HTTP 429 responses receive bounded retries and then pause the brain without losing completed work. Call create_brain again later with the same channel URL to resume.

Limitations

  • Public YouTube captions can be unavailable, expired, restricted, or rate-limited. No local client can guarantee that an external YouTube request succeeds 100% of the time; Channel Brains guarantees bounded behavior, resumable progress, and explicit status when YouTube refuses a request.

  • Search is lexical SQLite FTS5 search, not semantic search or an answer-generation system.

  • The server indexes captions only. It does not download videos, reuse video footage, or create a knowledge graph.

  • A channel can contain many videos. The first local ingestion may take time.

License

MIT. © Drew Pullen. See LICENSE.

Available Tools

6 tools
create_brainB

Explicitly queue or resume local channel caption indexing.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoen
max_videosNo
channel_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
queuedYes
statusYes
messageYes
brain_idYes
languageYes
max_videosYes
normalized_urlYes
do_not_poll_automaticallyNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden for behavioral disclosure. It only states the action is to queue or resume indexing, without revealing side effects, permissions, idempotency, or potential impact on existing data. This is insufficient for a mutation-like tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundant words. It front-loads the action clearly and is appropriately sized for the information it conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has three parameters and no annotations, the description is too sparse. It omits parameter semantics, call behavior (e.g., what happens on repeated calls), and prerequisites. Although an output schema exists, the description still leaves significant gaps for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, and the description does not mention any of the three parameters (channel_url, language, max_videos). The description adds no clarity about how these parameters influence the indexing behavior, leaving the agent without guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Explicitly queue or resume') and the resource ('local channel caption indexing'), which is specific and distinguishes it from sibling tools that handle status, listing, search, transcript, and deletion. The name 'create_brain' is ambiguous, but the description resolves it by explaining the actual behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Explicitly queue or resume' implies this tool is for manually triggering indexing, but it does not state when to use it versus alternatives, nor does it mention prerequisites or exclusions. There is no explicit guidance on when to prefer this over sibling tools like get_brain_status.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_brainA

Permanently delete one brain only with confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
brain_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
deletedYes
messageYes
brain_idYes
deleted_chunk_countYes
deleted_video_countYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses that deletion is permanent and requires confirm=true, which are critical behavioral traits for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the verb and resource, containing no redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, an output schema exists, and the description covers the permanent nature and confirmation gate. It lacks ownership/permission details but is sufficient for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It clarifies that confirm must be true to execute deletion, adding meaning beyond the schema's default false. brain_id is implicit via 'one brain' and the schema title.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'permanently delete one brain' which is a specific verb+resource. It distinguishes from sibling tools like create, list, search, and transcript.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose is implied and the confirm=true requirement is a clear usage condition, but there is no explicit comparison to alternatives or when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_brain_statusA

Read progress for one brain, or all local brains. Never contacts YouTube.

ParametersJSON Schema
NameRequiredDescriptionDefault
brain_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
brainsYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the burden of behavioral disclosure. It discloses that it reads (read-only), works locally without contacting YouTube, and handles one or all brains based on the parameter. This is valuable context, though it doesn't discuss potential errors, performance, or data formats; however, the output schema covers return structure, so this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences. The first front-loads the action and scope; the second adds a crucial constraint. Every word earns its place with no fluff or repetition of schema information. It is concise and well structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter) and the presence of an output schema, the description covers the essential information: purpose, parameter semantics, and a key behavioral trait (no YouTube contact). The output schema handles return values, and sibling tools provide broader context, so the description is complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one optional parameter with zero description coverage, but the description explicitly explains the parameter's effect: providing a brain_id reads one brain, while omitting it reads all local brains. This fully compensates for the schema's lack of detail and gives the agent clear guidance on how to use the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads progress (specific verb) for either a single brain or all local brains (resource and scope). It distinguishes from siblings by focusing on progress/status rather than creation, listing, search, or deletion, and adds a unique behavioral note (never contacts YouTube).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: use this to read progress for one or all local brains, without contacting YouTube. It implies when to choose this over alternatives (when you need status) and gives a constraint (never contacts YouTube), but it doesn't explicitly mention alternatives or exclusions, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_video_transcriptA

Page through indexed caption chunks for one video. Never contacts YouTube.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
brain_idYes
video_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYes
totalYes
chunksYes
offsetYes
brain_idYes
video_idYes
next_offsetNo
video_titleYes
untrusted_content_warningYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses a key behavioral trait: 'Never contacts YouTube,' indicating a local read operation with no network calls. It also implies pagination via 'Page through,' but doesn't address error handling, auth, or what happens if the video isn't indexed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, with the main action in the first sentence and a critical caveat in the second. It's front-loaded and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple paginated getter, the description covers the core behavior and an important limitation (never contacts YouTube). The presence of an output schema covers return shape details, and the required parameters are in the schema. However, it lacks context about what a 'brain' is and how video_id relates to the index.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description provides no explicit parameter explanations. 'For one video' hints at the video_id parameter and 'Page through' hints at limit/offset, but brain_id is left unexplained. The description does not compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Page through' and identifies the resource as 'indexed caption chunks for one video.' It clearly distinguishes this from sibling tools like search_brain or list_brain_videos by focusing on retrieving transcript content for a single video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context that this tool retrieves captions from an index, and the statement 'Never contacts YouTube' implies it's the offline/local option compared to potential live fetch alternatives. However, it doesn't explicitly say when to use it over search_brain or other siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_brain_videosB

Page through selected videos and outcomes. Never contacts YouTube.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
brain_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYes
totalYes
offsetYes
videosYes
brain_idYes
next_offsetNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It does add value by stating 'Never contacts YouTube', which is a meaningful constraint. However, it does not mention permissions, side effects, or other behavioral traits, so disclosure is only partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two short sentences. Both sentences contribute meaning: the first states the operation and target, the second adds a key constraint. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one required param, output schema present), and the description adequately describes what the tool lists and that it doesn't contact YouTube. However, it lacks usage context and does not clarify what 'selected' means or how this relates to the brain_id parameter, leaving some ambiguity for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides almost no parameter detail. 'Page through' hints at limit/offset, and 'selected videos' may imply brain_id selection, but the description does not clearly map each parameter or explain the required brain_id semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Page through' and clearly identifies the resource as 'selected videos and outcomes', distinguishing it from siblings like search_brain and get_video_transcript. The additional 'Never contacts YouTube' clarifies that this is a local listing operation, not an external API call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus search_brain or get_video_transcript. It implies a listing use case but does not state exclusions or alternatives, leaving the agent to infer the appropriate context from the name and siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_brainB

Return ranked, timestamped caption evidence. Never generates an answer or contacts YouTube.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
brain_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
resultsYes
brain_idNo
brain_statusesYes
presentation_instructionYes
untrusted_content_warningYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses two important behavioral constraints: it never generates an answer and never contacts YouTube. However, it omits other behavioral details such as pagination, sorting, or error handling, so transparency is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. Both sentences convey meaningful constraints and purpose, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three parameters and no annotations, yet the description offers minimal guidance. Even with an output schema, the lack of parameter semantics and usage context leaves the agent under-equipped to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanation of query, limit, or brain_id. The agent must infer semantics solely from parameter names and defaults, which is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns ranked, timestamped caption evidence, which is a specific verb+resource combination. It also explicitly distinguishes itself from answer-generating tools and YouTube contact, differentiating it from siblings like get_video_transcript.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied context (retrieval-focused, not answer generation) but gives no explicit when-to-use guidance or named alternatives. It doesn't say when to prefer search_brain over list_brain_videos or get_video_transcript.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.2
    • First observedcreate_brain
    • First observeddelete_brain
    • First observedget_brain_status
    • First observedget_video_transcript
    • First observedlist_brain_videos
    • First observedsearch_brain

TDQS

A4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct operation: creation, status, listing, search, transcript retrieval, and deletion. No two tools overlap in purpose, so agents can easily distinguish them.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., create_brain, delete_brain, get_video_transcript). The repeated verb 'get' is used clearly for different resource types.

Tool Count5/5

Six tools form a compact, focused set for a YouTube caption indexing server. Each tool serves a clear role without bloat or redundancy.

Completeness5/5

The server covers the full lifecycle: create (index) a brain, check status, list videos, search captions, retrieve transcripts, and delete. No essential operation appears missing for its stated purpose.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers