LLMExpert: cited Q&A over YouTube videos

io.llmexpertPublished by llmexpert.ioOfficial publisherv0.3.0Updated Oct 29, 2026

Cited Q&A over 2026 conference talks and YouTube videos. $0.02/query, free daily tier, key or x402.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingKnowledge & MemoryMedia & Design

Overview

AI-generated overview

Remote MCP bridge to the LLMExpert /v1 API for transcribing YouTube videos into collections and asking cited questions about them and about curated 2026…

What you can do
  • Transcribe YouTube URLs into collections, add more sources, and poll ingest jobs
  • Ask cited questions over a collection, a channel's knowledge base, or ~490 curated 2026 conference talks
  • List channels and sources, and fetch a single source with its processing status
  • Retrieve a completed video's transcript with timestamps
  • Check usage, spend and remaining budget, and get a free price quote before paying
When to use it
Useful when you want an assistant to turn YouTube talks or videos into a searchable, citable knowledge base, or to answer questions across conference talks with links to the exact moment. Also handy for checking transcription cost before committing spend.
Requirements
Remote streamable HTTP endpoint at llmexpert.io; no local install. An LLMExpert /v1 API key sent as an Authorization bearer header, or a ct_ collection token for status and transcript calls. Without a key, some tools can be paid in USDC via x402. Network access required.
Before you install
Most tools spend money from the key owner's prepaid balance: transcribe, add_sources, add_source, query_collection, search_talks and query_channel are charged (about $0.02 per query, $0.01/min standard or $0.03/min whisper for ingest, 1-minute minimum per video). Use quote first. The ct_ collection token is shown only once. Without a key, x402 USDC payments are requested and should not be repeated on a 409 or 502.

Installation

In SourceWeft

  1. Open LLMExpert: cited Q&A over YouTube videos in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.llmexpert%2Ftranscription/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "llmexpert-cited-q-a-over-youtube-videos": {
      "type": "http",
      "url": "https://llmexpert.io/mcp"
    }
  }
}

Tools

14

query_channel

Query a channel

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.

Parametersqueryrequiredtop_kchannel_idrequiredsession_idsource_typesidempotency_key

list_channels

List channels

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

Parameterslimitcursor

list_sources

List sources in a channel

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.

Parameterstypelimitcursorstatuschannel_idrequired

get_source

Get a source

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

Parameterssource_idrequired

add_source

Add a source to a channel

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.

Parameterssourcerequiredchannel_idrequiredidempotency_key

get_usage

Get usage and spend

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.

Parametersperiod

quote

Quote an ingest

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.

Parametersurlurlsqualitylanguagechannel_urlchannel_urlscollection_idexclude_shortsmin_duration_secondsmax_videos_per_channel

transcribe

Transcribe into a new collection

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.

Parametersurlurlstitlequalitylanguagequote_idchannel_urlchannel_urlsexclude_shortsidempotency_keymin_duration_secondsmax_videos_per_channel

create_collection

Create an empty collection

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.

Parameterstitlerequiredidempotency_key

add_sources

Add YouTube sources to a collection

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.

Parametersurlurlsqualitylanguagequote_idchannel_urlchannel_urlscollection_idrequiredexclude_shortsidempotency_keymin_duration_secondsmax_videos_per_channel

get_status

Get an ingest job

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.

Parametersjob_idrequired

get_transcript

Get a video's transcript

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.

Parametersformatyoutube_idrequiredcollection_id

query_collection

Query a collection

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.

Parametersqueryrequiredsession_idcollection_idrequiredidempotency_key

search_talks

Search 2026 conference talks

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.

Parametersyearspeakerquestionrequiredconferenceidempotency_key

Version history

4
  1. v0.3.0LatestOct 29, 2026
  2. v0.2.3Oct 22, 2026
  3. v0.2.1Oct 20, 2026
  4. v0.2.0Oct 18, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.