Skip to main content
Glama

Server status

video_status
Read-only

Checks video ingest readiness by verifying FFmpeg, yt-dlp, JavaScript runtimes, transcription and embedding backends, limits, and index size; reports problems when ingestion would fail.

Instructions

Readiness and capacity: FFmpeg, yt-dlp and its JavaScript runtimes, the transcription and embedding backends, limits, and index size. ready is false, with reasons in problems, when ingest would fail.

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": "video_status"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
indexYesIndex size.
readyYesTrue when ingest and search will work with the current backends.
ffmpegYesPath, or 'missing'.
limitsYesCapacity settings.
yt_dlpYesyt-dlp version.
ffprobeYesPath, or 'missing'.
versionYesServer version.
problemsYesWhat is missing or degraded.
embeddingYesActive embedding model, dimension and where it runs.
state_dirYesWhere the index and media live.
js_runtimesYesJavaScript runtimes yt-dlp can use for YouTube's challenge.
verificationYesEvidence verifier (Jev) and whether video_ask uses it by default.
transcriptionYesActive speech-to-text backend.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely behavioral detail beyond that: it enumerates the concrete subsystems probed and explains the gating semantics of `ready` being false with causes in `problems`. It stops short of saying whether checks are live probes or cached, or how expensive a call is.

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?

Two sentences, no filler, with the subsystem inventory up front and the failure semantics second. The first sentence is a dense comma list, which is slightly harder to scan than prose, but every item listed is real content rather than padding.

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 zero-parameter read tool with annotations covering safety and an output schema covering return values, the description is nearly complete: it says what is checked and what the key readiness signal means. The only missing piece is guidance on when to call it relative to ingest and job-status tools.

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?

The tool takes zero parameters, so there is no parameter ambiguity to resolve and the schema is trivially complete. Baseline 4 applies; nothing in the schema requires additional explanation.

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

Purpose4/5

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

The description names a specific resource set ('FFmpeg, yt-dlp and its JavaScript runtimes, the transcription and embedding backends, limits, and index size') and frames it as readiness/capacity reporting, which is far more informative than the bare name 'video_status'. It doesn't explicitly distinguish itself from the job-status siblings video_job/video_jobs, leaving an agent to infer from 'ingest would fail' that this is server-level rather than per-job.

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?

Usage is only implied: the phrase 'when ingest would fail' hints that this is a pre-flight check before video_ingest, but the tool never states that, nor does it name any alternative or exclusion. An agent can guess the context but is given no explicit routing rule.

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