Skip to main content
Glama

Track faces

track_faces
DestructiveIdempotent

Finds every FACE in a video clip and stores one independent path per person — position, size and head rotation (nod/turn/tilt) per frame. Queued, not immediate: poll list_face_tracks until state is 'ready'. Re-running on the same clip REPLACES its previous run and keeps the same trackId, so clips already bound stay bound. A person who leaves the shot and returns much later becomes a SECOND face on purpose — use merge_faces if they are the same person.

Input Schema

NameRequiredDescriptionDefault
nameNoDisplay name for the run.
tokenYesThe session token `connect` returned. Pass it on every call — it says which browser to drive.
clipIdYesThe video clip to scan, from get_timeline.
projectIdYesProject id from get_projects.
holdSecondsNoHow long a vanished face is still 'the same face' when it comes back (default 1).
travelFacesNoHow far it may reappear from where it vanished, in face widths (default 0.8).
scoreThresholdNoDetection confidence floor, 0.3–0.95 (default 0.6).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and idempotentHint=true; the description earns credit by explaining the consequence: re-running REPLACES the previous run but keeps the same trackId, so clips already bound stay bound. It also discloses the asynchronous queued execution model, which annotations do not convey at all.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, zero filler. Ordering is front-loaded from what it does, to how to wait for it, to the replacement semantics, to the escape hatch — the most decision-relevant facts come first.

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?

No output schema exists, and the description covers the async lifecycle and the identity semantics well, which is what an agent needs to call it correctly. The one small gap is that it never says what the immediate call returns (a job or run handle) before polling, so the agent must infer the handoff.

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 baseline is 3, but the description adds real conceptual meaning beyond the schema: it explains why the same person can legitimately become a SECOND face (which is exactly what holdSeconds and travelFaces govern) and routes the agent to merge_faces in that case. It does not name or map to the individual parameters, so it stops short of a 5.

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 states a specific verb (finds) and resource (every FACE in a video clip) plus what is produced: one independent path per person with position, size and head rotation per frame. It also distinguishes itself from two siblings by name — list_face_tracks for polling and merge_faces for identity resolution.

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?

It gives explicit operational routing: the call is queued, so poll list_face_tracks until state is 'ready'. It also explains re-run behavior and names merge_faces as the alternative when two tracks are the same person, so the when/when-not decision is fully spelled out.

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