Skip to main content
Glama

Server Details

Remote MCP server for agents that create, edit, validate, and publish Fine Structure apps.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 3.6/5 across 95 of 95 tools scored. Lowest: 2.6/5.

Server CoherenceB
Disambiguation4/5

Despite the large number of tools, each has a clearly stated purpose and they are grouped by domain (apps, files, entities, email marketing, etc.). A few tools like get_app_links vs get_preview_url or get_domain_verification vs check_domain_verification could be confused, but descriptions are detailed enough to separate them.

Naming Consistency3/5

The naming is mostly snake_case with verb_noun (e.g., create_app, list_apps) but includes inconsistent patterns like agency_create_claim_link, email_marketing_app_configure, and add_file_change. The mix of verb-first and noun-first prefixes makes the set readable but not uniformly predictable.

Tool Count2/5

With 95 tools, this server is far beyond the typical 3-15 or even 16-25 range. While the platform covers a broad feature set, the sheer number of tools is overwhelming and will make it difficult for agents to discover and select the right one efficiently.

Completeness4/5

The tool surface covers the full app lifecycle: create, get, update, publish, file operations, change sets, entities, records, secrets, domains, members, versions, A/B tests, and email marketing. Notable gaps include no direct delete_app tool and no delete_entity_schema, but these are minor given the extensive coverage.

Available Tools

105 tools
add_custom_domainAInspect

Attach or replace the app custom domain through the same Fine Structure Studio custom-domain flow. Returns exact DNS verification and routing records for the user to configure at their DNS provider.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
domainYesCustom domain to connect, for example example.com or app.example.com
Behavior3/5

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

Without annotations, the description discloses that the tool returns DNS verification and routing records, indicating a mutation side effect. However, it does not detail whether the operation is reversible, idempotent, or if it overwrites existing domains without confirmation.

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 sentences long with no extraneous information. The first sentence front-loads the core purpose, and the second adds critical behavioral output 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 simplicity (2 required parameters, no output schema), the description adequately covers purpose and behavior. However, it could mention common error states or prerequisites like domain ownership verification, but is sufficient for 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 input schema already provides clear descriptions for both parameters (app_id and domain). The description adds no additional semantics beyond what the schema states, so it meets 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 attaches or replaces a custom domain for an app, distinguishing it from sibling tools like remove_custom_domain, check_domain_verification, and set_primary_domain by focusing on the initial setup/replacement of the domain itself.

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?

No explicit guidance on when to use this tool versus alternatives like check_domain_verification or set_primary_domain is provided. The description implies it is part of the custom-domain flow, but does not specify prerequisites or exclusions, leaving room for agent misinterpretation.

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

add_file_changeAInspect

Stage one file upsert or delete inside a change set. Does not modify the live app until apply_change_set.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesVirtual file path
app_idYesThe app ID
contentNoComplete file contents for upsert
file_typeNoOptional file type override
operationNoupsert
change_set_idYesChange set ID
Behavior3/5

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

With no annotations, the description adds key behavioral context (no live modification until apply_change_set). However, it lacks details on error handling, limits, or overlap with existing staged changes.

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 with front-loaded purpose. Every word is informative, no wasted content.

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?

Given 6 parameters and no output schema, the description covers the core purpose and a key behavioral trait. However, it omits lifecycle context (e.g., need for existing change set) and return behavior, making it adequate but not 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?

Schema description coverage is 83%, and the description adds no extra information beyond what the schema provides for parameters. 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 it stages one file upsert or delete within a change set, distinguishing it from siblings like write_app_file (direct live modification) and apply_change_set (applies all staged changes).

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 usage for staging changes before applying, and explicitly notes it does not modify the live app until apply_change_set. However, it does not provide explicit when-not-to-use guidance or mention alternatives for direct file writes.

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

agency_create_clientBInspect

Agency mode only. Create or update a client record for an account-level agent. This does not create a verified Fine Structure user account and does not transfer ownership.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNoOptional internal note for the agency
client_emailYesClient email that will be allowed to claim projects
client_full_nameNoOptional client display name
Behavior3/5

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

Without annotations, the description adds moderate behavioral transparency by stating that the tool does not create a verified user account and does not transfer ownership. However, it omits other behavioral traits such as required permissions, side effects, or idempotency guarantees.

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 extremely concise with two short sentences, front-loading the key constraint ('Agency mode only'). 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?

Despite having only 3 parameters and no output schema, the description lacks details about what 'update' entails, the lookup key for updates (presumably client_email), error conditions, and the return value. This leaves significant gaps for an agent to interpret 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 coverage is 100%, and the description does not add extra meaning beyond the parameter descriptions already in the schema. The baseline of 3 is appropriate as the description provides no additional semantic value.

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 it creates or updates a client record in agency mode, and explicitly distinguishes it from creating a verified user account. However, it does not differentiate from sibling tools like agency_create_claim_link or agency_create_client_app.

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 specifies 'Agency mode only' as a usage condition, but provides no guidance on when to use this tool versus alternatives (e.g., agency_create_claim_link), 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.

agency_create_client_appAInspect

Agency mode only. Create a new app owned by the agent, start generation, and create a claim link for the client. Ownership transfers only when the invited client logs in with the same email and accepts the claim link.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the app (1-100 chars)
noteNoOptional internal client/project note
promptYesDetailed description of the app to build
descriptionNoOptional short app description
client_emailYesClient email allowed to claim ownership
client_full_nameNoOptional client display name
claim_expires_in_daysNoClaim link lifetime, 1-90 days
keep_agent_collaboratorNoAfter claim, invite the agent back as an editor collaborator
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses key behavior: ownership transfers only when the invited client logs in with the same email and accepts the claim link. However, it lacks details on return value, potential errors, or auth requirements beyond 'Agency mode only'.

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, front-loaded with the core action and mode, followed by a concise explanation of the ownership transfer. No redundant or extraneous information.

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?

Given the complexity of an agency workflow with 8 parameters and no output schema, the description explains the claim link process but omits what the tool returns (e.g., claim link URL or app ID). It is sufficient but not exhaustive.

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 descriptions for all 8 parameters (100% coverage). The description adds overarching context about claim creation and ownership transfer, but does not elaborate on specific parameter meanings beyond the schema. Baseline 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 purpose: 'Agency mode only. Create a new app owned by the agent, start generation, and create a claim link for the client.' It specifies the verb (create), resource (app), and distinguishes from siblings like 'agency_create_claim_link' and 'agency_create_client'.

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 indicates 'Agency mode only,' which guides when to use it. It explains the ownership transfer process, but does not explicitly contrast with alternatives like 'create_app' or provide 'when not to use' scenarios. Overall, the context is clear enough for an agent.

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

agency_get_claim_statusBInspect

Agency mode only. Inspect one handoff status without exposing the raw claim token.

ParametersJSON Schema
NameRequiredDescriptionDefault
handoff_idYesHandoff ID returned by agency_create_claim_link or agency_create_client_app
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool does not expose the raw claim token, which is a safety-related behavioral trait. However, it omits other important aspects such as whether the tool is read-only, what its output looks like, or potential errors. The description adds some value but lacks completeness.

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 exceptionally concise at 14 words, with a front-loaded constraint ('Agency mode only') followed by the clear action. Every sentence adds distinct value without redundancy. This is a model of conciseness.

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 tool with one parameter and no output schema, the description captures the core purpose and a key behavioral trait (hiding the raw token). However, it fails to describe what the output contains (e.g., status value, success indicator) or how the tool fits into a workflow. This leaves some ambiguity for the 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?

Schema coverage is 100%, so the parameter is fully documented in the schema. The description does not add any extra meaning beyond the schema's own description of 'handoff_id'. It does not explain the parameter's format, constraints, or relationship to other tools.

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's purpose: 'Inspect one handoff status' with the qualifier 'Agency mode only'. It distinguishes itself from sibling tools like agency_create_claim_link by focusing on inspection rather than creation, and adds context about not exposing the raw token. However, it does not explicitly name differentiating siblings.

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 lacks conditions for usage, exclusions, or references to related tools such as agency_list_clients. The only instruction is 'Agency mode only', which limits scope but does not help in decision-making.

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

agency_list_clientsBInspect

Agency mode only. List client records and app handoff status for the authenticated agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_handoffsNoInclude claim links status without raw tokens
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It implies a read operation but does not explicitly state that it is non-destructive or safe, nor does it describe permissions, rate limits, or side effects.

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 sentences, front-loading the action and scope. Every sentence adds value with no waste.

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 covers the purpose and a prerequisite, but lacks details about the return format or behavior. Given there is no output schema, more context would be helpful 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?

Schema description coverage is 100%, and the parameter description in the schema is identical to what the tool description adds. No additional meaning beyond the schema is provided, so baseline 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 action ('list') and the resource ('client records and app handoff status'). It also specifies the scope ('Agency mode only'). However, it does not explicitly differentiate from other list tools, though no conflicting siblings exist.

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 only mentions 'Agency mode only' as a prerequisite. There is no guidance on when to use this tool versus alternatives, nor 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.

apply_change_setAInspect

Apply a staged change set to the app. Creates a Saved Version before applying. Blocks on validation errors unless force=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoApply even if validation has errors
app_idYesThe app ID
change_set_idYesChange set ID
Behavior4/5

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

Without annotations, the description discloses important behaviors: it creates a Saved Version before applying and blocks on validation errors unless force=true. This provides useful behavioral context beyond the schema, though it omits details like whether the change set is consumed or permissions required.

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 deliver the core purpose and key behavioral details with no wasted words. The first sentence front-loads the primary action.

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 covers the main behavioral aspects and side effects (creating a Saved Version, error handling). However, it does not mention return values or status on success, which would be helpful given no output schema. Overall sufficient for an apply 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?

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning to the parameters (force, app_id, change_set_id) beyond what the schema already provides.

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 ('Apply a staged change set') and the resource ('change set'), differentiating it from sibling tools like create_change_set and discard_change_set. The additional details about creating a Saved Version and blocking on validation errors add context, but it does not explicitly distinguish from validate_change_set.

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 validate_change_set or publish_app. The description hints that it is used after staging changes, but lacks clear context or exclusions.

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

check_domain_verificationBInspect

Check Fine Structure custom-domain verification and SSL status for the configured custom domain, then save the latest status.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
domainNoOptional configured custom domain. If omitted, uses the app's current custom domain.
Behavior2/5

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

The description indicates a side effect ('save the latest status') but does not disclose whether the operation is destructive, requires authentication, or has rate limits. No annotations exist to supplement this.

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 sentence that is concise and front-loaded with the core action. No unnecessary words.

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?

Missing description of return value (no output schema) and no guidance on when to use over similar sibling tools. Incomplete for a tool with two parameters and a save action.

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 both parameters described adequately. The description does not add extra meaning beyond what the schema provides, so 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 action ('check verification and SSL status' and 'save') and the resource ('custom domain'), distinguishing it from read-only siblings like get_domain_verification.

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 on when to use this tool versus alternatives such as get_domain_verification or get_domain_ssl_status. No prerequisites or when-not-to-use mentioned.

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

compare_current_to_versionAInspect

Compare the current app files to a Saved Version and return compact per-file diffs.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
snapshot_idYesSaved Version snapshot ID
max_diff_charsNo
Behavior2/5

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

No annotations provided, so description must disclose behavior. It states it returns diffs, but does not confirm read-only nature, mention pagination or truncation, or explain max_diff_chars behavior. The compaction of diffs is mentioned but not elaborated.

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 with zero filler. Front-loaded with the core action and output type. Every word earns its place.

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 diff tool with 3 parameters and no output schema, the description covers the basic purpose and output. However, it omits read-only hint, return format details, and explanation of max_diff_chars. Adequate but has gaps.

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 67% (2 of 3 params described). The description adds no extra meaning beyond the schema for app_id and snapshot_id. The max_diff_chars parameter is not explained in the description, though its name and default hint at truncation. With high coverage, baseline is 3.

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?

Title and description clearly identify the verb 'compare', the resources 'current app files' and 'Saved Version', and the output 'compact per-file diffs'. This distinguishes it from siblings like 'compare_saved_versions' which compares two saved versions.

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 viewing differences between current files and a specific saved version, but does not provide explicit guidance on when to use it versus alternatives like 'compare_saved_versions' or 'restore_file_from_version'. No when-not-to-use or prerequisite info.

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

compare_saved_versionsAInspect

Compare two Saved Versions and return per-file additions, removals, modifications, and compact diffs.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
max_diff_charsNo
base_snapshot_idYesOlder/base snapshot ID
target_snapshot_idYesNewer/target snapshot ID
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It states the outputs but does not disclose side effects, permissions required, rate limits, or whether it's a read-only operation. The description is insufficient for a tool with no 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 sentence with no unnecessary words. It is front-loaded with the action and immediately specifies the output. Perfectly concise.

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 explains what the tool returns but does not mention the behavior of the 'max_diff_chars' parameter, any limitations on snapshot IDs, or the expected format of diffs. Given the moderate complexity and lack of output schema, more detail would improve 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?

The input schema has 75% description coverage, meaning three out of four parameters have descriptions. The tool description does not add any extra meaning beyond what is already in the schema. Since coverage is high, baseline is 3, and no added value, score is 3.

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 'compare', the resource 'Saved Versions', and specifies the output: per-file additions, removals, modifications, and compact diffs. This distinguishes it from sibling tools like 'compare_current_to_version' and 'restore_saved_version'.

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 when to use (to compare two saved versions) but does not explicitly exclude other tools or provide context on when not to use. No alternatives or prerequisites are mentioned, so guidance is minimal.

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

configure_domain_redirectsBInspect

Configure custom-domain redirect policy: primary domain, optional www/root redirect, and HTTPS enforcement.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
force_httpsNoRedirect HTTP custom-domain requests to HTTPS
redirect_wwwNoRedirect the www/root counterpart to primary_domain
primary_domainYesCanonical primary domain, for example example.com
Behavior2/5

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

No annotations provided, so description carries full burden. It lists configurable elements but fails to disclose behavioral traits: whether changes overwrite existing redirects, take effect immediately, require domain verification, or have destructive side effects. Does not describe response or confirm action.

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?

Single sentence with clear structure: verb, resource, list of configurable elements. No unnecessary words. Could benefit from brief additional context but 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?

With 4 parameters, no output schema, and no annotations, the description is insufficient. Missing prerequisites (domain must be added and verified), behavior on repeated calls, and any error conditions. A configuration tool needs more context for correct invocation.

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%, baseline 3. Description mentions parameters (primary_domain, redirect_www, force_https) but adds no additional meaning beyond their names and defaults. Does not explain semantics like effect of toggling redirect_www or force_https.

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 clearly states verb 'Configure' and resource 'custom-domain redirect policy', listing specific aspects: primary domain, www/root redirect, HTTPS enforcement. It distinguishes from siblings like add_custom_domain and set_primary_domain by focusing on redirect policy.

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?

Implied usage context: to set redirect policies for custom domains. However, no explicit guidance on when to use this tool versus alternatives (e.g., add_custom_domain or set_primary_domain), no when-not conditions, and no mention of prerequisites.

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

configure_integrationAInspect

Store safe non-secret integration metadata for an app. Use set_secret for API keys/tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
configYesSafe metadata only, such as workspace/team/name/email
providerYesIntegration provider ID
is_activeNoSet false to disconnect this integration metadata
Behavior2/5

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

No annotations provided, so the description carries full behavioral disclosure burden. It states it stores safe non-secret metadata, but does not reveal whether it creates/updates, idempotency, permissions, rate limits, or side effects. The input schema adds some context about 'safe metadata' but overall behavioral traits are under-specified.

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, front-loaded with purpose and sibling differentiation. Every word adds value with no redundancy.

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 4 parameters including a nested object and no output schema or annotations, the description is too minimal. It lacks information on return value, update behavior, error conditions, and prerequisites (e.g., app existence). While schema descriptions help, the description alone does not provide sufficient context for correct 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?

Schema description coverage is 100%, so baseline is 3. The description reinforces the non-secret nature of config but does not add new parameter-specific details beyond what the schema already provides. The schema descriptions themselves are clear enough.

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 stores safe non-secret integration metadata for an app, with a specific verb 'store' and resource. It also distinguishes from the sibling tool set_secret by explicitly mentioning where to put secrets.

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: use this tool for non-secret integration metadata and set_secret for API keys/tokens. However, it does not cover other potential alternatives like list_integrations or update scenarios, but the given guidance is sufficient for the main decision.

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

create_ab_testAInspect

Create a native Fine Structure A/B test between existing app pages. Use update_app first if a variant page still needs to be generated. Creates a Saved Version before the change.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExperiment name
app_idYesThe app ID
variantsYesAt least two variants. Traffic must total 100.
is_activeNoWhether to activate the test immediately
page_nameYesBase route page that triggers the experiment
goal_event_typeNoOptional conversion goal type: entity_create, any, form_submit
goal_event_filterNoOptional goal filter, for example {'entity_name': 'Lead'}
Behavior3/5

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

With no annotations, the description must carry the full burden. It discloses that a Saved Version is created before the change, which is a key behavioral trait. It does not mention potential errors, permission requirements, or rate limits. The description provides adequate but not comprehensive 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 three sentences with no redundancy. It front-loads the purpose, follows with a usage hint, and ends with a behavioral note. Every sentence earns its place, making it concise and efficient.

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 create tool with no output schema, the description covers purpose, preconditions, and a side effect. It lacks details about the return value or error conditions, but given the tool's simplicity and the high schema coverage, it is fairly complete. Sibling differentiation is adequate.

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%, so the input schema already documents all parameters. The description does not add details beyond the schema. The baseline score of 3 applies because the schema does the heavy lifting, and the description adds marginal value for 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 'Create' and the resource 'native Fine Structure A/B test'. It distinguishes from siblings like update_ab_test and delete_ab_test by specifying creation between existing app pages. The mention of 'use update_app first' adds further clarity.

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 a clear precondition: use update_app if a variant page is missing. This helps the agent decide when to use this tool. However, it does not explicitly state when not to use it or list alternative tools, but the context is sufficient for typical use.

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

create_appAInspect

Create a new application from a natural language prompt. The AI generates a complete web app with pages, components, styling, and data models. Returns a job_id - poll get_job_status to track progress. When the job is done, the app is ready.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the app (1-100 chars)
promptYesDetailed description of the app to build
descriptionNoOptional short description
Behavior4/5

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

With no annotations provided, the description bears full responsibility. It transparently discloses that the tool is asynchronous (returns a job_id), that the AI generates a full app (pages, components, etc.), and that the app becomes ready upon job completion. No destructive actions or rate limits are mentioned, but the core behavior is well covered.

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 composed of three concise sentences. The first sentence states the core purpose, the second elaborates on what is generated, and the third provides post-call instructions. No extraneous information is included.

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 no output schema, the description adequately explains the return value (job_id) and the need for polling. It covers input (name, prompt), process (AI generation), and follow-up (poll get_job_status). It does not specify error conditions or limits, but for a straightforward creation tool with three parameters, 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?

Schema coverage is 100%, so baseline is 3. The description does not add significant semantic value beyond the schema's brief descriptions (e.g., 'Name for the app (1-100 chars)'). The mention of 'natural language prompt' loosely relates to the prompt parameter, but there is no deeper explanation of parameter usage.

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 'Create a new application from a natural language prompt', specifying a concrete verb and resource. It further details that the AI generates a complete web app, distinguishing it from sibling tools like create_ab_test or update_app.

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 instructs the agent to poll get_job_status after calling, providing clear follow-up guidance. While it doesn't mention when not to use this tool or list alternatives, the context is sufficient given the presence of sibling tools like write_app_file or update_app.

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

create_change_setAInspect

Create a staged file change set. Add multiple file changes, validate them as one app state, then apply atomically.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoOptional short label
app_idYesThe app ID
Behavior3/5

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

Without annotations, the description carries the burden. It mentions 'staged' and 'atomically apply', indicating it is a non-destructive creation. However, it does not clarify that adding files is done separately (via add_file_change), which could confuse agents about the tool's exact 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 two sentences (17 words), front-loads the purpose, and contains no redundant information. Every word earns its place.

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 some workflow context but lacks details on prerequisites (e.g., must app_id exist?), error states, or what happens with multiple change sets. Given simple parameters and no output schema, it is moderately complete but could be improved.

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% for two simple parameters (label and app_id). The description adds no additional meaning beyond the schema, meeting the baseline of 3.

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 'Create a staged file change set' as the primary action, with a specific verb and resource. It also distinguishes from siblings like apply_change_set and add_file_change by outlining the workflow context.

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 the tool is the first step in a multi-step process (add, validate, apply), providing clear context for when to use it. However, it does not explicitly state alternatives or exclusions, but the context is sufficient.

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

create_entity_recordsAInspect

Propose creating/inserting records in one app entity. No records are written until the app owner explicitly approves the frozen request in Studio chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
entityYesEntity name
reasonNoWhy these records should be created
recordsYesRecords to create after approval
expected_countNoOptional safety check for the number of proposed records
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states that no records are written until the owner approves in Studio chat, which is a critical non-destructive behavior. This goes beyond basic write semantics and helps the agent understand the approval workflow.

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 stating the action and the key constraint. Every word earns its place, with no redundancy or filler.

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 has five parameters, full schema coverage, and no output schema, the description is concise but sufficiently complete for an agent to select and invoke it correctly. It explains the core behavioral nuance (approval required). It could add a bit more about the process after approval or relationship to sibling tools, but overall it covers the essentials.

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 100% coverage with descriptions for all five parameters, so the baseline is 3. The description adds the 'proposal' context which informs how to set parameters (e.g., records are proposed, not final), but it does not add per-parameter syntax or format details beyond what the schema already gives.

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 'Propose creating/inserting' and identifies the resource 'records in one app entity'. This clearly differentiates from sibling tools like update_entity_records (updating) and seed_entity (seeding), and the 'one app entity' scoping adds precision.

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: this tool is for proposing record creation that requires explicit owner approval. It implies use when you want to create records but must not write directly. However, it does not explicitly name alternatives or state when not to use it, so it lacks explicit exclusions.

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

create_entity_schemaBInspect

Create an entity schema file in entities/.json. Creates a Saved Version before writing.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
entityYesEntity name
schemaYesJSON schema object
indexesNo
metadataNo
overwriteNo
relationshipsNo
Behavior3/5

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

With no annotations, the description carries the burden. It discloses the version creation side effect, which is beyond the schema. However, it does not clarify destructive potential (overwrite) or error conditions, leaving gaps for an agent.

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 very short (two sentences) and to the point. It avoids redundancy but could include more useful information 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 7 parameters with nested objects and no output schema, the description is incomplete. It lacks explanation of parameter purposes, return value (none), error scenarios, and does not leverage output schema since none exists. An agent would need additional context.

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 only 43%, and the description adds no parameter details. Parameters like indexes, metadata, overwrite, and relationships are not explained beyond the schema. The description does not compensate for the low 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 verb 'Create', the resource 'entity schema file', the specific path pattern 'entities/<Entity>.json', and a notable side effect 'Creates a Saved Version before writing'. It distinguishes from sibling tools like update_entity_schema and seed_entity.

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 on when to use this tool versus alternatives (e.g., update_entity_schema, seed_entity). No prerequisites are mentioned (e.g., app must exist). The overwrite parameter exists but its effect is not explained.

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

delete_ab_testAInspect

Delete a native A/B test from an app. Creates a Saved Version before the change.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
test_idYesA/B test ID
Behavior4/5

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

With no annotations, the description carries full burden. It discloses a key side effect: 'Creates a Saved Version before the change.' This adds value beyond a simple 'delete' statement, though it doesn't detail other behaviors like idempotency or permission requirements.

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 extremely concise with two sentences, no unnecessary words, and front-loads the key action and side effect.

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 there are only two parameters, no output schema, and a sibling list that includes create/update, the description adequately covers the purpose and a notable side effect. It could mention permanence, but overall it is sufficient.

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 has 100% description coverage, providing baseline clarity. The tool description does not add any additional meaning to the parameters (app_id, test_id) beyond what the schema already states.

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 ('Delete a native A/B test from an app') and distinguishes it from other test-related tools like create_ab_test or update_ab_test by specifying it is a deletion operation.

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 does not provide explicit guidance on when to use this tool versus alternatives. It implies usage for deletion but lacks context such as prerequisites or 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.

delete_entity_recordsAInspect

Propose deleting exact records by ID or exact-match filters. It freezes the matched IDs and returns a pending approval; zero records are deleted until the app owner approves in Studio chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
entityYesEntity name
reasonNoWhy these records should be deleted
filtersNoOne exact-match selector or a list of exact-match selectors
record_idsNoExact record IDs to delete
expected_countNoRequired match count safety check, when known
Behavior4/5

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

With no annotations, the description carries the full burden and does well by explicitly stating that it freezes matched IDs and returns pending approval, with zero records deleted until approval. This reveals the non-destructive, proposal-like behavior, which is critical for an agent to understand. It could further mention post-approval outcomes, but the core behavioral trait is covered.

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 sentences with no wasted words. It front-loads the core purpose and includes the key caveat about pending approval. Every phrase earns its place.

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 six parameters, no output schema, and no annotations, the description sufficiently frames the tool's behavior and purpose. It explains the pending-approval flow and mentions safety checks implicitly through 'exact-match', but it does not describe the approval process details or what happens after approval. Still, for a proposal-style tool, this is adequate and complete enough for an agent to select and invoke it correctly.

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 input schema already documents all six parameters with 100% coverage, so the baseline is 3. The description adds semantic value by grouping the selection methods into 'by ID or exact-match filters', which maps to record_ids and filters, and by mentioning the exact-match requirement. This goes slightly beyond the schema descriptions.

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 proposes deleting records by exact ID or exact-match filters, which is a specific verb (propose deleting) plus resource (records). It distinguishes itself from siblings like update_entity_records and seed_entity by framing it as a deletion proposal rather than a direct mutation.

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 explains the tool returns a pending approval and that nothing is deleted until an owner approves, giving clear context for when it should be used. It does not explicitly list alternatives or exclusions, but the behavioral note makes the use case and approval requirement clear.

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

delete_secretBInspect

Delete one app secret by key.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesSecret key name
app_idYesThe app ID
Behavior2/5

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

Without annotations, the description must declare behavioral traits. It only states the action as 'delete', implying mutation but omits critical details like irreversibility, auth requirements, or behavior when the key doesn't exist. This leaves the agent uninformed about side effects.

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 6-word sentence, extremely concise and front-loaded. While it efficiently conveys the core action, it sacrifices potentially important details, earning a slight deduction for being overly minimal.

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 no output schema and the need for behavioral context in a mutation tool, the description is insufficient. It does not explain the return value, error handling (e.g., missing key), or any confirmation of deletion, leaving the agent without complete usage context.

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%, so the description's mention of 'by key' adds minimal value beyond the schema's 'Secret key name'. The 'app_id' parameter is not mentioned in the description, though it's required. The description does not enrich 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 uses a specific verb 'Delete' and resource 'app secret', clearly indicating the action. The phrase 'by key' further specifies the selection mechanism, making it distinct from siblings like 'set_secret' or 'list_secret_keys'.

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, such as 'set_secret' for updating or 'list_secret_keys' for inspection. The description lacks context for decision-making or prerequisites.

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

discard_change_setAInspect

Discard a pending staged change set without changing app files.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
change_set_idYesChange set ID
Behavior4/5

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

Without annotations, the description reveals that the tool does not alter app files, which is a key non-destructive trait. However, it does not specify whether the discard is reversible or what exactly happens to the change set data.

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, efficient sentence that conveys the action and its key constraint without any unnecessary 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?

Given the tool's simplicity and 2 required parameters, the description is largely complete. It could mention the outcome (e.g., success/failure) or whether the action is reversible, but the core information is sufficient.

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%, so the schema already documents both parameters. The description adds no additional parameter-level meaning beyond what the schema provides, meriting the baseline score of 3.

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 verb 'Discard' and the resource 'pending staged change set', explicitly stating it does not change app files. This distinguishes it from siblings like apply_change_set and create_change_set.

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 mention of 'pending staged change set' implies the change set must be in a staged state, but there is no explicit guidance on when to use this tool versus alternatives like apply_change_set or create_change_set.

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

email_marketing_app_configureCInspect

Configure isolated Email Marketing settings for a generated app. Can be used by Studio/chat agents.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
reply_toNo
is_enabledNo
sender_nameNo
sender_emailNo
default_name_fieldNoField containing contact name
default_email_fieldNoField containing contact email
default_contact_entityNoEntity to sync as contacts, e.g. Customer or Lead
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only states 'Configure isolated Email Marketing settings' without revealing side effects (e.g., whether it overwrites existing settings, requires a specific app state, or is idempotent). This is insufficient for a mutation tool.

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 sentence with no wasted words. However, it could be structured better (e.g., bullet points for key settings) to improve readability. It is concise but slightly under-specified.

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's complexity (8 parameters, no output schema, no annotations), the description is too sparse. It does not explain what 'isolated' means, what settings are configured, or any prerequisites. The context from sibling tools suggests this is important but the description leaves significant gaps.

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?

With 8 parameters and only 50% schema description coverage, the description adds no parameter information. It fails to compensate for the missing schema descriptions, leaving half of the parameters (reply_to, is_enabled, sender_name, sender_email) entirely undocumented in both schema and description.

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 (configure) and the resource (Email Marketing settings for a generated app). It distinguishes this tool from siblings by specifying 'isolated' and 'for a generated app', which aligns with the many other email marketing tools focused on broadcasts, sequences, etc.

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 only mentions that the tool 'can be used by Studio/chat agents', but provides no guidance on when to use this tool versus alternatives like 'email_marketing_configure_sender' or other email marketing tools. No when-not or prerequisite information is included.

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

email_marketing_app_contact_profileAInspect

Read a contact profile with email delivery, tracking, app-event, workflow, suppression, and unsubscribe timeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
contactYesContact id or email address
Behavior3/5

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

With no annotations provided, the description carries the full burden. It indicates a read-only operation by using 'Read,' but lacks details on side effects, authentication requirements, rate limits, or data volume. The description is adequate but not comprehensive.

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, clear sentence that immediately states the action and resource. It is concise and contains no unnecessary words, though it could be slightly restructured for easier parsing of the listed items.

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 (two string parameters, no output schema), the description adequately explains the inputs and hints at the output content. However, since there is no output schema, the description could more explicitly state the return format or structure.

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 already describes both parameters ('The app ID' and 'Contact id or email address') with 100% coverage. The description adds no additional meaning or constraints, 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 states the action ('Read') and the resource ('contact profile'), and specifies the scope including email delivery, tracking, app-event, workflow, suppression, and unsubscribe timeline. This distinguishes it from sibling tools that perform write operations or other functionalities.

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 any prerequisites, context, or exclusion criteria, which is a significant gap given the many sibling tools.

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

email_marketing_app_create_broadcastCInspect

Create an app-scoped broadcast to contacts synced from that generated app, optionally scheduled or sent now.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
app_idYesThe app ID
filtersNoApp contact filters such as source_entity, search, tags, field_equals
subjectYes
send_nowNo
timezoneNoUTC
body_htmlYes
scheduled_atNo
Behavior2/5

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

No annotations are provided, so the description should fully disclose behavioral traits. It mentions creating a broadcast with optional scheduling, but omits side effects, authorization needs, rate limits, or return behavior, which is insufficient for a complex tool.

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

Conciseness3/5

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

The description is concise (one sentence) but lacks structured presentation of options or parameters. It is front-loaded with the core action, but could be more organized for clarity.

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 complexity of 8 parameters, nested objects, no output schema, and no annotations, the description is incomplete. Missing details on filters, body_html, timezone, and return values leave significant gaps.

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?

With only 25% schema description coverage, the description adds minimal meaning beyond the schema. It touches on scheduling (send_now, scheduled_at) but does not explain other parameters like name, timezone, body_html, or filters.

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 it creates an app-scoped broadcast, specifying the scope and optional scheduling. However, it does not explicitly differentiate from the sibling tool 'email_marketing_create_broadcast'.

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 app-specific broadcasts and scheduling options, but lacks explicit when-to-use or when-not-to-use guidance, especially relative to similar sibling tools.

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

email_marketing_app_create_event_triggerBInspect

Create an app-scoped email rule that sends when an app event is recorded, for example entity_created or Customer.created.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
app_idYesThe app ID
enabledNo
filtersNoOptional app contact filters
subjectYes
body_htmlYes
event_nameYesEvent name, e.g. entity_created, Customer.created, order_paid
entity_nameNoOptional entity filter
Behavior2/5

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

No annotations provided, so description carries full burden. Describes the basic action but omits side effects, permissions, mutability, or rate limits. Insufficient for safe agent use.

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, no redundancy, front-loaded with key action. Every word adds value.

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 8 parameters (4 required, nested objects) and no output schema, description is too sparse. Leaves out return values, default behaviors, and parameter relationships. Incomplete for correct invocation.

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 50% (4 of 8 params have descriptions). Description adds only event examples, providing little additional meaning. Fails to explain complex parameters like filters or entity_name.

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 clearly states the action (create), resource (app-scoped email rule), and trigger condition (when an app event is recorded), with specific examples. This distinguishes it from sibling tools like broadcasts or sequences.

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. Does not mention exclusions or prerequisites. Agent must infer from context.

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

email_marketing_app_create_segmentBInspect

Create an app-scoped saved audience segment using field, tag, and behavior filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
app_idYesThe app ID
filtersYesSegment filters. Supports rules with field/operator/value plus opened/clicked/sent behavior fields.
sample_limitNo
Behavior2/5

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

No annotations provided, so the description carries full burden. It mentions 'saved audience segment' implying persistence, but lacks details on side effects, permissions, rate limits, or whether the creation is synchronous. Minimal behavioral disclosure.

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 with no redundant words. Clearly front-loaded with action and resource, then specifics (filters). Every word contributes to understanding.

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 complexity (nested object, 4 params, no output schema), the description is too brief. It doesn't mention the return value, error scenarios, or what 'app-scoped' means for the required app_id. A creation tool should clarify that the segment is persistent and provide success confirmation.

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 50% (two of four parameters have descriptions). The description adds value for 'filters' by specifying 'field, tag, and behavior filters', which goes beyond the schema's generic description. However, 'name' and 'sample_limit' are not elaborated, and the description doesn't explain their roles.

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 'Create' and the resource 'app-scoped saved audience segment', which is distinct from sibling tools like create_broadcast or create_sequence. The mention of filters (field, tag, behavior) adds specificity.

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 on when to use this tool versus alternatives (e.g., email_marketing_app_create_broadcast). No context about prerequisites or typical scenarios, leaving the agent to infer 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.

email_marketing_app_create_sequenceBInspect

Create an app-scoped email sequence using fixed dates or day offsets between emails.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
stepsYesEmails in order. Each step supports subject, body_html, scheduled_at, day_offset, or gap_days.
app_idYesThe app ID
filtersNoApp contact filters
start_atNoSequence start date/time for day_offsets mode
timezoneNoUTC
schedule_modeNoday_offsets
Behavior2/5

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

No annotations exist, and the description does not disclose side effects, permissions needed, rate limits, or any destructive actions. It merely states what it creates without behavioral context.

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?

A single sentence is very concise, but it lacks structure. It earns its place but could be more informative without adding length.

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 (2 required), nested objects, and no output schema, the description is insufficient. It does not explain relationships between schedule_mode and start_at, or how to structure steps, making it incomplete for complex 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?

Schema coverage is 57%, and the description adds context about steps supporting subject, body_html, scheduled_at, day_offset, or gap_days. However, other params like app_id, filters, timezone are not elaborated beyond schema.

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 'Create', the resource 'app-scoped email sequence', and the modes (fixed dates or day offsets). It distinguishes from sibling 'email_marketing_create_sequence' which likely lacks app scoping.

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 on when to use this tool versus alternatives like 'email_marketing_create_broadcast' or 'email_marketing_create_sequence'. No prerequisites or exclusions provided.

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

email_marketing_app_create_workflowBInspect

Create an app-scoped automation workflow with email, wait, condition, split, and goal steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
stepsNoOrdered workflow steps. Supported type values: email, wait, condition, split, goal.
app_idYesThe app ID
enabledNo
definitionNoOptional full workflow definition; steps can also be supplied here.
trigger_event_nameYesEvent that enrolls a contact, e.g. Customer.created
trigger_entity_nameNoOptional entity filter
Behavior2/5

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

No annotations provided, so description bears full burden. It only states the creation action without disclosing side effects (e.g., whether the workflow starts immediately, auth requirements, or rate limits). Does not mention if it saves or activates.

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 with no wasted words. Front-loaded with verb and object, 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?

Despite complexity (7 parameters, nested objects, 2 required), the description is minimal. No output schema, no explanation of return values or behavior after creation. For a creation tool with many configuration options, more context is needed.

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 high (71%), with descriptions for most parameters. The tool description repeats the step type values already in the schema description, adding no new meaning. Baseline 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 uses a specific verb 'Create' and identifies the resource 'automation workflow' with scope 'app-scoped'. It lists supported step types (email, wait, condition, split, goal), which helps differentiate from sibling tools like 'create_broadcast' or 'create_sequence'.

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 on when to use this tool vs alternatives (e.g., when to use 'create_workflow' versus 'create_sequence'). Lacks prerequisites, context, or exclusions.

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

email_marketing_app_deliverabilityAInspect

Read provider readiness, bounce/complaint rates, suppression reasons, and recent deliverability risk events.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior2/5

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

No annotations exist, and the description only asserts a read operation without disclosing permissions, rate limits, or potential side effects. More behavioral context is needed for a tool with no annotation 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?

A single, focused sentence that conveys the tool's purpose efficiently without unnecessary words or repetition.

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 has only one parameter, no output schema, and no nested objects, the description adequately lists the types of data returned. However, it lacks details on output format, filtering, or date ranges, which would improve 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 coverage is 100% for the sole parameter app_id, with a clear description in the schema. The tool description does not add additional parameter semantics beyond what is already in the schema.

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 it reads deliverability metrics including provider readiness, bounce/complaint rates, suppression reasons, and risk events. This distinguishes it from sibling tools like email_marketing_app_status (general status) or email_marketing_app_report (wider reporting).

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 checking deliverability health but does not explicitly state when to use versus alternatives or when not to use. No exclusions or context are provided.

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

email_marketing_app_process_queueCInspect

Process due app-scoped automation workflow runs and email queue jobs with locks, retries, and suppression checks.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
max_jobsNo
Behavior3/5

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

No annotations provided, so description carries the burden. It mentions locks, retries, and suppression checks, indicating concurrency and safety behavior, but fails to disclose whether the tool is read-only or mutating, or any failure modes.

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?

Single sentence with no filler. While efficient, the dense technical jargon ('locks, retries, suppression checks') could be clearer but does not detract from conciseness.

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 annotations and no output schema, the description lacks details on return values, side effects, and invocation outcomes. It omits whether the tool returns a status or job ID, leaving the agent uncertain about what to expect.

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 50% (only 'app_id' has a description). The tool description adds no parameter information; it does not explain 'app_id' or 'max_jobs' beyond what the schema provides, failing to compensate for the low 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 it processes 'due app-scoped automation workflow runs and email queue jobs' with specific mechanisms. The verb 'process' and resource identification are clear, and there is no directly competing sibling tool.

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 on when to use this tool versus alternatives like 'email_marketing_app_queue_status' or other processing tools. Absence of when-not-to-use or prerequisite conditions limits actionable clarity.

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

email_marketing_app_queue_statusBInspect

Inspect app-scoped Email Marketing queue jobs and per-status counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
app_idYesThe app ID
statusNoOptional queue status filter
Behavior3/5

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

The description indicates a read-only operation ('Inspect') and app-scoping, which is the main behavioral trait. No annotations are provided, so the description bears full burden. It does not mention potential side effects, performance, or error handling, but is minimally adequate for a simple query tool.

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?

Single sentence that is front-loaded with the verb and object. No wasted words; efficient for conveying core purpose.

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 query tool with no output schema, the description is minimal but covers the essential purpose. It does not mention pagination or behavior with large queues, but given the simplicity, it is marginally complete.

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?

Description adds no parameter meaning beyond the input schema. Schema covers 67% of parameters (app_id and status have descriptions), but limit lacks both schema description and any mention in tool description. The description does not compensate for the missing schema description.

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 clearly states the tool inspects app-scoped email marketing queue jobs and per-status counts. It uses a specific verb-resource combination and distinguishes from sibling tools like email_marketing_app_process_queue and email_marketing_app_status.

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 on when to use this tool vs alternatives such as email_marketing_app_status or email_marketing_app_report. Missing when-not-to-use or context for exclusion.

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

email_marketing_app_record_eventCInspect

Record an app event and send matching app-scoped Email Marketing triggers.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoContact email if no contact_id is known
app_idYesThe app ID
recordNoEntity record fields for template variables and contact extraction
record_idNo
contact_idNo
event_nameYes
propertiesNoExtra event properties
entity_nameNo
Behavior2/5

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

With no annotations, the description only says 'record' and 'send', but does not disclose any side effects, permission requirements, or what 'matching triggers' entails. This is minimal for a mutation tool.

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

Conciseness3/5

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

The description is very short (one sentence), but it under-specifies the tool for effective use. It is concise but at the expense of completeness.

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 8 parameters, nested objects, and no output schema, the one-sentence description is insufficient for an agent to understand how to correctly invoke the tool or interpret its behavior.

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 adds no meaning to the parameters beyond their schema names. With 50% schema coverage, the description could have clarified parameter usage, especially for nested objects like record and properties.

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 records an event and sends matching triggers, distinguishing it from sibling tools that create triggers or configure email marketing. However, it does not explicitly differentiate from similar tools like email_marketing_app_create_event_trigger.

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 on when to use this tool versus alternatives like creating event triggers or triggering variables. The description lacks context about prerequisites or scenarios.

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

email_marketing_app_reportCInspect

Read app-scoped Email Marketing reporting: delivery counts, open/click rates, and recent tracking events.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
app_idYesThe app ID
segment_limitNo
include_eventsNo
Behavior2/5

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

With no annotations, the description must carry the full burden of behavioral disclosure. It only states 'Read', implying no side effects, but does not mention data freshness, pagination, rate limits, or what exactly 'recent tracking events' entails. This leaves significant ambiguity for agent usage.

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

Conciseness3/5

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

The description is a single concise sentence, but it sacrifices essential information for brevity. While it has no fluff, it is not sufficiently informative to earn a higher score.

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 4 parameters, no output schema, and many siblings. The description is too brief; it omits parameter meanings, output structure, and usage context. This leaves the agent with an incomplete understanding of the tool's capabilities.

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 only 25% (only app_id is described). The description adds no parameter details; it does not explain how limit, segment_limit, or include_events affect the report. With such low coverage, 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 clearly states the tool reads app-scoped email marketing reporting, listing specific metrics like delivery counts, open/click rates, and tracking events. It distinguishes from sibling tools by focusing on aggregated reporting rather than status or configuration, though it could be more explicit about its unique scope.

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. Given many sibling email marketing tools (e.g., email_marketing_app_status, email_marketing_app_deliverability), the description should indicate that this is for detailed reporting and not for real-time status or other operations.

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

email_marketing_app_statusCInspect

Inspect app-scoped Email Marketing for one generated app: settings, contacts, campaigns, event triggers, and recent events.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
include_logsNo
Behavior2/5

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

Without annotations, the description carries full burden. It indicates 'inspect' implying no side effects, but does not disclose any behavioral traits like authentication, rate limits, or response size. Important details are missing for safe invocation.

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 efficiently conveys the tool's purpose without extraneous detail. It earns its place, though could slightly expand on parameter effects.

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?

Given no output schema or annotations, the description provides a reasonable overview of what is inspected. However, it lacks specifics on format, pagination, or error states, which are needed for a complete understanding.

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 50%: app_id is described but include_logs lacks description. The tool description does not add meaning beyond listing components; it omits explaining how parameters affect results, leaving agents to infer behavior.

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 'inspects' Email Marketing data for one app, listing specific components (settings, contacts, campaigns, event triggers, recent events). This distinguishes it from sibling tools that modify or perform other actions, though it could more explicitly contrast with similar read tools like email_marketing_app_deliverability.

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 implies a read-only use case but provides no guidance on when to use this tool versus alternatives, such as when to use email_marketing_app_report for specific metrics. No exclusions or context for selection are given.

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

email_marketing_app_suppress_contactBInspect

Suppress an app contact email after a bounce, complaint, manual block, provider block, or unsubscribe.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
app_idYesThe app ID
reasonNomanual
sourceNomcp
metadataNo
Behavior2/5

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

No annotations are present, so the description carries full burden. It mentions the tool suppresses contact emails after certain events but does not disclose behavioral traits such as whether the action is reversible, destructive, or requires specific permissions. The term 'suppress' implies state modification but with no consequences described.

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 sentence of 16 words, front-loaded with the verb and purpose. It is concise and avoids redundancy, though it could include more detail 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?

With 5 parameters (including a nested object), no output schema, and low parameter coverage, the description is insufficient. It does not explain the impact of suppression, required input details, or return behavior, leaving gaps for the agent.

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 only 20% (only app_id described). The description does not explain the parameters (email, reason, source, metadata) beyond the overall purpose. Given the low coverage, the description should compensate but fails to add meaning to the 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: to suppress a contact email in an app after specific events (bounce, complaint, etc.). It distinguishes the tool from siblings like email_marketing_app_contact_profile and email_marketing_app_sync_contacts by specifying the suppression action and context.

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 after certain events (bounce, complaint, etc.) but does not explicitly state when to use this tool versus alternatives, nor when not to use it. No exclusions or alternative recommendations are provided.

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

email_marketing_app_sync_contactsCInspect

Sync an app entity table into app-scoped Email Marketing contacts. Records without a valid email are skipped.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
app_idYesThe app ID
name_fieldNo
email_fieldNoemail
entity_nameYesEntity name, e.g. Customer or Lead
Behavior2/5

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

The description mentions that records without valid email are skipped, but fails to disclose critical behavioral traits such as whether existing contacts are updated or replaced, whether the sync is additive or destructive, or what happens to contacts not present in the entity table. Since no annotations are provided, the description bears full responsibility for transparency.

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

Conciseness3/5

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

The description is very concise (two short sentences) and front-loaded with the main action, but it sacrifices necessary detail. While not verbose, it is under-specified for a tool with five parameters and no annotations, making it only minimally adequate.

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?

Given the complexity (5 parameters, no output schema, no annotations), the description is severely incomplete. It fails to explain sync semantics, conflict resolution, whether the operation is incremental or full, what data is synced beyond email, or any side effects. This is insufficient for an agent 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?

With only 40% schema description coverage, the description does not compensate for the missing parameter semantics. It does not explain the purpose of 'name_field', 'email_field', or 'limit', leaving the agent to infer mapping logic from the tool name. The description should clarify how entity fields map to contact fields.

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 syncs an app entity table into app-scoped Email Marketing contacts, specifying the scope ('app-scoped') and that records without valid email are skipped. This distinguishes it from sibling tools like email_marketing_app_contact_profile (single contact) or email_marketing_app_suppress_contact (suppression).

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 (e.g., manual contact creation or single contact updates). There are no hints about prerequisites, limitations, or scenarios where other tools might be preferred. The description simply states what it does without usage context.

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

email_marketing_configure_senderBInspect

Admin only. Configure global Email Marketing sender details and module enabled state. Unsubscribe footer remains mandatory.

ParametersJSON Schema
NameRequiredDescriptionDefault
reply_toNoReply-To email address
is_enabledNoEnable or disable the module at settings level
sender_nameNoDisplay sender name
sender_emailNoSender email address used by the email provider
postal_addressNoOptional postal/contact address for compliance
default_timezoneNoDefault timezone for scheduling
organization_nameNoOrganization name used in unsubscribe footer
Behavior3/5

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

In the absence of annotations, the description discloses that it is admin-only and that the unsubscribe footer remains mandatory. However, it does not detail side effects of configuration changes, permissions beyond admin, or the mutation behavior, leaving some transparency gaps.

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 very concise with three short sentences. It places the important prerequisite first and avoids any extraneous information. Every sentence serves a purpose.

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 7 optional parameters and no output schema, the description is adequate but not complete. It does not clarify what happens when no parameters are provided, nor does it describe the expected response or confirmation of changes. More detail would be beneficial for a configuration tool.

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%, so the baseline is 3. The description adds minimal meaning beyond the schema by grouping 'sender details' and 'module enabled state', but it does not explain parameter syntax or relationships in a way that adds significant value.

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 verb 'configure' and clearly identifies the resource: 'global Email Marketing sender details and module enabled state'. It is specific enough to convey the tool's scope, though it does not explicitly differentiate from similar sibling tools like email_marketing_app_configure.

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 only states 'Admin only' as a prerequisite but provides no guidance on when to use this tool versus alternatives such as email_marketing_app_configure, nor does it specify conditions or exclusions.

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

email_marketing_create_broadcastBInspect

Admin only. Create a filtered broadcast campaign, optionally scheduled or sent now.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoInternal campaign name
filtersNoRecipient filters: plans, roles, active_status, email_verified, min_apps, max_apps, has_published_app, search
subjectYesEmail subject
send_nowNoSend immediately after creating the campaign
timezoneNoTimezone for naive scheduled_atUTC
body_htmlYesHTML body. Unsubscribe is appended automatically.
scheduled_atNoOptional ISO datetime. If no timezone is included, timezone is used.
Behavior2/5

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

No annotations are present, so the description must convey all behavioral traits. It mentions admin-only access and optional scheduling but does not disclose default behavior (e.g., whether the broadcast is created as a draft if not sent immediately) or any side effects. The mutation nature is implied but not explicit.

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 plus 'Admin only.' It is extremely concise, front-loads the most critical restriction, and contains no wasted words.

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's complexity (7 parameters, nested object) and the absence of an output schema or annotations, the description is too brief. It does not explain the return value, error conditions, or how to structure the filters object. Important details like whether the broadcast is created immediately or as a draft are missing.

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%, so the baseline is 3. The description adds limited value beyond the schema by framing the tool as a 'filtered campaign' and mentioning scheduling, but it does not clarify the role of individual parameters like filters or scheduled_at beyond what is in 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 clearly states it creates a filtered broadcast campaign for admins, with optional scheduling. It is specific but does not explicitly distinguish from sibling tools like email_marketing_app_create_broadcast or email_marketing_create_sequence.

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 includes an admin-only restriction, indicating who should use it. However, it does not provide guidance on when not to use it or suggest alternatives, such as for unfiltered broadcasts.

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

email_marketing_create_sequenceAInspect

Admin only. Create a scheduled email sequence using fixed dates or day offsets. Each generated email keeps mandatory unsubscribe.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSequence name
stepsYesSteps with subject, body_html, and either scheduled_at (fixed_dates) or day_offset/gap_days (day_offsets).
filtersNoRecipient filters
start_atNoISO datetime for day_offsets mode
timezoneNoUTC
schedule_modeYesfixed_dates uses each step.scheduled_at; day_offsets uses start_at + step day offsets
Behavior3/5

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

No annotations exist, so the description carries full burden. It discloses admin requirement, creation action, and mandatory unsubscribe, but lacks detail on side effects, permissions, or return behavior beyond these.

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 with key information front-loaded. No wasted words; every sentence earns its place.

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 complexity (6 parameters, nested objects, no output schema), the description covers the two modes and step structure well. It does not explain return values, but that is acceptable for a creation tool.

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 description adds meaning beyond the schema by explaining step structure (subject, body_html, scheduled_at, day_offset/gap_days). Schema coverage is 83%, so the added context is valuable.

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 'Create' and resource 'scheduled email sequence', and distinguishes between two scheduling modes. It is specific and differentiates from siblings.

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 specifies 'Admin only' as a usage restriction, but does not explicitly compare with alternatives or state when not to use. The context is clear but lacks exclusions.

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

email_marketing_create_variable_triggerAInspect

Admin only. Create an email rule that sends when a named variable changes from one value to another. Empty from_value/to_value acts as wildcard.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoTrigger name
enabledNo
filtersNoOptional recipient filters
subjectYesEmail subject
to_valueNoNew value or empty wildcard
body_htmlYesHTML body. Unsubscribe is appended automatically.
from_valueNoPrevious value or empty wildcard
variable_nameYesVariable name, e.g. plan
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the wildcard behavior for from_value and to_value, but does not mention potential side effects, authentication requirements beyond 'Admin only', rate limits, or whether the tool can update existing rules.

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 consists of three short sentences that are front-loaded with the action and condition. It is efficient and avoids fluff, though it could be slightly more structured.

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?

Given the tool's complexity (8 parameters, nested objects, no output schema), the description explains the core trigger functionality and wildcard behavior. However, it lacks information about return values, the optional filter parameter, and whether it creates or updates triggers.

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 88%, so the schema already describes most parameters. The description adds no new information beyond what the schema provides (e.g., 'Empty from_value/to_value acts as wildcard' is already noted in parameter descriptions). It does not clarify the 'filters' object or other nested aspects.

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: 'Create an email rule that sends when a named variable changes from one value to another.' It uses a specific verb ('create') and resource ('email rule') with a distinct condition (variable change), distinguishing it from siblings like email_marketing_create_event_trigger.

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 includes the prerequisite 'Admin only,' which is helpful. However, it does not provide explicit guidance on when to choose this tool over alternatives (e.g., event triggers or broadcasts), nor does it mention 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.

email_marketing_statusAInspect

Admin only. Inspect the isolated Email Marketing module: enabled state, sender settings, templates, sequences, variable triggers, and recent campaign status.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_logsNoInclude recent delivery logs
Behavior4/5

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

No annotations provided, so description carries full burden. Clearly indicates a read-only inspection operation. Does not detail side effects, authentication specifics beyond 'Admin', or rate limits, but for a simple status check the transparency is adequate.

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, no redundancy, every phrase adds detail. Efficiently conveys purpose and scope without unnecessary 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?

Given zero required parameters and no output schema, the description adequately covers what the tool inspects. Could optionally mention return format, but as a status inspection, current completeness is sufficient.

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 provides full coverage (100%) for the single parameter include_logs. Description adds no extra meaning beyond what the schema already states; 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?

Description uses specific verb 'inspect' and clearly identifies the resource 'Email Marketing module', listing distinct aspects (enabled state, sender settings, etc.). This differentiates it from sibling tools which target specific configurations or actions.

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?

Explicitly states 'Admin only', indicating intended user role. While it doesn't contrast with alternatives, the list of inspected items implies it's a general overview tool, distinct from sibling tools that handle specific tasks.

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

email_marketing_trigger_variableAInspect

Admin only. Manually fire variable-transition email rules for one user. Useful for MCP/agent workflows and tests.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoExtra template variables
user_idYesPlatform user id
to_valueNoNew value
from_valueNoPrevious value
variable_nameYesVariable name
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool is admin-only and manually fires rules, but does not describe side effects (e.g., email sends), idempotency, or error handling. The description offers minimal behavioral context beyond the immediate action.

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 very concise with two sentences. It front-loads the critical constraint 'Admin only' and presents the purpose and use cases without unnecessary details.

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 5 parameters, no output schema, and no annotations, the description is incomplete. It does not explain the 'variable-transition' concept, what happens after firing (e.g., email sent, return value), or error conditions. For a destructive action tool, more context is needed.

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%, so baseline is 3. The description does not add meaning beyond what the schema provides (e.g., 'context' as extra template variables, 'user_id' as platform user id). No additional insight is given.

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 'fire' and the resource 'variable-transition email rules for one user'. It distinguishes from siblings by specifying 'manually fire' vs. 'create' triggers, and notes admin-only access and use cases for MCP/agent workflows and tests.

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 by stating 'Admin only' and 'Useful for MCP/agent workflows and tests', implying it's for manual triggering. However, it does not explicitly state when not to use this tool or compare it to alternatives like 'email_marketing_create_variable_trigger'.

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

email_marketing_update_templateAInspect

Admin only. Update an automatic Email Marketing template, such as user_joined welcome email. The unsubscribe block is still appended by the server.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNoWhether this automatic template is active
subjectNoEmail subject with {{variables}}
body_htmlNoHTML body with {{variables}}
template_idYesTemplate/event id, e.g. user_joined
Behavior4/5

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

With no annotations, the description adds critical behavioral context: 'Admin only' (permission requirement) and 'The unsubscribe block is still appended by the server' (important side-effect when updating body_html). This goes beyond what the schema provides.

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 sentences long, front-loads the key permission constraint ('Admin only'), and every sentence provides distinct, valuable information with no redundancy or waste.

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 no annotations and no output schema, the description adequately covers purpose, usage, permission, and a crucial behavioral caveat. It could mention error handling or default values, but is largely complete for a straightforward update tool.

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 input schema has 100% description coverage for all 4 parameters. The description adds extra context about the unsubscribe block, which relates to the body_html parameter, and mentions the template_id example. This adds value beyond the schema descriptions.

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 ('Update'), the resource ('automatic Email Marketing template'), and provides a concrete example ('user_joined welcome email'). It distinguishes this tool from sibling tools that handle broadcasts, sequences, etc.

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 notes that this is 'Admin only,' indicating who should use it. It gives an example of the template type. However, it does not explicitly state when to use this tool versus alternatives like creating a new template or using broadcast tools.

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

estimate_video_costAInspect

Price a video render before generating it. Returns the duration, resolution, and the exact charge in USD against the prepaid video wallet. Spends nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel id from list_media_capabilities. Default 'seedance-2'.
durationNoSeconds. Snapped to the model's allowed values.
resolutionNo480p, 720p, or 1080p (model dependent).
Behavior5/5

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

With no annotations provided, the description takes on full responsibility for disclosing side effects. It explicitly states 'Spends nothing', which conveys a non-destructive, read-only behavior, and clarifies that it only prices without generating. It also highlights what will be returned (duration, resolution, charge), providing transparent behavioral expectations.

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 only two sentences, with the primary purpose front-loaded in the first sentence. Every sentence earns its place: the first defines the action, the second lists outputs and confirms no charge. There is no redundancy or filler.

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 pricing tool with no output schema, the description is complete. It clearly states the tool's purpose, its return values, and its side-effect-free nature. The input schema covers parameter details, so no additional context is needed 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 input schema already provides 100% coverage for all three parameters (model, duration, resolution) with clear descriptions. The description adds no additional parameter-specific meaning beyond restating 'duration and resolution' in the return context, which does not significantly enhance the schema's provided 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?

The description clearly states the tool's purpose with a specific verb ('Price') and resource ('video render'), and distinguishes it from sibling tools like generate_video by explicitly saying 'before generating it'. It also specifies what it returns, leaving no ambiguity about the tool's function.

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 phrase 'before generating it' provides clear when-to-use context, indicating this is a pre-flight cost check. However, it does not explicitly name alternative tools or state when not to use it, though the context is strong enough for an agent to infer the appropriate usage.

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

generate_imageAInspect

Generate one marketing image (ad creative, thumbnail, hero, social graphic) and return a public URL. Free plans burn one of their monthly free images; paid plans spend 1 platform credit. Optionally pass a reference image to keep a person, product, place, or brand consistent.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesWhat to draw. Up to 4500 chars.
languageNoLanguage of any text in the image. ISO code such as 'en' or 'he'. Defaults to 'en'.
notify_by_emailNoEmail the account owner the finished image. Default false so batch runs do not spam.
reference_image_urlNoPublic https URL of a reference image, or one of this account's own finestructure.ai uploads.
reference_image_data_urlNoReference image inline as a data:image/... URL. Prefer reference_image_url for large files.
reference_image_data_urlsNoUp to 6 extra reference images as data:image/... URLs.
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses cost behavior (free plans burn monthly images, paid plans spend credits), the return of a public URL, and the purpose of reference images for consistency. It does not detail rate limits, processing time, or failure modes, but the provided context is significantly more than minimal.

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 sentences, front-loaded with core purpose and output, followed by cost context and optional feature. Every clause contributes useful information without redundancy, making it concise and well-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 tool with 6 parameters and no output schema, the description covers key operational aspects: what it generates, cost implications, output format, and reference image usage. It omits potential wait times or job status, but the essentials for selection and invocation are present.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining that reference images are used to maintain consistency of a person, product, place, or brand, which enriches the reference_image_url parameters. It does not redundantly restate schema descriptions, adding value modestly.

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 ('Generate') and resource ('one marketing image'), listing concrete use cases (ad creative, thumbnail, hero, social graphic) and the output (public URL). This clearly distinguishes it from sibling tools like generate_video or generate_slideshow.

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 static marketing images but does not explicitly state when to prefer this tool over alternatives such as generate_video or generate_slideshow. There is no explicit exclusion or mention of alternative tools, leaving usage context partially implied.

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

generate_slideshowAInspect

Write a TikTok/Instagram-style slideshow: hook, per-slide copy, caption, and hashtags, in any supported language. Costs 1 platform credit and returns the script for review. Set render_images=true to start image rendering right away (1 extra credit per slide), then poll get_slideshow until status is 'ready'. Call list_media_capabilities for the valid style, template, and collection ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYesWhat the slideshow should achieve or teach.
cta_urlNoLink promoted on the final slide. Omit for pure-value content.
enhancedNoUse the higher-quality (more expensive) image model.
languageNoISO code such as 'en' or 'he'. Defaults to 'en'.
templateNoBuilt-in template id whose voice spec dominates the output.
collectionNoSaved photo collection id to pull slide photos from.
text_alignNoleft, right, or center.
voice_specNoA reference voice spec to reproduce exactly.
series_partNoPart number for a recurring series.
slide_countNoFixed number of slides. Omit for the style's natural range.
accent_colorNoHex accent for the chip text style.
sales_bridgeNoAdd pre-sale bridge slides before the offer.
visual_styleNoVisual look, e.g. bold_gradient, tiktok_native_photo.
content_styleNoCopy archetype, e.g. x_ways, storytelling, countdown_ranking.
cta_platformsNoWhat the CTA actually offers.
render_imagesNoStart rendering images immediately after the script. Default false (review first).
with_graphicsNoRich visuals vs clean text-only slides. Default true.
authentic_modeNoLowercase, unpolished 'real person' voice.
x_ways_substyleNoHow numbered ways are written (x_ways content style only).
narrative_deviceNoFraming device, e.g. metaphor or famous_quote.
Behavior4/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It openly states credit costs (1 platform credit, 1 extra per slide for rendering), that it returns the script for review, and that image rendering is async requiring polling. It does not mention authorization, rate limits, or failure modes, but the cost and workflow details are valuable and go beyond minimum expectations.

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 three sentences with no filler. It front-loads the core purpose, then details cost, optional rendering, polling, and ID validation. Every sentence adds operational value.

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 covers the main workflow and cost structure, but it does not specify the exact return format. Since there is no output schema, the phrase 'returns the script for review' is ambiguous—does it return a plain-text script, an object with an ID, or both? An explicit mention of the response identifier needed for polling get_slideshow would close this gap. Given the tool's complexity (20 params), this is a noticeable omission.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds meaningful context by explaining how render_images triggers immediate rendering, that get_slideshow should be polled for status, and that list_media_capabilities is the source for valid style/template/collection identifiers. This helps agents understand parameter relationships beyond the schema alone.

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 opens with a specific verb+resource: 'Write a TikTok/Instagram-style slideshow' and enumerates concrete outputs (hook, per-slide copy, caption, hashtags). It distinguishes itself from sibling media tools like generate_image and generate_video by focusing on the slideshow script format, and it clearly states the language support and review-first workflow.

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 workflow guidance: set render_images=true to start rendering, poll get_slideshow until 'ready', and call list_media_capabilities for valid style/template/collection IDs. It names alternative tools to use in the pipeline, though it doesn't explicitly state when NOT to use this tool (e.g., for video or single images).

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

generate_videoAInspect

Generate an AI video from a text prompt. Submits the render and returns a job_id immediately - poll get_video_status until it completes. Spends the account's prepaid video-credit wallet (NOT platform credits); pass max_charge_usd to cap how much a single call may spend. Video generation may be invitation-gated.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel id from list_media_capabilities. Default 'seedance-2'.
promptYesThe shot to render. Up to 4000 chars.
durationNoSeconds. Snapped to the model's allowed values.
image_urlsNoUp to 9 public https reference images (Seedance models only).
resolutionNo480p, 720p, or 1080p (model dependent). Default 480p.
aspect_ratioNoauto, 16:9, 9:16, 1:1, 4:3, 3:4, or 21:9. Default auto.
max_charge_usdNoRefuse the render if it would charge more than this. Strongly recommended for autonomous agents.
Behavior5/5

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

With no annotations provided, the description carries the full transparency burden. It discloses asynchronous submission, immediate job_id return, spending from a prepaid video-credit wallet (not platform credits), invitation gating, and a recommendation to cap spend via max_charge_usd—all beyond the 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?

Three sentences, each serving a distinct purpose: definition, async workflow/status polling, and cost/access caveats. No redundant or filler content.

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 compensates for the absent output schema by clearly stating it returns a job_id and directing to get_video_status. It covers async behavior, cost implications, and invitation gating. It could mention estimate_video_cost for cost pre-check, but overall it is quite complete for an async job submission tool.

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%, so baseline is 3. The description adds slight emphasis on max_charge_usd for autonomous agents but doesn't substantially deepen understanding of the other parameters beyond their existing schema descriptions.

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 'Generate an AI video from a text prompt' with a specific verb and resource. It clearly distinguishes from sibling tools like generate_image and generate_slideshow by media type and the async job workflow.

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 describes when to use the tool by outlining the asynchronous workflow (returns job_id, poll get_video_status) and important cost/access caveats (prepaid video-credit wallet, invitation gating). However, it doesn't explicitly mention alternatives like estimate_video_cost for pre-checking costs or how it compares to generate_slideshow.

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

get_ab_test_statsAInspect

Get views, unique visitors, conversions, and conversion rates for an A/B test.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
test_idYesA/B test ID
Behavior3/5

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

The description accurately portrays a read operation without side effects, but given the lack of annotations, it does not disclose potential behaviors like rate limits, data freshness, or error handling for missing tests.

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 clear sentence with no fluff. It could be slightly more detailed but remains efficient and front-loaded with the core 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 tool's simplicity (2 parameters, no output schema), the description is complete enough to understand what it returns. It assumes the test exists, which is reasonable for a stats retrieval tool.

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 has descriptions for both parameters (app_id and test_id) with 100% coverage. The description adds no additional meaning beyond what the schema provides, 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 verb 'Get' and specifies the exact resources (views, unique visitors, conversions, conversion rates) for an A/B test, distinguishing it from sibling tools like list_ab_tests or create_ab_test.

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 when to use (when you need A/B test metrics) but lacks explicit guidance on prerequisites, such as requiring the test to exist or be active, and does not mention alternative tools for similar tasks.

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

get_app_detailAInspect

Deep introspection of an app: entities, pages, settings, integrations, environment variables, and file structure. Use this to understand what an app contains before updating it.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior3/5

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

No annotations are provided, so the description carries the full transparency burden. It discloses the data returned (entities, pages, etc.) but does not mention any behavioral traits such as whether it's read-only (likely) or any permissions/rate limits.

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 clear structure: first defines the scope, second provides usage guidance. No redundant or extraneous information.

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 only one parameter and no output schema, the description sufficiently conveys that the tool returns a comprehensive overview. For a holistic inspection tool, this is complete enough for an agent to use 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 input schema has 100% coverage with one parameter 'app_id' described. The description does not add additional meaning or usage notes beyond the schema, which is adequate but not enhanced.

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 it provides 'deep introspection' of an app and lists specific aspects (entities, pages, settings, integrations, environment variables, file structure), which distinguishes it from sibling tools like get_pages or list_integrations.

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 advises using this tool 'before updating' an app, giving a clear context. However, it does not specify when not to use it or mention alternative tools, which would be helpful given the many sibling inspection tools.

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

get_app_filesBInspect

Get the file tree for an app with paths and byte sizes.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior2/5

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

With no annotations, the description carries full burden. It states the output (file tree with paths and sizes) but does not disclose whether this is a read-only operation, any side effects, or authorization requirements. The description is minimal and lacks behavioral context.

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 unnecessary words. It is front-loaded and conveys the essential information 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 tool with one parameter and no output schema, the description adequately explains the tool's purpose and return payload. However, it could mention the format of the file tree (e.g., nested structure) or behavior for empty apps.

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 one parameter 'app_id' described as 'The app ID'. The description adds no additional meaning beyond the schema, so 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 states the tool retrieves a file tree for an app, specifying the data returned (paths and byte sizes). It distinguishes from siblings like 'read_app_file' (single file) and 'read_app_files' (possibly different 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 on when to use this tool vs alternatives. There is no mention of prerequisites, limitations, or when not to use it. The only context is the required app_id from the schema.

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

get_app_security_auditBInspect

Read recent server-side security audit events for an app.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
app_idYesThe app ID
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'Read', implying idempotency, but lacks details on data recency, pagination, permissions, rate limits, or what 'recent' means. The behavioral disclosure is insufficient.

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 one sentence of 8 words, concise and front-loaded. No unnecessary text, but it could be slightly more structured to include key details without adding length.

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?

Given the simplicity (2 params, no output schema, no annotations), the description is minimal but conveys the core purpose. However, missing details about time range, output format, and pagination leave it incomplete for effective use.

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% (only app_id described). The description does not add meaning to the parameters beyond the schema. 'limit' is not explained, and 'app_id' is simply restated. The purpose statement does not compensate for missing 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 clearly states 'Read recent server-side security audit events for an app.' It specifies a verb (Read), a specific resource (security audit events), and a scope (for an app), distinguishing it from sibling tools like 'get_app_security_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?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, limitations, or when not to use it, which is necessary given the presence of siblings like 'get_app_security_context'.

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

get_app_security_contextAInspect

Return safe security context for one owned app: owner id/email, Studio collaborators, generated-app members, route policies, entity policies, and recent security audit entries. Does not return secrets and does not grant access to other apps.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
audit_limitNo
Behavior4/5

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

With no annotations provided, the description effectively discloses the tool's read-only nature ('safe security context'), lists what is included and excluded (no secrets, no access to other apps), and implies non-destructiveness. It lacks details on authentication requirements or pagination but is sufficient for basic behavioral understanding.

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, well-structured sentence that front-loads the purpose and includes a bullet-like list of returned items and an exclusion. Every phrase adds value with no redundancy or fluff.

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 absence of output schema and annotations, the description adequately covers the tool's behavior and output composition. However, it omits explanation of the audit_limit parameter and does not specify the exact structure of the returned data, leaving minor gaps.

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% (only app_id described in schema). The tool description does not mention either parameter (app_id or audit_limit), failing to add meaning beyond the schema. Since coverage is not high, the description should compensate but does not, resulting in poor parameter 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?

The description uses the specific verb 'Return' and resource 'safe security context for one owned app', listing explicit components (owner, collaborators, members, policies, audit). It clearly distinguishes from related sibling tools like get_app_security_audit by stating it returns a broader context.

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 the tool is for owned apps only and states it does not return secrets or grant access to other apps, providing clear situational cues. However, it does not explicitly contrast with alternative tools or specify when not to use it, leaving some ambiguity.

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

get_app_statusBInspect

Get app overview: files, published state, URL, active jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior3/5

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

No annotations are provided, so the description carries the burden. It implies a read-only operation (retrieving an overview) and lists return components, but does not explicitly confirm idempotency, side effects, or authorization needs. The behavioral disclosure is adequate but not thorough.

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 a clear colon-separated list of included elements. No unnecessary words, efficiently conveying the tool's purpose and scope.

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 tool with no output schema, the description adequately covers the main return fields. However, it could be more complete by mentioning the response structure or format, but given the tool's simplicity, it is nearly 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 single parameter 'app_id' is fully described in the schema (100% coverage). The description adds no additional meaning or context beyond the schema, such as format, validation, or how to obtain the ID. Baseline score of 3 applies.

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 retrieves an app overview covering files, published state, URL, and active jobs. It uses a specific verb-resource combination ('Get app overview') and lists the components, which distinguishes it from siblings like get_app_detail or get_job_status, though not explicitly.

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 on when to use this tool versus alternatives like get_app_detail or get_app_files. The description does not mention prerequisites, limitations, or exclusion criteria, leaving the agent without usage context.

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

get_domain_ssl_statusAInspect

Return SSL/certificate status and pending certificate validation DNS records for the app custom domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
domainNoOptional configured custom domain. If omitted, uses the app's current custom domain.
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It only states the output but does not mention read-only nature, authentication needs, or error cases. Minimal 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?

Single sentence, no wasted words, front-loaded with key action and output.

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?

Despite no output schema, the description does not detail the structure of the returned SSL status or DNS records. Adequate but not complete for a tool with no output schema.

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 covers both parameters with descriptions. The description adds context that the DNS records are for 'pending certificate validation,' enhancing understanding of the domain parameter's role.

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 it returns SSL/certificate status and pending validation DNS records for the app custom domain, distinguishing it from sibling tools like check_domain_verification and list_app_domains.

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 on when to use this tool versus alternatives like check_domain_verification or get_domain_verification. Does not specify prerequisites or conditions.

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

get_domain_verificationBInspect

Return the exact DNS records and instructions required to verify and route the app custom domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
domainNoOptional configured custom domain. If omitted, uses the app's current custom domain.
Behavior3/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It indicates a read operation (returning records and instructions), but does not disclose any preconditions or side effects. For a simple retrieval, this is adequate but could be more transparent about error scenarios or state dependencies.

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 sentence of 14 words, highly efficient with no wasted words. However, it omits some context that would improve usability, so it is not a perfect 5.

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?

Given the absence of an output schema, the description partially explains the return value (DNS records and instructions) but does not specify the format or cover error conditions. It is moderately complete for a straightforward retrieval tool.

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 covers all parameters with descriptions (100% coverage). The tool description adds no extra meaning beyond the schema, so a 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 uses a specific verb 'Return' and identifies the resource as 'exact DNS records and instructions' for custom domain verification. It clearly states what the tool does, but it does not explicitly differentiate from sibling tools like 'check_domain_verification' or 'add_custom_domain'.

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 (e.g., check_domain_verification, list_app_domains). There is no mention of prerequisites, such as requiring the domain to be already added, or when this should be called in a workflow.

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

get_entitiesBInspect

Get all entity (data model) schemas for an app, with record counts. Each entity has fields, types, and relationships.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior3/5

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

No annotations exist, so the description must cover behavioral aspects. It indicates the tool returns schemas with record counts and describes contents (fields, types, relationships). However, it does not disclose potential side effects, pagination, or performance characteristics, which would be helpful for a retrieval 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 concise, consisting of two informative sentences with no extraneous words. It is well-structured and front-loaded with the core purpose.

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?

There is no output schema, so the description must explain return values adequately. It mentions schemas, record counts, fields, types, and relationships, providing a high-level overview. However, it lacks details on the response structure (e.g., format, nesting), which could limit completeness 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 input schema has 100% description coverage for the required parameter 'app_id'. The description adds context ('for an app') but does not significantly extend beyond the schema's description. With full schema coverage, a 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 tool retrieves all entity schemas with record counts, specifying the resource (entity schemas) and including additional detail (fields, types, relationships). It effectively communicates the tool's purpose, though it does not explicitly differentiate from siblings like 'query_entity' or 'get_app_detail'.

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. Given sibling tools for querying entity data or updating schemas, explicit usage guidelines are missing, leaving the agent without direction on context.

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

get_errorsAInspect

Get recent runtime errors for an app (last 20). Useful for diagnosing issues before updating.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax errors to return (default 20)
app_idYesThe app ID
Behavior3/5

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

With no annotations, the description bears full responsibility. It indicates a read operation and a default limit, but does not disclose authentication needs, rate limits, or whether the operation has any side effects. The information is adequate but lacks depth.

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 extremely concise with two sentences, placing the core purpose first. Every word is necessary, and no fluff exists.

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?

Given no output schema, the description should hint at the return format. It only states 'Get recent runtime errors' without specifying what fields or structure to expect. This leaves a gap for an AI 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 input schema has 100% coverage, describing both parameters (app_id, limit) with clear descriptions and default. The tool description adds no additional semantic meaning beyond what the schema already provides, hence a baseline score of 3.

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'), the resource ('recent runtime errors'), and the scope ('last 20'). It effectively distinguishes this tool from siblings, as no other sibling tool appears to retrieve runtime errors.

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: 'Useful for diagnosing issues before updating.' It does not explicitly mention alternatives or when not to use it, but the context is sufficiently clear.

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

get_job_statusAInspect

Poll the status of an async generation job. Use this after create_app or update_app to know when the job is done. Returns status ('running' or 'done'), progress events, and result summary when complete.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job_id returned by create_app or update_app
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses return values: status, progress events, and result summary. It implies a non-destructive poll operation, which is transparent. Could be improved by explicitly stating no side effects.

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, no wasted words. All information is front-loaded and essential. Perfectly concise for the tool's simplicity.

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 with one parameter and no annotations or output schema, the description covers: what it does, when to use, and what it returns. No gaps identified.

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% and the parameter description already explains job_id's origin. The description adds marginal value by repeating 'returned by create_app or update_app', so baseline 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 identifies the tool's purpose: 'Poll the status of an async generation job.' It includes a specific verb (poll) and resource (async generation job), and implicitly distinguishes from siblings by specifying it follows create_app or update_app.

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 context: 'Use this after create_app or update_app to know when the job is done.' It does not state when not to use or list alternatives, but the context is clear and sufficient given the sibling list.

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

get_pagesAInspect

Get all pages in an app with their file paths and sizes.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior3/5

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

With no annotations, the description discloses the return content (file paths and sizes) but omits details like read-only nature, pagination, or ordering, which are typical for list operations.

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 sentence that is efficient, front-loaded, and contains no unnecessary 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?

Given the low complexity (1 param, no output schema), the description adequately covers the tool's purpose and output, though it could mention potential errors or default behavior.

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 covers 100% of parameters, and the description adds no extra meaning beyond what 'app_id' implies. Baseline 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), the resource (all pages in an app), and the scope (with file paths and sizes), distinguishing it from sibling tools like get_app_files or read_app_file.

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?

Usage is implied: when you need to list pages in an app. However, no explicit when-to-use or when-not-to-use guidance is given, nor are alternatives mentioned, leaving room for ambiguity.

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

get_platform_guideAInspect

Return a machine-readable Fine Structure / FSe2 guide for AI agents. Call this at the start of an MCP session to learn app files, entities, safe edit workflows, validation, publishing, A/B testing, secrets, and platform rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idNoOptional app ID. If provided, the guide includes a safe app context summary.
sectionsNoOptional subset of guide sections to return.
task_typeNoOptional task hint, for example edit_app, direct_file_edit, seed_data, or publish_app.
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It implies a read-only, safe operation and lists covered content, but it does not explicitly state that it has no side effects or describe any authentication/rate-limit 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?

The description is two sentences long, front-loaded with the core purpose, and every word adds value. It is concise without sacrificing essential usage guidance.

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 optional-parameter retrieval tool with no output schema, the description sufficiently conveys when to use it and what content the guide covers. It lacks detail on the exact response format, but that is not critical given the tool's straightforward nature.

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%, so the baseline is 3. The tool description adds no extra parameter semantics; it does not explain how app_id, sections, or task_type affect the returned guide beyond what the schema already provides.

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 returns a machine-readable Fine Structure / FSe2 guide for AI agents, using a specific verb and resource. It is distinct from sibling tools by positioning itself as the session-start onboarding guide.

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 instructs calling at the start of an MCP session and enumerates the topics covered, giving clear when-to-use context. However, it does not mention when not to use alternative guidance tools like get_recommended_workflow.

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

get_preview_urlAInspect

Return editor preview and published/public URLs for an app.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It only states what the tool returns but does not mention any behavioral traits such as authentication needs, rate limits, or side effects. It is not misleading but lacks depth.

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 extremely concise, consisting of a single sentence that immediately conveys the tool's purpose. 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?

Given the low complexity of the tool (one parameter, no output schema, no enums), the description is mostly adequate. It clearly states what URLs are returned, though details about URL format or conditions are missing.

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 the single parameter (app_id). The tool description does not add any additional meaning or context beyond what the schema provides. Schema coverage is 100%, so a 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 uses a specific verb ('Return') and clearly identifies the resource ('editor preview and published/public URLs for an app'). It distinguishes this tool from sibling tools like inspect_preview or get_app_links, which serve different purposes.

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 does not provide any guidance on when to use this tool versus alternatives. For a simple retrieval tool, this may be acceptable, but no exclusions or context are given.

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

get_slideshowAInspect

Fetch one slideshow: its script, render status (script_ready, rendering, ready, render_failed), and the image URL of every rendered slide. Spends nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
history_idYeshistory_id returned by generate_slideshow.
Behavior3/5

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

With no annotations, the description carries the burden. It uses 'Fetch' which implies a read-only operation, and adds a behavioral note 'Spends nothing' regarding cost. However, it does not discuss potential error cases, permissions, or any side effects (though none are expected for a fetch). It provides minimal but non-misleading 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 extremely concise: one sentence covering the resource and payload, plus a second short sentence about cost. It is front-loaded with the action and resource, and every word earns its place.

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 one parameter and no output schema, the description provides sufficient context: it explains what is returned and enumerates the render statuses. It doesn't cover error behavior, but this is a minor gap given the tool's simplicity and the clear parameter description in the 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?

Schema description coverage is 100% for the single parameter history_id. The description does not add any meaning beyond the schema, as 'returned by generate_slideshow' is already present in the schema. Baseline of 3 is appropriate since the schema fully documents the 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 clearly states the verb 'Fetch' and the resource 'one slideshow', and lists exactly what is returned (script, render status, image URLs). It distinguishes itself from list_slideshows by specifying 'one', making the scope unambiguous.

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 slideshow's details, but it does not explicitly mention when to use this tool over siblings like list_slideshows or render_slideshow_images, nor does it provide exclusion criteria. The context is clear but not explicit about alternatives.

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

get_video_statusAInspect

Poll one video job by id. Refreshes from the provider while it is still rendering and returns video_url once status is 'completed'. Spends nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob id returned by generate_video.
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool refreshes from the provider while rendering, returns video_url when completed, and spends nothing. This adds meaningful behavioral context beyond just 'get status', though it doesn't cover error or timeout handling.

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

Conciseness5/5

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

Three short, information-dense sentences with no filler. Each sentence provides distinct value: the action, the polling mechanics, and the cost implication. Ends with a useful, non-redundant note.

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 one-parameter tool, the description covers purpose and success behavior but remains ambiguous about what is returned during polling or on failure. With no output schema, this gap is notable but not critical given the tool's simplicity.

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 already describes job_id as 'Job id returned by generate_video' with 100% coverage. The description adds only 'by id' which is redundant. No new detail about format or source is provided, so it meets the baseline for well-documented schema.

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 it polls a single video job by id, with specific behavior (refreshes from provider, returns video_url upon completion). This distinguishes it from sibling tools like list_video_jobs or generic get_job_status by focusing on one video job and noting the cost aspect.

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 clear context: use when you have a job_id and want to wait for the video to finish rendering. It doesn't explicitly name alternatives, but the polling behavior implies when it is appropriate. Lacks explicit 'use list_video_jobs for all jobs' guidance, preventing a 5.

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

inspect_previewBInspect

Return server-side preview context: URLs, persisted runtime/network errors, static clickable candidates, pages, and explicit live-browser availability.

ParametersJSON Schema
NameRequiredDescriptionDefault
routeNoOptional route to inspect
app_idYesThe app ID
auth_asNoOptional auth simulation: anonymous
auth_as_roleNoOptional app role simulation, e.g. staff/admin/customer
Behavior3/5

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

With no annotations, the description carries the burden. It lists output items but does not explicitly state it is a read-only operation or discuss side effects, safety, or error behavior. Additional context on persistence or side effects would improve transparency.

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 sentence listing outputs, which is concise. However, it could be slightly more structured (e.g., grouping outputs). Still, no wasted words.

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?

No output schema is provided, so the description should detail return values. It lists several items but lacks specifics on format or structure. For 4 parameters and complexity, it is minimally adequate.

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%, so the description's added value is limited. It does not provide extra detail beyond the schema descriptions, such as how 'route' affects results or what 'auth_as' implies.

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 returns 'server-side preview context' and lists specific items (URLs, errors, candidates, etc.). It distinguishes from siblings like get_preview_url by specifying a broader 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?

No explicit guidance on when to use this tool versus alternatives like get_preview_url or get_app_detail. The description does not provide context for selection or exclusions.

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

invite_app_memberAInspect

Provision a generated-app runtime member with a role. This does not create a Studio collaborator. The owner role cannot be assigned. If password is omitted, a temporary password is generated and returned once.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesApp role, e.g. admin/staff/customer
emailYesMember email
app_idYesThe app ID
passwordNoOptional initial password. If omitted, one is generated.
full_nameNo
Behavior4/5

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

Given no annotations, the description carries the full burden. It discloses key behavioral traits: it does not create a Studio collaborator, the owner role is disallowed, and password omission leads to a temporary generated password returned once. This is sufficient for safe invocation, though side effects (e.g., email notification) are not mentioned.

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

Conciseness5/5

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

Three sentences with no redundancy. The first sentence states the action, the second clarifies scope, the third adds constraints and optional behavior. Every sentence earns its place with critical 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?

The description covers the essential behavioral aspects: role constraints, password behavior, and differentiation from Studio. While it does not describe the response format (no output schema) or prerequisites (e.g., app existence), these gaps are minor for a straightforward creation tool with a clear purpose.

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?

With schema description coverage at 80%, the description adds value beyond the schema by clarifying the role constraint ('owner role cannot be assigned') and the password behavior ('if omitted, temporary password generated and returned once'). These details help the agent understand parameter constraints and consequences.

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 ('Provision a generated-app runtime member with a role'), explicitly differentiates from Studio collaborator creation, and specifies the role constraint. The verb 'Provision' combined with the resource 'generated-app runtime member' makes the purpose distinct from 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 Guidelines4/5

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

The description provides explicit when-to-use context ('provides a runtime member, not Studio collaborator'), constraints ('owner role cannot be assigned'), and optional password behavior. It lacks explicit mention of when NOT to use, but the positive guidance is clear and useful for tool selection.

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

list_ab_testsBInspect

List the platform A/B tests configured for an app.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only says 'list' without mentioning pagination, permissions, or response format, leaving significant gaps.

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, clear sentence with no unnecessary words. It is concise, though slightly too brief to provide comprehensive guidance.

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?

For a simple list operation with no output schema or annotations, the description lacks critical context such as response details or usage notes. It is insufficient for an agent to use 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 coverage is 100% and the single parameter 'app_id' is simple. The description does not add extra meaning beyond the schema, but the baseline of 3 is appropriate since the schema already explains the 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 clearly states the tool lists platform A/B tests for an app, using a specific verb and resource. It distinguishes from sibling tools like create_ab_test, delete_ab_test, etc.

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 vs. alternatives such as get_ab_test_stats. It does not mention context or prerequisites.

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

list_app_domainsAInspect

List an app's platform path, subdomain, and configured custom domain with verification, SSL, primary-domain, redirect, publish, and login-gating status.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior3/5

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

No annotations provided, so description carries burden. It lists the status fields returned, indicating a read-only operation, but does not explicitly state that no modifications occur or discuss any side effects or permissions.

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?

Single sentence, concise, and front-loaded with key information. Could be slightly improved with structure, but overall efficient.

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?

Adequately describes what the tool lists, but lacks details on return format (e.g., array, object) given no output schema. For a simple list tool, this is acceptable but not 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?

Schema coverage is 100% with app_id described. Description adds no additional parameter semantics beyond the schema, so baseline 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?

Description clearly states it lists an app's platform path, subdomain, and custom domain with multiple status fields, specifying the resource and verb. This differentiates it from sibling tools like add_custom_domain or check_domain_verification.

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?

No explicit guidance on when to use this tool versus alternatives like get_domain_ssl_status or get_domain_verification. Usage context is implied but exclusions or when-not advice is missing.

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

list_app_membersAInspect

List generated-app runtime users/members for an app. This is separate from Studio project collaborators.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It only says 'List' without mentioning that it's read-only, whether it requires specific permissions, or any potential effects.

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 sentences, concise, and front-loaded with the core action. Every word adds value.

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 no output schema, the description should specify what is returned (e.g., list of members). It also omits details about pagination, ordering, or error conditions.

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 already covers 100% of parameters with descriptions, so the description adds no additional meaning to the 'app_id' parameter. 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 states the action ('List') and the resource ('generated-app runtime users/members') and distinguishes it from Studio project collaborators using the sibling tool context.

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 indicates when to use the tool (to list runtime members) and differentiates from Studio collaborators, but does not explicitly state when not to use it or provide alternatives.

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

list_appsAInspect

List all applications owned by the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description carries full burden. It indicates a read operation ('list'), which implies no side effects. However, it does not disclose potential limitations like pagination or rate limits. For a simple list with no parameters, this is acceptable but not exemplary.

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 is precise and front-loaded. It provides all necessary information without any filler words, earning its place.

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 tool with no parameters and no output schema, the description is complete. It states the action (list) and scope (owned by authenticated user). No additional details are required for a simple list operation.

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 schema coverage is effectively 100%. The description adds no parameter information, but according to guidelines, 0 parameters yields a baseline of 4. The tool is straightforward with no input needed.

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 lists all applications owned by the authenticated user. It uses a specific verb 'list' and a resource 'applications', which immediately distinguishes it from sibling tools like 'get_app_detail' (single app) or 'create_app'.

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 states when to use it: to list all applications owned by the user. While there is no explicit when-not or alternative mention, the context of sibling tools (e.g., get_app_detail) makes the usage clear. A small improvement would be to mention that it returns a list or handles pagination.

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

list_integrationsAInspect

List supported integrations and safe connected integration metadata for an app. Tokens/secrets are never returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior4/5

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

Explicitly states tokens/secrets are never returned, a key safety guarantee. No annotations provided, so description carries this burden well.

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, front-loaded with action and a critical safety note. No wasted 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?

Adequate for a simple list tool with one parameter and no output schema. Could define 'supported integrations' or 'metadata' but not necessary.

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?

Single parameter app_id with full schema coverage (100%). Description adds no extra meaning beyond the schema's 'The app 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?

Clear verb+resource: 'List supported integrations and safe connected integration metadata for an app.' Distinct from sibling tools like list_apps or configure_integration.

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?

Implied usage for reading integration info, but no explicit when-to-use or alternatives among many sibling tools.

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

list_media_capabilitiesAInspect

Discovery for the media tools: the active image model and remaining image allowance, the video models this account may use with their per-second prices and prepaid wallet balance, and every valid slideshow style, template, and collection id. Call this before generate_image / generate_video / generate_slideshow instead of guessing enum values. Spends nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
surfacesNoLimit the answer to these surfaces. Default: all three.
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool is a 'Discovery' operation and explicitly states 'Spends nothing,' indicating a read-only, non-consuming behavior. It also mentions it returns specific categories of data, which adds context. However, it does not describe the response format, pagination, or any potential rate limits, which would have enriched transparency further.

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 informative. It starts with the core purpose ('Discovery for the media tools'), lists the returned data, then provides usage guidance and a safety note. Every sentence adds value, with no filler or repetition of schema content.

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 simplicity (one optional parameter, no output schema, no annotations), the description covers the essential aspects: what it discovers, when to call it, and that it is free. It lists the categories of information returned, which helps the agent understand the response. However, it stops short of detailing the exact response structure or providing example output, which would be useful for an agent to parse the result.

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 documents the single optional parameter 'surfaces' with an enum of image/video/slideshow and a clear description ('Limit the answer to these surfaces. Default: all three.'). Since schema coverage is 100%, the description does not need to add parameter details. The high-level context about the tool's purpose is helpful but does not directly enhance individual parameter meaning beyond what the schema already provides.

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 tool as a discovery endpoint for media tools, listing the exact information it returns (image model and allowance, video models and prices, wallet balance, slideshow styles/templates/collection IDs). It also distinguishes itself from sibling generation tools by explicitly naming generate_image, generate_video, and generate_slideshow as the intended precursors.

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?

The description provides explicit usage guidance: 'Call this before generate_image / generate_video / generate_slideshow instead of guessing enum values.' It also notes that it 'Spends nothing,' reassuring safe invocation. This clearly communicates when to use the tool over alternatives.

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

list_saved_versionsAInspect

List restorable Saved Versions for an app, including versions created by MCP writes.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior3/5

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

The description discloses that versions include MCP writes and are restorable, but lacks explicit read-only hint or details on authorization/rate limits. No annotations provided so description bears full 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?

One sentence of 12 words, front-loaded with purpose. No extraneous 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?

For a simple list operation with one parameter and no output schema, the description is mostly complete. Could mention return format or pagination, but not essential.

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 sole parameter app_id is fully described in the schema (100% coverage). The tool description does not add additional meaning beyond the schema description.

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 lists restorable saved versions for an app, including MCP writes. It distinguishes itself from sibling tools like restore_saved_version and compare_saved_versions.

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 (list versions) without explicitly stating when not to use or listing alternatives. Context from sibling tools helps differentiate.

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

list_secret_keysAInspect

List secret key names for an app. Secret values are never returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior4/5

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

No annotations are provided, so the description bears full responsibility. It explicitly states that secret values are never returned, a key security guarantee. However, it does not mention permissions or other behavioral traits.

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 with zero redundancy. Front-loads purpose and adds a critical behavioral note, earning its space.

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 list tool with one parameter and no output schema, the description is sufficient. It covers the core action (list names) and the key constraint (no values).

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% (app_id described), so baseline is 3. The description adds no extra semantic meaning beyond what the schema already provides (app_id is a string).

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 lists secret key names for an app, and explicitly distinguishes itself from siblings that handle secrets (e.g., set_secret, delete_secret) by noting that values are never returned.

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 a read operation to list keys, but provides no explicit guidance on when to use this tool versus alternatives (e.g., set_secret, delete_secret). No 'when not to use' instructions or context hints.

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

list_slideshowsAInspect

List this account's slideshows, newest first, without slide bodies. Spends nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many to return, 1-60. Default 20.
Behavior4/5

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

With no annotations, the description carries the burden. It discloses 'without slide bodies' (indicating a lightweight response) and 'Spends nothing' (indicating no cost side effects), aligning with a read-only operation. It doesn't mention other side effects, but for a list operation this is adequate context.

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 that efficiently states the action, resource, ordering, content exclusion, and cost. Every phrase earns its place with no 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 simple list tool with no output schema, the description covers the essential purpose, ordering, content scope, and cost. It could more explicitly describe the return format, but the mention of 'without slide bodies' implies a metadata list, which is sufficient.

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 full coverage of the 'limit' parameter with range and default, so the baseline is 3. The tool description adds no additional parameter-specific semantics beyond what the schema already states.

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 ('List') with a resource ('slideshows') and adds scope and ordering ('this account's... newest first') plus a key exclusion ('without slide bodies'). This clearly distinguishes it from siblings like get_slideshow or generate_slideshow.

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 it (listing slideshows with metadata) and the 'Spends nothing' note suggests it's a low-cost option. However, it doesn't explicitly name alternatives or state when not to use it, such as when full slide bodies are needed.

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

list_video_jobsAInspect

List this account's own video jobs, newest first. Spends nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many jobs to return, 1-100. Default 20.
Behavior4/5

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

No annotations are present, so the description carries the full disclosure burden. It explicitly states the operation is read-only ('spends nothing') and specifies ordering behavior ('newest first'), which goes beyond what the schema or name alone would convey.

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 and 9 words, front-loaded with the action verb. Every word adds value, with no repetition of schema 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?

For a simple list operation with one optional parameter, the description covers purpose, scope, ordering, and cost. No output schema exists, so return format is not mandated, though a brief mention of returning a list could improve completeness. Overall, it is adequately 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?

Schema coverage is 100%: the limit parameter is fully described with range and default. The description adds no additional parameter-level detail (e.g., examples or semantics), 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 'List', identifies the resource as 'this account's own video jobs', and adds ordering 'newest first'. This clearly distinguishes it from sibling tools like generate_video, get_video_status, or list_slideshows.

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 'Spends nothing' implies it is safe to call without cost concerns, which loosely guides usage. However, there is no explicit comparison to alternative tools (e.g., get_video_status) or any when-not-to-use conditions.

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

patch_app_fileAInspect

Patch one file by replacing exact text. Safer than full overwrite for targeted edits. Creates a Saved Version before changing content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesVirtual file path
app_idYesThe app ID
new_textYesReplacement text
old_textYesExact existing text to replace
replace_allNoReplace all matches instead of the first match
Behavior4/5

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

No annotations provided, so the description carries full burden. It discloses that a Saved Version is created before changes, which is a key behavioral trait. It does not mention error conditions or side effects like permissions, but the core behavior is well covered.

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 wasted words. Front-loaded with the core action and safety note. Highly concise and 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?

Given no output schema and 5 parameters, the description covers purpose and key behavior (saved version). It lacks mention of return values or error handling, but the simplicity of the tool makes this acceptable.

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%, so parameters are already described in the input schema. The description does not add additional meaning to parameters beyond what the schema provides, which is acceptable per guidelines.

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 patches a file by replacing exact text, distinguishing it from full overwrite. It also notes the creation of a Saved Version, which is a key differentiator from sibling tools like write_app_file.

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 compares the tool to 'full overwrite', guiding when to use it for targeted edits. However, it does not mention specific alternatives or when not to use it beyond overwriting.

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

publish_appAInspect

Publish an app - freeze current state and make it live at a URL. Also configures whether the public URL is open, app-login gated, private, or inferred from the app.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID to publish
access_modeNoLive access policy. public_open = anyone can view. public_auth = public URL opens but app login is required. private = published snapshot remains owner/collaborator-only. keep = preserve current visibility/auth settings. infer = choose from existing settings and obvious app structure.infer
make_publicNoOptional explicit override for whether published URLs are publicly reachable. Prefer access_mode when possible.
auth_requiredNoOptional explicit override for generated-app login requirement. Prefer access_mode when possible.
Behavior3/5

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

Despite no annotations, the description discloses key behaviors (freezing state, making live, configuring access). However, it lacks details on reversibility, permissions, or side effects like overwriting previous publishes.

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 all essential information: first sentence states core action, second adds key parameter context. No redundant words or fluff.

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 covers purpose and access configuration but omits any mention of return values (e.g., URL or job status). Given lack of output schema, a brief note on what the tool returns would improve 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 coverage is 100% and parameters are well-described in the schema. The description adds no additional meaning beyond summarizing access modes, meeting the baseline for this dimension.

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 it 'publish[es] an app' by 'freez[ing] current state and mak[ing] it live at a URL', which is a specific verb-resource combination. This distinguishes it from sibling tools like 'update_app' or 'get_app_detail'.

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 use when ready to make an app live but does not explicitly state when not to use it or suggest alternatives. No comparison to sibling tools like 'update_app' for mere setting changes.

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

query_entityBInspect

Query app data records for one entity with optional exact-match filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort field, prefix with - for descending-created_date
limitNoMax records to return
app_idYesThe app ID
entityYesEntity name, for example Patient
offsetNoPagination offset
filtersNoExact-match field filters
Behavior3/5

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

No annotations provided, so description carries full burden. It implies a read-only query operation but does not disclose any behavioral traits such as pagination behavior, rate limits, authorization needs, or whether the operation is safe. The description is adequate but lacks depth.

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 that is front-loaded with key information. Every word serves a purpose; no wasted text.

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?

Description is too brief given the tool's complexity (6 parameters, no output schema, no annotations). It lacks information about return format, pagination details, and example usage, leaving gaps for an AI 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?

Schema coverage is 100%, so parameters are already documented. The description adds 'exact-match filters' but does not provide additional meaning beyond the schema fields. Baseline 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?

Description clearly states 'Query app data records for one entity with optional exact-match filters.' It specifies the verb (query), resource (app data records), and scope (one entity), distinguishing it from sibling tools like create_entity_schema or update_entity_record.

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 on when to use this tool versus alternatives. While the purpose is clear, there is no mention of when not to use it or which sibling tools might be more appropriate for filtering by user/workspace or other criteria.

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

read_app_fileAInspect

Read one source file from an app's virtual filesystem.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesVirtual file path, for example pages/Home.jsx
app_idYesThe app ID
max_charsNoMaximum content characters to return
Behavior3/5

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

No annotations provided, and the description does not disclose behavioral traits such as file-not-found handling, encoding, or truncation via the 'max_chars' parameter. The description is straightforward but leaves some behavioral aspects implicit.

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 redundant words, efficiently conveying the tool's purpose.

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?

Given no output schema and no annotations, the description is minimal. It does not explain the return format or provide extra context about the virtual filesystem structure, but it is adequate for a simple read operation with well-documented parameters.

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%, and the description adds no additional meaning beyond the schema parameter descriptions. The baseline of 3 is appropriate as the schema already documents the parameters well.

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 'Read' and the resource 'one source file from an app's virtual filesystem', distinguishing it from sibling tools like 'read_app_files' (plural) and 'write_app_file'.

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 lacks explicit when-to-use or when-not-to-use guidance. While sibling tool names imply singular vs plural reading, 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.

read_app_filesBInspect

Read several source files from an app's virtual filesystem.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesVirtual file paths to read
app_idYesThe app ID
max_chars_per_fileNoMaximum characters per file
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'read', implying no side effects, but fails to mention permissions, error handling, file existence behavior, or whether paths are relative to app root. Incomplete for a 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.

Conciseness4/5

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

Single sentence, efficient and clear. Could be improved by front-loading key info like that it reads multiple files, but it's already 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?

Given moderate complexity (array parameter, default limit, no output schema), the description lacks return format, error behavior, and path conventions. Incomplete for making informed calls.

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%, so baseline 3. Description adds no additional meaning beyond the schema's parameter descriptions. No extra details about path format, or max_chars_per_file limits.

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 it reads multiple source files from an app's virtual filesystem. 'Several' distinguishes it from the sibling 'read_app_file' which handles single files.

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 'read_app_file' for single files or 'get_app_files' for file listings. The description implies bulk reading but lacks when-not-to-use context.

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

remove_app_memberCInspect

Remove a generated-app runtime member.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
user_idYesGenerated app user id
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'Remove', which implies a destructive action, but it does not confirm irreversibility, required permissions, or impact on the app. For a mutation tool, this is insufficient.

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

Conciseness3/5

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

The description is very concise (one sentence) and avoids redundancy. However, it could include more context without becoming lengthy, such as the return value or common usage. It is adequately structured but not front-loaded with critical details.

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 no output schema and the tool's simplicity, the description should at least mention the expected outcome (e.g., 'Removes the user from the app'). It also lacks context about what happens if the user does not exist or if the operation fails. Incomplete for a mutation tool.

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 both parameters described (app_id and user_id). The description adds no additional meaning beyond the schema, so baseline score of 3 applies.

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 'Remove' and the resource 'generated-app runtime member', which aligns with the tool name. However, 'runtime member' may be slightly ambiguous; the schema clarifies with 'user_id'. It distinguishes from sibling tools like 'invite_app_member' but doesn't highlight differences.

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 on when to use this tool versus alternatives (e.g., update_app_member_role). No prerequisites, preconditions, or typical use cases are mentioned. The agent has no information about whether the member must exist or if there are side effects.

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

remove_custom_domainBInspect

Remove the configured custom domain from the app and clean up the platform-side hostname registration when possible.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
domainNoOptional configured custom domain. If omitted, removes the current custom domain.
Behavior3/5

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

The description mentions cleanup of hostname registration 'when possible', indicating conditional behavior, but does not disclose side effects, authentication requirements, or what happens if the domain is not configured. Since no annotations are provided, the description carries the burden but only partially meets it.

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 that is front-loaded and contains no filler. Every word serves a 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?

For a removal tool with no output schema and no annotations, the description lacks complete behavioral context: no return value, error cases, or behavior when domain is missing. It is minimal and would benefit from more details about side effects and conditions.

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%, so the schema already documents both parameters adequately. The description adds no extra semantic value beyond stating the overall action; it does not elaborate on 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 ('Remove the configured custom domain') and the additional cleanup step, distinguishing it from siblings like add_custom_domain or set_primary_domain.

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 (e.g., add_custom_domain, configure_domain_redirects) or prerequisites (e.g., domain must be configured). The description implies usage but lacks exclusion criteria.

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

rename_app_fileAInspect

Rename or move one app source file atomically. Internally stages an upsert at new_path and a delete at old_path, validates the resulting app state, and creates a Saved Version before applying.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoApply even if validation reports blocking errors
app_idYesThe app ID
new_pathYesNew virtual file path
old_pathYesExisting virtual file path to rename
overwriteNoAllow replacing an existing file at new_path
Behavior4/5

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

Without annotations, the description carries full burden. It explains internal behavior (stages upsert/delete, validates, creates Saved Version), offering transparency beyond the basic 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?

Two sentences: first states purpose, second details internals. No wasted words, front-loaded and efficient.

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 covers main behavior but lacks details on validation failure handling, effects of force/overwrite parameters, and return value (no output schema). Adequate but incomplete.

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 schema descriptions are clear. The description adds context about atomicity and validation but does not significantly enhance parameter understanding beyond the schema.

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 (rename/move) and the resource (app source file), emphasizing atomicity. It distinguishes from sibling tools like write_app_file or patch_app_file by specifying the atomic rename/move behavior.

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 does not provide explicit guidance on when to use this tool versus alternatives. It implies usage for renaming or moving files but lacks when-not-to-use or alternative suggestions.

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

render_slideshow_imagesAInspect

Render the images for a slideshow whose script was already written and approved. Charges 1 platform credit per slide, runs in the background, and returns immediately - poll get_slideshow until status is 'ready'.

ParametersJSON Schema
NameRequiredDescriptionDefault
history_idYeshistory_id returned by generate_slideshow.
Behavior5/5

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

There are no annotations, so the description must reveal behavioral traits. It does so by disclosing the cost (1 credit per slide), asynchronous execution (runs in background, returns immediately), and the polling requirement until status is 'ready.' This is a high degree of transparency for a non-readonly 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 two concise sentences, front-loading the purpose and then adding cost and async behavior. No unnecessary words.

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 tool with a single parameter and no output schema, the description covers the essential workflow: preconditions, cost, background execution, and how to retrieve the result (polling get_slideshow). This is sufficiently 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 schema already describes history_id as returned by generate_slideshow, so the description adds little beyond the prerequisite context. With 100% schema description coverage, the baseline of 3 is appropriate; the description does not add new parameter 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?

The description clearly states the verb 'render' and the resource 'images for a slideshow,' and adds the precondition that the script is already written and approved. This distinguishes it from sibling tools like generate_slideshow (which likely creates the script) and get_slideshow (which checks status).

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 specifies the prerequisite (script already written and approved) and the polling workflow via get_slideshow, providing a clear usage context. However, it does not explicitly mention alternatives or exclusions, so it stops short of full guidance.

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

restore_file_from_versionAInspect

Restore one file from a Saved Version instead of restoring the entire app. Creates a Saved Version before changing the file.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesVirtual file path to restore
app_idYesThe app ID
confirmYes
snapshot_idYesSaved Version snapshot ID
Behavior3/5

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

The description discloses the side effect of creating a Saved Version before modification, which is important behavioral context. However, with no annotations, it lacks details on permissions, reversibility, or rate limits, leaving gaps.

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 concise sentences with no redundancy, front-loading the core purpose and key behavior.

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 covers the main purpose and a key behavioral note but omits details about the 'confirm' parameter and return values, leaving moderate gaps given no 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?

Schema coverage is 75% (3/4 parameters described), so the description adds no extra meaning beyond the schema. The 'confirm' parameter lacks schema description and is not mentioned in the description.

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 restores a single file from a Saved Version, contrasting with restoring the entire app, which distinguishes it from the sibling 'restore_saved_version'. The verb 'restore' and resource 'one file from a Saved Version' are specific.

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 context for when to use this tool ('instead of restoring the entire app'), implying the alternative. However, it does not explicitly state when not to use it or list prerequisites.

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

restore_saved_versionAInspect

Compatibility endpoint for full Saved Version restore. MCP cannot execute this operation because it can replace database records without the dedicated in-chat approval flow. Use list_saved_versions and compare_current_to_version for read-only inspection, then ask the authenticated app owner to restore through the Fine Structure UI.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
snapshot_idYesSaved Version snapshot_id to inspect before restoring in the UI
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the operation can replace database records and requires a dedicated in-chat approval flow. It states MCP cannot execute it, implying calls will be rejected or fail. However, it does not explicitly state what happens if called (error, no-op, etc.), leaving a small gap in behavioral disclosure.

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

Conciseness5/5

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

Three sentences, front-loaded with purpose and then clear guidance. Every sentence earns its place: states what the endpoint is, why MCP cannot use it, and what to do instead. No redundant filler.

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 is complete for a compatibility stub: it explains the restriction, the rationale (database records replaced without approval), and the safe alternatives. It lacks explicit details about the tool's actual response or error behavior, but given the description explicitly directs agents away from calling it, this is a minor gap. The presence of sibling tools and schema further contextualize it.

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 covers 100% of parameters with descriptions (app_id and snapshot_id, including 'to inspect before restoring in the UI'). The tool description adds no additional parameter semantics beyond the schema. Baseline is appropriate at 3 since the schema already does the heavy lifting.

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 this is a 'Compatibility endpoint for full Saved Version restore' and immediately clarifies that MCP cannot execute it. This distinguishes it from the sibling tools like list_saved_versions and compare_current_to_version, making the tool's purpose (and non-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?

Explicit when-not-to-use guidance: 'MCP cannot execute this operation' followed by explicit alternatives: 'Use list_saved_versions and compare_current_to_version for read-only inspection, then ask the authenticated app owner to restore through the Fine Structure UI.' This provides clear direction on which tool to call instead and when.

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

seed_entityAInspect

Compatibility tool for proposing starter-record creation. It never inserts records directly: it creates a pending approval that the app owner must approve or reject in Studio chat. Approval-free initial seed is server-controlled inside create_app and cannot be requested through MCP.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoappend always proposes creation; skip_if_not_empty proposes only when the entity is emptyskip_if_not_empty
app_idYesThe app ID
entityYesEntity name
reasonNoWhy these records should be created
recordsYesRecords to propose for creation after approval
Behavior5/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It clearly explains the tool never inserts directly, creates a pending approval requiring app owner action, and mentions the restriction on approval-free initial seed. This provides substantial transparency about side effects and workflow, going beyond a simple mutation indication.

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 sentences, front-loaded with the core purpose. Each clause contributes meaningful information: the tool's compatibility nature, the proposal behavior, the approval requirement, and the restriction on initial seed. No redundant or extraneous text.

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 5 parameters and no output schema, the description covers the essential behavioral aspects, including the approval workflow and a key limitation. It leaves out a few details like what happens after approval or how mode interacts with the workflow, but the schema covers parameters, and the overall description is sufficient for an agent to understand when and how to use the tool.

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%, so the schema already explains all parameters. The description adds no parameter-specific semantics beyond what the schema provides, and only gives overall context about the approval mechanism. Baseline of 3 applies because the description doesn't add value on top of the schema's 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 opens with 'Compatibility tool for proposing starter-record creation,' which clearly states the tool's function and scope. It further distinguishes itself from direct insertion tools by emphasizing it never inserts records directly and instead creates a pending approval, differentiating it from siblings like create_entity_records.

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 states when not to use it: 'Approval-free initial seed is server-controlled inside create_app and cannot be requested through MCP.' It also implies usage for proposing records that require app owner approval, but it doesn't explicitly name alternative tools like create_entity_records or elaborate on scenario-based selection. Clear context with an exclusion but without explicit alternative guidance.

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

set_entity_policyCInspect

Create or update server-side read/write role policy for an app entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
readYesRoles allowed to read
writeYesRoles allowed to write
app_idYesThe app ID
entityYesEntity name, e.g. Booking
Behavior2/5

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

No annotations exist, so the description must convey behavioral traits. It labels the tool as 'create or update', implying mutation, but does not disclose side effects, permissions, or behavior when the policy already exists (e.g., overwrite or merge). This lack of detail for a write operation is a significant 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 a single sentence with no extraneous words. It is efficiently structured and front-loaded with the verb and resource.

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 full schema coverage, the description lacks important context: no output schema info, no mention of return values, and no behavioral details for a mutation with 4 required params. The description is too minimal to be complete given the tool's complexity.

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%, so each parameter already has a description. The tool description adds no additional parameter context. Baseline 3 is appropriate as the schema carries the burden.

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 or update' and the resource 'server-side read/write role policy for an app entity', making the purpose specific. It does not explicitly distinguish from sibling tool 'set_route_policy', but the resource difference is implied.

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 like set_route_policy. The description only states what it does, without context on prerequisites or scenarios.

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

set_primary_domainAInspect

Set which app host should be treated as primary for generated links and custom-domain redirects.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
domainYesPrimary host, for example example.com, www.example.com, or the app subdomain host.
Behavior2/5

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

No annotations are provided, so the description fully bears responsibility for behavioral disclosure. It only states 'Set' without detailing side effects, required permissions, whether the domain must be verified, or if there are any irreversible consequences.

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 extraneous words. Every part contributes meaning, and the structure is efficient.

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 is minimal and does not explain return values or errors. While the tool is simple, given the number of sibling domain tools, additional context (e.g., 'This domain must be verified first') would improve 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 coverage is 100%, so the input schema already adequately describes both parameters. The description adds no extra meaning beyond what is in the schema, earning a baseline score of 3.

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 (Set), the resource (primary app host), and the context (for generated links and custom-domain redirects). It effectively distinguishes from sibling tools like add_custom_domain and configure_domain_redirects.

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 setting the primary host but provides no explicit guidance on when to use this tool versus alternatives, such as for verification or redirect configuration. No when-not-to-use or prerequisites mentioned.

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

set_route_policyCInspect

Create or update a server-owned route policy for a generated app route.

ParametersJSON Schema
NameRequiredDescriptionDefault
routeYesRoute or wildcard route, e.g. /admin/*
app_idYesThe app ID
redirect_toNo/Login
require_authYes
allowed_rolesYesAllowed app roles
Behavior2/5

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

The description states 'Create or update', implying mutation, but provides no additional behavioral details such as idempotency, side effects, required permissions, or whether it overwrites existing policies. With no annotations, this is insufficient for an agent to understand the tool's impact.

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?

Single sentence, no wasted words, immediately communicates the tool's purpose. However, it is too terse and could benefit from additional structure or bullet points for clarity.

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 5 parameters, no output schema, and no annotations, the description is incomplete. It does not explain what a 'route policy' is, how the parameters interact, or what the outcome of the operation looks like. Lacks necessary context for effective tool selection and use.

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 60%, yet the tool description adds no parameter information beyond what's in the schema. It does not explain the purpose of parameters like 'redirect_to' or 'allowed_roles' in the context of route policies. Description fails to compensate for schema gaps.

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?

Description clearly states the action ('Create or update') and the resource ('server-owned route policy for a generated app route'). It distinguishes this tool from siblings like 'set_entity_policy' by specifying 'route policy' and 'generated app route', which is unique among the 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 Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Does not mention prerequisites, such as needing an existing app route, or when not to use it. Lacks any explicit context for usage.

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

set_secretAInspect

Create or update one encrypted app secret. The secret value is never returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesSecret key name
valueYesSecret value to encrypt and store
app_idYesThe app ID
Behavior3/5

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

Discloses that the secret value is never returned, which is important. However, with no annotations, it lacks details on overwrite behavior, permission needs, or side effects. Could be more transparent but meets minimum.

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, front-loaded with key information, no extraneous words. Very concise and effective.

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 tool with 3 required params and no output schema, the description captures essential aspects but omits overwrite behavior and retrieval context. Could be more 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?

Schema coverage is 100%, so all parameters have descriptions. The description adds no additional meaning beyond what the schema provides. 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 tool's action (create or update), resource (encrypted app secret), and a key behavior (value never returned). It distinguishes from siblings like delete_secret and list_secret_keys.

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?

No explicit guidance on when to use this tool versus alternatives like delete_secret or list_secret_keys. Usage is implied but not clarified with conditions or exclusions.

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

update_ab_testAInspect

Update a native A/B test, including active state, variants, traffic, and conversion goal. Creates a Saved Version before the change.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional new name
app_idYesThe app ID
test_idYesA/B test ID
variantsNoOptional replacement variants. Traffic must total 100.
is_activeNoOptional active state
page_nameNoOptional new base route page
goal_event_typeNoOptional conversion goal type
goal_event_filterNoOptional conversion goal filter
Behavior4/5

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

Despite no annotations, the description discloses a significant behavioral trait: 'Creates a Saved Version before the change.' This adds transparency beyond the basic update action. However, it does not mention other potential behaviors such as whether the test can be updated while running, or any prerequisites.

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 sentences, both essential. The first sentence is the main action, the second adds a critical side effect. No unnecessary words, front-loaded with the verb 'Update'.

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 8 parameters (2 required, nested objects) and no output schema, the description covers the main functional scope. The side effect of creating a saved version is important context. However, it could be more complete by noting that updating a test may affect running experiments, but overall it provides sufficient context for an AI 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?

Schema description coverage is 100%, so baseline is 3. The description adds a high-level summary of what parameters are involved ('active state, variants, traffic, conversion goal'), which aligns with schema fields but does not provide additional detail beyond listing. It does not clarify how 'traffic' maps to variants or provide format guidance.

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 it updates a native A/B test and lists the specific aspects that can be updated (active state, variants, traffic, conversion goal). It also mentions a key side effect: Creates a Saved Version before the change. This distinguishes it from siblings like create_ab_test, delete_ab_test, and get_ab_test_stats.

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 does not explicitly state when to use this tool versus alternatives. While the context of updating versus creating or deleting is implied, there is no explicit 'when to use' or 'when not to use' guidance, nor mention of alternatives like create_ab_test for new tests.

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

update_appAInspect

Update an existing application with a new prompt. The AI modifies the app based on your instructions. Creates a Saved Version before the update. Returns a job_id - poll get_job_status to track progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID to update
promptYesWhat to change in the app
Behavior4/5

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

No annotations provided, so the description carries full burden. It discloses that the tool modifies the app, creates a Saved Version for safety, and is asynchronous (returns job_id). This is good behavioral context for a mutation tool.

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

Conciseness5/5

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

Three sentences, front-loaded with purpose. Each sentence adds value: purpose, safety mechanism, and next step. No unnecessary words.

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 moderate-complexity tool with 2 parameters and no output schema, the description covers purpose, behavior, asynchronous tracking, and versioning. It is sufficiently complete given the context.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds context that the AI modifies the app based on the prompt instructions, enhancing the meaning of the prompt parameter beyond its schema description.

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 'update' and the resource 'existing application'. It specifies the action: modifying the app based on a prompt. This distinguishes it from sibling tools like create_app, publish_app, and others.

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 explains that a Saved Version is created before the update and that the tool returns a job_id for polling. This provides clear context for when to use and what to do after. However, it does not explicitly state when not to use or list alternatives.

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

update_app_member_roleAInspect

Update a generated-app runtime member role. This cannot assign owner and cannot change the Fine Structure account owner.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesNew role
app_idYesThe app ID
user_idYesGenerated app user id
Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses the inability to assign owner or change account owner, but lacks details on permissions, side effects, or reversibility.

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 with no redundant information. The purpose is front-loaded and important constraints are presented efficiently.

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 description is too brief for a mutation tool with no annotations or output schema. Missing information on success indicators, error conditions, and idempotency, leaving the agent with incomplete context.

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 basic descriptions for all three parameters. The description adds no additional meaning beyond the schema, so 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?

Description clearly states the action (update role) and the resource (generated-app runtime member), and distinguishes from other role operations by specifying limitations (cannot assign owner or change Fine Structure account owner).

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?

Limitations are stated but no explicit when-to-use or when-not-to-use guidance. The tool's purpose is implied, but alternatives like invite or remove are not mentioned, leaving the agent to infer context.

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

update_entity_metadataCInspect

Set relationship/index metadata on an entity schema. This stores metadata in the schema file; DB index creation is automatic where supported by the platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
entityYesEntity name
indexesNo
metadataNo
relationshipsNo
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It states that metadata is stored in the schema file and DB index creation is automatic, which is helpful. However, it does not explain whether setting metadata overwrites or merges existing data, nor does it mention permission requirements, error conditions, or the impact on existing relationships.

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 extremely concise, consisting of two short sentences. The first sentence states the core purpose, and the second adds a key behavioral detail. There is no unnecessary information; 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?

Given the tool's complexity (5 parameters, nested objects, many siblings), the description is insufficient. It does not explain what the tool returns (no output schema), how it affects existing metadata, or how to use the complex parameters like 'indexes' or 'relationships'. The description is too brief for such a tool.

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 40%, meaning many parameters (indexes, metadata, relationships) lack schema descriptions. The tool description does not elaborate on these parameters, so it adds no additional semantic value beyond naming them. It would be improved by clarifying the structure or purpose of these nested objects.

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's purpose: 'Set relationship/index metadata on an entity schema.' It specifies the verb 'Set' and the resource. However, it does not explicitly distinguish from sibling tools like 'update_entity_schema' or 'create_entity_schema', though the context implies a focus on metadata rather than schema structure.

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 lacks guidance on when to use this tool versus alternatives. It mentions that DB index creation is automatic, but does not provide explicit contexts or exclusions. With many sibling tools, additional usage context would be beneficial.

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

update_entity_recordAInspect

Compatibility tool for proposing an update to one record by ID. It returns a pending approval and never changes the record until the app owner approves it in Studio chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesFields to merge into the record
app_idYesThe app ID
entityYesEntity name
reasonNoWhy this record should be updated
record_idYesRecord ID
Behavior4/5

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

With no annotations, the description carries full burden and discloses key behaviors: it returns a pending approval, never changes the record until app owner approval, and is a compatibility tool. This adds significant context beyond the purpose, though it does not cover response format 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?

Two concise sentences with front-loaded purpose ('Compatibility tool for proposing an update to one record by ID') and immediate behavioral caveat. No redundant words or over-explanation. Every sentence earns its place.

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 captures the essential distinctive behavior (approval-based, non-mutating) that an agent must know. However, with no output schema, it does not explain what the pending approval response looks like or how the approval process is tracked, leaving a minor gap.

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%, so the baseline is 3. The description adds no parameter-level detail beyond the schema (e.g., 'data' as merge fields, 'reason' purpose). It mentions 'by ID' but that's already in schema via record_id. No additional value provided.

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 proposes an update to a single record by ID, using a specific verb (proposing) and resource (one record). It distinguishes from sibling update_entity_records (plural) by focusing on a single record, and the 'Compatibility tool' label adds context.

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 the tool is for proposing changes that require approval, not direct updates, but does not explicitly state when to use it over alternatives like update_entity_records. The 'Compatibility tool' hint is present but underdeveloped; no explicit exclusions or comparisons are given.

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

update_entity_recordsAInspect

Propose updates to exact records. Select explicit record_ids or exact-match filters and provide shared changes, or provide per-record updates. The database remains unchanged until the app owner approves the frozen request in Studio chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
entityYesEntity name
reasonNoWhy these records should be updated
changesNoShared fields to merge into every selected record
filtersNoOne exact-match selector or a list of exact-match selectors
updatesNoPer-record changes; use instead of shared changes
record_idsNoExact record IDs to update
expected_countNoRequired match count safety check, when known
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the key non-destructive behavior: 'The database remains unchanged until the app owner approves the frozen request in Studio chat.' It also explains the selection modes. It does not mention authorization requirements, return formats, or post-approval effects, but the core behavioral trait is clearly conveyed.

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 three sentences, front-loaded with the main action. Each sentence adds necessary context: action, selection methods, and approval requirement. No redundant words, perfectly sized for an MCP tool.

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 complex tool with 8 parameters, nested objects, and no output schema, the description covers the essential workflow: proposal, selection modes, and approval gate. It does not explain response format or how 'expected_count' works, but the core context is sufficient for an agent to invoke it correctly in most cases. The absence of annotations raises the bar, but the description meets it reasonably well.

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%, so the baseline is 3. The description adds a high-level usage summary ('Select explicit record_ids or exact-match filters and provide shared changes, or provide per-record updates') which helps organize parameters, but it does not add substantial new meaning beyond the schema's per-parameter descriptions. The relationship between changes and filters/updates is already hinted in the schema.

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: 'Propose updates to exact records.' It distinguishes itself from sibling update_entity_record by emphasizing the plural 'records' and the proposal-based nature ('database remains unchanged until approval'). The verb 'propose' and resource 'exact records' make the action explicit.

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 guidance on how to use the tool: selecting record_ids or exact-match filters for shared changes, or using per-record updates. It also frames the tool as a proposal that requires owner approval, implicitly indicating it is not for immediate updates. However, it does not explicitly name alternatives like update_entity_record or state when not to use this tool.

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

update_entity_schemaCInspect

Replace or shallow-merge an existing entity schema file. Creates a Saved Version before writing.

ParametersJSON Schema
NameRequiredDescriptionDefault
mergeNo
app_idYesThe app ID
entityYesEntity name
schemaYesSchema fields to set or merge
indexesNo
metadataNo
relationshipsNo
Behavior2/5

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

Without annotations, the description partially discloses behavior: it creates a Saved Version before writing, implying versioning. However, it lacks details on mutability, permissions, destructiveness of replace vs merge, or side effects on related data.

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 very concise, consisting of a single sentence that conveys the core action and a key side effect. However, it sacrifices completeness for brevity given the tool's complexity.

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 7 parameters with nested objects, no output schema, and no source of truth beyond the description, the provided text is insufficient to understand the overall behavior, return value, or configuration options. It misses crucial context for correct invocation.

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 43%, and the description adds no parameter-specific information. It does not explain the 'merge' boolean, 'indexes', 'metadata', or 'relationships' parameters. The description only implies the 'schema' parameter is modified, leaving other parameters opaque.

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 updates an existing entity schema via replace or shallow-merge, and mentions it creates a Saved Version. It is distinct from the sibling 'create_entity_schema' which creates a new schema, but does not explicitly differentiate from other update tools like 'update_entity_metadata'.

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 on when to use this tool versus alternatives. It does not specify prerequisites, when not to use it, or how it compares to other schema-related tools among the sibling list.

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

validate_appAInspect

Run deterministic app checks: syntax, imports, routes/pages, entity schemas, missing entities, and recorded runtime errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
include_runtime_errorsNo
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states the checks performed but does not reveal whether the tool is read-only, what permissions are required, or any rate limits. For a validation tool, non-destructive nature is implied but not stated.

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, well-structured sentence that lists all checks using colons and commas. Every word serves a purpose with no 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?

Given moderate complexity (2 parameters, no output schema), the description covers the tool's function thoroughly by listing all check categories. However, it omits details about the output format (e.g., pass/fail, error list), which would be helpful since no output schema is provided.

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 50% (only app_id has a description, include_runtime_errors lacks one). The tool description mentions 'recorded runtime errors' which adds context to include_runtime_errors, but does not elaborate on app_id format or constraints. Overall, the description adds some value beyond the schema but does not fully compensate for the low 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 uses a specific verb 'Run' and resource 'deterministic app checks', listing exactly what is checked: syntax, imports, routes/pages, entity schemas, missing entities, and runtime errors. This clearly distinguishes it from sibling validation tools like validate_change_set or validate_entity_relationships.

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 by enumerating the checks, but does not explicitly state when to use this tool versus alternatives (e.g., validate_change_set for change sets). No when-not or exclusion guidance is provided.

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

validate_change_setCInspect

Validate current app files plus staged change set files before applying.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
change_set_idYesChange set ID
include_runtime_errorsNo
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose whether the operation is read-only, requires permissions, or has side effects. 'Validate' suggests no modification, but this is not explicit.

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 clear sentence, efficient and front-loaded. However, it lacks structure (e.g., bullet points) and could be expanded with minimal extra words.

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 no output schema and no annotations, the description is incomplete. It does not explain the return value (e.g., validation pass/fail, error list), leaving the agent uncertain about the output format.

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 67% (2 of 3 parameters documented). The description adds no additional parameter information beyond the schema. It does not clarify the role of 'include_runtime_errors' or other 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?

Description clearly states verb 'validate' and resources 'current app files plus staged change set files', indicating the tool checks validity before applying. It distinguishes from sibling 'apply_change_set' but could be more specific about what validation entails.

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 'validate_app' or 'validate_entity_relationships'. The phrase 'before applying' implies usage context but no exclusions or conditions.

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

validate_entity_relationshipsAInspect

Validate entity relationship metadata and *_id references against existing entity schemas.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'validate,' which is generally non-destructive, but does not specify side effects, permission requirements, or error behavior. The absence of any behavioral context beyond the action is insufficient.

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 conveys the core purpose without any extraneous words. It is front-loaded and efficient.

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 only one parameter and no output schema, the description is minimal. It does not explain what validation checks are performed, what the output looks like, or how to interpret errors. While the tool is simple, the description lacks completeness for an agent to fully understand its behavior.

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% for the single parameter, app_id, which has a basic description. The tool description does not add any additional meaning or context about how app_id is used in validation, so it meets the baseline of 3 without adding value.

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 action: validating entity relationship metadata and *_id references against existing entity schemas. It uses a specific verb and resource, and among siblings like validate_app or validate_change_set, this one is distinct in focusing on relationships.

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 when to use it (to validate relationships) but provides no explicit guidance on when not to use it or how it compares to other validation tools. 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.

write_app_fileAInspect

Create or replace one file in an app's virtual filesystem. Creates a Saved Version before changing content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesVirtual file path
app_idYesThe app ID
contentYesComplete file contents
file_typeNoOptional file type override
Behavior3/5

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

With no annotations, the description carries full burden. It reveals that a Saved Version is created before changing content, which is valuable behavioral detail. However, it omits error conditions, permission requirements, and size limits, leaving gaps in 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 extremely concise with two sentences, no redundant information. It is front-loaded with the action and resource, then adds a key behavioral note. Every word earns its place.

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 4 params with full schema coverage, no output schema, and moderate complexity, the description covers the main action and versioning behavior. It lacks mention of return values or error scenarios, but is largely complete for a write tool.

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%, so baseline is 3. The description does not add significant meaning beyond the schema; it confirms that 'content' is complete file contents, but doesn't elaborate on 'file_type' or provide formatting examples.

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 (Create or replace) and the resource (one file in an app's virtual filesystem). It distinguishes from siblings like patch_app_file (partial update) and read_app_file by implying a full write operation.

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 does not provide explicit guidance on when to use this tool versus alternatives like patch_app_file or create_change_set. The implicit context is writing files, but no when-not or alternative conditions are given.

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

Discussions

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

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources