Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

LLMExpert: cited Q&A over YouTube videos

REMOTE · LLMEXPERT.IO

Ask cited questions across sets of YouTube videos, and get their transcripts. API key or x402 USDC.

Available components

67 Trust /100

Last scanned (10 hours ago)

Scores higher than 56% of remote servers

Reachable. Last reached 24 Oct 2026.

Category Entertainment and Games

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability61
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3383 tokens (~241/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
  • Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 24 Oct 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Schema quality: 2949 → 3383 ▼ functional
    • Schema quality: good → excellent functional
    • Server version: 0.2.4 → 0.3.0 functional
    • New tool “search_talks” functional
  • 23 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “add_source” rewrote its description, which is the text the model reads security
    • Server version: 0.2.3 → 0.2.4 functional
  • 22 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_usage” rewrote its description, which is the text the model reads security
    • Tool “add_sources” rewrote its description, which is the text the model reads security
    • Tool “query_channel” rewrote its description, which is the text the model reads security
    • Tool “query_collection” rewrote its description, which is the text the model reads security
    • Tool “quote” rewrote its description, which is the text the model reads security
    • Tool “transcribe” rewrote its description, which is the text the model reads security
    • Schema quality: good → excellent functional
    • Server version: 0.2.2 → 0.2.3 functional
    • Server version: 0.2.0 → 0.2.2 functional
    • “add_sources” added an optional parameter “exclude_shorts” cosmetic
    • “add_sources” added an optional parameter “min_duration_seconds” cosmetic
    • “quote” added an optional parameter “exclude_shorts” cosmetic
    • “quote” added an optional parameter “min_duration_seconds” cosmetic
    • “transcribe” added an optional parameter “exclude_shorts” cosmetic
    • “transcribe” added an optional parameter “min_duration_seconds” cosmetic
    • “add_sources” reworded the description of “max_videos_per_channel” cosmetic
    • “quote” reworded the description of “max_videos_per_channel” cosmetic
    • “transcribe” reworded the description of “max_videos_per_channel” cosmetic
  • 21 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Oct 26 0
    • Stability: unverified → 0.03 ▲ functional
  • 19 Oct 26 65

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 24 Oct 2026 · Probed https://llmexpert.io/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=llmexpert.io CN=YR1,O=Let's Encrypt,C=US 4 Oct 2026 2 Jan 2027 RSA 2048 SHA256-RSA 6e08d6e977a7184cbbdf67995fe2b03f620
SANs: llmexpert.io
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of llmexpert.io. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 38690, 57355 8, 8 Verified
llmexpert.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://llmexpert.io/mcp Verified 200
http (plaintext) http://llmexpert.io/mcp HTTPS enforced 308 https://llmexpert.io/mcp
MCP tools · 14 exposed · ~3,154 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_source ~163

Add a source to a channel and begin background ingestion. Maps to POST /v1/channels/{channelId}/sources. Only `type: video` is processed today; `document` and `website` are reserved and return a 501 error until released. Charged from the key owner's prepaid balance at the ingest rate: $0.01/min standard, $0.03/min whisper by default, 1-minute minimum per video. A short balance returns a 402 error. Requires the key's `write` scope.

NameTypeReqDescription
channel_idstringyesChannel to add the source to.
idempotency_keystring–Idempotency-Key for safe retries.
source–yesThe source to add (discriminated on `type`).

No output schema declared.

No examples provided.

add_sources ~423

Charged like `transcribe`. Expand the given YouTube URLs, charge for the new work and start an ingest job in an existing collection. Maps to POST /v1/collections/{collectionId}/sources. $0.01/min standard, $0.03/min whisper by default, 1-minute minimum per video. Videos already in the collection are free. Pass a `quote_id` from `quote` to be charged exactly that price. Poll `get_status` every 10–30 s until `status` is completed, partial or failed; `completed` means every accepted video is transcribed and indexed, so the collection is queryable. API key required (the key's `write` scope). Prices are the service defaults; `quote` returns the exact price.

NameTypeReqDescription
channel_urlstring–`https://www.youtube.com/@handle`, `/channel/UC…`, or a playlist URL.
channel_urlsarray–Several channel or playlist URLs.
collection_idstringyesCollection to add the sources to.
exclude_shortsboolean–Skip videos of 3 minutes or less when expanding a channel or playlist (default true); explicit video URLs are never skipped.
idempotency_keystring–Idempotency-Key for safe retries.
languagestring–Optional BCP-47 hint for transcription, e.g. en.
max_videos_per_channelinteger–Newest-first cap on eligible videos per channel or playlist (default 25); Shorts and videos below min_duration_seconds are skipped before the cap.
min_duration_secondsinteger–Skip expanded videos shorter than this many seconds.
qualitystring–Transcription quality (default standard).
quote_idstring–A `quote_id` from `quote`: charges exactly the quoted price (400 if unknown or expired).
urlstring–One YouTube URL (video, @handle, /channel/UC…, or playlist).
urlsarray–Several YouTube URLs.

No output schema declared.

No examples provided.

create_collection ~116

Free. Create an empty collection to add sources to later with `add_sources`. Maps to POST /v1/collections. Returns the collection and its `collection_token` (`ct_…`, shown once: store it; absent on an idempotent replay). API key required (the key's `write` scope). Prices are the service defaults; `quote` returns the exact price.

NameTypeReqDescription
idempotency_keystring–Idempotency-Key for safe retries.
titlestringyesDisplay name for the collection.

No output schema declared.

No examples provided.

get_source ~64

Fetch a single source and its processing status (type-specific provenance included). Maps to GET /v1/sources/{sourceId}. Requires the key's `read` scope.

NameTypeReqDescription
source_idstringyesSource identifier, e.g. src_71b0e4.

No output schema declared.

No examples provided.

get_status ~159

Free. Get an ingest job started by `transcribe` or `add_sources`. Maps to GET /v1/jobs/{jobId}. Poll every 10–30 s until `status` is completed, partial or failed (terminal). `completed` means every accepted video is transcribed and indexed, so the collection is queryable; `partial` means some videos failed and were credited back (`credited_usd`); `videos.completed` / `videos.failed` count progress. Works with an API key or the collection's `ct_` token as the bearer. Prices are the service defaults; `quote` returns the exact price.

NameTypeReqDescription
job_idstringyesThe `job_id` from `transcribe` or `add_sources`.

No output schema declared.

No examples provided.

get_transcript ~199

Free. Get the transcript of a video that is completed in one of your collections. Maps to GET /v1/videos/{youtubeId}/transcript. `collection_id` is required with an API key; with the collection's `ct_` token as the bearer it defaults to the token's collection. `format` is json (segments with timestamps, default) or text (one `[H:MM:SS] text` line per segment). 404 when the video is not completed in that collection, or the transcript predates the transcript cache. Prices are the service defaults; `quote` returns the exact price.

NameTypeReqDescription
collection_idstring–Collection the video is completed in (required with an API key).
formatstring–json (default) or text.
youtube_idstringyesThe 11-character YouTube video id, e.g. dQw4w9WgXcQ.

No output schema declared.

No examples provided.

get_usage ~74

Get usage and spend in dollars for the calling key: the account balance (wallet_usd), this period's spend (consumed_usd), query count, and budget remaining. Maps to GET /v1/usage. Requires the key's `read` scope.

NameTypeReqDescription
periodstring–Billing period (default current).

No output schema declared.

No examples provided.

list_channels ~69

List the channels the calling key is scoped to. Maps to GET /v1/channels. Cursor-paginated. Requires the key's `read` scope.

NameTypeReqDescription
cursorstring–Opaque pagination cursor from a prior response.
limitinteger–Max items (default 25).

No output schema declared.

No examples provided.

list_sources ~115

List the sources (video/document/website) in a channel, optionally filtered by type or status. Maps to GET /v1/channels/{channelId}/sources. Cursor-paginated. Requires the key's `read` scope.

NameTypeReqDescription
channel_idstringyesChannel whose sources to list.
cursorstring–Opaque pagination cursor.
limitinteger–Max items (default 25).
statusstring–Filter by processing status.
typestring–Filter by source type.

No output schema declared.

No examples provided.

query_channel ~171

Run a retrieval-augmented query against a channel's indexed knowledge base and return a generated answer with citations. Maps to POST /v1/query. Requires the key's `query` scope and access to the channel. Charged: $0.02 flat per call by default. Prices are the service defaults; `quote` returns the exact price.

NameTypeReqDescription
channel_idstringyesChannel to query. The key must be scoped to it.
idempotency_keystring–Idempotency-Key for safe retries.
querystringyesThe natural-language question.
session_idstring–Optional session for multi-turn continuity.
source_typesarray–Restrict retrieval to these source types.
top_kinteger–Chunks to retrieve (default 5).

No output schema declared.

No examples provided.

query_collection ~256

Charged: $0.02 flat per call by default, no token multiplier. Ask a question of a collection and get a generated answer with citations. Maps to POST /v1/collections/{collectionId}/query. Query a collection once `get_status` says completed. With an API key it needs the key's `query` scope. Without an API key this tool is payable in USDC via x402: the first call returns a payment-required result (`isError` with the payment requirements in `structuredContent`); an x402-aware MCP client signs and retries the same call with `_meta['x402/payment']`, and the receipt returns in the result's `_meta['x402/payment-response']`. Never pay again after a 409 (already presented) or 502 (settlement unknown) result. Keyless, only the address that paid for the collection may query it. Prices are the service defaults; `quote` returns the exact price.

NameTypeReqDescription
collection_idstringyesCollection to query.
idempotency_keystring–Idempotency-Key for safe retries.
querystringyesThe natural-language question.
session_idstring–Optional session for multi-turn continuity.

No output schema declared.

No examples provided.

quote ~369

Free. Expand YouTube URLs exactly as an ingest would and return the price, the per-video lines and the per-source rejections. Maps to POST /v1/quote. $0.01/min standard, $0.03/min whisper by default, 1-minute minimum per video. The `quote_id` is valid for 15 minutes; pass it to `transcribe` or `add_sources` to be charged exactly this price. Pass `collection_id` to price against an existing collection (videos already in it are free). At least one of url, urls, channel_url, channel_urls. Requires the key's `read` scope. Prices are the service defaults; `quote` returns the exact price.

NameTypeReqDescription
channel_urlstring–`https://www.youtube.com/@handle`, `/channel/UC…`, or a playlist URL.
channel_urlsarray–Several channel or playlist URLs.
collection_idstring–Price against this collection (videos already in it are free).
exclude_shortsboolean–Skip videos of 3 minutes or less when expanding a channel or playlist (default true); explicit video URLs are never skipped.
languagestring–Optional BCP-47 hint for transcription, e.g. en.
max_videos_per_channelinteger–Newest-first cap on eligible videos per channel or playlist (default 25); Shorts and videos below min_duration_seconds are skipped before the cap.
min_duration_secondsinteger–Skip expanded videos shorter than this many seconds.
qualitystring–Transcription quality (default standard).
urlstring–One YouTube URL (video, @handle, /channel/UC…, or playlist).
urlsarray–Several YouTube URLs.

No output schema declared.

No examples provided.

search_talks ~422

Ask a question across about 490 curated 2026 conference talks and get a generated answer whose citations give each talk's video URL (with t=) and start_seconds, plus its conference, year and speakers. Optional filters: conference (one of ai-engineer-worlds-fair, ai-engineer-europe, kubecon-eu, google-cloud-next, microsoft-build, pycon-us, google-io, code-with-claude, openai-devday), year, and speaker (part of a name, case-insensitive; speakers are known for about half the talks, so a speaker filter misses the rest). A filter that matches no talk answers `answer: null` and costs nothing. Maps to POST /v1/search/talks. Charged: $0.02 flat per call by default, or free within the daily free allowance. With an API key it needs the key's `query` scope. Without an API key this tool is payable in USDC via x402: the first call returns a payment-required result (`isError` with the payment requirements in `structuredContent`); an x402-aware MCP client signs and retries the same call with `_meta['x402/payment']`, and the receipt returns in the result's `_meta['x402/payment-response']`. Never pay again after a 409 (already presented) or 502 (settlement unknown) result. Prices are the service defaults; `quote` returns the exact price.

NameTypeReqDescription
conferencestring–Conference slug: ai-engineer-worlds-fair, ai-engineer-europe, kubecon-eu, google-cloud-next, microsoft-build, pycon-us, google-io, code-with-claude, openai-devday.
idempotency_keystring–Idempotency-Key for safe retries.
questionstringyesThe natural-language question.
speakerstring–Part of a speaker name, case-insensitive.
yearinteger–Conference year, e.g. 2026.

No output schema declared.

No examples provided.

transcribe ~554

Charged. Create a collection and start an ingest job for the given YouTube URLs in one call. Maps to POST /v1/transcribe. $0.01/min standard, $0.03/min whisper by default, 1-minute minimum per video. Pass a `quote_id` from `quote` to be charged exactly that price. Returns `job_id`, `collection_id` and `collection_token` (`ct_…`, shown once: store it; it reads this collection without an API key). Poll `get_status` every 10–30 s until `status` is completed, partial or failed; `completed` means every accepted video is transcribed and indexed, so the collection is queryable. With an API key it needs the key's `write` scope. Without an API key this tool is payable in USDC via x402: the first call returns a payment-required result (`isError` with the payment requirements in `structuredContent`); an x402-aware MCP client signs and retries the same call with `_meta['x402/payment']`, and the receipt returns in the result's `_meta['x402/payment-response']`. Never pay again after a 409 (already presented) or 502 (settlement unknown) result. Keyless `transcribe` takes one channel-like source and at most 3 videos. Prices are the service defaults; `quote` returns the exact price.

NameTypeReqDescription
channel_urlstring–`https://www.youtube.com/@handle`, `/channel/UC…`, or a playlist URL.
channel_urlsarray–Several channel or playlist URLs.
exclude_shortsboolean–Skip videos of 3 minutes or less when expanding a channel or playlist (default true); explicit video URLs are never skipped.
idempotency_keystring–Idempotency-Key for safe retries.
languagestring–Optional BCP-47 hint for transcription, e.g. en.
max_videos_per_channelinteger–Newest-first cap on eligible videos per channel or playlist (default 25); Shorts and videos below min_duration_seconds are skipped before the cap.
min_duration_secondsinteger–Skip expanded videos shorter than this many seconds.
qualitystring–Transcription quality (default standard).
quote_idstring–A `quote_id` from `quote`: charges exactly the quoted price (400 if unknown or expired).
titlestring–Title for the new collection (default: generated).
urlstring–One YouTube URL (video, @handle, /channel/UC…, or playlist).
urlsarray–Several YouTube URLs.

No output schema declared.

No examples provided.

Install

How do I install the LLMExpert: cited Q&A over YouTube videos MCP server?

LLMExpert: cited Q&A over YouTube videos is a hosted endpoint at https://llmexpert.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · llmexpert.io

# add to Claude Code
claude mcp add --transport http io-llmexpert-transcription 'https://llmexpert.io/mcp'
Common questions

What is the LLMExpert: cited Q&A over YouTube videos MCP server?

LLMExpert: cited Q&A over YouTube videos is an MCP server listed in the public MCP registry as io.llmexpert/transcription. Ask cited questions across sets of YouTube videos, and get their transcripts. API key or x402 USDC. This page covers its hosted endpoint (https://llmexpert.io/mcp).

Is the LLMExpert: cited Q&A over YouTube videos MCP server safe to use?

LLMExpert: cited Q&A over YouTube videos scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the LLMExpert: cited Q&A over YouTube videos MCP server expose?

LLMExpert: cited Q&A over YouTube videos exposes 14 tools: query_channel, list_channels, list_sources, get_source, add_source, and 9 more. Their descriptions and schemas cost roughly 3,154 tokens of context every time the server is loaded.

Does the LLMExpert: cited Q&A over YouTube videos MCP server require authentication?

No. We connected to LLMExpert: cited Q&A over YouTube videos without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the LLMExpert: cited Q&A over YouTube videos MCP server still maintained?

LLMExpert: cited Q&A over YouTube videos is still listed as active in the MCP registry. We last reached this channel on 24 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.