A music video archive exploration system with 7,139 annotated videos (1966-2026) that allows searching by artist, title, tag, technique, visual grammar, and connections. Provides tools for playback, curation, and recommendation based on visual fingerprints and scholarly annotations.
Match Cut demonstrates strong tool design with clear, action-oriented naming (search_archive, find_by_look, play, keep, forget) and comprehensive descriptions (avg 180 chars, well above 34-char baseline). All 13 tools have detailed descriptions explaining WHAT, WHEN, and WHY. Input schemas are present and properly typed with enums for constrained values (narrative_type, visual_era, motion, brightness, warmth, pace, format). However, output schemas are not documented, LLMs cannot predict response structure for downstream chaining. Parameter descriptions are strong but some lack explicit constraints (e.g., 'limit' has no min/max bounds). Error handling and recovery guidance are absent from tool definitions. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in metadata.
Describe what is in the archive: size, year range, directors, eras and how it was annotated. Use to orient yourself before searching.
Find videos by their VISUAL GRAMMAR rather than by genre or words. Every video is fingerprinted for motion, brightness, warmth, saturation, contrast and average shot length. Use this for "something slower", "something darker and more frantic", or to find a video that LOOKS like another one but comes from a different era.
Find real physical releases you can actually buy for the artist on screen: vinyl, CDs, cassettes. Returns pressings with year, label, catalogue number, country and the lowest price currently listed on the Discogs marketplace, plus a link to buy. Use it when someone likes what is playing and wants to own it, or asks what it is worth. Prices are live, do not guess at them.
Traverse the archive's 49,753 connections. Unlike a similarity score, every edge states its REASON: a shared director, era, movement or tag. Use this to move sideways through the archive and to tell the person WHY one video leads to another.
Remove a video from the person's collection.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination) for downstream tool chaining. E.g., search_archive returns 'ids you can play' but response format is unspecified.
Numeric parameters lack explicit bounds. 'limit' defaults to 12 with max 50, but min is unspecified. 'year_from' and 'year_to' have no range constraints. Unbounded numbers invite invalid LLM inputs.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Metadata declares risk levels (READ_ONLY, WRITE) but these are not exposed in MCP tool definitions, preventing clients from applying safety policies.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Fetch the scholarly annotation for a video: cultural context, curatorial assessment, genre significance, the era it sits in, and the director biography. This is the material to draw facts from. Do not invent facts about a video, call this instead.
Save what is playing to the person's collection, with a short note on why they liked it. This persists in their browser between visits. Call it when they say they like something, want to remember it, or want more like it.
Find videos that match the measured look of everything the person has kept, excluding what they already have. This is recommendation from their own collection rather than from popularity. Use it when they ask what they should watch.
Read what this person has kept, why they kept it, and the SHAPE of it: their average motion, brightness, warmth, saturation, contrast and shot length, plus the narrative types, eras and directors they lean toward. Call this at the start of a session to know who you are talking to, and before recommending anything.
Read what is currently on screen, including how far through it is. Call this before commenting on a video.
Put a video on the screen the person is watching and start it. Call this whenever you name a specific video, including when answering a factual question about one. If you mention it, show it.
Queue several videos as a run with a title. USE THIS for any request that asks for more than one video: a set, a run, a playlist, a block, an hour of something. The videos play through in order automatically and the running order is shown on screen, so do not play them one at a time. Six to ten is a good length. Say what the thread through the set is.
Search 7,139 scholarly annotated music videos (1966-2026) by artist, title, tag, technique or subculture, with optional filters. Returns matches with ids you can play. Use this for "find me something like X" questions.
Error handling and recovery guidance absent. Tool descriptions do not explain what errors can occur, how to interpret them, or what the LLM should do next (retry, ask user, abort).
Parameter 'id' in follow_connection, get_annotation, keep, forget defaults to 'what is playing' but this implicit context dependency is not formalized. LLMs may not understand the fallback behavior.