arsaze-mcp
Server Details
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
- Status
- Healthy
- Uptime
- 79.3% over 23 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- AnrosPrac/arsaze-mcp
- GitHub Stars
- 0
TDQS
Scored across 12 tools
Most tools have clearly distinct roles: ws_ls/ws_read/ws_grep/ws_edit are standard file operations, and the arsaze_show_* tools are separated by singular vs. multiple results. The main ambiguity is between arsaze_call and run_timeline_batch, since both execute Arsaze operations, but the latter is explicitly scoped to chained timeline calls.
Names are uniformly lowercase snake_case, but the pattern is mixed: arsaze_* verbs, ws_* command-style abbreviations, a bare noun tool (arsaze_tools), and a standalone verb phrase (run_timeline_batch). It is readable but not a single consistent verb_noun convention.
Twelve tools is well within the ideal range and each visible tool has a clear purpose. The count feels appropriate because the generic arsaze_call dispatch intentionally keeps the surface small while offloading the larger tool catalogue to on-demand lookup.
Core workflows are covered: estimating cost, viewing credits, generating via the catalogue, displaying results, editing workspace files, and showing review links. Minor gaps exist around explicit project/job management operations, though ws_ls and arsaze_call likely fill those needs indirectly.
Available Tools
12 toolsarsaze_callADestructiveInspect
Run any Arsaze tool from the catalogue by name.
tool: exact name from arsaze_tools (e.g. "split_clip_at"). args: that tool's arguments as an object.
confirm: true only for a destructive/credit-spending tool the user explicitly asked for.
response_detail: "summary" (default — ids + what changed) | "compact" | "full". Over-budget results
come back as a workspace file path to ws_grep/ws_read instead of inline.
fields: dotted paths to return only those parts, e.g. ["clips[].id"]. cursor: next page of a long list.
A bad call returns the tool's exact signature — fix the args and call again.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | ||
| tool | Yes | ||
| cursor | No | ||
| fields | No | ||
| confirm | No | ||
| response_detail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses meaningful runtime behaviors: confirm should be true only for destructive/credit-spending tools explicitly requested by the user; over-budget results are materialized as workspace files; and a bad call returns the exact signature so the agent can fix args. This is rich behavioral detail that the annotations alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly organized: one purpose sentence followed by a compact parameter-by-parameter breakdown. No sentence is redundant, and the failure-mode note at the end earns its place by preparing the agent for the expected recovery action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a dynamic dispatcher with six parameters, no output schema, and a non-read-only, destructive-capable annotation, the description is unusually complete. It covers input semantics, output detail levels, oversized-result handling, pagination, field filtering, and the error contract, leaving little for the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there are six parameters, so the description carries the full burden. It explains every parameter: tool names from arsaze_tools with an example, args as an object, confirm semantics, response_detail options and defaults, fields as dotted paths, and cursor as pagination. This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Run any Arsaze tool from the catalogue by name.' It clearly identifies this as a generic dispatcher and distinguishes it from the specific Arsaze sibling tools by framing them as targets selected via the 'tool' parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: whenever any catalogue tool needs to be invoked, with the tool name sourced from arsaze_tools. It also routes over-budget results to ws_grep/ws_read. However, it does not explicitly state when not to use this tool versus alternatives like run_timeline_batch or direct tool calls, so it stops short of a full when/when-not specification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arsaze_estimate_generation_costARead-onlyInspect
Show the user exactly what a generation will cost in credits BEFORE running it, as an interactive card with a Generate button.
Call this FIRST, instead of asking "shall I generate? it will use some
credits" — you do not know the rate, it is set per plan and per model by
an admin and changes without any code change, so any number you state
from memory will eventually be wrong. This reads the user's real plan
and real balance and prices the run the same way the generation itself
will.
Nothing is charged and nothing is reserved by calling this. It is a
quote. Generation only starts if the user then asks for it.
kind: "video", "image" or "voice".
provider: the model id you intend to use — get real ones from
video_gen.list_providers / image_gen.list_providers, never from
memory. Omit to quote the plan's standard rate for that kind.
duration_seconds: the duration you intend to request. Only affects
duration-priced models; harmless to pass otherwise.
quantity: how many separate generations (e.g. number_of_images).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| provider | No | ||
| quantity | No | ||
| duration_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint=true and destructiveHint=false annotations, the description discloses that the call is a non-charging, non-reserving quote, that it reads the user's real plan and balance, and that it prices identically to the eventual generation. This is valuable behavioral context that annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and result, followed by an explicit usage rule and a compact parameter legend. Every sentence carries necessary information, so the length is justified and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description's promise of an interactive card with a Generate button provides the needed output contract. The non-charge/reservation statement and complete parameter guidance give the agent everything required to invoke it correctly in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description fully compensates by explaining every parameter: allowed kind values, provider sourced from real list_providers calls, duration_seconds only affecting duration-priced models, and quantity as the count of separate generations. Each schema field gains operational meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and resource: show the user, as an interactive quote card, exactly what a generation will cost in credits before running it. It clearly frames the tool as a quote and distinguishes it from generation tools and the credits-display sibling arsaze_show_credits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to call: FIRST, before any generation, instead of asking a generic 'shall I generate?' or guessing rates. The rationale that rates are admin-set and change without code changes, plus the caveat that generation only starts if the user follows up, gives the agent a clear decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arsaze_show_creditsARead-onlyInspect
Show the user's real credit balance, plan and usage limits as a card.
Use this when they ask what they have left, or when a generation was refused for insufficient credits. Rendering/export is a separate, hour-based limit (not credits) — shown alongside the AI credit balance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is covered. The description adds useful behavioral context beyond annotations: it shows the 'real' credit balance, presents output 'as a card', and clarifies that rendering/export limits are displayed alongside but are not credit-based. This goes beyond simple annotation restatement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core purpose appears in the first sentence, followed by explicit usage triggers and a clarifying exclusion. Every sentence contributes useful information with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only information tool with no output schema, the description fully covers what the tool does, when to use it, and what it does not cover. An agent has enough context to invoke it correctly and set appropriate user expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage, so there is nothing about parameters for the description to explain. The baseline of 4 applies because no parameter-semantic burden exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Show') and clearly identifies the resource: the user's real credit balance, plan, and usage limits, presented as a card. It also distinguishes the tool's scope from rendering/export limits, which are separate hour-based limits, making the purpose unmistakable even among many siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: when the user asks what they have left, or when a generation was refused due to insufficient credits. It also provides a when-not case by clarifying that rendering/export is a separate hour-based limit, not credits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arsaze_show_generated_assetARead-onlyInspect
Display ONE finished generation as a playable, downloadable card.
Use this instead of pasting a URL into the chat once a video_gen /
image_gen / voice job is done — the user gets an inline player and a
real Download button rather than a link they have to copy. Works for a
job that is still running too: it shows the live status instead of a
result.
For several results at once, use arsaze_show_generated_results.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds user-facing behavior: inline player, real Download button, and live status for running jobs. It doesn't describe auth requirements or the returned object to the agent, but for a read-only display tool the added behavioral context is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short paragraphs, each earning its place: purpose, main usage condition, and the sibling for the alternative case. Front-loaded with the core description; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one required parameter and no output schema, the description covers the key decisions: what it does, when to use it, and how it differs from the sibling. The only notable gap is the absence of details about the MCP response format, but given the tool's display purpose and read-only annotations, it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage for job_id, so the description must compensate. It does by explaining that the job is a video_gen/image_gen/voice job and that it can be running or done, giving a clear semantic anchor. It doesn't specify the format of job_id or how to obtain it, leaving some ambiguity, but the contextual mention of job types is meaningful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Display') and resource ('ONE finished generation') as a playable/downloadable card, and explicitly distinguishes from the sibling arsaze_show_generated_results. The description clarifies scope (one vs several) and even handles running jobs, so an agent can tell exactly what this tool does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit 'use this instead of pasting a URL' rule for completed video_gen/image_gen/voice jobs, and explicitly names the alternative arsaze_show_generated_results for multiple results. Also clarifies behavior for running jobs. This is direct when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arsaze_show_generated_resultsARead-onlyInspect
Display SEVERAL finished generations together as one grid, each downloadable.
Use this whenever a single request produced more than one result — a batch image generation returns one job id per image, and showing them as separate cards floods the conversation. Pass every job id from the batch; ones still running show as pending rather than being dropped, so the user can see the whole set.
| Name | Required | Description | Default |
|---|---|---|---|
| job_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds value beyond annotations by disclosing that running jobs show as pending rather than being dropped, and that each result is downloadable. This gives behavioral context the annotations don't provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short paragraphs, front-loading the purpose and then adding usage context. The second paragraph is slightly verbose but each sentence earns its place by explaining when to use the tool and how it behaves with pending jobs. No irrelevant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only display tool with no output schema, the description covers the purpose, the when-to-use condition, and behavioral details about pending items. It gives an agent enough to decide when and how to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description fully compensates by explaining the 'job_ids' parameter: 'Pass every job id from the batch; ones still running show as pending.' This directly clarifies the parameter's meaning and behavior, which the bare schema does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Display SEVERAL finished generations together as one grid, each downloadable.' It clearly distinguishes this from the sibling arsaze_show_generated_asset by emphasizing multiple results in a grid, so an agent can tell them apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'whenever a single request produced more than one result — a batch image generation returns one job id per image.' It explains why (separate cards flood the conversation) and gives context about passing all job ids. It doesn't name the alternative for single results, but the condition is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arsaze_show_review_linkARead-onlyInspect
Display an existing Remarker review link as a card with an "Open review page" button and a copyable password.
Use this right after remarker.create_share instead of typing the link
and password out as chat text. Pass that call's returned plaintext
password through as `password` — it is shown exactly once and only a
hash is stored, so if it is not passed here it cannot be recovered and
the card will show the link alone.
This only displays a share that already exists. It cannot create one,
and it cannot read back a password that was not handed to it.
| Name | Required | Description | Default |
|---|---|---|---|
| password | No | ||
| share_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral detail beyond the annotations (readOnlyHint, destructiveHint): the password is shown exactly once, only a hash is stored, and it cannot be recovered if not passed. These are critical operational constraints that the agent would not know from the schema or annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short paragraphs: purpose first, then usage guidance, then constraints. Each sentence adds necessary information with no redundancy or filler. The structure is front-loaded and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only display tool with no output schema, the description provides sufficient context for correct invocation: what it displays, when to use it, and the password caveat. It doesn't describe return values, but that is not essential for a tool whose visible effect is the card itself. The missing piece, explicitly describing `share_id` as the share identifier, is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description must carry the explanatory burden. It thoroughly explains the `password` parameter (passed from create_share, shown once, non-recoverable) and implies `share_id` is the ID returned by create_share. It compensates well, though `share_id` is not explicitly named as the create_share result, leaving slight ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Display'), a specific resource ('existing Remarker review link'), and the concrete output format (card with 'Open review page' button and copyable password). It explicitly differentiates from creation tools by noting it cannot create a share, making it easily distinguishable from siblings like remarker_create_share.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: 'Use this right after remarker.create_share instead of typing the link and password out as chat text.' It also clarifies the boundary ('It cannot create one, and it cannot read back a password that was not handed to it'), telling the agent when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arsaze_toolsARead-onlyIdempotentInspect
Arsaze's tool catalogue — served on demand instead of loaded up front.
No arguments: every tool name, grouped by domain (a table of contents).
names=[...]: exact signatures + parameter docs for those tools — do this before the first arsaze_call to a tool.
query='split a clip': the best-matching tools — and workspace files, for reads — best first.
Signatures read `param?: type` for optional params. Reads are not tools — they're files (ws_ls).
| Name | Required | Description | Default |
|---|---|---|---|
| names | No | ||
| query | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds valuable behavioral context: on-demand serving, mode-dependent outputs, and the specific note that reads are not tools but files (ws_ls). This goes beyond annotation basics without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, with each mode on its own line and the key fact (on-demand catalogue) front-loaded. Every sentence adds necessary information with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description reasonably covers invocation modes and expected outcomes. The only notable gap is that it doesn't clarify whether names and query can be used together, which could confuse an agent. Overall it is nearly complete for a quick-reference tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully compensate. It does: it explains the no-argument default, names mode returning signatures/param docs, query mode returning best-matching tools, and the `param?: type` optional-param notation. This is far beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as an on-demand tool catalogue with three explicit modes: no arguments for a table of contents, names for signatures, and query for best-matching tools. It differentiates itself from operational siblings like arsaze_call and ws_ls by being a discovery/metadata tool, not an action tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit context: use names before the first arsaze_call, use query for matching, and it distinguishes reads as files handled by ws_ls. However, it doesn't explicitly state when not to use this tool versus other siblings beyond reads, and it leaves the relationship between names and query (mutually exclusive vs combinable) unstated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_timeline_batchAIdempotentInspect
Run MULTIPLE timeline-tool calls in ONE request, where a LATER step can reference a value produced by an EARLIER step in the SAME batch — the fix for 'split this clip, then move just the second half': you don't know the new second-half clip's id until AFTER the split has actually run, so normally that needs two separate turns. In a batch, give the split step a step_id (e.g. "step1"), and reference its result in a later step's args as a string like "$step1.timeline.tracks.0.clips.-1.id" (dotted path into that step's own JSON result; a numeric segment like -1 indexes into a list, -1 = the last item — the newest clip on a track after a split/add is always last). tracks.N here is ordered by (video/overlay tracks first, then audio; ascending index within each) — NOT by when the track was created — so tracks.0 reliably means 'the lowest-index video track' even if an empty leftover track exists elsewhere. Still, prefer referencing a clip/track by its literal id once you have one (e.g. from an earlier step's own clip_ids or a job//timeline.txt call) over a tracks.N/clips.N positional path when you're not certain which position you mean — positional indexing is a convenience for the common 'the track/clip I just touched' case, not a stable general-purpose address. Every step's tool must be a real timeline tool name (job//timeline.txt first if you need to see a tool's exact result shape before referencing it). All-or-nothing: the first step that fails stops the whole batch immediately and later steps never run — check each entry in the response's step_results for where it stopped. Use this whenever a plan has TRUE ordering dependencies (step 2 needs data step 1 just created); for independent clips with no cross-references, add_clips_to_timeline is simpler.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | ||
| fields | No | ||
| job_id | Yes | ||
| response_detail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds significant behavioral context: all-or-nothing execution, the ability to reference earlier step results, track ordering semantics, and the caveat about positional indexing. This goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but densely informative. It front-loads the core purpose, then systematically explains referencing, ordering, failure behavior, and usage guidance. Every sentence adds value, though it could be slightly more concise without losing essential details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with dependencies and referencing, the description is remarkably complete. It covers the referencing syntax, track ordering, failure semantics, and how to inspect result shapes via timeline.txt. It also explains the all-or-nothing behavior and where to check step_results. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It thoroughly explains the `steps` parameter: how to assign step_id, reference results with dotted paths, and the meaning of tracks.N ordering. It also implies usage of job_id through examples. It does not detail `fields` or `response_detail`, but those have defaults and are less critical.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: running multiple timeline-tool calls in one request with cross-step dependencies. It names the specific resource (timeline tools) and the action (batch execution with referencing), and differentiates from the sibling add_clips_to_timeline by noting it's simpler for independent clips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'Use this whenever a plan has TRUE ordering dependencies' and when not to: 'for independent clips with no cross-references, add_clips_to_timeline is simpler.' Also provides guidance on referencing paths and the all-or-nothing failure behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_editAInspect
Edit the project by editing its files — exact old→new replacement, like editing code. job//transcript.txt, transcript/.txt, words/.txt: delete words, phrase lines or pause lines to CUT them from the edit. job//timeline.txt: delete a clip line (remove clip), change its start (move), move the line under another track header (change track), change its src range (trim) or x. project//scenes//document.html: any edit. Applied as ONE undoable, all-or-nothing batch. dry_run=true returns the operations without applying. old must be copied exactly from a fresh ws_read.
| Name | Required | Description | Default |
|---|---|---|---|
| new | Yes | ||
| old | Yes | ||
| path | Yes | ||
| confirm | No | ||
| dry_run | No | ||
| replace_all | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses atomicity ('Applied as ONE undoable, all-or-nothing batch') and dry_run behavior, which are not present in the annotations. It also emphasizes the exact-match requirement for `old`. These details add valuable behavioral context beyond the sparse annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but purposeful: every sentence adds operational detail, organized by file type and then by global behavior. It front-loads the core purpose before diving into specifics, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's scope for each supported file type, batch behavior, and a critical prerequisite (fresh ws_read). Given no output schema, it does not detail return values, but it addresses the main decisions an agent needs to invoke the tool correctly. Minor gaps remain around `confirm` and `replace_all`.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must carry parameter meaning. It clarifies that `old`/`new` are exact replacement strings and that `dry_run=true` returns operations without applying. However, it does not explain `confirm` or `replace_all`, leaving those parameters ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Edit the project by editing its files — exact old→new replacement, like editing code,' clearly stating a specific verb and resource. It then enumerates file types and operations, which distinguishes it from read-only siblings like ws_read and ws_grep.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear prerequisite: 'old must be copied exactly from a fresh ws_read,' linking to the correct read tool. It also explains dry_run for previewing. However, it does not explicitly mention when to use alternatives like run_timeline_batch, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_grepARead-onlyIdempotentInspect
Search a workspace file (or a per-clip / per-link directory such as job//words) with a regex; returns path:line:text for each hit. context = lines shown around each hit (max 5).
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| context | No | ||
| pattern | Yes | ||
| ignore_case | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that the tool is read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds useful behavioral details beyond annotations: it returns path:line:text and explains that context controls the number of surrounding lines shown, capped at 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences deliver the core operation, target, output format, and context parameter semantics without wasted words. The essential information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and read-only/idempotent annotations, the description covers enough to invoke the tool correctly: required path and pattern, output format, and context semantics. The only meaningful gap is the undocumented ignore_case parameter, whose default is visible in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden for parameter meaning. It explains path (file or directory), pattern (regex), and context (lines around each hit, max 5), but omits ignore_case behavior. This is strong compensation, though incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search'), a clear resource ('a workspace file or ... directory'), and the output format ('path:line:text'). This clearly distinguishes ws_grep from sibling tools like ws_read and ws_ls, which read or list rather than search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: searching files or directories such as job/<job_id>/words with a regex. It does not explicitly name alternatives or exclusion conditions, but the intended usage is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_lsARead-onlyIdempotentInspect
List workspace files. '' shows the whole layout; 'job/' or 'project/' lists that scope's files; 'job//transcript' (or words, review/shares) lists one file per clip/link.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds useful behavioral context beyond annotations by specifying how the path parameter changes the output granularity (whole layout vs. scope-specific files vs. one file per clip/link).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core action, and every sentence contributes concrete path-scoping information. The parenthetical shorthand is compact and effective, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with a single optional parameter and an output schema, the description is complete. It explains all documented path patterns and leaves return-value details to the output schema, so nothing essential for invoking the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden of explaining the 'path' parameter. It does so thoroughly with three illustrative patterns, including the default empty-string behavior, which makes the parameter semantics clear and actionable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'List workspace files,' a specific verb and resource, and then details the exact path patterns that control the listing scope. This clearly distinguishes it from sibling tools like ws_read (reading content) and ws_grep (searching).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on how to use the tool through concrete path examples ('' for whole layout, 'job/<job_id>', 'project/<project_id>', 'job/<job_id>/transcript'). It does not explicitly name alternatives or say when not to use this tool, but the operation is clear enough that the intended usage is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_readARead-onlyIdempotentInspect
Read a workspace file with line numbers — e.g. projects.txt, job//timeline.txt, job//review/brief.txt, project//assets.txt. At most ~250 lines per call; pass start_line/end_line (1-based, inclusive) for a range. Grep first on long files.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| end_line | No | ||
| start_line | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds valuable behavioral details beyond those: line-numbered output, a ~250-line limit per call, and 1-based inclusive start/end semantics. This is meaningful supplementary information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences convey action, output shape, range syntax, line limit, and an efficiency tip without filler. The structure is front-loaded and every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read tool with a rich output schema and safety annotations, the description covers the essential operational concerns: path examples, line cap, range semantics, and grep-first advice. A minor gap is not stating what happens if a range is omitted or if a file exceeds the line limit without a range.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden. It explicitly explains start_line/end_line as a 1-based inclusive range, but the path parameter is only illustrated with examples rather than formally specified. The default behavior when start_line/end_line are omitted is also left implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair, 'Read a workspace file with line numbers,' and reinforces it with concrete path examples. This clearly differentiates ws_read from its write/sibling tools like ws_edit, ws_grep, and ws_ls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical context: use it for reading specific workspace files, and 'Grep first on long files' explicitly steers agents toward the grep alternative for lengthy content. It does not enumerate exclusions for all siblings, but the read-only intent and line-range usage are clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
184 tool updates
- Removed
add_audio_transition - Removed
add_clip_to_timeline - Removed
add_clips_to_timeline - Removed
add_empty_track - Removed
add_transition_to_timeline - Removed
animate_create_scene - Removed
animate_get_layers - Removed
animate_get_scene - Removed
animate_list_scenes - Removed
animate_patch_document - Removed
animate_save_to_assets - Removed
animate_update_layers - Removed
animate_write_document - Removed
apply_auto_cut_silence - Removed
apply_isolated_voice_to_clip - Added
arsaze_call - Added
arsaze_tools - Removed
assets_add_to_library - Removed
assets_add_to_project - Removed
assets_analyze - Removed
assets_delete - Removed
assets_lookup - Removed
assets_move - Removed
assets_rename - Removed
assets_search - Removed
assets_set_note - Removed
broll_create - Removed
broll_delete - Removed
broll_generate - Removed
broll_get - Removed
broll_list - Removed
broll_update - Removed
close_all_timeline_gaps - Removed
close_track_gaps - Removed
color_auto_balance - Removed
color_copy_grade - Removed
color_list_luts - Removed
color_match_reference - Removed
color_reset_grade - Removed
color_set_basic - Removed
color_set_finish - Removed
color_set_layer_enabled - Removed
color_set_lut - Removed
color_set_match - Removed
content_strategy_approve_seo - Removed
content_strategy_draft_seo - Removed
create_caption_set - Removed
cutout_create - Removed
cutout_get_status - Removed
delete_caption_set - Removed
delete_timeline_text_range - Removed
detach_audio_from_clip - Removed
duck_track_to_speech - Removed
duplicate_clip - Removed
feedback_report - Removed
folders_create - Removed
folders_delete - Removed
folders_get_contents - Removed
folders_get_root_contents - Removed
folders_move - Removed
folders_rename - Removed
generate_auto_captions - Removed
get_asset_knowledge - Removed
get_caption_set - Removed
get_timeline_intelligence - Removed
image_gen_generate - Removed
image_gen_get_job - Removed
image_gen_list_history - Removed
image_gen_list_providers - Removed
insert_transition - Removed
jobs_create_empty - Removed
jobs_export - Removed
jobs_get - Removed
jobs_get_styles - Removed
jobs_list - Removed
list_caption_sets - Removed
list_sfx_library - Removed
luts_apply - Removed
luts_list - Removed
luts_upload - Removed
match_clip_color_to_reference - Removed
mcp_results_fetch - Removed
move_clip_in_timeline - Removed
planning_publish_plan - Removed
planning_todo_write - Removed
playground_create - Removed
playground_delete - Removed
playground_get - Removed
playground_list - Removed
playground_run - Removed
playground_update - Removed
projects_create - Removed
projects_delete - Removed
projects_get - Removed
projects_list - Removed
projects_rename - Removed
redo_timeline - Removed
remarker_add_comment - Removed
remarker_create_share - Removed
remarker_export_markers - Removed
remarker_get_director_brief - Removed
remarker_get_reaction_track - Removed
remarker_get_review_inbox - Removed
remarker_get_review_results - Removed
remarker_get_share_analytics - Removed
remarker_get_version_timeline - Removed
remarker_list_shares - Removed
remarker_revoke_share - Removed
remarker_set_comment_status - Removed
remarker_share_detail - Removed
remarker_update_share - Removed
remove_clip_from_timeline - Removed
remove_clips_bulk - Removed
render_timeline - Removed
reorder_timeline_text_range - Removed
ripple_delete_clip - Removed
ripple_delete_clips - Removed
ripple_trim_clip - Removed
roll_edit_clips - Removed
set_clip_chroma_key - Removed
set_clip_color_wheels - Removed
set_clip_fade - Removed
set_clip_generator - Removed
set_clip_hsl_secondary - Removed
set_clip_keyframe - Removed
set_clip_link_broken - Removed
set_clip_rgb_curves - Removed
set_clip_speed_in_timeline - Removed
set_clip_speed_ramp - Removed
set_track_compressor - Removed
set_track_eq_automation - Removed
set_track_hidden - Removed
set_track_locked - Removed
set_track_loudness - Removed
set_track_noise_reduction - Removed
set_track_reverb - Removed
shift_clip_to_adjacent_track - Removed
skillbank_get - Removed
skillbank_search - Removed
slide_clip - Removed
slip_clip - Removed
split_clip_at - Removed
timeline_delete_all_caption_clips - Removed
timeline_delete_clips_bulk - Removed
timeline_get_transcript - Removed
timeline_set_color_grade - Removed
timgit_branch_from_saved_version - Removed
timgit_checkout_version - Removed
timgit_create_branch - Removed
timgit_declare_saved_version - Removed
timgit_delete_saved_version - Removed
timgit_delete_saved_version_branch - Removed
timgit_diff_versions - Removed
timgit_get_graph - Removed
timgit_get_saved_version_graph - Removed
timgit_list_saved_versions - Removed
timgit_list_versions - Removed
timgit_merge_branches - Removed
timgit_promote_saved_version - Removed
timgit_rename_saved_version - Removed
timgit_restore_saved_version - Removed
transitions_list - Removed
trim_clip_in_timeline - Removed
undo_timeline - Removed
update_caption_set - Removed
video_gen_generate - Removed
video_gen_get_job - Removed
video_gen_list_history - Removed
video_gen_list_jobs - Removed
video_gen_list_providers - Removed
voice_generate_music - Removed
voice_generate_sound_effect - Removed
voice_get_generation_job - Removed
voice_isolate_voice - Removed
voice_list_history - Removed
voice_list_models - Removed
voice_list_voices - Removed
voice_preview_music_composition_plan - Removed
voice_stream_generation_job - Added
ws_edit - Added
ws_grep - Added
ws_ls - Added
ws_read - Removed
youtube_find_segments
10 tool updates
- Added
color_auto_balance - Added
color_copy_grade - Added
color_list_luts - Added
color_match_reference - Added
color_reset_grade - Added
color_set_basic - Added
color_set_finish - Added
color_set_layer_enabled - Added
color_set_lut - Added
color_set_match
4 tool updates
- Removed
add_animation_with_audio - Removed
animate_save_as_animation - Added
animate_save_to_assets - Changed
broll_generate1 field changed- added
Input schema / properties / asset_idAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Asset Id" +}
175 tool updates
- First observed
add_animation_with_audio - First observed
add_audio_transition - First observed
add_clip_to_timeline - First observed
add_clips_to_timeline - First observed
add_empty_track - First observed
add_transition_to_timeline - First observed
animate_create_scene - First observed
animate_get_layers - First observed
animate_get_scene - First observed
animate_list_scenes - First observed
animate_patch_document - First observed
animate_save_as_animation - First observed
animate_update_layers - First observed
animate_write_document - First observed
apply_auto_cut_silence - First observed
apply_isolated_voice_to_clip - First observed
arsaze_estimate_generation_cost - First observed
arsaze_show_credits - First observed
arsaze_show_generated_asset - First observed
arsaze_show_generated_results - First observed
arsaze_show_review_link - First observed
assets_add_to_library - First observed
assets_add_to_project - First observed
assets_analyze - First observed
assets_delete - First observed
assets_lookup - First observed
assets_move - First observed
assets_rename - First observed
assets_search - First observed
assets_set_note - First observed
broll_create - First observed
broll_delete - First observed
broll_generate - First observed
broll_get - First observed
broll_list - First observed
broll_update - First observed
close_all_timeline_gaps - First observed
close_track_gaps - First observed
content_strategy_approve_seo - First observed
content_strategy_draft_seo - First observed
create_caption_set - First observed
cutout_create - First observed
cutout_get_status - First observed
delete_caption_set - First observed
delete_timeline_text_range - First observed
detach_audio_from_clip - First observed
duck_track_to_speech - First observed
duplicate_clip - First observed
feedback_report - First observed
folders_create - First observed
folders_delete - First observed
folders_get_contents - First observed
folders_get_root_contents - First observed
folders_move - First observed
folders_rename - First observed
generate_auto_captions - First observed
get_asset_knowledge - First observed
get_caption_set - First observed
get_timeline_intelligence - First observed
image_gen_generate - First observed
image_gen_get_job - First observed
image_gen_list_history - First observed
image_gen_list_providers - First observed
insert_transition - First observed
jobs_create_empty - First observed
jobs_export - First observed
jobs_get - First observed
jobs_get_styles - First observed
jobs_list - First observed
list_caption_sets - First observed
list_sfx_library - First observed
luts_apply - First observed
luts_list - First observed
luts_upload - First observed
match_clip_color_to_reference - First observed
mcp_results_fetch - First observed
move_clip_in_timeline - First observed
planning_publish_plan - First observed
planning_todo_write - First observed
playground_create - First observed
playground_delete - First observed
playground_get - First observed
playground_list - First observed
playground_run - First observed
playground_update - First observed
projects_create - First observed
projects_delete - First observed
projects_get - First observed
projects_list - First observed
projects_rename - First observed
redo_timeline - First observed
remarker_add_comment - First observed
remarker_create_share - First observed
remarker_export_markers - First observed
remarker_get_director_brief - First observed
remarker_get_reaction_track - First observed
remarker_get_review_inbox - First observed
remarker_get_review_results - First observed
remarker_get_share_analytics - First observed
remarker_get_version_timeline - First observed
remarker_list_shares - First observed
remarker_revoke_share - First observed
remarker_set_comment_status - First observed
remarker_share_detail - First observed
remarker_update_share - First observed
remove_clip_from_timeline - First observed
remove_clips_bulk - First observed
render_timeline - First observed
reorder_timeline_text_range - First observed
ripple_delete_clip - First observed
ripple_delete_clips - First observed
ripple_trim_clip - First observed
roll_edit_clips - First observed
run_timeline_batch - First observed
set_clip_chroma_key - First observed
set_clip_color_wheels - First observed
set_clip_fade - First observed
set_clip_generator - First observed
set_clip_hsl_secondary - First observed
set_clip_keyframe - First observed
set_clip_link_broken - First observed
set_clip_rgb_curves - First observed
set_clip_speed_in_timeline - First observed
set_clip_speed_ramp - First observed
set_track_compressor - First observed
set_track_eq_automation - First observed
set_track_hidden - First observed
set_track_locked - First observed
set_track_loudness - First observed
set_track_noise_reduction - First observed
set_track_reverb - First observed
shift_clip_to_adjacent_track - First observed
skillbank_get - First observed
skillbank_search - First observed
slide_clip - First observed
slip_clip - First observed
split_clip_at - First observed
timeline_delete_all_caption_clips - First observed
timeline_delete_clips_bulk - First observed
timeline_get_transcript - First observed
timeline_set_color_grade - First observed
timgit_branch_from_saved_version - First observed
timgit_checkout_version - First observed
timgit_create_branch - First observed
timgit_declare_saved_version - First observed
timgit_delete_saved_version - First observed
timgit_delete_saved_version_branch - First observed
timgit_diff_versions - First observed
timgit_get_graph - First observed
timgit_get_saved_version_graph - First observed
timgit_list_saved_versions - First observed
timgit_list_versions - First observed
timgit_merge_branches - First observed
timgit_promote_saved_version - First observed
timgit_rename_saved_version - First observed
timgit_restore_saved_version - First observed
transitions_list - First observed
trim_clip_in_timeline - First observed
undo_timeline - First observed
update_caption_set - First observed
video_gen_generate - First observed
video_gen_get_job - First observed
video_gen_list_history - First observed
video_gen_list_jobs - First observed
video_gen_list_providers - First observed
voice_generate_music - First observed
voice_generate_sound_effect - First observed
voice_get_generation_job - First observed
voice_isolate_voice - First observed
voice_list_history - First observed
voice_list_models - First observed
voice_list_voices - First observed
voice_preview_music_composition_plan - First observed
voice_stream_generation_job - First observed
youtube_find_segments
Related MCP Connectors
- tonpitOAuthcom.tonpit
Video production studio for AI agents: AI media, motion graphics as code, timeline and export.
- VidmoatOAuthcom.vidmoat
AI video editor: create projects, edit timelines, add captions and effects, and render videos.
- CueFrameOAuthai.cueframe
Compose, edit and render video with your AI agent. Turn footage into finished edits with content-aware reframing, word-timed captions and motion graphics. Hosted MCP with OAuth sign-in; cloud processing uses credits.
Edit video by talking to your AI — search footage, cut timelines, apply effects, add captions.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA real video editor for AI agents, served over MCP, enabling journaled timeline editing, rendering via FFmpeg/MLT, and deterministic CLI operation.1MIT
- AlicenseNot gradedqualityBmaintenanceAI-native timeline editor for short-form video. Your agent cuts, captions, adds motion graphics and renders against a real, editable timeline over MCP — not a render queue. Human-in-the-loop by design: it calls request_review and waits while you supervise in a browser. Local-first and AGPL; your footage never leaves your machine.1AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to edit videos through natural language, providing tools for timeline editing, audio management, rendering, and more.2MIT
- AlicenseNot gradedqualityAmaintenanceAn agentic AI video editor for Claude. It enables editing real video through MCP: cutting, captioning, reframing, scoring, and exporting finished MP4s from actual footage.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.