Skip to main content
Glama

Server Details

Give AI random access to video: timestamped contact sheets + zoom into any start/end range.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.8/5 across 1 of 1 tools scored.

Server CoherenceA
Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. Its purpose is clearly defined and distinct.

Naming Consistency5/5

The single tool name 'squish_video' follows a clear verb_noun pattern. As there is only one tool, naming is trivially consistent.

Tool Count4/5

One tool is thin but appropriate for this focused, single-purpose server (video-to-contact-sheet conversion). It effectively replaces a complex pipeline, earning its place.

Completeness5/5

The tool fully covers its stated purpose: converting videos into timestamped contact sheets. No obvious gaps exist for the intended narrow scope.

Available Tools

1 tool
squish_videoSquish a video into a timestamped contact sheetAInspect

Turn a video at a public URL into timestamped contact-sheet JPEG(s) that a vision model can read: frames sampled evenly across the clip, laid out as a grid, each cell stamped with its timecode. Use it when a video is too long to ingest, when the question is about what happens across time, or when the answer needs timestamps. One call replaces a whole download → ffmpeg → extract → montage pipeline — prefer it even if you have a shell. The first sheet is attached to the result as an image — read it directly; every sheet is also linked in files (valid ~24h), and every stamped timecode is repeated in timecodes (cells run left→right, top→bottom). Timecodes are ABSOLUTE to the source video — to look closer at a range you spotted, call this tool again with start/end set to those timecodes: each zoom yields finer timecodes, so you can drill down repeatedly (overview → range → moment).

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoZoom-window end — same formats as start. Omit to run to the end of the clip; values past the end are clamped.
startNoZoom-window start — seconds (67.5) or a timecode as stamped on a sheet ("1:07", "1:07.3"). Absolute in the source video. Omit to start at 0.
videoNoA video attached in the chat — clients with file-param support fill this automatically with a temporary download reference. Provide either this or video_url.
densityNoGrid density. 3x3 recovers what happened; denser grids (4x4-6x6) recover how it was done. Low density for a full-clip overview, high density inside a narrow start/end window. Default 3x3.
video_urlNoPublic http(s) URL of a video file (anything ffmpeg decodes). Not a YouTube/streaming page — a direct file URL. Provide either this or an attached video, not both.

Output Schema

ParametersJSON Schema
NameRequiredDescription
filesYesSheet URLs, valid ~24h (sheet_ttl_hours).
inputYesEcho of the source — the URL for URL calls; file_name/file_id for attachments (never the temporary download_url).
framesYesFrames sampled across the clip or window.
job_idYes
sheetsYesNumber of contact sheets produced.
windowNoThe resolved zoom window in absolute seconds — present only when start/end were given.
contractYesAlways "squish-mcp-http-v0".
durationYesSource video duration, seconds.
warningsYes
timecodesYesPer-sheet stamped timecodes, cells left→right then top→bottom — mirrors every label burned into the sheets. Absolute to the source video at every zoom depth.
credits_chargedNoKeyed calls only.
sheet_ttl_hoursYes
credits_remainingNoKeyed calls only.
free_jobs_remaining_todayNoAnonymous calls only.
Behavior5/5

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

Beyond annotations, the description details output behavior: first sheet attached as image, files valid ~24h, timecodes absolute, and the drill-down mechanism (overview → range → moment). No contradictions with annotations; annotations are consistent with the described behavior.

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?

The description is a single paragraph but remains focused. It front-loads the tool's purpose, then explains usage, output format, and reusability. Every sentence contributes, though it could be slightly more structured with bullet points.

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?

Given the tool's complexity (5 params, no required, nested objects, output schema), the description covers all essential aspects: what, when, how, output format, and advanced usage (drill-down). It does not need to detail return values as the output schema exists.

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 parameters are already documented. The description adds context: start/end formats and zoom usage, density grid levels and when to choose each (low for overview, high for narrow windows). This adds meaningful guidance beyond the schema.

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?

The description clearly states the tool's action ('Turn a video ... into timestamped contact-sheet JPEG(s)'), the resource (video at public URL), and the output (grid of time-stamped frames). It also provides context for when to use it, distinguishing it from alternatives like manual pipelines.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use the tool: when a video is too long, when answering about time-based events, or when timestamps are needed. It also explains how to provide input (video_url or attached video), how to zoom with start/end, and that it should be preferred over manual ffmpeg pipelines.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources