Skip to main content
Glama

Analyze Video

analyze_video
Read-onlyIdempotent

Switch Vision — watch and understand a video (or image) like a human and answer a question about it: scenes, subjects, actions, on-screen text, pacing, mood and sentiment. With timeline true it is Gemini 4: a timeline of every cut and every movement with its second, read at more than 1 frame a second (use it before placing sound effects). Pass video_url (a public https video URL, including YouTube) OR one of your own Switch videos (a video/asset id from list_my_videos / list_my_assets / upload_media). Add an optional question to focus the analysis (e.g. "what is the tone and energy?", "list the cuts and what each shot shows"). Use this whenever the user gives you a reference video and wants its style, energy, structure or content understood — for example before making a new video that matches it.

Input Schema

NameRequiredDescriptionDefault
fpsNoOptional, with timeline: frames read each second, above 0 and up to 24 (Gemini's range). Default 4.
questionNoOptional. What to find out about the video — tone, structure, on-screen text, sentiment, etc.
timelineNoOptional. true for a timeline of every cut and every movement with its second, read by Gemini 4 at more than 1 frame a second; use it before placing sound effects.
video_urlYesA public https video URL (YouTube ok), OR one of your own Switch videos — a video/asset id, or the download_url / view_url from list_my_videos or get_video_status. Switch resolves its own links to the file for you.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / fps
      Added value: +{
      +  "description": "Optional, with timeline: frames read each second, above 0 and up to 24 (Gemini's range). Default 4.",
      +  "type": "number"
      +}
    • addedInput schema / properties / timeline
      Added value: +{
      +  "description": "Optional. true for a timeline of every cut and every movement with its second, read by Gemini 4 at more than 1 frame a second; use it before placing sound effects.",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / video_url / description
      Previous value: -"A public https video URL (YouTube ok), OR one of your own Switch video/asset ids."New value: +"A public https video URL (YouTube ok), OR one of your own Switch videos — a video/asset id, or the download_url / view_url from list_my_videos or get_video_status. Switch resolves its own links to the file for you."
  3. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered; the description adds real context on top: timeline mode routes to Gemini 4 and samples above 1 fps, and Switch auto-resolves its own asset links to a file. It does not disclose cost, latency, or limits on video length, which matters for a video-analysis call.

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 core purpose, then the timeline variant, then input forms, then the usage trigger — a sensible ordering. It is somewhat long and repeats the video_url sourcing rules that the schema already states, which is the main thing keeping it from a 5.

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?

With no output schema, the description carries the burden of describing results, and it does: enumerated analysis dimensions and, for timeline mode, "a timeline of every cut and every movement with its second." What is missing is any sense of output shape when timeline is false, or of size/time cost for long videos.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented; the description mainly restates video_url (public https / YouTube / own asset id) and the question parameter with examples. Only the timeline/fps interaction adds meaning beyond the schema, so the baseline of 3 applies.

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?

States a concrete verb+resource with the outputs enumerated: "watch and understand a video (or image)... scenes, subjects, actions, on-screen text, pacing, mood and sentiment." An agent immediately knows what the call produces. It does not, however, differentiate itself from the sibling analyze_video_report / get_vision_report, which an agent could easily confuse with it.

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 explicit triggers: "Use this whenever the user gives you a reference video and wants its style, energy, structure or content understood — for example before making a new video that matches it," plus a narrower trigger for timeline mode ("use it before placing sound effects"). No when-NOT-to-use or named alternative is given, so it falls short of a 5.

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