Skip to main content
Glama

BeatDesign is an independent, open-source, local-first workspace for AI image and video creation. It is built for people who want the connected creative flow of tools such as Higgsfield, with a workspace they can run, inspect, and extend on their own machine.

Two creative modes, one Project

Infinite Canvas

Drop in prompts, images, video, and audio. Connect nodes, branch ideas, compare generations, reuse outputs, and keep the full visual workflow inside one project.

Video Editor

Turn Canvas results into a local timeline. Trim, split, move, mix audio, place and transform image overlays, style SRT captions, create alternate AI Takes, preview, and export MP4 in the browser.

Studio provides a focused generation surface. Assets keeps every imported and generated file available across Canvas, Editor, and MCP.

Related MCP server: AgentCanvas

Why BeatDesign

  • Local by default. Projects, media, Canvas state, timelines, and generation history stay in your local workspace.

  • Canvas and Editor stay connected. A generated result becomes a reusable project Asset instead of disappearing inside one tool.

  • Bring your own Agent. Codex, Claude Code, Cursor, and other MCP hosts can inspect and update the same Project you see in the browser.

  • Bring your own generation access. BeatAPI is the built-in provider. Local importing, arranging, editing, previewing, and exporting do not require an API key.

  • Fork-friendly foundations. Provider adapters, project storage, and the command layer are explicit extension points.

From idea to finished video

Prompt or local media
        ↓
Infinite Canvas ─── connect, generate, branch, compare
        ↓
Shared Assets ───── images, video, audio, extracted clips
        ↓
Video Editor ────── trim, arrange, preview, export MP4
        ↑
Any MCP Agent ───── works in the same local Project

Quick start

Requirements include Node.js 22+, pnpm 10+, and a current Chrome browser on macOS or Windows.

pnpm install
pnpm db:push
pnpm dev

Open http://127.0.0.1:3020.

Add your own BeatAPI API key only when you want to generate or analyze media, or use AI redo. Selecting a local file does not upload it to a provider.

Choose how to run BeatDesign

Command

Starts

pnpm dev

The visual workspace

pnpm dev:agent

The visual workspace and local HTTP MCP endpoint

pnpm mcp

The stdio MCP server for coding Agents

Use BeatDesign with an Agent

BeatDesign exposes 29 local MCP tools for Skills, Projects, Assets, Canvas, generation, and Editor operations, including built-in Skill discovery and authoritative MP4 timeline rendering. Agent changes use the same project services and become visible in the browser workspace.

After connecting your MCP host, you can ask:

Open my latest BeatDesign project, add these clips to a timeline, place the logo overlay, adjust the subtitles, and leave the Editor open for review.

Platform compatibility

Coding Agent / platform

Status

Quick setup

Claude Code

✅ Supported

Plugin or MCP config

Codex

✅ Supported

Plugin setup

ZCode

✅ Supported

MCP config

OpenCode

✅ Supported

MCP config

Cursor

✅ Supported

MCP config

Windsurf

✅ Supported

MCP config

VS Code + GitHub Copilot

✅ Supported

MCP config

Cline / Roo Code

✅ Supported

MCP config

Qwen Code

✅ Supported

MCP config

Gemini CLI

✅ Supported

MCP config

Hermes Agent

✅ Supported

MCP config

Kiro

✅ Supported

MCP config

Trae

✅ Supported

MCP config

WorkBuddy

✅ Supported

Connector setup

QwenWork

✅ Supported

HTTP connector

Doubao Work

✅ Supported

HTTP connector

Open the full Agent integration guide →

What works today

  • Image and video generation plus Standard and Deep video analysis.

  • Image, video, audio, generation, timeline, and text nodes on the Canvas.

  • Project Assets shared across Studio, Canvas, Editor, and MCP.

  • Non-destructive timeline editing with image, video, audio, movable image overlays, and styled SRT caption tracks.

  • Local preview and browser-side H.264/AAC MP4 export with WebCodecs and Mediabunny.

  • English, Chinese, and Japanese interfaces.

  • Local stdio and Streamable HTTP MCP transports.

BeatDesign currently focuses on local, short-form creative workflows. Hosted collaboration, multiple named timelines, advanced transitions, speed controls, waveforms, and desktop packaging remain outside the current release.

See the complete shipped and planned scope →

Project guides

License

BeatDesign is licensed under Apache License 2.0. BeatAPI and BeatDesign trademarks, third-party model access, and bundled third-party components remain subject to their respective terms. See third-party notices and trademark policy.

Available Tools

27 tools
bdesign_asset_extract_frameA

Extract a PNG frame from a project video Asset. Use position last for tail-frame continuation.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetIdYes
positionNolast
projectIdNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already state destructiveHint false; the description adds that it returns a PNG frame and gives position guidance, but does not disclose additional side effects or error behavior.

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?

Single sentence, direct and free of unnecessary detail.

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?

Provides enough context to know it extracts frames from video assets, but lacks mention of return format details and edge cases; however, the schema covers required parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%; only the position parameter receives a hint about using 'last' for tail-frame continuation. assetId and projectId are not explained.

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 extracts a PNG frame from a project video asset, with a specific verb and resource, and distinguishes it from other asset and editor tools.

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

Usage Guidelines3/5

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

It provides a hint to use position 'last' for tail-frame continuation, but does not explicitly compare with alternative tools like bdesign_asset_get or bdesign_canvas_continue_from_tail.

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

bdesign_asset_getB
Read-only

Read one project Asset by stable assetId.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetIdYes
projectIdNo

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes safety, and the description's 'Read' confirms no mutation. However, the description adds little beyond that, such as failure behavior or scoping effects of projectId.

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?

Single concise sentence that communicates the core operation without extraneous detail. Well structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple read operation, but incomplete regarding projectId semantics and how it interacts with assetId. No output schema is present, yet the description does not describe expected results or error cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions assetId implicitly but does not clarify its format or uniqueness, and projectId is entirely unexplained. With no schema descriptions, coverage is low and the description does not compensate.

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?

States a specific verb ('Read'), a specific resource ('one project Asset'), and the key identifier ('stable assetId'). Clearly distinguishes a single-asset fetch from list/import operations.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like bdesign_asset_list or bdesign_asset_import. The singular 'one' implies direct fetch by ID, but no when-not-to-use or alternative comparison is provided.

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

bdesign_asset_importA

Import a local image, video, or audio file into the project Asset library from an absolute path.

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYes
projectIdNo

TDQS

A3.5/5.0
Behavior2/5

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

Annotations indicate idempotentHint=false and destructiveHint=false, but the description adds no additional behavioral details such as whether importing the same file twice creates duplicates, whether it overwrites existing assets, or what side effects occur on the asset library. The description relies on implied behavior.

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?

The description is a single, concise sentence with no redundant information. It directly states the purpose and the required parameter type, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a straightforward import action, but the description does not mention what the function returns (e.g., asset ID, success status) or any potential errors (e.g., invalid path, unsupported format). Without an output schema, this missing context leaves users uncertain about the outcome.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description clarifies that filePath is an absolute path, which adds meaning. However, projectId is not explained at all despite being an optional parameter. With 0% schema description coverage, the description only partially compensates by addressing one of two parameters.

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 action (import), the resource (project Asset library), and the input type (local image, video, or audio file). It distinguishes itself from sibling tools like asset_list and asset_get by focusing on adding a new asset.

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

Usage Guidelines3/5

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

The description provides context (import from absolute path) but does not explicitly mention when to use this tool versus alternatives like asset_list or asset_extract_frame. It implies usage for adding assets but lacks direct guidance on 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.

bdesign_asset_listA
Read-only

List Assets that belong to a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
projectIdNo

TDQS

A3.8/5.0
Behavior4/5

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

An annotation readOnlyHint: true already signals safety; description adds that it lists assets belonging to a project, with no contradictory side-effect language.

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?

Single concise sentence with no unnecessary detail or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple listing tool, but it omits parameter purposes, requiredness, and output shape; no output schema is provided to fill the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so description must compensate; it does not explain projectId or limit beyond what the property names imply.

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?

States verb 'List', resource 'Assets', and scope 'project'; clearly distinct from sibling tools like get, import, and extract_frame.

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

Usage Guidelines3/5

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

The verb 'List' implies enumeration use case, but it does not explicitly contrast with asset_get, asset_import, or other sibling tools.

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

bdesign_canvas_applyB
DestructiveIdempotent

Apply incremental Canvas operations. For a newly connected node, append place_card to position it once to the right of its references; later user drag positions remain untouched unless place_card is called again. Raw document replacement is not exposed.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandIdNo
projectIdNo
operationsYes
idempotencyKeyNo
expectedRevisionNo

TDQS

B3.4/5.0
Behavior3/5

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

The description explains incremental behavior and place_card semantics, but relies on annotations for idempotency and destructive hints. It does not describe what happens on failure, revision mismatches, or partial application, though annotations cover the basic safety profile.

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?

The description is concise, containing only two focused sentences without redundant information or unnecessary detail. It is well-structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is far too sparse for the tool's complexity: no output schema, no parameter explanations, no error handling context, and no mention of how operations are committed or validated. It covers only one narrow usage scenario (place_card) and leaves most operational context unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage and the description does not explain any parameters such as commandId, projectId, operations, idempotencyKey, or expectedRevision. Given the large and complex operations schema, this is a significant gap.

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 applies incremental Canvas operations and distinguishes it from raw document replacement, which is not exposed. It also provides a concrete example (place_card) that clarifies its purpose relative to similar canvas tools.

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

Usage Guidelines4/5

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

It gives explicit guidance for when to use place_card (newly connected nodes) and explains that later user drag positions remain untouched unless place_card is called again. It does not explicitly name sibling tools for alternatives, but the context is reasonably clear.

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

bdesign_canvas_continue_from_tailC
DestructiveIdempotent

Extract the tail frame of a video, place it on Canvas, and create a continuation generation node. Then call bdesign_generation_submit with the returned first_frame reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptNo
assetIdNo
modelIdNo
positionNolast
commandIdNo
projectIdNo
sourceCardIdNo
idempotencyKeyNo
expectedRevisionNo

TDQS

C2.8/5.0
Behavior2/5

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

Annotations declare idempotentHint and destructiveHint, but the description does not disclose any side effects, whether it mutates canvas state, or how destructive behavior manifests. It only says 'create', which could imply modification but without explicit warning.

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?

The description is a single, direct sentence that packs the entire workflow into one line without unnecessary words or repetition. It is highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters, 0% schema description coverage, and no output schema, the description leaves out nearly all necessary context. It does not specify required vs optional fields, the meaning of projectId/assetId/commandId, or what the tool returns aside from an implicit reference. It is far from complete for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides zero descriptions for any of the 9 parameters, and the description does not explain any parameter names or their roles. Only a conceptual 'first_frame' reference is mentioned, not mapped to actual schema fields. There is no compensation for the absence of parameter docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific actions: extract the tail frame, place it on Canvas, create a continuation node, and call bdesign_generation_submit. It is action-oriented and distinct enough, though it does not explicitly name a sibling alternative.

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

Usage Guidelines3/5

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

It provides a sequential workflow and mentions calling another tool, but does not specify when this tool should be chosen over alternatives like bdesign_canvas_apply or bdesign_asset_extract_frame. No comparison is given.

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

bdesign_canvas_getC
Read-only

Read the Canvas document and revision for a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNo

TDQS

C2.9/5.0
Behavior3/5

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

The description is consistent with the readOnlyHint annotation and does not contradict it. However, it adds no behavioral details beyond what the annotation already provides, such as side effects or constraints.

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?

The description is a single concise sentence that directly states the tool's purpose. It is well-structured and front-loaded with the key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with a single parameter, the description is minimally sufficient. However, because there is no output schema, the description could more explicitly state what is returned beyond 'document and revision'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no description for projectId, and the tool description does not explain the parameter. With 0% schema description coverage and no compensation in the description, parameter semantics are entirely missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Read') and the resource ('Canvas document and revision for a project'). It is understandable and provides enough purpose, though it does not explicitly differentiate from the similarly named canvas_view sibling.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives like canvas_view or canvas_search. The description implies retrieval but does not state context or exclusions.

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

bdesign_canvas_viewB
Read-onlyIdempotent

Return a Canvas browser handoff, optionally focused on one card, plus the current Canvas revision and focused card summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdNo
projectIdNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, and the description does not contradict them. The description adds output context ('current Canvas revision and focused card summary') but does not disclose any additional behavioral traits 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.

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It leads with the main action and then adds the optional modifier and output components efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does list the main return elements (browser handoff, current revision, focused card summary), but it leaves projectId semantics unexplained and provides no context for how this view relates to other canvas/editor tools. It is adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameter descriptions (0% coverage), and the description only partially clarifies cardId via 'optionally focused on one card'. projectId is not explained at all, so the description does not fully compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a Canvas browser handoff and identifies optional card focus plus revision and card summary outputs. It does not explicitly differentiate from sibling tools like bdesign_canvas_get or bdesign_editor_view, but the specific 'browser handoff' resource makes the purpose clear.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus siblings such as bdesign_canvas_get, bdesign_canvas_search, or bdesign_editor_view. The description only states what is returned, not the intended selection context.

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

bdesign_editor_diagnosticsB
Read-only

Diagnose gaps, overlaps, missing media, duration mismatches, and tiny clips.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNo

TDQS

B3.2/5.0
Behavior3/5

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

The readOnlyHint annotation already covers the safety profile, and the description's 'Diagnose' wording is consistent with it — no contradiction. The description adds context on what checks are performed (gaps, overlaps, missing media, etc.) but says nothing about the return format, whether it produces a report, or what happens when no issues are found. With the annotation carrying the read-only signal, a 3 is appropriate.

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 front-loaded sentence that wastes no words, leading with the verb and listing the diagnostic targets compactly. It earns a 4 rather than 5 only because it could convey a bit more (such as output shape) without adding bulk.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, single-parameter diagnostics tool this is mostly complete: the checks are enumerated and the annotation covers safety. However, with no output schema, the description should say what the tool returns (a report, a list of issues, etc.), and that is missing. Required parameters showing 0 with a projectId present is also mildly ambiguous, though likely a schema artifact.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate, but there is only a single self-explanatory parameter, projectId. The parameter's meaning (the project to diagnose) is obvious from its name and the tool's purpose, so the description adds little beyond what the schema implies. The description adds no syntax or formatting details, which is acceptable for a single trivially-clear ID parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Diagnose') and lists concrete targets: gaps, overlaps, missing media, duration mismatches, and tiny clips. This clearly states what the tool does and naturally distinguishes it from siblings like bdesign_editor_view or bdesign_editor_get, none of which claim diagnostic scope. It stops short of 5 because it doesn't explicitly name what it is not or reference the project context.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. Nothing states that it should be used before editing to validate a project, or when to prefer it over bdesign_editor_view or bdesign_canvas_get. No exclusions or conditions are provided, so an agent must infer the appropriate call context.

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

bdesign_editor_editC
DestructiveIdempotent

Apply incremental timeline operations such as media and image-overlay add/update, trim, split, move, remove, audio updates, Takes, captions, per-caption layout, caption styles, and SRT import.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandIdNo
projectIdNo
operationsYes
idempotencyKeyNo
expectedRevisionNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations declare idempotentHint=true and destructiveHint=true, which cover retry safety and destructive potential. The description adds no additional behavioral context, such as atomicity of the operation batch, failure behavior, or the effect of expectedRevision. Since annotations already cover the core safety profile, a 3 is appropriate—the description neither contradicts nor enriches the behavioral picture.

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, focused sentence that front-loads the core purpose ('Apply incremental timeline operations') and then enumerates examples. It is concise and easy to scan, with no filler or redundancy. A slightly more explicit enumeration of operation types would improve it, but it remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex tool with 5 parameters and a deeply nested operations array containing 17 distinct operation variants. The description gives only a high-level list and omits critical context: the exact operation types, required fields per type, semantics of each operation, error handling, and the role of expectedRevision. Without an output schema, the description leaves an agent under-equipped to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 lists some operation type names (e.g., 'add', 'trim', 'split') but does not explain the structure of the operations array, the required fields per operation type, or the meaning of top-level parameters like commandId, projectId, idempotencyKey, or expectedRevision. The list of operations is a hint but not sufficient for an agent to construct valid calls.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool applies incremental timeline operations and lists a broad range of operation types (media add/update, trim, split, move, remove, audio, Takes, captions, SRT). This distinguishes it from read-only siblings like view, history, and render, and is not a tautology. However, it uses 'such as' and omits several operation types from the schema (e.g., set_clip_duration, replace_overlay_asset, set_render), so it is not fully precise.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is the primary mutation tool for timeline edits, nor does it direct users to view or snapshot tools for inspection. There is no mention of prerequisites like projectId or when to use specific operation types.

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

bdesign_editor_getB
Read-only

Read the current Editor timeline and revision.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNo

TDQS

B3/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, and the description's 'Read' is consistent with that. It adds the context that the tool returns the timeline and revision, but discloses no other behavioral traits such as project selection behavior or response shape.

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 front-loaded sentence with no filler. It is concise, though it omits some contextual details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one simple parameter and a readOnly annotation, the description is minimally sufficient, but it lacks any mention of projectId or relationship to sibling read tools. An agent might know what it does but not precisely when to invoke it over alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description never mentions projectId. The parameter name is self-explanatory, but the description does not compensate for the schema's lack of documentation or clarify the optionality implied by zero required parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Read' and names a concrete resource: 'current Editor timeline and revision.' It is clear what the tool does, though it does not explicitly differentiate itself from sibling tools like bdesign_editor_view or bdesign_editor_history.

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

Usage Guidelines2/5

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

No guidance is given for when to use this tool instead of siblings such as bdesign_editor_history or bdesign_editor_view. The word 'current' implies a contrast with history, but no explicit when/when-not or alternatives are provided.

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

bdesign_editor_historyB
Read-only

Read persisted command receipts for timeline and Canvas changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
projectIdNo

TDQS

B3.1/5.0
Behavior4/5

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

The description aligns with the readOnlyHint annotation by using 'Read', and adds context by specifying that the receipts are 'persisted' and relate to changes. It does not mention side effects, but for a read-only operation this is sufficient given the annotation already covers safety.

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?

The description is a single, focused sentence with no redundant words. It conveys the essential action and target clearly, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the core purpose is stated, the description lacks any detail about return format, parameter semantics, or invocation context. Given there is no output schema, the agent has no information about what the result looks like, making it incomplete for practical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no descriptions for the parameters, and the description does not explain the meaning of 'limit' or 'projectId'. With 0% schema coverage, the description must compensate, but it does not, leaving the agent to guess whether projectId filters by project and how limit controls the result set.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Read' clearly indicates a retrieval operation, and the resource 'persisted command receipts for timeline and Canvas changes' identifies the specific data being accessed. This distinguishes it from tools like bdesign_editor_render or bdesign_editor_snapshot, though 'command receipts' is slightly specialized terminology.

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

Usage Guidelines2/5

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

No explicit guidance is provided on when to use this tool versus alternatives such as bdesign_generation_history or bdesign_canvas_search. The description implies a historical read but does not contrast with other history/read tools, leaving the agent to infer context from sibling names.

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

bdesign_editor_import_srtB
DestructiveIdempotent

Import SRT captions onto the project timeline caption track. Provide srt text or an absolute filePath.

ParametersJSON Schema
NameRequiredDescriptionDefault
srtNo
replaceNo
filePathNo
commandIdNo
projectIdNo
idempotencyKeyNo
expectedRevisionNo

TDQS

B3.2/5.0
Behavior2/5

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

The annotations already indicate destructiveHint=true and idempotentHint=true, so the description should add context about what gets destroyed (e.g., replacing existing captions) or any side effects. The description simply says 'Import' without elaborating on the destructive nature or the replace behavior, which is a significant omission given the annotation.

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 concise, with two sentences that front-load the core purpose and then give an input hint. No fluff or repetition, though it could be slightly more informative without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters, no output schema, and only annotations for safety, the description is inadequate. It fails to explain critical behavioral aspects like the replace default (true), the need for projectId, or how idempotencyKey and expectedRevision work. An agent would have to guess or infer too much to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 by explaining key parameters. It mentions 'srt' and 'filePath' as the two input modes, but ignores the other five parameters (replace, commandId, projectId, idempotencyKey, expectedRevision). This leaves the agent blind about critical parameters like 'replace' and project scoping.

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 the specific verb 'Import', the resource 'SRT captions', and the target 'project timeline caption track', making the tool's function unmistakable. It also clearly distinguishes this from sibling tools like bdesign_editor_edit or bdesign_asset_import by focusing on captions.

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

Usage Guidelines3/5

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

The description implies usage (import SRT when you have caption content) but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. It only offers a brief hint about how to provide the input, which is more parameter-related than usage context.

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

bdesign_editor_renderA

Render the authoritative Editor timeline to a project-owned MP4 Asset with overlays, captions, and mixed audio. Requires local ffmpeg and ffprobe.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNo
expectedRevisionNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations only cover idempotency and destructiveness (both false). The description adds valuable context about the ffmpeg/ffprobe dependency, which is a runtime prerequisite. It does not disclose other important behaviors such as whether the render is synchronous or asynchronous, whether it mutates project assets, or what happens on failure. The added dependency is useful but does not fully close the behavioral gap.

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?

The description is two terse sentences. The first defines the core action and output; the second provides a critical dependency. Every word earns its place, with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no enrichment for parameters, so only the basic purpose is declared. For a side-effecting render operation the agent would need to know what a successful call returns (e.g., asset ID), how expectedRevision is used, and error expectations. The description is under-specified for an agent to call the tool reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has zero parameter descriptions (0% schema coverage), so the tool description must explain the parameters. It does not mention projectId or expectedRevision at all. "Project-owned" only implies projectId, but expectedRevision is left entirely unexplained (likely a concurrency or revision token). The description fails to compensate for the total lack of schema parameter documentation.

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 highly specific verb ("Render") and resource ("authoritative Editor timeline to a project-owned MP4 Asset"), plus concrete output features (overlays, captions, mixed audio). This clearly distinguishes it from siblings like bdesign_editor_view or bdesign_editor_snapshot, which are not rendering final MP4 assets.

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

Usage Guidelines3/5

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

It tells the agent this produces the authoritative MP4 and makes a required runtime dependency explicit (local ffmpeg and ffprobe). However, it does not explicitly say when to use it versus siblings (e.g., final export vs preview/snapshot), nor provide any clear exclusions beyond the ffmpeg requirement.

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

bdesign_editor_snapshotD
Read-only

Resolve the active timeline clips at a time. This is semantic inspection, not a pixel screenshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeYes
projectIdNo

TDQS

D1.9/5.0
Behavior3/5

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

The annotation readOnlyHint: true is consistent with the description's claim of 'inspection' and 'not a pixel screenshot,' which implies non-destructive behavior. However, the description does not disclose what data is returned or whether any state changes occur beyond the read-only implication.

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

Conciseness2/5

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

The description is brief but poorly structured. The first sentence is grammatically ambiguous and unclear, while the second provides a useful clarification but does not compensate for the vagueness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema and unclear action, the description omits critical context about what a 'snapshot' entails, what 'resolve timeline clips' means, and what the tool returns. It is incomplete for an agent to reliably invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has two parameters (time and projectId) with no descriptions, and the description does not explain their purpose or relationship to the tool's action. Schema coverage is 0%, and the description fails to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it performs 'semantic inspection' and is not a pixel screenshot, but the phrase 'Resolve the active timeline clips at a time' is ambiguous and does not clearly define the tool's action or output. It fails to distinguish from sibling tools like bdesign_editor_view or bdesign_canvas_get.

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

Usage Guidelines1/5

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

There is no indication of when to use this tool versus alternatives. No sibling tools are mentioned, and no use-case guidance is provided.

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

bdesign_editor_viewB
Read-only

Return an Editor browser handoff for a timeline time and include its semantic snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNo
projectIdNo

TDQS

B3/5.0
Behavior3/5

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

The annotation readOnlyHint=true is consistent with the description's 'Return' wording, so there is no contradiction. However, the description adds no extra behavioral context such as potential costs, rate limits, or side effects beyond what the annotation already conveys.

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?

The description is a single, direct sentence with no filler or redundancy. It is well-structured and immediately conveys the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description does not explain the structure of the 'browser handoff' or 'semantic snapshot'. Important context about what the caller receives and how to interpret the result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description ties 'time' to 'timeline time', giving some meaning to that parameter, but 'projectId' is not explained at all. With no parameter descriptions in the schema, the description provides only minimal semantic coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns an Editor browser handoff for a given timeline time and includes a semantic snapshot. It distinguishes the action from related editor tools, though 'browser handoff' remains somewhat undefined.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives such as editor_render, editor_snapshot, or editor_get. The description does not mention exclusions or preferred scenarios.

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

bdesign_generation_historyC
Read-only

List generation history for a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
projectIdNo

TDQS

C2.7/5.0
Behavior2/5

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

The annotation readOnlyHint: true already covers the read-only nature. The description adds no additional behavioral detail (e.g., default limit, ordering, or whether it returns all history or recent only). Since no extra context is provided beyond the annotation, the score is low.

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?

The description is a single clear sentence with no redundant words. It immediately conveys the core functionality without unnecessary elaboration, making it highly efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should compensate by explaining what the response contains, pagination, or default behavior. It does none of these. The description is minimal and lacks essential context such as whether the history is ordered, the meaning of 'limit', or any filter options, leaving significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description does not explain the purpose of the 'limit' parameter and only vaguely implies 'projectId' via 'for a project'. With no parameter descriptions and no compensation in the tool description, the agent has insufficient information to correctly populate parameters.

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 action (List) and the resource (generation history) with a scoping qualifier (for a project). This distinguishes it from sibling tools like bdesign_generation_status (which checks a single generation) and bdesign_generation_submit (which creates a generation), making the purpose unambiguous.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives such as bdesign_generation_status or bdesign_generation_models. There is no mention of conditions, use cases, or differentiators, leaving the agent without context for tool selection.

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

bdesign_generation_model_getB
Read-only

Read one logical model, including defaults and accepted parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelIdYes

TDQS

B3.1/5.0
Behavior3/5

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

The description aligns with the readOnlyHint annotation by stating 'Read', so there is no contradiction. It adds the detail that the response includes 'defaults and accepted parameters', which provides useful context about the return content. However, it does not disclose any other behavioral traits such as error handling, required permissions, or response format, though the annotation already covers the safety profile.

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 concise sentence, front-loading the action and resource. It contains no unnecessary words. It is appropriately sized for the simplicity of the tool, though it could be slightly more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter and no output schema, the description should at least clarify what the parameter represents and what the response looks like. It mentions 'defaults and accepted parameters' as part of the return, but does not explain the parameter or provide any usage context. An agent cannot fully understand how to call this tool correctly without additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has a single parameter 'modelId' with no description (coverage 0%). The description does not explicitly explain that modelId is the identifier for the logical model. It says 'one logical model' but does not connect it to the parameter. This forces the agent to infer that modelId is the model's ID, which is not explicitly stated. Since coverage is 0%, the description should compensate but fails to do so.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Read') and a specific resource ('one logical model'), and mentions what is included ('defaults and accepted parameters'). This distinguishes it from sibling tools like bdesign_generation_models (which likely lists models) by the singular 'one'. However, it does not explicitly name the alternative or differentiate beyond that.

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

Usage Guidelines3/5

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

The description implies usage for retrieving a single model but provides no explicit guidance on when to use this versus listing tools or other siblings. No conditions or exclusions are mentioned. The phrase 'one logical model' suggests it is for a specific model, but there is no direct statement of 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.

bdesign_generation_modelsA
Read-only

List logical generation models and their current parameter/reference capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo

TDQS

A3.6/5.0
Behavior3/5

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

The readOnlyHint annotation already indicates this is a read operation. The description ('List') is consistent with that and adds no additional behavioral context such as pagination, rate limits, or side effects, which is acceptable given the annotation coverage.

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?

The description is a single concise sentence with no unnecessary words. It directly states the purpose and scope without redundancy, making it efficiently structured.

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?

For a list operation with no output schema, the description is complete enough. It conveys the action and the type of data returned. The lack of an output schema is not an issue here, and the description sufficiently covers the tool's purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'kind' is fully defined by its enum values (image, video, analysis) in the schema, so the schema coverage is 100%. The description does not add extra meaning to this parameter, remaining at the baseline score.

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 action ('List') and the resource ('generation models'), and adds detail about the content ('current parameter/reference capabilities'). It distinguishes itself from the sibling tool bdesign_generation_model_get by implying a plural listing.

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

Usage Guidelines2/5

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

No explicit guidance is provided on when to use this tool versus alternatives like bdesign_generation_model_get. The usage is only implied by the verb 'List' and the context of sibling tools, but no direct when/when-not or alternative comparisons are given.

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

bdesign_generation_statusC
Read-only

Read and, when possible, refresh one generation task.

ParametersJSON Schema
NameRequiredDescriptionDefault
refreshNo
projectIdNo
generationIdYes

TDQS

C2.7/5.0
Behavior3/5

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

The readOnlyHint annotation already communicates that this is a read-only operation, so the description does not need to repeat that. However, the phrase 'when possible, refresh' introduces ambiguity about what refresh means (e.g., triggering a regeneration vs. refreshing local status), and no additional side effects or limitations are disclosed.

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?

The description is a single, tight sentence that conveys the core functionality without unnecessary words. It is well-structured and front-loaded with the primary action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but the description omits important details such as what 'refresh' does, how projectId affects the operation, and what the response looks like. It is not complete enough for an agent to know expected behavior without consulting other documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no descriptions for any parameters, and the tool description offers no explanation of generationId, projectId, or refresh. Parameter meanings are left entirely to inference from their names, which is insufficient for unambiguous use.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (read and optionally refresh) and the target resource (one generation task). It is specific enough to distinguish from sibling tools like generation_history which operate on multiple tasks, though it does not explicitly name an alternative.

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

Usage Guidelines1/5

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

No guidance is provided about when to use this tool versus other generation-related tools (e.g., generation_history or generation_submit). The description gives no context about typical use cases or conditions that would favor this tool.

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

bdesign_generation_submitC

Submit from a reviewed Canvas generation node. A visible output node is created before the provider request, and successful outputs remain reusable Assets.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
promptYes
modelIdYes
commandIdNo
projectIdNo
parametersNo
referencesNo
sourceCardIdYes
idempotencyKeyNo
expectedRevisionNo

TDQS

C2.9/5.0
Behavior3/5

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

The description discloses that a visible output node is created before the provider request and that successful outputs remain reusable Assets, which adds useful behavioral context beyond the annotations. It does not cover failure modes, cancellation, or idempotency behavior, but the annotations already indicate idempotentHint=false and destructiveHint=false.

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?

The description is concise at two sentences, places the primary action first, and adds relevant behavioral detail without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex schema with nested references, parameters, and no output schema, the description provides insufficient context for correct usage. It mentions output node creation and reusable Assets but omits how parameters, references, or the revision field should be supplied or interpreted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the 10 parameters, including mode, modelId, references, idempotencyKey, or expectedRevision. The references nested object with roles and delivery URLs is entirely undocumented, leaving the agent without essential parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the action as submitting a generation from a reviewed Canvas node and states that an output node is created, which distinguishes it from status, history, and model-list tools. However, 'submit from a reviewed Canvas generation node' is somewhat oblique and could be more explicit about initiating a generation.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus siblings like generation_status, generation_history, or canvas_continue_from_tail. The phrase 'from a reviewed Canvas generation node' hints at a precondition, but no alternatives or exclusions are mentioned.

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

bdesign_project_createB

Create a new local BeatDesign project.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare idempotentHint=false and destructiveHint=false, and the description aligns with these by indicating a new project is created (non-idempotent) and that creation is not destructive. The description adds the qualifier 'local' but provides no further behavioral details such as naming conflicts, overwriting behavior, or side effects beyond creation.

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?

The description is a single concise sentence with no redundant words. It states the essential action and resource clearly, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple create operation with no output schema, the description conveys the core intent. However, it omits any mention of return value, success/error behavior, or potential confirmation steps, which could be relevant for an agent deciding how to handle the result. It is adequate but not fully complete for operational use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully defines the single parameter 'name' with type string and min/max lengths, so schema coverage is 100%. The description does not add any extra semantic detail about the name parameter (e.g., uniqueness, formatting, default values), but because the schema is complete, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create' and the resource 'a new local BeatDesign project', distinguishing it from sibling tools like bdesign_project_list, bdesign_project_get, and bdesign_project_open. However, it does not explicitly differentiate itself from those siblings, relying on the phrase 'new local' to imply creation of a fresh project.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites, side effects, or typical use cases. An agent is left to infer that this is for creating projects, but there is no explicit statement about when to choose this over bdesign_project_open or bdesign_project_import.

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

bdesign_project_getB
Read-only

Read one project with its Canvas and Editor documents.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNo
includeAssetsNo

TDQS

B3.1/5.0
Behavior3/5

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

The readOnlyHint annotation is consistent with the description's 'Read' verb, so no contradiction. The description adds useful context about the return contents (Canvas and Editor documents) beyond the annotation, but does not disclose other behavioral aspects like error conditions or response structure. With annotation covering safety, the added value is moderate.

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?

The description is a single sentence with no fluff, directly stating the core function. It is efficiently front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the simple tool, the complete absence of parameter documentation and any note about when to use this tool versus siblings leaves gaps. With no output schema and no parameter semantics, an agent may not know how to properly set includeAssets or whether projectId is required. This is incomplete for practical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the description does not explain projectId or includeAssets at all. The schema defines them but the description provides no guidance on their meaning or usage. For a tool with two parameters, this is a significant gap that the description fails to compensate for.

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?

Description states a specific verb ('Read'), a specific resource ('one project'), and the included sub-documents ('Canvas and Editor documents'). This clearly distinguishes it from list, create, and other get tools like bdesign_canvas_get or bdesign_editor_get.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. It implies it fetches a project with its documents, but does not mention when one would prefer bdesign_canvas_get or bdesign_editor_get separately, nor any exclusions or prerequisites.

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

bdesign_project_listB
Read-only

List local BeatDesign projects.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

B3/5.0
Behavior3/5

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

The readOnlyHint annotation already indicates this is a read-only operation, and the description ('List') is consistent. However, the description adds no additional behavioral context such as caching, authentication, or rate limits, so it meets the baseline for non-contradiction but does not enhance transparency.

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?

The description is a single concise sentence with no redundant words. It directly conveys the action and object without any fluff or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema and minimal description, the tool provides very little context. It does not clarify what a 'BeatDesign project' entails, what fields are returned, or how results are ordered. While a simple list may not require extensive detail, the description leaves significant ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'limit' is fully defined in the schema with type, default, and bounds, giving high schema coverage. The description does not explain the parameter's purpose, but 'limit' is self-explanatory in the context of listing. Thus it aligns with the baseline of 3 for well-schematized parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list) and the resource (local BeatDesign projects). It is specific enough to distinguish from other listing tools like bdesign_asset_list, though it does not specify any filtering or sorting options.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives such as bdesign_canvas_search or bdesign_asset_list. There is no mention of scenarios, prerequisites, or conditions for use.

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

bdesign_project_openB
Read-onlyIdempotent

Return a browser handoff for the selected BeatDesign project. Use it early so the user can watch Agent changes in Canvas, Editor, Studio, or Assets.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNo
viewNo
projectIdNo
focusCardIdNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds that the tool produces a browser handoff for live observation, which is useful behavioral context. It does not explain what a 'handoff' entails or whether it changes the current selection, but the annotations reduce the burden.

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?

Two sentences with no filler. The core action is stated first, and the usage timing is front-loaded in the second sentence. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has four optional parameters and no output schema, yet the description leaves most parameter semantics unexplained. It also does not clarify how to identify the project or what a browser handoff returns. The read-only and idempotent annotations help, but the description alone is not enough for an agent to confidently call this tool with correct arguments.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 for parameter meaning. It only indirectly covers the view parameter by listing Canvas, Editor, Studio, and Assets. It does not explain projectId, time, or focusCardId, nor does it clarify that all parameters are optional or how the 'selected' project is determined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a browser handoff for a BeatDesign project, which is a distinct action from project_get or canvas_view. It names the specific views (Canvas, Editor, Studio, Assets) that the handoff supports. It does not explicitly contrast itself with sibling tools, but the verb and resource are specific enough.

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

Usage Guidelines4/5

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

The description gives explicit timing guidance: 'Use it early so the user can watch Agent changes.' This tells the agent when in a workflow to invoke the tool. It does not mention alternatives or exclusions, but the early-use context is actionable and clear.

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

bdesign_project_targetA
Read-onlyIdempotent

Bind this MCP session to a BeatDesign project so later project-scoped tools may omit projectId, and return the requested workspace handoff.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNo
viewNo
projectIdYes
focusCardIdNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint. The description adds context about the session-binding side effect and the return of a workspace handoff, which are not covered by annotations. No contradiction between the description and annotations; 'bind' is a client-side state change, not a server data mutation.

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?

The description is a single sentence that efficiently conveys the core purpose and return. It is front-loaded with the main action and avoids unnecessary detail, making it concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With four parameters, zero schema descriptions, and no output schema, the description should explain parameter roles and the return format. It only covers the session-binding purpose and a vague 'workspace handoff'. It lacks details on time, view, focusCardId, and what exactly the handoff contains, leaving the agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

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 only mentions projectId implicitly through the binding purpose, but fails to describe time, view, or focusCardId at all. The phrase 'requested workspace handoff' hints at view but is not explicit. The description provides no semantic meaning for the majority of parameters.

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 purpose: binding the MCP session to a BeatDesign project so later project-scoped tools can omit projectId. It also mentions returning a workspace handoff. This is a specific verb+resource and distinguishes it from siblings like project_open or project_get.

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

Usage Guidelines4/5

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

The description implies when to use it: before other project-scoped tools that rely on the bound session. It explicitly mentions the benefit (later tools may omit projectId) and the return value. However, it doesn't state when not to use it or provide alternatives, but the usage context is fairly clear.

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.

  1. 27 tool updatesv0.2.3
    • First observedbdesign_asset_extract_frame
    • First observedbdesign_asset_get
    • First observedbdesign_asset_import
    • First observedbdesign_asset_list
    • First observedbdesign_canvas_apply
    • First observedbdesign_canvas_continue_from_tail
    • First observedbdesign_canvas_get
    • First observedbdesign_canvas_search
    • First observedbdesign_canvas_view
    • First observedbdesign_editor_diagnostics
    • First observedbdesign_editor_edit
    • First observedbdesign_editor_get
    • First observedbdesign_editor_history
    • First observedbdesign_editor_import_srt
    • First observedbdesign_editor_render
    • First observedbdesign_editor_snapshot
    • First observedbdesign_editor_view
    • First observedbdesign_generation_history
    • First observedbdesign_generation_model_get
    • First observedbdesign_generation_models
    • First observedbdesign_generation_status
    • First observedbdesign_generation_submit
    • First observedbdesign_project_create
    • First observedbdesign_project_get
    • First observedbdesign_project_list
    • First observedbdesign_project_open
    • First observedbdesign_project_target

TDQS

B3.2/5.0

Scored across 27 tools

Disambiguation5/5

Tools are cleanly grouped by domain (project, asset, canvas, editor, generation) with each action distinct. Even similar operations like editor_view and editor_snapshot are differentiated by purpose (handoff vs semantic inspection). No two tools appear to overlap in intent.

Naming Consistency5/5

All tools follow the uniform pattern bdesign_<domain>_<action> with snake_case throughout. Verbs like list, get, create, apply, submit are consistently used, and domain names are clear. This makes the API predictable and easy to navigate.

Tool Count4/5

With 27 tools, the count is above the typical 15-20 range but still justified by the broad scope covering project management, asset handling, canvas editing, timeline operations, and AI generation. Each tool has a specific role, and no obvious redundancy exists.

Completeness4/5

The tool surface covers core workflows: project CRUD (create, list, get, open, target), asset management (list, get, import, frame extraction), canvas inspection and editing (get, view, search, apply, continuation), timeline editing (get, edit, render, diagnostics, SRT import), and generation lifecycle (models, submit, status, history). Minor gaps like asset/project deletion are present but not critical for the intended use cases.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers