Skip to main content
Glama

LLMExpert: cited Q&A over YouTube videos

Add YouTube sources to a collection

add_sources

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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "collection_id": "<collection_id>"
    },
    "name": "add_sources"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoOne YouTube URL (video, @handle, /channel/UC…, or playlist).
urlsNoSeveral YouTube URLs.
qualityNoTranscription quality (default standard).
languageNoOptional BCP-47 hint for transcription, e.g. en.
quote_idNoA `quote_id` from `quote`: charges exactly the quoted price (400 if unknown or expired).
channel_urlNo`https://www.youtube.com/@handle`, `/channel/UC…`, or a playlist URL.
channel_urlsNoSeveral channel or playlist URLs.
collection_idYesCollection to add the sources to.
exclude_shortsNoSkip videos of 3 minutes or less when expanding a channel or playlist (default true); explicit video URLs are never skipped.
idempotency_keyNoIdempotency-Key for safe retries.
min_duration_secondsNoSkip expanded videos shorter than this many seconds.
max_videos_per_channelNoNewest-first cap on eligible videos per channel or playlist (default 25); Shorts and videos below min_duration_seconds are skipped before the cap.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / exclude_shorts
      Added value: +{
      +  "description": "Skip videos of 3 minutes or less when expanding a channel or playlist (default true); explicit video URLs are never skipped.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / max_videos_per_channel / description
      Previous value: -"Newest-first cap applied to each channel or playlist (default 25)."New value: +"Newest-first cap on eligible videos per channel or playlist (default 25); Shorts and videos below min_duration_seconds are skipped before the cap."
    • addedInput schema / properties / min_duration_seconds
      Added value: +{
      +  "description": "Skip expanded videos shorter than this many seconds.",
      +  "maximum": 14400,
      +  "minimum": 0,
      +  "type": "integer"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false and openWorldHint=true; the description adds substantial non-obvious behavior: per-minute pricing with a 1-minute minimum, videos already in the collection are free, quote_id freezes the price (400 if unknown/expired), and write-scope API key requirement. This is exactly the context annotations cannot carry.

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

Conciseness4/5

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

Front-loaded with the charge-and-ingest action, then endpoint, pricing, workflow, and auth. Dense and mostly waste-free, though the quote-exactness point is stated twice ('Pass a quote_id...' and 'Prices are the service defaults; quote returns the exact price'), which is mild redundancy.

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?

For a 12-parameter mutating tool with no output schema, the description covers cost model, idempotency expectations, the polling contract for observing completion, and auth scope — enough for an agent to invoke and follow up correctly.

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 100%, so the baseline is 3, but the description adds pricing meaning tied to the `quality` parameter ($0.01/min standard vs $0.03/min whisper) and clarifies quote_id's exactness guarantee, going beyond the schema's field-level notes.

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?

States specific verbs and resource: 'Expand the given YouTube URLs, charge for the new work and start an ingest job in an existing collection', plus the exact endpoint POST /v1/collections/{collectionId}/sources. The plural contrast with the sibling add_source is implicit in 'URLs'/'existing collection' and reinforced by the batch-oriented param set.

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?

Gives concrete workflow guidance: pass a quote_id from quote to lock price, poll get_status every 10-30s until completed/partial/failed, and the auth scope required. It does not explicitly say when to prefer add_sources over the singular add_source sibling, which is the main gap.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources