TextSequence provides 26 tools with consistent naming (verb_noun pattern) and structured schemas. All tools have descriptions and input schemas with typed parameters. However, descriptions are often terse (10-50 chars), parameter descriptions lack detail on constraints/formats, and output schemas are not formally documented. Error handling is present but generic. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Composition is sound, tools chain well via project_id/revision tracking, but descriptions don't guide LLM selection between similar operations (e.g., split_clip vs trim_clip).
Acquire an edit guard for a project scope.
Add a marker to the timeline.
Add a new track to the project.
Analyze silence in a project's audio.
Commit a prepared transaction.
Delete a clip from the project.
Delete a marker from the timeline.
Descriptions are uniformly terse (10-50 chars). Most lack context on WHEN to use the tool, WHAT it returns, or HOW it differs from similar tools. E.g., 'Split a clip at a specific timeline frame' doesn't explain when to split vs trim, or what the output structure is.
Parameter descriptions lack constraint details. E.g., 'timeline_frame' has no min/max; 'edge' in trim_clip says 'in' or 'out' but not as an enum; 'destination' in move_clip is vague ('object with kind, target_track_id, position details') without specifying required/optional fields or valid values.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. Tools marked DESTRUCTIVE (delete_clip, delete_marker, delete_track) should carry destructiveHint=true to signal to LLMs that these are irreversible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Delete a track from the project.
Export the project as a video file.
Get the editor context for an editor session.
Get the timeline for a project.
Import media into a project.
List all projects with summary information.
Move a clip to a new position in the timeline.
Prepare a transaction for the project.
Query the timeline with a custom query.
Release an active edit guard.
Remove silence from a project.
Render a preview of the project.
Renew an active edit guard.
Reorder a track in the project.
Restore a project to a previous revision.
Split a clip at a specific timeline frame.
Trim a clip by removing frames from an edge.
Update an existing marker.
Update an existing track.
Output schemas not formally documented. Tools return structured McpResult/project objects, but the schema for 'timeline', 'context', 'conflicts', and nested objects is not visible in the code. LLMs cannot plan downstream calls without knowing what fields to expect.
Error handling is generic. The _error() function maps exceptions to codes and messages, but does not provide recovery guidance. E.g., 'STALE_REVISION' returns 'Project revision is stale' without suggesting 'Call get_timeline() to fetch the current revision and retry.'