Skip to main content
Glama

LLMExpert: cited Q&A over YouTube videos

Transcribe into a new collection

transcribe

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.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "transcribe"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoOne YouTube URL (video, @handle, /channel/UC…, or playlist).
urlsNoSeveral YouTube URLs.
titleNoTitle for the new collection (default: generated).
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.
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 declare readOnlyHint=false and openWorldHint=true; the description carries the real behavioral load. It discloses pricing ($0.01/min, $0.03/min whisper, 1-min minimum), the write-scope auth requirement, the full x402 keyless payment handshake, the never-pay-again rule for 409/502, and the fact that collection_token is shown once and grants keyless read. This is exactly the beyond-annotations context the dimension rewards.

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-loads the core action and pricing, and essentially every sentence carries non-redundant information (pricing, polling, payment flow, retry guard). It is dense and unparagraphed, and the opening 'Charged.' fragment is cryptic in isolation, which costs a point, but there is little padding to cut.

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, no-output-schema, paid, two-auth-mode tool, the description covers what an agent must know: return values (job_id, collection_id, collection_token), terminal statuses, polling cadence, auth requirements, and payment semantics. Nothing critical is left to inference.

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 3 baseline applies, but the description adds meaning the schema does not: quality drives the price differential (standard vs whisper), keyless mode restricts url/urls to one source and at most 3 videos, and quote_id yields an exactly-quoted charge. These constraints are behavioral couplings across parameters that the schema alone would not convey.

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 a specific compound action (create a collection AND start an ingest job) on a specific resource (YouTube URLs) in one call, and disambiguates from siblings like create_collection and add_source by naming the combined behavior. The 'Maps to POST /v1/transcribe' line pins the operation without ambiguity.

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 clear routing: use this for one-shot create+ingest, poll with get_status every 10-30s, and pass a quote_id from quote when you want an exact price. It also states the keyless constraint (one channel-like source, max 3 videos). It stops short of explicitly saying when to prefer create_collection + add_source for adding to an existing collection, so the sibling exclusion is only implicit.

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