Skip to main content
Glama

Squall Studio

Server Details

Read, edit and generate AI microdrama scripts, shots, characters and video in Squall Studio

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

25 tools
generate_character_imageGenerate character imageAInspect

Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_notesNoExtra direction for the image.
character_idYesCharacter id.
idempotency_keyYesStable key identifying this generation request. Reuse the SAME key when retrying the same request — the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.
character_look_idNoSpecific look; defaults to the base look.
reference_image_asset_idsNoExisting asset ids to use as references.

TDQS

A4.4/5.0
Behavior4/5

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

The description discloses key behaviors: it spends credits (cost implication) and returns a job id for polling (asynchronous). It also clarifies the idempotency semantics in the parameter description. These are important behavioral traits beyond the annotations, which only indicate non-read-only and non-destructive. It could mention failure modes or whether it modifies the character, but current disclosure is strong.

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 and front-loaded: it states the action, the object, the cost, and the next step in a single sentence. The parameter descriptions add necessary detail without bloat. No redundant information.

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?

Given the tool's complexity (5 parameters, asynchronous behavior, credit cost, idempotency), the description covers the essential context: what it does, cost, and follow-up action. It doesn't describe the output format beyond 'job id', but since there is no output schema and the sibling tool get_job exists, the information is sufficient. It could mention whether the job result is an image asset, but that's inferable from the tool name.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the idempotency key behavior (reuse vs new) and the 'defaults to the base look' semantics for character_look_id. It doesn't further explain reference_image_asset_ids beyond the schema, but the schema already says 'Existing asset ids to use as references.' The added context about idempotency and look defaults raises the 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 tool's purpose: generating a reference image for a character. It is distinguished from sibling tools like generate_location_image and generate_shot_background_image by explicitly mentioning 'for a character', and from get_character/get_character_looks by indicating it generates (creates) rather than retrieves.

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 provides clear usage context: it creates a character reference image, spends credits, and returns a job id to poll. It implies asynchronous usage via 'poll it with get_job'. It doesn't explicitly contrast with alternative tools like generate_character_look or say when not to use it, but the sibling list makes the distinction reasonably clear.

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

generate_episode_musicGenerate episode musicAInspect

Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
episode_idYesEpisode id.
idempotency_keyYesStable key identifying this generation request. Reuse the SAME key when retrying the same request — the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.

TDQS

A5/5.0
Behavior5/5

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

Discloses important behavioral effects: spending credits and returning a job id for asynchronous completion. The readOnlyHint and destructiveHint are false, and the description accurately reflects side effects without contradicting 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 concise and well-structured, using two sentences to convey purpose, prerequisites, side effects, and follow-up action. No unnecessary information is included.

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

Completeness5/5

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

Provides sufficient context for a caller: prerequisites, side effects, return type (job id), and follow-up polling step. Despite lacking an explicit output schema, the description covers what the caller needs to know.

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

Parameters5/5

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

Both parameters are fully described in the schema, and the description reinforces the meanings of episode_id and idempotency_key. The idempotency_key explanation is particularly clear about reuse and retry semantics.

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 clearly that the tool generates a background music track for an episode, with a specific resource and action. It also distinguishes itself from other generation tools by mentioning the episode context and job-based flow.

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

Usage Guidelines5/5

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

Provides explicit usage guidance: requires the episode to already have an assembled video, mentions credit cost, and instructs to poll with get_job. This is actionable and clarifies when and how to use the tool.

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

generate_location_imageGenerate location imageAInspect

Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_notesNo
location_idYesLocation id.
idempotency_keyYesStable key identifying this generation request. Reuse the SAME key when retrying the same request — the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.
reference_image_asset_idsNo

TDQS

A4.3/5.0
Behavior5/5

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

The description discloses that credits are spent and that the operation returns a job id for asynchronous polling, which is critical behavioral information beyond the readOnly/destructive hints. No contradiction with 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?

A single, focused sentence with no redundant words. All key points (purpose, cost, async pattern) are conveyed efficiently.

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 simple generation job, the description covers the essential workflow: what is generated, that it costs credits, and how to retrieve the result. It lacks parameter-level detail, but that is partially addressed by the schema.

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 50% (location_id and idempotency_key have descriptions, user_notes and reference_image_asset_ids do not). The tool description adds no parameter-specific detail beyond implying location_id is the target location, so it does not compensate for the missing parameter docs.

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 ('Generate a reference image') and the target resource ('a location'), distinguishing it from sibling generation tools like generate_character_image and generate_shot_background_image.

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 provides practical usage context by warning about credit consumption and directing the user to poll with get_job. It does not explicitly contrast with alternative tools, but the credit and polling guidance is actionable.

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

generate_scriptGenerate scriptAInspect

Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job runs, job.output carries live progress (phase, completedEpisodes, totalEpisodes). On success the new project also has its characters, locations, episodes, shots and segments seeded, ready for the other tools. Spends credits. Returns a job id — poll it with get_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
genreNoGenre label.Vertical Drama
languageNoLanguage to write in.English
story_ideaYesThe story premise to write from.
screen_ratioNoAspect ratio.9:16
visual_styleNoVisual style. Defaults to Realistic TV Drama.
episode_countNoHow many episodes to write.
idempotency_keyYesStable key identifying this generation request. Reuse the SAME key when retrying the same request — the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.
target_platformNoPlatform the episodes are cut for.TikTok
episode_length_secondsYesTarget length of each episode, in seconds.

TDQS

A4.7/5.0
Behavior5/5

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

The description is transparent about key behaviors: it creates a new project, spends credits, returns a job id, and exposes live progress via job.output. It also explains downstream side effects (seeding characters, locations, episodes, shots, segments), going well beyond the sparse annotations.

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

Conciseness5/5

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

The description is concise yet dense with essential information. Each sentence serves a purpose: core action, creation semantics, async progress, downstream effects, cost, and polling guidance. No filler or redundancy.

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

Completeness5/5

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

Given the tool's complexity—async job handling, credit costs, project creation, and seeding of related entities—the description covers all the critical operational context. It tells the agent what to expect, how to monitor progress, and what downstream tools can then be used.

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

Parameters4/5

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

All 9 parameters already have clear schema descriptions, including the important idempotency_key semantics. The tool description adds helpful context by clarifying that no project_id is accepted and that the job is asynchronous, which complements the schema without repeating every field.

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

Purpose5/5

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

The description states a specific action ('Write a full multi-episode script from a story premise') and clearly distinguishes this tool from siblings by noting it creates a new project rather than editing an existing one. It also clarifies that it returns a job id, which separates it from direct-return 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?

The description explicitly says this tool does not edit an existing project and takes no project_id, which helps an agent choose it for new-project creation. It also mentions spending credits and polling with get_job, giving practical guidance on how to handle the asynchronous workflow.

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

generate_shot_background_imageGenerate background plateAInspect

Generate an empty background plate for one short shot. Spends credits. Returns a job id — poll it with get_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
shot_idYesShot id.
idempotency_keyYesStable key identifying this generation request. Reuse the SAME key when retrying the same request — the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.
short_shot_numberYesShort shot number within the shot.
reference_image_asset_idsNo

TDQS

A4.2/5.0
Behavior4/5

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

The description adds meaningful behavioral context beyond the annotations by warning that credits are spent and that the tool returns a job id rather than a direct result. It does not contradict the readOnlyHint or destructiveHint 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 two short sentences with no redundant wording. It efficiently conveys purpose, side effect, and polling behavior.

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 tool with no output schema, the description adequately explains the return type (job id) and the follow-up action (poll with get_job). It is slightly thin on optional inputs, but overall the agent has enough context to invoke it correctly.

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?

Required parameters such as shot_id, short_shot_number, and idempotency_key are described in the schema, and the idempotency_key description is thorough. However, the tool description itself adds no parameter-specific meaning, and reference_image_asset_ids has no schema description or clarification.

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 a specific action ('Generate an empty background plate') for a specific resource ('one short shot'), and the mention of spending credits and returning a job id distinguishes it from sibling generation tools like generate_shot_clip.

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 explicitly notes that credits are spent and that the result is an asynchronous job id to poll with get_job, giving the agent clear next steps. It does not explicitly contrast with alternatives, but the 'empty background plate' scope is enough for most use cases.

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

generate_shot_clipGenerate shot clipAInspect

Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoVideo model override.
shot_idYesShot id.
idempotency_keyYesStable key identifying this generation request. Reuse the SAME key when retrying the same request — the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.
short_shot_numberNoTarget a specific short shot.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint false, destructiveHint false), the description discloses a significant side effect: 'Spends credits.' Also clarifies the asynchronous nature by returning a job id. No contradiction with 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?

Two concise sentences that cover purpose, side effect, and follow-up action. No fluff or redundant wording.

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

Completeness5/5

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

Even without an output schema, the description tells the user what to expect (job id) and how to proceed (poll get_job). Combined with schema param explanations, all necessary context is present.

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 coverage is 100% with descriptions for all parameters, so the baseline is 3. The description itself does not add extra semantics beyond what is already in the schema, but the schema adequately explains each parameter.

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?

Clearly states the action (generate), the resource (a video clip for a single shot / episode_shots row), and the scope. Distinguishes from sibling generate_* tools by focusing on shot clip generation.

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?

Provides explicit usage guidance by noting that it returns a job id and directing the user to poll with get_job. Does not explicitly mention when to use versus alternatives, but the core flow is communicated.

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

get_asset_libraryList assetsA
Read-only
Inspect

List generated assets available to a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject id.

TDQS

A3.5/5.0
Behavior4/5

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

The annotation readOnlyHint: true is consistent with the 'List' action, and no side effects are implied. The description is straightforward about being a read-only operation, so the annotation covers most transparency needs.

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 front-loads the verb 'List' and directly states the purpose without any fluff or unnecessary detail.

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 description provides the essential action and input parameter, but lacks information about the expected output format, pagination, or any additional context like asset types or filtering. It is adequate for a simple read-only list but leaves some operational details unspecified.

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 project_id has a description 'Project id.' that is minimal but sufficient for a standard identifier. It does not explain how to obtain or format the id, though the coverage is technically complete.

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 object 'generated assets available to a project,' but the term 'generated assets' is somewhat ambiguous and could be more specific to distinguish it from other asset-related tools.

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 like get_scene_assets or list_episode_segments. It only states the basic function without conditions or exclusions.

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

get_characterGet characterB
Read-only
Inspect

Get one character record.

ParametersJSON Schema
NameRequiredDescriptionDefault
character_idYesCharacter id.

TDQS

B3.4/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 'Get one character record' is consistent with that. No additional behavioral details (e.g., side effects, permissions, error cases) are given, but the annotation suffices for this simple read operation.

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 extraneous information. It is highly concise and well-structured for the tool's purpose.

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?

Given the simplicity of the tool (one required parameter) and no output schema, the description sufficiently communicates that the tool retrieves a character record. While it does not specify the response format, that is not essential for a straightforward get operation.

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 already provides a description for character_id ('Character id.') and the tool description adds no further elaboration on format, usage, or relationships. With high schema coverage, the baseline of 3 is appropriate.

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 ('Get') and the resource ('one character record'), which distinguishes it from sibling tools like get_character_looks or get_project_characters that operate on different aspects or collections.

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 get_character_looks or get_project_characters. The description does not offer any contextual or conditional usage advice.

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

get_character_looksList character looksB
Read-only
Inspect

List a character's looks.

ParametersJSON Schema
NameRequiredDescriptionDefault
character_idYesCharacter id.

TDQS

B3/5.0
Behavior2/5

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

The readOnlyHint annotation already indicates a read operation, and the description adds no behavioral details such as pagination, ordering, or side effects. It merely restates the tool's name.

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 short sentence with no wasted words. It is perfectly concise.

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 no output schema, the description does not clarify what a 'look' is or what the returned data contains. The minimal phrasing leaves important context unstated, though the tool is simple.

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 coverage is 100% (the only parameter has a description), so the baseline is 3. The tool description does not add any extra meaning to 'character_id' beyond the schema's minimal 'Character id.'

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 verb 'List' and resource 'character's looks' clearly state the tool's purpose. It is distinct from sibling tools like 'get_character' which fetches character details, and no other sibling covers looks.

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 gives no indication of when to use this tool versus alternatives. It does not mention any conditions, fallbacks, or related tools, leaving the agent without routing guidance.

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

get_episodeGet episodeB
Read-only
Inspect

Get one episode record.

ParametersJSON Schema
NameRequiredDescriptionDefault
episode_idYesEpisode id.

TDQS

B3.3/5.0
Behavior3/5

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

The annotation readOnlyHint=true already conveys that this is a safe read operation. The description adds no further behavioral detail, such as return format or error conditions, so it contributes minimal value 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 wasted words. It is perfectly sized for a simple get-by-ID operation.

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?

While the tool is simple, the description does not mention what the returned episode record contains or any specifics about the response. Given the lack of an output schema, this information could be helpful, but for a basic get tool it may be assumed. Still, there is a minor gap in completeness.

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 100% with the parameter 'episode_id' fully described as 'Episode id.' The description adds no additional meaning beyond what the schema already provides, so the baseline 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 'Get one episode record' clearly identifies the verb and resource, and distinguishes it from siblings like get_episode_editor and get_episode_shots by its focus on the core episode record. It is concise and unambiguous.

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 provided on when to use this tool versus the many sibling tools, such as get_episode_editor or get_episode_shots. The agent must infer usage from the name alone, with no explicit context or exclusions.

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

get_episode_editorGet full episodeA
Read-only
Inspect

Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narrower calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
episode_idYesEpisode id.
project_idYesProject id.

TDQS

A4/5.0
Behavior3/5

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

The annotations include readOnlyHint: true, and the description uses the non-destructive verb 'Get'. The description is consistent with the annotation but does not add further behavioral details 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 concise—two sentences—and front-loads the main purpose. It lists the tree contents efficiently and the usage advice is brief but clear. No unnecessary words or redundancy.

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 composite getter without an output schema, the description sufficiently explains what will be returned by enumerating the entities in the tree. It doesn't mention potential response size or pagination, but the list of included items gives a strong sense of the response scope.

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 schema provides descriptions for both parameters ('Project id.' and 'Episode id.'), giving 100% coverage. However, the description adds no additional context about the parameters, so the score stays at the baseline for full schema coverage.

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: 'Get the full episode tree in one call' and lists all the included entities (project, episode, outline, script, segments, shots, characters, looks, locations, jobs). It also distinguishes itself from narrower sibling tools by advising to 'Prefer this over several narrower calls.'

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 explicitly tells when to use this tool ('Prefer this over several narrower calls'), implying that it is for cases where the full episode tree is needed. It doesn't explicitly state when not to use it, but the contrast with narrower calls provides clear guidance.

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

get_episode_shotsList shotsB
Read-only
Inspect

List the shots in an episode.

ParametersJSON Schema
NameRequiredDescriptionDefault
episode_idYesEpisode id.

TDQS

B3.3/5.0
Behavior3/5

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

The readOnlyHint annotation already covers the read-only nature, and the description is consistent with it (no contradiction). However, the description adds no additional behavioral context beyond the annotation — no mention of ordering, pagination, empty results, or side effects — so it earns a neutral score rather than extra credit.

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 of seven words with no filler or redundancy. The core action and target resource are front-loaded, making it maximally efficient for an agent 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?

For a simple read-only list operation with one parameter and no output schema, the description is minimally adequate. However, it does not mention whether shots are returned in a particular order (e.g., by scene or sequence), what fields are included, or how shots relate to segments — details that would help an agent use the result correctly.

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 100% (episode_id is documented as 'Episode id.'), so the baseline is 3. The tool description adds no further meaning to the parameter — no format specification, example values, or clarification of what constitutes an episode ID in this system.

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 ('List') with a clear resource ('shots') and scope ('in an episode'). It implicitly distinguishes from siblings like get_episode (episode details), list_episode_segments (segments vs shots), and update_shot (mutation) through the noun 'shots', though it does not explicitly name any alternative.

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 related siblings such as list_episode_segments, get_episode_editor, or get_episode. There is no explicit when-to-use or when-not-to-use information, leaving the agent to infer context from the tool name alone.

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

get_jobGet job statusA
Read-only
Inspect

Get one generation job's status and output. Use this to poll a job returned by a generate_* tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob id.

TDQS

A4.7/5.0
Behavior5/5

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

The annotation readOnlyHint: true indicates a read-only operation, which aligns with the description's 'Get' action. No side effects are implied or contradicted, and the description accurately reflects the tool's non-mutating 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 concise and front-loaded, using two short sentences to convey purpose and usage. Every word adds value without redundancy or fluff.

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

Completeness5/5

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

For a simple polling tool, the description fully captures what it does, when to use it, and what it returns (status and output). Given the lack of an output schema, the description is sufficient for an agent to invoke it correctly.

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 parameter job_id is described as 'Job id.' which is accurate but adds no additional context beyond the schema. With 100% schema coverage, the description meets the baseline but does not enrich the parameter understanding.

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: to get a generation job's status and output. It distinguishes itself from sibling tools like list_project_jobs (which lists jobs) and generate_* tools (which create jobs) by focusing on polling a specific job.

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

Usage Guidelines5/5

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

Explicitly instructs to use this tool to poll a job returned by a generate_* tool, providing clear when-to-use guidance. This eliminates ambiguity about its role in the generation workflow.

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

get_locationGet locationA
Read-only
Inspect

Get one location record.

ParametersJSON Schema
NameRequiredDescriptionDefault
location_idYesLocation id.

TDQS

A3.6/5.0
Behavior3/5

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

The annotation readOnlyHint: true already indicates that the tool is read-only and has no destructive side effects. The description does not add additional behavioral context such as response format, error handling, or authentication requirements. Since the annotation covers the primary safety aspect, the lack of extra detail is acceptable.

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 efficiently conveys the tool's function without unnecessary elaboration.

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 simple getter tool, the description and schema provide sufficient context: the action, the resource, and the parameter. It does not describe the return type or potential errors, but given the low complexity and the presence of the required parameter, it is reasonably complete.

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 provides a description for the only parameter 'location_id' ('Location id.'), achieving 100% schema coverage. The tool description does not add any further semantic detail about the parameter, but the baseline of 3 is appropriate given the full schema coverage.

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 specific verb 'Get' and the resource 'location record', making the tool's purpose unambiguous. It stands out among sibling get_* tools because the resource type is explicitly named, though it does not explicitly differentiate from them.

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 usage guidance is provided. The description does not mention when to prefer this tool over alternatives like get_project_locations (which lists locations) or other single-getter tools. An agent would have to infer from the parameter and siblings, but no explicit direction is given.

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

get_projectGet projectA
Read-only
Inspect

Get one project's summary and current workflow step.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject id.

TDQS

A4/5.0
Behavior4/5

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

The readOnlyHint annotation is consistent with the 'Get' verb. The description adds value by revealing the returned data includes 'summary' and 'current workflow step', giving the agent a better sense of the operation's output despite the lack of an output schema.

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, tightly worded sentence that immediately states the action and the resource. No fluff or redundant phrasing is present.

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?

The description provides enough context for the agent to know that this returns summary-level project info, which is sufficient for a read operation. It does not enumerate all return fields, but that is not strictly required in the absence of an output schema.

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 schema description for project_id is minimal ('Project id.') but covers 100% of the parameter. The tool description itself adds no additional meaning for the parameter, so the baseline score of 3 applies.

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 identifies the verb 'Get' and the resource 'project', and further specifies 'summary and current workflow step', distinguishing it from sibling get tools that target specific subresources like characters or episodes.

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 when needing overall project-level information, but does not explicitly state when to prefer this over alternatives or provide exclusions. The intent is clear from the resource scope, but explicit guidance is absent.

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

get_project_charactersList charactersB
Read-only
Inspect

List a project's characters.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject id.

TDQS

B3.1/5.0
Behavior2/5

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

The tool is annotated with readOnlyHint: true, and the description says 'List', which is consistent. However, the description adds no behavioral details beyond that, such as response format, ordering, pagination, or any side effects. With annotations already covering the read-only nature, the description contributes no incremental 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 that conveys the essential action and target. There is no redundancy or irrelevant information, making it highly efficient and well-structured for quick parsing.

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 simple read-only list operation with one input parameter and no output schema. The description covers the core functionality but omits context such as what fields are returned, whether the list is ordered, or if any filtering applies. Given the minimal complexity, it is adequate but not fully comprehensive.

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 schema has a single parameter 'project_id' with a brief description 'Project id.' The tool description does not elaborate on this parameter (e.g., format, constraints, or how it identifies the project). Since schema coverage is 100% for the parameter, the baseline is 3, and the description adds no extra meaning.

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 ('a project's characters'), which is unambiguous. It does not explicitly contrast with the sibling tool 'get_character' (which likely retrieves a single character), but the plural 'characters' and the project context imply a list operation, making 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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention situations where listing all characters is preferred over retrieving a single character or using other list tools, nor does it exclude any use cases. This leaves the agent to infer usage from the name alone.

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

get_project_episodesList episodesA
Read-only
Inspect

List the episodes in a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject id.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description does not need to restate that this is a read operation. The description adds minimal behavioral context beyond scoping to a project; no mention of ordering, pagination, or return format is made.

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 fully states the tool's purpose. There is no wasted wording, and the core action and scope are front-loaded.

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 simple one-parameter list tool with a read-only annotation, the description is nearly sufficient. It lacks any note about return values, but since this is a list operation and no output schema exists, the absence is a minor gap rather than a serious omission.

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 100% and the single parameter project_id is adequately described in the schema. The description's 'in a project' phrase loosely maps to project_id but does not add extra detail beyond the schema.

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 and resource: 'List the episodes in a project.' It clearly identifies the operation and resource, and the project scoping helps distinguish it from tools like get_episode or list_projects. However, it does not explicitly name or differentiate against sibling 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?

The phrase 'in a project' implies this tool is for retrieving all episodes for a given project_id, and the required parameter reinforces that. There is no explicit guidance about when to use this instead of get_episode, list_episode_segments, 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.

get_project_locationsList locationsB
Read-only
Inspect

List a project's locations.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject id.

TDQS

B3.4/5.0
Behavior2/5

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

The readOnlyHint annotation already declares the read-only nature; the description adds no further behavioral details such as pagination, ordering, or error conditions.

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 function without extraneous words.

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 simple list operation with one parameter and no output schema, the description suffices to understand the tool's functionality, though it could optionally mention the output type.

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 project_id has a minimal description ('Project id.') which is consistent with its purpose, but it doesn't specify format or source; schema coverage is complete though, so this is acceptable.

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 (locations) scoped by a project, distinguishing it from get_location which is singular.

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 provided on when to use this tool over alternatives such as get_location or list_projects, leaving the agent to infer the appropriate context.

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

get_project_scriptGet scriptA
Read-only
Inspect

Get a project's full script package.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject id.

TDQS

A4.2/5.0
Behavior4/5

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

The readOnlyHint annotation already declares the tool as read-only, and the description 'Get' aligns with this. No contradictions or additional side effects are mentioned, which is appropriate for a simple getter.

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 conveys the essential information without unnecessary words. It is front-loaded with the action and resource.

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?

The description specifies the return value ('full script package'), which is sufficient for a read-only getter. It does not elaborate on the package format, but that is not required for the tool's basic usage.

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 schema provides a description for the only parameter (project_id: 'Project id.'), covering 100% of the parameters. The tool description does not add further semantic detail, so 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.

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 function: 'Get a project's full script package.' It specifies the resource (project script) and distinguishes it from other getter tools like get_project or get_project_characters.

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 provides clear context for when to use the tool—when a full script package is needed. It does not explicitly name alternatives, but the tool name and description make the usage obvious among sibling getters.

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

get_scene_assetsGet sceneA
Read-only
Inspect

Get one scene with its shots, characters, locations and continuity references.

ParametersJSON Schema
NameRequiredDescriptionDefault
episode_idYesEpisode id.
project_idYesProject id.
scene_numberYesScene number.

TDQS

A3.6/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes this as a safe read operation. The description adds useful context about the returned composition (shots, characters, locations, continuity references), but does not disclose any additional behavioral traits such as aggregation behavior, response shape, or potential size/performance considerations.

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?

A single, front-loaded sentence states exactly what the tool returns with no filler or redundancy. Every part of the sentence earns its place by clarifying the resource and its included associations.

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 simple read tool with three required parameters and no output schema, the description adequately conveys what is returned. It could be more complete by noting any limitations or exactly how the related assets are represented, but the essentials are present.

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 coverage is 100%, with each parameter having a basic description ('Project id.', 'Episode id.', 'Scene number.'). The description adds no meaning beyond the schema, so the baseline of 3 applies.

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 uses a specific verb ('Get') and a clear resource ('one scene') while enumerating what is included: shots, characters, locations, and continuity references. This distinguishes it from sibling tools like get_episode_shots or get_character by indicating it returns a scene plus its related assets.

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 provided on when to use this tool versus alternatives. The description does not mention exclusions or name any sibling tools, so an agent must infer when this is the right choice among many similar getters.

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

list_episode_segmentsList segmentsA
Read-only
Inspect

List the video segments in an episode.

ParametersJSON Schema
NameRequiredDescriptionDefault
episode_idYesEpisode id.

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 a safe read operation, and the description is consistent with that. No additional behavioral details are provided, but none contradict 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.

Conciseness5/5

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

A single, clear sentence that is direct and free of unnecessary content, with the key action and object placed at the beginning.

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 simple list operation with a single parameter and no output schema, the description provides sufficient context. It could mention the return format, but that is not required given the minimal scope.

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, episode_id, is described as 'Episode id.' in both the schema and the tool description. The description adds no further meaning beyond the schema, which has 100% coverage for this parameter.

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

Purpose5/5

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

The description states a specific action ('List') and resource ('video segments in an episode'), clearly distinguishing it from sibling tools like get_episode_shots or list_project_jobs.

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 only states what it does, leaving the agent to infer the appropriate context without mention 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.

list_project_jobsList jobsA
Read-only
Inspect

List generation jobs for a project, newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject id.

TDQS

A3.9/5.0
Behavior3/5

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

The annotation readOnlyHint: true matches the description 'List generation jobs', which implies a read-only operation. However, the description adds no additional behavioral context, such as pagination, error conditions, or sorting details beyond 'newest first'.

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 starts with the action verb and contains no unnecessary words. It delivers the core purpose and ordering in an efficient manner.

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

Completeness5/5

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

The tool is low in complexity: one required parameter, no output schema, and a straightforward listing operation. The description provides enough information for an agent to decide when to call it, without needing details about return format or additional options.

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 schema provides a description for project_id ('Project id.') at 100% coverage, but it is minimal and does not explain how to obtain or validate the identifier. The tool description adds no further clarification, so the parameter remains underspecified.

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 specifies the action (List), the resource (generation jobs), the scope (for a project), and the ordering (newest first). This distinguishes it from siblings like list_projects (which lists projects) and get_job (which retrieves a single job).

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 enumerating all jobs of a project, but it does not explicitly contrast with alternatives such as get_job or list_episode_segments. It would be clearer to state 'use this when you need all jobs for a project' or mention that get_job retrieves a single job.

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

list_projectsList projectsA
Read-only
Inspect

List all projects owned by the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

The readOnlyHint annotation already covers side effects. The description aligns with this by using 'List', which is non-mutating. No additional behavioral details are needed for this simple read operation.

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 gets straight to the point.

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?

Given the simplicity and lack of output schema, the description is sufficient. It communicates the essential behavior without needing to specify return format or pagination, which are not implied by the tool's nature.

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

Parameters4/5

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

There are no parameters, so the description has nothing to explain. The schema coverage is complete (vacuously), and the description adds no unnecessary parameter details.

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 (projects), with a scope (owned by the authenticated user). It is distinct from siblings like get_project and list_episode_segments.

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 implicitly indicates when to use it (when you need all projects for the current user) and distinguishes it from single-project retrieval. It does not explicitly compare to alternatives, but the scope is clear.

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

update_locationUpdate locationA
Destructive
Inspect

Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouched. IMPORTANT: a location is usually shared by several scenes across episodes, so this edit changes every scene that uses it. Check where it is used first; if the change is meant for one scene only, it needs a NEW location rather than an edit to this one. Editing name, short_description, visual_prompt, user_prompt, visual_style or aspect_ratio marks the location stale, because its existing generated image no longer matches the description — regenerate the image if you want them back in sync. Editing mood, location_type, recurring or appears_in_episodes does not affect the image and leaves the stale flag alone. Keep descriptions consistent with the owning character's status and the project's tone. This writes immediately and cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
patchYesFields to change. Send only what you are changing.
location_idYesLocation id to update.

TDQS

A5/5.0
Behavior5/5

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

Beyond the destructiveHint annotation, the description transparently explains side effects: shared locations affect all scenes, editing visual fields marks the location stale, mood/location_type/recurring/appears_in_episodes do not affect the image, and writes are immediate and irreversible.

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?

Though lengthy, every sentence carries critical information—read-before, partial update, shared nature, stale flag, regeneration guidance, and irreversibility. No redundant or vague statements; structure is logical and easy to follow.

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

Completeness5/5

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

The description covers all necessary context for a mutation tool: preconditions (read first), operation semantics (partial update), side effects (shared across scenes, stale flag), and edge cases (when to create new). It is complete even without an output schema.

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

Parameters5/5

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

The schema describes location_id and patch, and the patch description clarifies purpose. The description text enumerates all patch fields and explains their effects, so parameter meaning is fully covered despite individual field descriptions being absent.

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 verb 'Overwrite fields on one location' and specifies the resource (location). It distinguishes the tool's behavior from siblings by emphasizing partial updates and the need to read first, making its 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 Guidelines5/5

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

Provides explicit usage guidance: read first via get_project_locations or get_location, send only changed fields, and explains when to create a new location instead. Also details the stale-flag consequences for editing certain fields, which is essential for correct use.

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

update_shotUpdate shotA
Destructive
Inspect

Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed — omitted fields are left untouched. To change dialogue, edit camera_setup.short_shots[].dialogue_covered; never send the deprecated dialogue field, which can duplicate or resurrect lines. This writes immediately and cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
patchYesFields to change. Send only what you are changing. Edit dialogue via camera_setup.short_shots[].dialogue_covered, not the deprecated `dialogue`.
shot_idYesShot id (episode_shots row) to update.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already mark it as destructive, but the description adds key behavioral details: 'writes immediately and cannot be undone' and 'omitted fields are left untouched'. It also explains the consequence of using the deprecated dialogue field (duplicate/resurrect lines), which goes beyond the annotation's simple destructive flag.

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 compact and well-structured: three sentences that front-load the core action, then provide usage rules and a caution. Every sentence adds value with no fluff.

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

Completeness5/5

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

Despite the complex nested schema, the description covers the essential workflow: read first, send only changes, handle dialogue correctly, and be aware of the irreversible write. It complements the schema without repeating its structure, and since there is no output schema, return value details are not required.

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

Parameters4/5

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

The schema already provides high coverage (100%) with descriptions for shot_id and patch, including the instruction to send only changed fields and to edit dialogue via camera_setup.short_shots[].dialogue_covered. The description reinforces this and adds the rationale for avoiding the deprecated field, giving extra context beyond the schema's wording.

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 verb ('Overwrite') and resource ('one shot'), and distinguishes it from read-only siblings by instructing to read first. It is specific and avoids tautology, making the tool's 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 Guidelines5/5

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

It explicitly says to read the shot first via get_episode_shots or get_episode_editor, then send only changed fields. It also gives a specific alternative for dialogue (camera_setup.short_shots[].dialogue_covered) and warns against the deprecated field, providing clear when-to-use and what-not-to-do guidance.

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. Dates show when Glama detected each change.

  1. 25 tool updates
    • First observedgenerate_character_image
    • First observedgenerate_episode_music
    • First observedgenerate_location_image
    • First observedgenerate_script
    • First observedgenerate_shot_background_image
    • First observedgenerate_shot_clip
    • First observedget_asset_library
    • First observedget_character
    • First observedget_character_looks
    • First observedget_episode
    • First observedget_episode_editor
    • First observedget_episode_shots
    • First observedget_job
    • First observedget_location
    • First observedget_project
    • First observedget_project_characters
    • First observedget_project_episodes
    • First observedget_project_locations
    • First observedget_project_script
    • First observedget_scene_assets
    • First observedlist_episode_segments
    • First observedlist_project_jobs
    • First observedlist_projects
    • First observedupdate_location
    • First observedupdate_shot

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have clear, distinct purposes, but some overlap exists between get_episode_shots and list_episode_segments, and get_episode_editor vs get_episode could be confused. Overall, the generate/get/list/update families are reasonably distinguishable.

Naming Consistency4/5

The verb_noun pattern is consistently applied across generate_, get_, list_, and update_ tools. Minor deviations like get_episode_editor (which returns a tree rather than an editor) and get_asset_library (rather than list_assets) prevent a perfect score.

Tool Count2/5

With exactly 25 tools, this exceeds the 'too many' threshold of 25+ in the calibration. While the domain is complex, the count feels heavy, especially with many near-duplicate get/list variants.

Completeness2/5

The tool surface is read- and generation-heavy but lacks update operations for characters, episodes, and projects, and has no delete operations at all. This creates notable gaps in lifecycle management, though the existing read/generate coverage is substantial.

Resources