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 88 of 92 tools scored. Lowest: 2.7/5.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes, but some overlap exists, e.g., between app-scoped and admin email marketing tools (email_marketing_app_create_broadcast vs email_marketing_create_broadcast) which could confuse an agent. Also, read_app_file, read_app_files, and get_app_files have different outputs but similar names.

Naming Consistency4/5

Names follow a verb_noun pattern (e.g., create_app, list_apps, get_app_detail). However, there is some inconsistency with longer descriptive names like get_recommended_workflow and get_platform_guide, and the use of 'app' in some tool names but not others (e.g., email_marketing_app_* vs email_marketing_*). Overall, the convention is fairly consistent.

Tool Count2/5

92 tools is very high for an MCP server. While the platform covers many features (app management, email marketing, A/B testing, etc.), this number can overwhelm agents and make selection difficult. The scope may justify the count, but it is still excessive for coherence.

Completeness4/5

The tool set covers a wide range of operations: CRUD for apps, files, entities, secrets, members, domains, A/B tests, and email marketing. However, there is no explicit tool for deleting an app, which is a notable gap. The email marketing duplication (app-scoped vs admin) is somewhat redundant but not a critical gap.

Available Tools

92 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?

With no annotations, the description must disclose behaviors. It mentions mutation ('Attach or replace') and output (DNS records). However, it lacks details on prerequisites, side effects (e.g., overwriting previous domains), permissions, or rate limits, which are important 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?

The description consists of two concise sentences, front-loading the action and purpose. No redundant or 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?

Given the simple scope (2 parameters, no output schema), the description covers the core functionality and output. It lacks details about the flow or prerequisites, but remains adequate for selection and 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?

Schema coverage is 100%, so the schema alone describes parameters. The tool description does not add extra meaning beyond the schema's parameter descriptions. Therefore, 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 'Attach or replace the app custom domain', specifying the verb and resource. It distinguishes from sibling tools like 'remove_custom_domain' and 'set_primary_domain' by focusing on attaching or replacing, and mentions returning DNS 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 indicates the tool is for attaching or replacing custom domains, implying usage context. However, it does not explicitly state when to use versus alternatives like 'check_domain_verification' or 'configure_domain_redirects', nor does it provide exclusion criteria.

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?

No annotations provided, but description discloses key behavior: does not modify live app until apply_change_set. However, it does not specify prerequisites (e.g., change set must exist) 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 sentences, front-loaded with core purpose and behavior. No redundant or vague wording.

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, description covers purpose and behavior. Lacks return value specification, but for a staging tool this is minor. Context from schema and sibling names provides sufficient surrounding.

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 83%, so description adds little beyond schema. The mapping of operation enum to 'upsert or delete' is stated, but no additional detail on parameter constraints or interactions.

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 includes specific verb 'Stage' and resource 'one file upsert or delete inside a change set'. It clearly distinguishes from siblings like 'apply_change_set' by noting it does not modify the live app until later.

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?

Description states when to use: for staging file changes without affecting live app. It implies not to use when immediate effect is desired, but lacks explicit alternatives or when-not conditions.

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

agency_create_clientInspect

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
agency_create_client_appInspect

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
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
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It notes that the tool does not expose the raw claim token, but fails to disclose whether the tool is read-only, if any side effects occur, or what authentication requirements exist beyond 'agency mode'.

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, front-loaded sentences with no wasted words. Every part contributes to understanding the tool's purpose and constraint.

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 inspection tool with one parameter and no output schema, the description is too brief. It does not explain what the status inspection returns (beyond not exposing the token) or any error conditions, leaving ambiguity.

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?

With 100% schema description coverage and a single parameter whose schema description is clear ('Handoff ID returned by agency_create_claim_link or agency_create_client_app'), the description adds no further 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 clearly states the tool inspects a handoff status in agency mode, and explicitly says what it does not do (expose raw claim token). This provides a specific verb and resource, making the purpose unambiguous.

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

Usage 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' but gives no guidance on when to use this tool versus alternatives like agency_create_claim_link or other sibling tools. No when-not-to-use or alternative contexts are provided.

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

agency_list_clientsInspect

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
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
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses side effect (creates Saved Version) and condition for blocking (validation errors unless force=true). However, it lacks details on auth requirements, return value, or irreversible nature of applying. Partially transparent.

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 main purpose, no redundant information. Every sentence adds value: action, side effect, and condition. Very 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?

With no output schema, description does not specify return type. However, essential behavioral info (saved version creation, validation blocking) is present. Sibling tools provide context. Minor gap in output description, but overall fairly 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% with descriptions for all parameters. Description adds no additional meaning beyond what is already in the schema (e.g., 'force' description matches exactly). Baseline 3 is appropriate as description does not compensate 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?

Description clearly states 'Apply a staged change set to the app' with specific verb and resource. It adds 'Creates a Saved Version before applying' which further clarifies the action. Distinguishes from siblings like 'create_change_set' (create vs apply) and 'discard_change_set' (discard vs apply).

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?

Description says 'Blocks on validation errors unless force=true', implying when to use the force parameter. However, it does not explicitly guide when to use this tool versus alternatives like 'validate_change_set' or when to set force. Minimal guidance provided.

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

check_domain_verificationCInspect

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?

No annotations provided, so the description bears full responsibility. It mentions saving the latest status, implying a side effect, but provides no details on what saving entails (overwrite, create, append), permissions needed, or potential consequences. The term 'Fine Structure' is unexplained. The lack of transparency about behavioral traits beyond the basic action 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.

Conciseness4/5

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

The description is one sentence with minimal fluff. It conveys the core action efficiently. However, it lacks structural elements like separate clauses for checking versus saving, and the proprietary term 'Fine Structure' could be clarified. Still, it is appropriately sized for a relatively simple tool.

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 absence of an output schema and annotations, the description is incomplete. It does not explain what the tool returns (status object, success/failure), whether the action is idempotent, or any error conditions. The side effect of saving is mentioned but not contextualized. For a tool with two parameters and no output schema, the description leaves significant gaps in the agent's understanding.

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%, meaning both parameters are already documented in the schema. The description adds minor value by clarifying the behavior of the optional 'domain' parameter ('If omitted, uses the app's current custom domain'). This extra context justifies a score above baseline 3, but not higher since the schema already covers the core semantics.

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 checks custom-domain verification and SSL status and saves the status. It identifies the specific resource (custom-domain verification/SSL) and action (check and save). However, it does not explicitly differentiate from the sibling tools 'get_domain_ssl_status' and 'get_domain_verification', which may cause confusion about when to use this combined tool versus the separate ones.

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. The description mentions 'for the configured custom domain' but does not explain when a user should choose this over 'get_domain_verification' or 'get_domain_ssl_status'. The presence of sibling tools without any comparative context leaves the agent to infer usage, which is insufficient.

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?

With no annotations, the description carries full burden for behavioral traits. It notes the output is 'compact per-file diffs' but does not disclose whether the operation is read-only, destructive, or if it has rate limits. The truncation behavior implied by 'max_diff_chars' is not explained.

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 core purpose without extraneous words. It is well front-loaded.

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 3-parameter tool with no output schema, the description provides a basic understanding but lacks details on the exact output format, how diffs are represented, and whether the tool has side effects. It is adequate 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 description coverage is 67% (2 of 3 parameters described). The description adds no additional meaning beyond the schema. Baseline score of 3 is appropriate since schema covers most but missing parameter description is not compensated by 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 action ('compare'), the resources ('current app files to a Saved Version'), and the output ('compact per-file diffs'). It effectively distinguishes from the sibling tool '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 when comparing current files to a saved version, but does not explicitly state when to use this tool versus alternatives like 'compare_saved_versions'. No exclusions or prerequisites are mentioned.

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

compare_saved_versionsBInspect

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 bears full responsibility. It discloses the return type (diffs) but omits behavioral traits such as read-only nature, required permissions, error conditions, pagination, or size limits. This is insufficient for a tool with no safety annotations.

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

Conciseness5/5

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

A single, front-loaded sentence of 14 words. Every word contributes meaning: verb, resource, output specifics. No redundancy or unnecessary detail.

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

Completeness3/5

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

The description is minimally adequate for a simple comparison tool with 4 parameters and no output schema. However, it lacks explanation of the output format ('compact diffs') and fails to mention the need for app_id or that the versions must be saved. Could be more informative.

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 covers 75% of parameters with descriptions. The tool description reinforces the roles of base and target versions but adds no extra meaning beyond the schema, especially for max_diff_chars. Baseline 3 is appropriate given high schema 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 identifies the verb 'Compare' and resource 'two Saved Versions', and specifies the output (per-file additions, removals, modifications, compact diffs). It distinguishes from sibling compare_current_to_version. However, it could be more precise about the nature of 'compact diffs'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool over siblings like compare_current_to_version, restore_saved_version, or list_saved_versions. No prerequisites or conditions are mentioned, leaving the agent to infer context 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.

configure_domain_redirectsAInspect

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 are provided, so the description must disclose behaviors. It only states what it configures but not side effects (e.g., whether it replaces existing redirects, if it requires the domain to be verified, or what happens on failure). Significant gaps remain.

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 concise sentence that front-loads the core action and key configurable elements. Every word carries meaning, and there is no repetition or fluff.

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 tool's purpose and configurable parameters but omits prerequisites, error scenarios, and return values (no output schema). For a configuration tool, it is adequate but lacks completeness in behavioral and contextual details.

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 the baseline is 3. The description adds value by grouping parameters under a policy concept and clarifying the purpose of 'optional www/root redirect' and 'HTTPS enforcement', improving semantic 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 'Configure' and the resource 'custom-domain redirect policy', and enumerates the specific aspects: primary domain, optional www/root redirect, and HTTPS enforcement. This distinguishes it from sibling tools 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 Guidelines3/5

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

The description implies usage for configuring redirect policies on custom domains but provides no explicit guidance on when to use this tool versus alternatives like 'set_primary_domain' or when prerequisites (e.g., domain verification) are needed.

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
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 states that the tool stores 'safe' metadata and warns against storing secrets, but does not disclose whether the operation is idempotent, what happens on overwrite, required permissions, or side effects. The transparency 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 remarkably concise: two sentences that front-load the purpose and immediately follow with usage guidance. No redundant or extraneous 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 low complexity (4 parameters, no output schema, no annotations), the description covers key aspects: purpose, parameter examples, and usage boundaries. However, it omits details about the return value and potential error conditions, which could be significant for an agent.

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, providing basic definitions. The description adds value by giving concrete examples for the 'config' parameter (e.g., 'workspace/team/name/email'), which aids understanding beyond the schema's generic 'Safe metadata only'.

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: 'Store safe non-secret integration metadata for an app.' It uses a specific verb ('store') and resource ('integration metadata') and explicitly distinguishes from a sibling tool ('Use set_secret for API keys/tokens.'), making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description provides explicit guidance on when not to use this tool (for secrets) and directs to the alternative 'set_secret'. However, it does not specify prerequisites (e.g., app must exist) or other contextual triggers, leaving some ambiguity.

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?

No annotations are provided, so the description carries full burden. It discloses that a Saved Version is created before the change, which is a useful behavioral side effect. However, it omits other aspects like authentication requirements, error handling, or what happens if the test already exists.

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 concise sentences: first states purpose, second gives usage hint, third mentions side effect. Every sentence adds value 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 create tool with 7 parameters, nested objects, and no output schema, the description covers creation and a prerequisite. It lacks details on post-creation behavior (e.g., immediate activation based on is_active), but the schema covers defaults. Overall adequate 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?

Schema coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema, such as confirming that variants require existing pages and traffic totaling 100. This is already in the schema, so no significant enhancement.

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 creates a native Fine Structure A/B test between existing app pages, using a specific verb and resource. It distinguishes from siblings like update_ab_test and delete_ab_test by focusing on creation. The scope is well-defined.

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 guidance to use update_app first if a variant page needs generation, indicating a prerequisite. However, it does not explicitly contrast with alternatives like update_ab_test for modifying tests or list_ab_tests for viewing.

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

create_appInspect

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
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?

No annotations are provided, so the description carries the full burden. It discloses that the change set is staged, can hold multiple file changes, is validated as one app state, and applied atomically. However, it does not describe error handling, idempotency, or what happens on validation failure.

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 that covers the key behavior, but it packs multiple steps which could be separated for clarity. It is concise but slightly dense.

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 outlines the core functionality but lacks details on return values (no output schema), maximum size of change set, or integration with sibling tools like 'add_file_change' and 'apply_change_set'. More context would improve usability.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description does not add any additional meaning beyond what is in the schema, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states it creates a staged file change set, and the verb 'create' matches the tool name. It distinguishes from siblings like 'apply_change_set' and 'validate_change_set' by specifying the staging and subsequent steps.

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 workflow (create, add changes, validate, apply) but does not explicitly state when to use this tool versus alternatives like 'add_file_change' or the proper order of operations. No prerequisites 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.

create_entity_schemaAInspect

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?

No annotations are provided, so the description carries the full burden. It adds one behavioral detail ('Creates a Saved Version before writing') but does not disclose other behaviors such as overwrite behavior, authorization needs, 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 concise with two focused sentences, front-loaded with the core action, and contains 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?

Given the tool's complexity (7 parameters, nested objects, no output schema) and low schema coverage, the description is incomplete. It omits return values, error handling, and parameter details, leaving the agent underinformed.

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 only 43%, and the description does not explain any parameters beyond what the schema provides. Critical parameters like indexes, metadata, overwrite, and relationships are not described, 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.

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: creating an entity schema file and creating a saved version before writing. It distinguishes from sibling tools like update_entity_schema.

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 creation but does not provide explicit guidance on when to use this tool versus alternatives like update_entity_schema, nor does it mention prerequisites or exclusions.

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

delete_ab_testBInspect

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
Behavior2/5

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

With no annotations provided, the description carries full burden. It discloses one behavioral trait (creates a saved version), but fails to mention permanence of deletion, required permissions, or impact on active tests.

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 primary action, and the second sentence adds a crucial behavioral detail. 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?

For a mutation tool with side effects and no output schema, the description is incomplete: it doesn't indicate return values, error handling, or prerequisites. The side effect is noted but other contextual information is 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 description coverage is 100%, so each parameter has a description. The tool description does not add any additional meaning beyond the schema, meeting the baseline expectation.

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 deletes a native A/B test from an app, distinguishing it from siblings like create_ab_test, update_ab_test, and list_ab_tests. It also mentions the side effect of creating a saved version, adding 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 use case (delete a test) but provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions.

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?

No annotations provided, so description carries full burden. It does not disclose irreversibility, permission requirements, or behavior when key is missing. Minimal transparency for a deletion 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?

Single sentence, front-loaded with essential info, no wasted words. Perfectly concise for a delete tool.

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, description lacks completeness on return values, error handling, and safety notes. While simple, it leaves gaps for safe 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 100% with clear parameter descriptions. Description adds no additional meaning beyond the schema, meeting baseline but not surpassing it.

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 ('Delete'), resource ('app secret'), and method ('by key'). It succinctly differentiates from sibling tools like set_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 Guidelines2/5

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

No guidance on when to use vs alternatives, no prerequisites or exclusions mentioned. The description does not help the agent decide between this and related tools.

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

discard_change_setBInspect

Discard a pending staged change set without changing app files.

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

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

With no annotations provided, the description responsibly notes the non-destructive behavior ('without changing app files'). However, it omits other behavioral details such as whether the operation is reversible or requires specific 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, 7 words—very concise. Captures core action and a key side effect without redundancy. Minor improvement would be to front-load the verb even more, but it's well-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 simplicity (2 required params, no output schema), the description covers the basic purpose and a behavioral note. However, it lacks detail on return values (e.g., success confirmation) and undo options, making it adequate but not thorough.

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 standard descriptions ('The app ID', 'Change set ID'). The description adds no further meaning, 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 the action: discard a pending staged change set. The phrase 'without changing app files' distinguishes it from apply_change_set, making the purpose unambiguous.

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

Usage 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 like apply_change_set or validate_change_set. The description implies it's for discarding pending changes, but lacks direct comparison or when-not-to-use advice.

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?

With no annotations, the description must disclose behavioral traits but only states 'Configure,' implying modification. It does not clarify if changes are immediate, reversible, or require prerequisites, leaving significant 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 one sentence with no extraneous content, making it concise. However, given the tool's 8 parameters, it may be overly terse.

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 8 parameters and no output schema or annotations, the description offers minimal contextual information. It doesn't cover return values, error handling, or prerequisites, making it incomplete for an agent to use reliably.

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

Parameters2/5

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

Schema description coverage is 50%, and the description adds no explanatory value for the undocumented parameters (reply_to, is_enabled, sender_name, sender_email). The description does not enhance understanding of parameter usage beyond the schema.

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

Purpose4/5

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

The description clearly states the tool configures email marketing settings for a generated app, and the verb 'Configure' is specific to this tool's role among many sibling email marketing tools. However, it doesn't elaborate on what the settings entail, leaving some ambiguity.

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 mentions it can be used by Studio/chat agents but provides no guidance on when to use this tool versus alternatives like configure_integration or other email marketing tools. No when-not or context-specific instructions 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_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?

The description indicates a read operation ('Read'), which is non-destructive, but with no annotations present, it fails to disclose additional behaviors such as rate limits, authentication requirements, 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 a single, front-loaded sentence that efficiently communicates the tool's action and key aspects without any 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?

Without an output schema, the description provides useful detail on the content of the profile (delivery, tracking, etc.), though it could be more explicit about the return structure for complete self-documentation.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both 'app_id' and 'contact'; the description adds no extra meaning beyond confirming the resource type, so 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 reads a contact profile and enumerates the specific timelines included (email delivery, tracking, app-event, workflow, suppression, unsubscribe), making 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 Guidelines3/5

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

The description implies usage for reading a contact profile but provides no explicit guidance on when to use versus alternatives, nor any 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_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 provided. Description mentions optional scheduling but does not disclose side effects, permissions, error states, or what happens to existing settings. For a creation tool, transparency is minimal.

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. But could be restructured to separate purpose, parameters, and usage. Acceptably 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?

Tool has 8 parameters (3 required) and nested objects, yet description is one sentence. Does not cover filters, name requirements, timezone, or body_html format. Missing significant context needed 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 description coverage is only 25%. The description hints at 'scheduled or sent now' relating to 'send_now' and 'scheduled_at', but other parameters (filters, name, timezone) are not explained. Description does not compensate for 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 the verb 'create' and specific resource 'app-scoped broadcast to contacts synced from that generated app,' which distinguishes it from general broadcast tools. However, it does not explicitly differentiate from sibling '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 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_app_create_sequence'. No mention of prerequisites 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_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?

With no annotations, the description only states that the rule sends upon an event. It does not disclose creation behavior (e.g., idempotency, limits, or side effects) beyond the basic trigger condition.

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 unnecessary 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.

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, the description is too brief. It does not explain the purpose of optional fields like filters or entity_name, nor does it clarify the required fields beyond the schema.

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

Parameters2/5

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

Schema coverage is 50% and the description adds no parameter-specific details. It mentions event_name examples but does not explain subject, body_html, or other required parameters. The description fails to compensate for missing 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 creates an app-scoped email rule triggered by an app event, with concrete examples like 'entity_created' or 'Customer.created'. This distinguishes it from sibling tools like broadcast or sequence tools.

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

Usage Guidelines3/5

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

The description implies usage for event-triggered rules but does not explicitly state when to use this tool versus alternatives like creating a broadcast or workflow. No when-not-to-use guidance is 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_segmentCInspect

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 are provided, so the description must bear the burden of behavioral disclosure. The description only states that the tool creates a segment, but it does not mention whether the operation is destructive, idempotent, requires specific permissions, or has rate limits. 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.

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 key action and resource. It contains no unnecessary words or filler, achieving maximum conciseness while conveying the core function.

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

Completeness2/5

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

Despite the tool having a nested object parameter, no output schema, and no annotations, the description is too brief to be complete. It omits crucial details such as the purpose of sample_limit, the structure of filters, potential errors, and return values. An agent would need additional context to use 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?

The input schema has 50% description coverage; the description does not add meaningful information beyond what is already in the schema. For instance, 'field, tag, and behavior filters' merely echoes the filters parameter description. The name and sample_limit parameters lack elaboration, and the description does not clarify their roles or constraints.

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 creates an app-scoped saved audience segment using filters. The verb 'create' and resource 'segment' are specific, and the mention of field, tag, and behavior filters indicates the method. However, it does not differentiate from sibling tools like email_marketing_app_create_broadcast, though the name itself provides some distinction.

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 email_marketing_app_create_broadcast or email_marketing_app_create_sequence. There are no prerequisites, limitations, or usage scenarios mentioned, leaving the agent without context for decision-making.

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_sequenceCInspect

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?

With no annotations, the description must disclose behavioral traits. It mentions creation and scheduling modes but omits side effects, permission requirements, or reversibility. Minimal 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, front-loaded sentence that efficiently conveys the core purpose. Could be expanded, but it's not verbose.

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

Completeness2/5

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

Given the 7-parameter complexity and nested objects, the description is too brief. It lacks return value info, step format, and mode distinctions, leaving the tool underspecified.

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 detail beyond the scheduling mode concept. At 57% schema coverage, it fails to compensate for missing parameter meanings, leaving the steps, filters, and other parameters unexplained.

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 ('app-scoped email sequence'), and specifies the two scheduling modes (fixed dates or day offsets), distinguishing it from sibling tools like email_marketing_create_sequence or email_marketing_app_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 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 email_marketing_app_create_workflow or non-app-scoped versions. No prerequisites, context, or conditions 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_workflowAInspect

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 carries full burden. It says 'create' (write operation) but does not disclose side effects, authentication needs, rate limits, or return behavior. Inadequate 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?

Single sentence, no fluff, front-loaded with core purpose. Every word is necessary.

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 7 params, nested steps object, and no output schema, description is too brief. Missing details on return value, steps structure, and relationship between steps and definition fields.

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 71% (5/7 params have descriptions). Description adds value by listing supported step types not in schema. Adds meaning beyond what schema 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?

Description clearly states the tool creates an automation workflow, lists the step types (email, wait, condition, split, goal), and scopes to app. This distinguishes it from siblings 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 Guidelines3/5

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

Implied usage: creating a workflow with specific steps. No explicit when-to-use or when-not-to-use guidance, nor comparison with alternative tools like create_sequence or create_broadcast.

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
Behavior3/5

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

The description indicates a read-only operation ('Read'), which aligns with safe behavior, but fails to disclose details like authentication requirements, rate limits, pagination, or the exact output structure. With no annotations, more transparency would be desirable.

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 redundant words, front-loaded with key information. Every word serves a 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?

For a read tool with one parameter and no output schema, the description enumerates the categories of data returned (provider readiness, rates, suppression reasons, risk events), providing decent contextual completeness. However, it could briefly mention the format or next steps.

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

Parameters3/5

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

The only parameter 'app_id' has a schema description but it adds minimal value beyond the name ('The app ID'). Schema coverage is 100%, so a baseline of 3 is appropriate; however, the description could clarify where to find the app_id or any constraints.

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 'Read' and lists distinct deliverability resources (provider readiness, bounce/complaint rates, suppression reasons, risk events), clearly distinguishing this from sibling tools like email_marketing_app_report or 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 explicit guidance on when to use this tool versus alternatives (e.g., email_marketing_app_report for general stats) or when not to use it. The context of usage is implied by the resource type but not stated.

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_queueBInspect

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?

The description mentions locks, retries, and suppression checks, which provides some insight into the tool's behavior. However, without annotations, more detail on destructiveness, authorization needs, or side effects would be beneficial.

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 that quickly conveys the main action. It is efficient but could be slightly restructured for readability.

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 (processing with locks, retries) and lack of output schema, the description is incomplete. It does not explain what happens after processing, potential errors, or return values.

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% (app_id has description, max_jobs does not). The tool description does not add meaning to the parameters; it only mentions 'app-scoped' but does not clarify the role of app_id or max_jobs.

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 ('Process'), resource ('automation workflow runs and email queue jobs'), and additional context ('locks, retries, and suppression checks'). It effectively distinguishes from sibling tools like 'email_marketing_app_queue_status' which is read-only.

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. The description does not mention prerequisites, exclusions, or context where other tools might be more appropriate.

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
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Inspect' implies a read-only operation, but this is not explicitly stated. The description omits details about authentication needs, rate limits, pagination behavior (despite a 'limit' parameter), or whether the data is grouped by status. The safety profile is unclear.

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 wasted words. It is front-loaded with the key action and resource. 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 inspection tool, the description covers the basic purpose. However, it lacks details on pagination (despite the 'limit' parameter), error scenarios, return format (no output schema), and how 'per-status counts' are structured. The missing output schema means the agent cannot anticipate the response shape.

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 67% (descriptions for app_id and status, but not limit). The description adds 'per-status counts', which hints at the effect of the status filter, but does not explain the 'limit' parameter or the interaction between parameters. It provides minimal added value over 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 uses the specific verb 'inspect' and specifies the resource 'app-scoped Email Marketing queue jobs and per-status counts.' This clearly distinguishes it from sibling tools like 'email_marketing_app_process_queue' which modifies the queue, and other read tools like 'email_marketing_app_status' or 'email_marketing_app_report'.

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 explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as requiring the app to exist, nor does it contrast with 'email_marketing_app_process_queue' or other queue-related tools. The agent is left to infer usage from the name alone.

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

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
Behavior3/5

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

Description discloses that the tool records an event and sends triggers, implying mutation and side effects. However, with no annotations, it lacks details on permission requirements, reversibility, or what exactly 'send matching triggers' entails.

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 12-word sentence, efficiently front-loaded. No wasted words, though it could benefit from a brief note on required parameters.

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 8 parameters (including nested objects) and no output schema, the description is too brief. It fails to explain what the tool returns, how triggers match, or how to use nested parameters like 'record'.

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%, but the description adds no parameter-specific details. It does not explain the roles of 'record', 'properties', or 'entity_name' beyond relying on the schema, which is insufficient for a tool with 8 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 it records an app event and sends matching triggers. The verb 'record' and resource 'app event' are specific, but no explicit differentiation from siblings like email_marketing_app_create_event_trigger which likely creates trigger definitions.

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. Sibling tools such as email_marketing_trigger_variable and email_marketing_app_create_event_trigger exist, but the description provides no context for when this tool is preferred or what prerequisites exist.

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

email_marketing_app_reportAInspect

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
Behavior3/5

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

Implies read-only operation but does not explicitly disclose safety, authorization needs, or potential side effects. With no annotations, the description carries full burden and provides only high-level 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?

One sentence, very concise. Could be improved by structuring parameter details, but the brevity is acceptable for a simple read tool.

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; description names data types but not detailed structure. Adequate for high-level understanding but incomplete for an agent needing precise return 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 has 4 parameters with only 25% description coverage (only app_id described). Tool description does not explain limit, segment_limit, or include_events, leaving the agent to infer their meaning from defaults.

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 app-scoped Email Marketing reporting, listing delivery counts, open/click rates, and tracking events. Distinguishes from sibling tools that are for configuration or creation.

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 when-to-use or when-not-to-use guidance relative to sibling reporting tools like email_marketing_app_deliverability or email_marketing_app_queue_status.

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

email_marketing_app_statusBInspect

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?

No annotations are provided, and the description only states 'Inspect' which implies a read-only operation. It lacks disclosure of behavioral traits such as required permissions, error handling for invalid app IDs, or rate limits. Minimal transparency beyond the basic purpose.

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?

Description is a single, clear sentence of 15 words. It is appropriately concise without unnecessary detail. No structural issues.

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 lists the aspects of email marketing that are inspected, which is useful. However, given the absence of an output schema, it could mention the return format (e.g., JSON structure, what 'recent events' means). Adequate for a simple status tool but leaves some 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 coverage is 50% (app_id described, include_logs not). Description adds no explanation of the parameters or their usage. For a tool with two parameters, the description should clarify the meaning and effect of include_logs, but it does not.

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 for one generated app, listing specific components (settings, contacts, campaigns, event triggers, recent events). It effectively distinguishes from sibling tools like email_marketing_app_configure or email_marketing_app_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 inspection but does not provide explicit guidance on when to use this tool versus alternatives (e.g., email_marketing_app_report or email_marketing_app_deliverability). No exclusions or conditions mentioned.

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_contactCInspect

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 exist, so the description carries the full burden. It mentions suppression reasons but lacks details on side effects, reversibility, or impact on contact data. The mutation behavior is implied but not fully disclosed.

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

Conciseness5/5

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

The description is a single sentence that efficiently communicates the core action. No unnecessary words or repetition.

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

Completeness2/5

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

Given the lack of output schema, annotations, and the presence of 5 parameters including nested objects, the description is too brief. It omits return values, error handling, and behavioral context needed 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 description coverage is low (20%), and the description does not explain any parameters beyond listing reasons in prose. Parameters like source and metadata remain unexplained, providing minimal added 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 the verb 'suppress' and the resource 'app contact email', listing several reasons. It is specific but does not differentiate from sibling tools like other email_marketing_* 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 is provided on when to use this tool versus alternatives. There is no context on prerequisites, exclusions, or when not to suppress.

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_contactsBInspect

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
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 of behavioral disclosure. It mentions that records without a valid email are skipped, which is a useful behavior. However, it does not disclose whether the sync is incremental, destructive, or upsert, nor does it mention authentication or rate limits. Some transparency is present but 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 two concise sentences. The first sentence clearly states the main action, and the second adds a crucial condition. No unnecessary words; every sentence 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 has 5 parameters, no annotations, and no output schema, the description is incomplete. It explains the basic purpose and one condition, but does not describe the sync behavior (upsert vs replace), return value, or required permissions. The description leaves significant gaps for agent decision-making.

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 low (40%: only app_id and entity_name have descriptions). The description adds minimal parameter context: it implies email_field is used to determine validity, but does not explain name_field or limit defaults. With low coverage, the description should provide more parameter details, but it does not.

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, and specifies that records without a valid email are skipped. This is a specific verb and resource, and it distinguishes the tool from sibling email marketing tools like email_marketing_app_create_broadcast or email_marketing_app_create_segment.

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 prerequisites, context, or exclusions. Given the many sibling email marketing tools, explicit usage guidelines would be helpful.

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

email_marketing_configure_senderAInspect

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?

No annotations are provided, so the description carries full burden. It adds two behavioral points: admin-only access and mandatory unsubscribe footer. However, it does not disclose other important traits like whether changes are immediately applied, if it overwrites or merges settings, or any rate limits. More context would be beneficial.

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 redundancy. Front-loaded with 'Admin only' which is critical for security. Every sentence 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?

Given the complexity (7 optional parameters, no output schema, no annotations), the description is minimal. It covers admin context and a compliance constraint, but lacks explanation of how configurations are applied (e.g., update vs create), expected behavior on success/failure, and interaction with other modules. Adequate but incomplete 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 description coverage is 100%, so baseline is 3. The description does not add additional meaning to individual parameters beyond what the schema already provides. The admin and footer notes are global, not parameter-specific.

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 configures global Email Marketing sender details and module enabled state, with a specific verb and resource. It distinguishes itself 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 Guidelines3/5

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

The description mentions 'Admin only' and 'Unsubscribe footer remains mandatory', providing some usage context. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide when-not-to-use guidance, which is needed given the many related email marketing tools.

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.
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses admin access and scheduling options but does not detail side effects, rate limits, or return behavior. It adds some value beyond the schema by mentioning admin restriction and optional scheduling, but more behavioral context would be beneficial.

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 front-loads the key action and access restriction. 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?

With 7 parameters including nested objects and no output schema, the description does not explain what the result of creation is (e.g., returns campaign ID) or how scheduling works. Important context about the operation is 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 description coverage is 100%, so baseline is 3. The description adds no parameter-specific details beyond the schema; it only mentions 'filtered' broadly. Minimal extra 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 the action 'Create a filtered broadcast campaign' with specific verb and resource. However, it does not distinguish from the sibling tool 'email_marketing_app_create_broadcast', which appears to serve a similar purpose.

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 'Admin only' as a prerequisite but provides no guidance on when to use this tool versus alternatives like other broadcast creation tools. No explicit when-not or alternative tool references.

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?

With no annotations, the description carries the full burden. It discloses the admin restriction and mandatory unsubscribe behavior, but lacks details on side effects, validation, or success/failure outcomes. More behavioral context would be beneficial.

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—two sentences that front-load the admin restriction and core functionality. Every sentence adds value with no redundancy.

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

Completeness3/5

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

Given the tool's complexity (6 params, nested steps, no output schema), the description is adequate but not complete. It explains the purpose and scheduling modes but omits expected output, error states, and post-creation 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 high (83%), with all parameters documented in the schema. The description adds minimal new parameter info beyond what is in the schema, only reinforcing the mandatory unsubscribe for steps. 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 explicitly states the tool creates a scheduled email sequence, specifies admin-only restriction, and distinguishes two scheduling modes (fixed dates or day offsets). This clearly differentiates it from sibling tools like 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 email sequences but does not explicitly guide when to use this over alternatives like broadcasts or workflows. The admin-only prerequisite is stated, but no when-not-to-use 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_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?

No annotations are provided, so the description carries the burden. It mentions admin-only and wildcard semantics, but lacks details on side effects (e.g., email sending, changes to existing rules), rate limits, or whether the rule replaces or adds to existing triggers. The automatic unsubscribe appended is noted in the schema but not in the description.

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 the critical admin restriction and purpose. No unnecessary words, efficient and easy to parse.

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 core functionality and parameter semantics adequately. However, with no output schema, it omits what the tool returns (e.g., trigger ID or status). Also, nested objects (filters) are not explained. Overall, mostly complete for a trigger creation tool but lacks return value details.

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 high (88%), so baseline is 3. The description adds value by explaining the wildcard concept for from_value/to_value and the admin restriction. It clarifies that body_html has 'Unsubscribe is appended automatically' beyond the schema's 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 creates an email rule triggered by variable value changes, with specific verb 'Create' and resource 'email rule'. It distinguishes from siblings like email_marketing_create_event_trigger by specifying 'variable trigger' and explaining wildcard behavior.

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 'Admin only' as a prerequisite and explains the wildcard pattern for from_value/to_value. It implies usage for variable change triggers but does not explicitly mention when not to use or cite alternative siblings.

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?

With no annotations provided, the description carries the full burden. It clearly states the tool inspects multiple aspects (state, settings, templates, etc.), implying a read-only operation. It also notes admin restriction. It could explicitly state 'read-only' or mention side effects, but it is sufficiently transparent.

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 front-loads the critical access restriction ('Admin only') then concisely lists the inspected components. Every part 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 no output schema, the description lists the inspected aspects, providing reasonable completeness for a status inspection tool. It covers the parameter and scope. It could be improved by briefly describing the return format, but the current level 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?

The schema has one parameter (include_logs) with 100% description coverage. The tool description mentions 'recent campaign status', which loosely relates, but does not add meaningful semantic detail beyond the schema's own 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 uses a specific verb 'inspect' and clearly identifies the resource as the 'isolated Email Marketing module'. It lists the specific aspects inspected (enabled state, sender settings, etc.), distinguishing it from sibling tools like email_marketing_app_status by noting 'isolated' and 'Admin only'.

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 explicitly states 'Admin only', indicating the authorized user class. However, it does not provide guidance on when to use this tool vs. other email marketing tools, 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_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
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only mentions 'Admin only' as a restriction. It does not describe side effects (e.g., email sending), idempotency, error handling, or rate limits, leaving significant 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 exceptionally concise with two sentences front-loading the core action and access restriction. Every sentence adds value without redundancy.

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

Completeness3/5

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

Given the tool has 5 parameters and no output schema or annotations, the description is somewhat incomplete. It covers admin restriction and use case but omits return values, error conditions, and relationships between parameters (e.g., from_value/to_value). It is adequate but has clear 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?

The input schema has 100% description coverage, so the baseline is 3. The description adds no parameter-specific information beyond the schema, which already documents each parameter. Thus, it does not improve parameter understanding.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Manually fire variable-transition email rules for one user.' This specific verb+resource combination distinguishes it from sibling tools like email_marketing_create_variable_trigger, which creates rules rather than firing them.

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 notes it is 'Useful for MCP/agent workflows and tests,' providing some context for when to use it. However, it lacks explicit guidance on when not to use it or alternatives, such as avoiding this tool for bulk operations or rule creation.

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
Behavior3/5

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

No annotations exist, so the description carries full responsibility. It discloses that the server appends an unsubscribe block regardless of body_html, which is useful. However, it does not clarify whether the update is partial (merge) or fully replaces existing fields, leaving ambiguity in update semantics.

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 brief sentences delivering essential information: admin requirement, purpose with example, and a critical behavioral note. 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?

For a simple 4-parameter tool with no output schema, the description covers authorization, purpose, an example, and a behavioral caveat. The only gap is the missing specification of partial vs. full update behavior, which is a notable omission.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds minimal value beyond giving an example template_id ('user_joined') and mentioning variables in subject/body_html. This context aids understanding but does not significantly surpass 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 it updates an automatic Email Marketing template and provides a concrete example (user_joined welcome email). The verb 'update' is specific and distinguishes it from creation or configuration siblings.

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 mentions 'Admin only' to indicate authorization, but does not explicitly state when to use this tool versus alternative methods (e.g., creating a new template or using other update tools). The when-not-to-use or preconditions are absent.

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?

With no annotations, the description carries the full burden for behavioral disclosure. It states what data is retrieved but does not mention idempotency, permissions, or error behavior (e.g., what happens if test_id is invalid). The verb 'Get' suggests a safe read operation, but more detail would be helpful.

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

Conciseness5/5

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

The description is a single sentence of 11 words, front-loaded with the key action and metrics. No extraneous 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 lack of an output schema, the description helpfully enumerates the returned metrics (views, unique visitors, conversions, conversion rates). It is adequate for a simple stats tool, though it could mention data scope or aggregation details.

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 briefly. The description does not add further meaning beyond the schema, meeting the baseline expectation but not exceeding it.

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' followed by specific metrics (views, unique visitors, conversions, conversion rates) for an A/B test, distinguishing it from sibling tools like list_ab_tests (which lists tests) or create_ab_test (which creates 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?

No explicit guidance on when to use or alternatives is provided. The description implies usage for retrieving A/B test stats but lacks context such as prerequisites (test must exist) 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.

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?

Description implies a safe read operation ('introspection'), but without annotations, it does not explicitly state it is non-destructive or requires specific permissions. The listed components hint at the output, but no disclosure of side effects or performance impact.

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 redundancy. The first sentence lists key information, and the second provides usage guidance. Every sentence adds value without 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?

For a single-parameter tool with no output schema, the description adequately explains what the tool returns (a broad overview of app components). It lacks details on pagination or format, but given the tool's introspection purpose, 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?

Schema coverage is 100% with a simple description 'The app ID' for the only parameter. Description adds no additional meaning beyond what the schema already provides, resulting in a baseline score.

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

Purpose5/5

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

Clearly states it provides 'deep introspection' of an app, listing specific components like entities, pages, settings, integrations, environment variables, and file structure. This distinguishes it from sibling tools like get_app_files or get_entities that focus on specific aspects.

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 says 'Use this to understand what an app contains before updating it,' giving clear context for when to use. Does not explicitly exclude use cases or mention alternatives, but the broad scope implies it's for initial overview.

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?

No annotations exist, so the description must disclose behavior. It implies a read operation but omits side effects, permissions, rate limits, or return format. 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 that is direct and efficient, containing no superfluous 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 tool with one parameter and no output schema, the description is adequately complete: it names the resource, the operation, and the output format. Lacks details like recursion or scope but sufficient for basic use.

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

Parameters3/5

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

Schema coverage is 100% (app_id described as 'The app ID'). The description adds context about the output (file tree with paths and byte sizes), providing marginal added value 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 uses a specific verb ('Get') and resource ('file tree'), clearly stating what it does and including details about output ('paths and byte sizes'). It effectively distinguishes from sibling tools like read_app_files or 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 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., read_app_files, list_apps). The description lacks any context for selection among siblings.

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

get_app_security_auditCInspect

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 carry the full burden. It indicates a read operation (non-destructive) and mentions 'recent', but does not explain what 'recent' means, pagination behavior, or error handling. The behavioral disclosure is 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 a single, concise sentence with no wasted words. It is immediately understandable.

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

Completeness2/5

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

Given the lack of output schema and minimal annotations, the description is too sparse. It does not describe the return format, the interpretation of limit, or how 'recent' is defined, which are needed for an agent to use the tool effectively.

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% (app_id has a description, limit does not). The description does not add any semantics beyond the schema; it does not explain the effect of limit or how app_id is used. The description does not compensate for the missing schema descriptions.

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 (Read) and clearly identifies the resource (security audit events) and scope (for an app). It is distinct from sibling tools like get_app_security_context, but does not explicitly differentiate itself.

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. It lacks context on prerequisites, typical use cases, 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.

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, the description carries the full burden. It discloses that the tool is safe (no secrets returned, no access granted), implying read-only behavior. It lists the returned data fields, adding transparency. It does not mention authentication or error conditions, but the provided detail is sufficient for a read-only 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?

The description is two concise sentences. The first sentence provides action and outputs; the second clarifies exclusions. No wasted words, and key information is front-loaded.

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

Completeness4/5

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

Given no output schema, the description enumerates the returned data (owner, collaborators, members, policies, audit entries) and adds safety notes. It does not explain return format or error handling, but for a tool with two parameters, this is reasonably complete. It lacks explicit mention of ownership requirement.

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% (app_id described, audit_limit only has default). The description adds context by mentioning 'recent security audit entries', hinting at audit_limit's role, but does not explicitly link the parameter to the returned data. The list of returned fields adds some meaning 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 tool returns a safe security context for an owned app, listing specific fields (owner, collaborators, members, policies, audit entries). It distinguishes itself by explicitly stating what it does not return (secrets) and does not grant access to other apps.

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 the tool is for one owned app and is safe (does not grant access to others). However, it does not directly compare to sibling tools like get_app_security_audit or list_app_members, leaving room for ambiguity about when to use this specific tool over alternatives.

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

get_app_statusAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior2/5

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

No annotations provided; description only states what data is returned, not side effects, authorization needs, 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?

Single, front-loaded sentence conveying purpose and key data points with no extraneous wording.

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 no output schema, the description adequately outlines return fields (files, state, URL, jobs), though it omits potential error conditions or response format details.

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 a clear description for app_id; the tool description adds no additional meaning 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 specifies the verb 'Get' and resource 'app overview', and lists specific attributes (files, published state, URL, active jobs), distinguishing it from siblings like get_app_detail or get_app_files.

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 a quick overview but does not explicitly state when to use this tool over alternatives or provide 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.
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions returning status and DNS records but does not disclose limitations, error conditions, or what happens if no domain is configured. The parameter description adds some context about default behavior.

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

Conciseness5/5

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

The description is a single, well-structured sentence. Every word is meaningful and front-loaded with the main 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, no nested objects), the description adequately covers the core functionality. However, it could benefit from mentioning the response format or typical status values.

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 describes both parameters with 100% coverage. The description adds value by clarifying that omitting the domain defaults to the app's current custom domain, which is not 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 returns SSL/certificate status and pending validation DNS records for an app custom domain. It uses a specific verb ('return') and identifies the resource, distinguishing it from related tools like 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 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. The description does not provide any 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.

get_domain_verificationAInspect

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, the description must convey behavioral traits. It states the tool returns DNS records and instructions, but does not explicitly state it is a read-only operation or disclose any side effects, permissions, or rate limits. The behavior is implied but not fully transparent.

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

Conciseness5/5

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

The description is a single, clear sentence with no superfluous words. It is front-loaded with the key information (return DNS records and instructions).

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 no annotations, the description provides sufficient context for the tool's main purpose. However, it could be more complete by hinting at the output structure (e.g., 'returns a list of record types and values'), but the current text is adequate for an agent to understand its role.

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

Parameters4/5

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

Schema description coverage is 100%, but the description adds meaningful context for the 'domain' parameter ('If omitted, uses the app's current custom domain'), going beyond the schema's 'Optional configured custom domain.' This clarifies default behavior.

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 specifies the verb 'Return' and the resource 'exact DNS records and instructions required to verify and route the app custom domain.' It clearly distinguishes from siblings like check_domain_verification and add_custom_domain by focusing on retrieval of verification records.

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 any guidance on when to use this tool versus alternatives (e.g., check_domain_verification for status). No usage context, prerequisites, 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.

get_entitiesAInspect

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 are provided, so the description must disclose behavioral traits. It states the tool retrieves schemas with record counts, indicating a read-only operation. However, it does not mention authorization requirements, rate limits, or side effects. This is adequate but not fully transparent.

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

Conciseness4/5

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

The description is concise with two sentences. The first sentence provides the primary function, and the second adds relevant detail about the output structure. No extraneous information is included.

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 simplicity (one parameter, no output schema), the description adequately covers the return content (schemas with record counts, fields, types, relationships). However, it does not clarify if the output includes actual records or just definitions, and it lacks context on how to obtain the app_id. The completeness is sufficient but has minor 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?

The only parameter, app_id, is described in the schema as 'The app ID'. The description does not add additional semantic meaning, such as how to obtain or format the app_id. With 100% 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.

Purpose5/5

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

The description clearly states the tool gets all entity schemas for an app, with record counts, and explains what entities contain. It uses a specific verb 'Get' and resource 'entity (data model) schemas', and distinguishes from sibling tools like create_entity_schema, update_entity_schema, and query_entity.

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. However, the context implies it is for reading schema definitions rather than modifying or querying records, providing implied guidance.

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
Behavior4/5

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

No annotations exist, so the description bears full responsibility. It discloses that the tool retrieves the most recent 20 errors, implying a read-only operation. No destructive or behavioral gaps are apparent.

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, 13 words, with the action verb upfront. Every word adds value; no redundancy or fluff.

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

Completeness5/5

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

For a simple error retrieval tool with only two parameters and no output schema, the description sufficiently explains what it does and when to use it. No additional context is needed.

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 covers 100% of parameters with descriptions. The description adds value by stating 'last 20' which explains the default limit behavior and contextualizes the limit 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 'Get' and resource 'recent runtime errors for an app' with a specific limit (last 20). The context 'Useful for diagnosing issues before updating' adds purpose. No sibling tool overlaps with error retrieval, so it stands out.

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 a clear usage context ('diagnosing issues before updating') but does not explicitly exclude scenarios or mention alternatives. Since no sibling error tool exists, this is sufficient.

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?

Discloses return values (status, progress, result summary) despite no annotations. Lacks mention of idempotency or error conditions, but sufficient for a simple polling 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?

Two sentences, front-loaded with action and context. No redundant 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?

Given only one parameter and no output schema, the description fully covers purpose, usage, and return format. No gaps for this simple 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%, and the parameter description in schema already explains it. Tool description adds no additional meaning beyond what's 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?

Description clearly states the tool polls the status of an async generation job, with specific verb 'poll' and resource. It distinguishes itself from siblings by explicitly tying to create_app and 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?

Explicitly directs to use after create_app or update_app to know when done. No mention of when not to use or alternatives, but context is clear.

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

get_pagesBInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
Behavior2/5

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

No annotations provided, so description must cover behavioral traits. Only states it returns file paths and sizes; lacks info on read-only nature, errors, performance, or pagination.

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 key action and resource. Efficient and clear.

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 list tool with one parameter and no output schema, the description is minimally adequate but lacks details on output format or error handling.

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 single parameter app_id, and description adds no further meaning beyond the schema. 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?

Clearly states verb 'Get', resource 'pages', scope 'in an app', and output 'file paths and sizes'. Distinguishes from sibling tools like get_app_files or get_app_links.

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_files or list_app_domains. No explicit context or exclusion criteria.

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.
Behavior2/5

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

No annotations provided, so description must carry full burden. It only states it returns a guide, not whether it is read-only, auth requirements, or side effects. Minimal 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?

Two concise sentences: first states purpose, second gives usage guidance and topic list. No wasted words, front-loaded 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?

Covers purpose and usage but lacks details on return format or structure. Since no output schema exists, description should more fully explain what the guide contains, though topic list is helpful.

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?

All parameters have schema descriptions (100% coverage), so the schema does the heavy lifting. The description adds high-level context but no per-parameter details beyond what schema 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 it returns a machine-readable guide for Fine Structure/FSe2, and lists covered topics. It distinguishes from sibling tools which are action-oriented.

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 says 'Call this at the start of an MCP session', providing clear timing context. Does not mention when not to use or alternatives, but the guidance is sufficient.

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?

With no annotations, the description carries full burden. It states a read-only operation (returning URLs) but does not disclose authentication needs, error handling, or rate limits. While not misleading, it lacks depth beyond the basic 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 a single, efficient sentence with no extraneous words. Every part contributes to the 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?

For a simple tool with one parameter and no output schema, the description is largely sufficient. It could mention whether both or one URL is returned, but overall it provides adequate 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 coverage is 100% with a single parameter described as 'The app ID.' The description adds no additional meaning beyond what the schema provides, so baseline score 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 'Return' and clearly identifies the resource: 'editor preview and published/public URLs for an app.' It differentiates from sibling tools like get_app_detail or get_app_links by focusing exclusively on generating URLs.

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 such as inspect_preview or get_app_detail. The context must be inferred, but the purpose is straightforward enough that any agent needing URLs would naturally choose this.

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

inspect_previewAInspect

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?

No annotations provided, so the description must disclose behaviors. It describes the return contents but does not mention side effects, required permissions, or performance implications. Since it appears read-only, the lack of behavioral warning is acceptable 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.

Conciseness4/5

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

Description is a single, front-loaded sentence that lists key return categories without extraneous words. Efficient for a straightforward retrieval 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?

Given the absence of an output schema, the description adequately covers the return types by listing major components (URLs, errors, candidates, pages, live-browser availability). Provides enough context for an agent to understand the tool's value.

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 each parameter has a clear description. The tool description does not add further meaning beyond the schema, 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?

Description clearly states the verb 'Return' and lists specific elements of the preview context (URLs, errors, candidates, pages, live-browser availability). It distinguishes itself from siblings like get_preview_url or get_app_detail by covering a broader set of preview-related information.

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. The description implies it is for retrieving comprehensive preview context, but does not clarify when one should use get_preview_url or other inspection tools instead.

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?

With no annotations provided, the description fully carries the burden. It discloses the optional password behavior (generation and one-time return) and the role constraint (owner cannot be assigned). It does not mention error scenarios or authentication requirements, but covers core 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?

Three short sentences, each providing essential information: action, scope clarification, and behavioral nuance. No wasted words; information is front-loaded.

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

Completeness4/5

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

For a creation tool with 5 parameters and no output schema, the description covers the main purpose, key constraints, and a notable output behavior (temporary password). It could be more complete by mentioning error handling (e.g., duplicate email), 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?

Schema coverage is high (80%), so baseline is 3. The description adds some value for the password parameter (clarifies it is returned once), but does not enhance understanding of role, email, app_id, or full_name 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 explicitly states the action ('Provision a generated-app runtime member with a role') and immediately distinguishes itself from creating a Studio collaborator. It also clarifies that the owner role cannot be assigned, making the purpose very specific and unambiguous.

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

Usage Guidelines4/5

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

The description clarifies that this tool is for app runtime members, not Studio collaborators, and that owner role is excluded. However, it does not explicitly contrast with sibling tools like 'update_app_member_role' or 'remove_app_member' to guide when to use each.

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

list_ab_testsCInspect

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?

With no annotations provided, the description carries the full burden. It only indicates a read operation but lacks details on pagination, data limits, or return structure, which is insufficient for reliable tool 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 concise sentence with no wasted words. However, it lacks structure and depth, which slightly reduces the score from 5.

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 basic list tool, the description is incomplete. It does not mention pagination, filtering, sort order, or what constitutes a configured test. The absence of output schema further contributes to incompleteness.

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 parameter information beyond the schema's 'The app ID'. Baseline score of 3 applies as the schema already describes the only parameter adequately.

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 'List the platform A/B tests configured for an app.' clearly identifies the action (list) and resource (A/B tests) with scoping to an app. It is distinct from sibling tools like 'get_ab_test_stats' but does not explicitly differentiate.

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., get_ab_test_stats, create_ab_test). The description only states what it does, not when it is appropriate.

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
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 does not explicitly state that the operation is read-only, idempotent, or free of side effects. While listing attributes provides some transparency, it lacks behavioral disclosure beyond the output.

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 communicates the tool's purpose and the details included in the output, with 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 tool has only one parameter, no output schema, and no annotations, the description provides enough context to understand what the tool returns. It could be slightly improved by explicitly stating it returns a list, but it is largely 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% with one parameter (app_id) described as 'The app ID'. The description adds no additional meaning beyond the schema, which is sufficient for this simple 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 uses a specific verb 'list' and resource 'app domains', listing the exact attributes returned (platform path, subdomain, custom domain, various statuses). It clearly distinguishes 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?

The description implies usage for retrieving domain configuration and status, but does not explicitly state when to use this tool versus alternatives, nor does it provide when-not-to or prerequisite information.

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

list_app_membersBInspect

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?

No annotations are provided, so the description must fully disclose behavioral traits. It only implies read-only via 'list', but fails to mention pagination, sorting, response fields, or required permissions. The lack of output schema makes the omission more significant.

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 that are efficient and front-loaded: the first states the core action, the second adds distinguishing context. No extraneous 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 absence of output schema and annotations, the description is too sparse. It does not explain the return format, any list behavior (e.g., pagination or order), or prerequisites like authentication or app ownership. Users or agents would need external knowledge to use this tool 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%, so baseline is 3. The description does not add any additional meaning beyond the schema's 'The app ID' for the app_id parameter. No format or source hints are 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 it lists runtime users/members for a generated app, distinguishing it from Studio project collaborators. The verb 'list' and resource 'app members' are specific and unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus sibling member management tools (invite_app_member, remove_app_member, update_app_member_role). The mention of separation from Studio collaborators provides context but no explicit when-to-use or when-not-to-use instructions.

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

Behavior2/5

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

No annotations are provided, so the description must carry the burden. It only states a read operation but lacks details on authentication, rate limits, or any behavioral traits (e.g., pagination).

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, no redundancy, directly conveys the purpose. Conciseness is excellent.

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 (no parameters, no output schema), the description is mostly complete. It falls short of a 5 because it doesn't mention possible pagination or ordering, but it's sufficient for a basic list call.

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

Parameters4/5

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

There are no parameters, so the description adds value by specifying the scope ('owned by the authenticated user'). This clarifies the output without needing 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 the action (list) and the resource (applications owned by the authenticated user). It is specific and distinguishes from siblings like 'get_app_detail' 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 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_app_detail' for a specific app or 'list_app_members' for members. The description only states what it does.

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
Behavior3/5

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

No annotations are provided, so the description bears the full burden. It discloses that tokens/secrets are never returned, which is a key safety guarantee. However, it does not state whether the operation is read-only, any rate limits, or authentication requirements. The behavioral disclosure is adequate but incomplete.

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 main purpose, and contains no unnecessary words. Every sentence adds value, including the critical security note.

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 one parameter and no output schema, the description covers the essential purpose and a key behavioral constraint (no tokens). It could mention the output format or error handling, but the current content is largely sufficient for an agent to use the tool 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 schema has 100% coverage with a single well-described parameter ('app_id'). The description adds no additional meaning beyond the schema. Per guidelines, the baseline score is 3, and the description does not exceed it.

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 ('list'), the resource ('supported integrations and safe connected integration metadata'), and a specific scope ('for an app'). It also includes a unique safety detail (no tokens/secrets). This distinguishes it from sibling tools like 'configure_integration' and 'list_apps'.

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 listing integrations, but it does not explicitly state when to use it or when to use alternatives. No exclusions or context are provided. With many sibling tools, more guidance would help the agent differentiate.

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?

No annotations are provided, so the description carries full burden of behavioral disclosure. It adds the detail that versions from MCP writes are included, which is helpful, but it does not disclose other traits such as pagination, rate limits, or what 'restorable' precisely means. For a read-only listing tool, this 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 concise sentence (14 words) that efficiently communicates the tool's core purpose without unnecessary words. Key information is front-loaded.

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

Completeness5/5

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

Given the simplicity of a list operation with one parameter and no output schema, the description is complete. It specifies the resource type (restorable saved versions) and includes a notable inclusion criterion (MCP writes). No further details are needed for effective use.

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

Parameters3/5

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

The input schema has 100% coverage with a description for the only parameter 'app_id'. The tool description does not add any additional meaning beyond the schema, meeting the baseline expectation.

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 (restorable saved versions for an app), and includes the specific detail about including versions from MCP writes. This distinguishes it from sibling tools like 'restore_saved_version' or '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 Guidelines3/5

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

The description implies the tool is used to list saved versions that are restorable, possibly before restoring or comparing, but it does not explicitly state when to use it, when not to use it, or mention alternatives. A brief usage note would improve clarity.

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
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 discloses that secret values are never returned, which is a key behavioral trait. However, it does not mention permissions, error conditions, or read-only nature, leaving some gaps for a simple 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?

The description is extremely concise with two short sentences that convey all necessary information without any unnecessary words. Every sentence adds value.

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, the description adequately explains what the tool returns (list of secret key names). No output schema exists, but the description hints at the response structure. It is sufficient for an agent to understand the tool's input and output.

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 coverage is 100% with a single parameter described as 'The app ID'. The description adds no additional meaning beyond what the schema already provides, leading to 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 uses the specific verb 'list' and identifies the resource as 'secret key names for an app', clearly stating what the tool does. It also distinguishes itself from sibling tools like set_secret or delete_secret by noting that secret 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 Guidelines4/5

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

The description implies when to use this tool (to list key names) and explicitly states what it does not do (return values), providing clear context for the agent. While it doesn't list alternatives, the purpose is straightforward and sufficiently guides usage.

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
Behavior3/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 discloses that it creates a Saved Version before changing content, which is a positive safety trait. However, it does not mention potential destructive aspects, error conditions (e.g., if old_text not found), or permission requirements. The 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 two sentences long, front-loaded with purpose and safety context, followed by the backup creation detail. Every sentence 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?

The description covers main behavior, safety comparison, and backup creation. Given no output schema, it doesn't explain return values, but it adequately distinguishes from sibling tools. It lacks details on idempotency or error handling, but is largely complete for a patch 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 the input schema already documents all five parameters with descriptions. The description adds context about 'replacing exact text' and 'safer than full overwrite,' but these are implicit in the schema. The baseline is 3, as the description 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 it patches one file by replacing exact text, distinguishing it from a full overwrite and mentioning it creates a Saved Version. The verb 'patch' and resource 'one file' are specific, and it differentiates from siblings like write_app_file by emphasizing targeted edits.

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

Usage Guidelines4/5

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

The description explicitly says 'Safer than full overwrite for targeted edits,' giving clear context on when to use this tool versus alternatives (e.g., write_app_file). It implies that for broader changes, other tools are more appropriate, though it doesn't explicitly name siblings or provide exclusion criteria.

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?

Without annotations, the description carries full burden. It discloses mutation ('freeze current state') and describes access configuration. However, it lacks details on side effects (e.g., overwriting previous version, triggering builds, auth requirements) and 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 sentences, front-loaded with the primary action. Every sentence provides essential information without redundancy.

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

Completeness3/5

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

Given 4 parameters, no output schema, and no annotations, the description covers the main purpose and parameter meanings. However, it does not mention what the tool returns (e.g., a URL, status), whether it is synchronous or async, or any error conditions.

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

Parameters4/5

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

All 4 parameters have 100% schema coverage. The description adds value by explaining the enum values for access_mode (e.g., 'public_open = anyone can view') and clarifying that make_public and auth_required are optional overrides. This goes 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?

Clearly states the verb 'publish', the resource 'app', and specific actions: freeze current state, make live at a URL, configure access policy. Distinguishes from siblings as no other tool has similar purpose.

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 when-to-use or prerequisites. While it explains access_mode options, it does not guide on when to use this tool versus other app management tools or what preconditions must be met before publishing.

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
Behavior2/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 says 'Query' which implies read-only, but does not explicitly confirm non-destructiveness or discuss authentication needs, rate limits, 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?

The description is a single, concise sentence of 12 words. It is front-loaded with the essential action and resource, with 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?

Given 6 parameters, 2 required, no output schema, and no annotations, the description minimally covers the tool's purpose. It does not explain pagination, sorting, or the response format, though the schema covers default values. More context about the return value 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 description coverage is 100%, so baseline is 3. The description's mention of 'exact-match filters' adds minimal value beyond the schema's own description. The description reinforces the entity parameter but does not provide significant additional semantic meaning.

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 'Query', the resource 'app data records', and the scope 'for one entity with optional exact-match filters'. This is specific and distinguishes it from sibling tools like 'get_entities' 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 explicit guidance on when to use this tool versus alternatives. The description implies 'for one entity', but does not mention when not to use it or provide comparisons to siblings such as 'get_entities' or 'seed_entity'.

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

read_app_fileBInspect

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
Behavior2/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 only says 'read', implying safety, but provides no details on permissions, error handling, response format, or constraints like file size limits. Insufficient for an agent to anticipate behavior.

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?

Extremely concise (8 words) with clear front-loading of verb and resource. However, brevity sacrifices helpful context; a slightly longer description could improve clarity without losing structure.

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 simple tool with 3 parameters and no output schema, the description lacks completeness. It does not mention what the tool returns, error scenarios, or how max_chars behaves. More context is needed for an agent to use it effectively.

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 all parameters. The description adds no additional meaning beyond stating the overall purpose. 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 explicitly states verb 'Read', resource 'one source file', and context 'from an app's virtual filesystem'. It clearly distinguishes from sibling tools like 'read_app_files' (plural) and 'get_app_files' (list 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 guidance on when to use this tool versus alternatives (e.g., 'read_app_files' for multiple files, 'write_app_file' for writing). No context on prerequisites or typical use cases.

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

read_app_filesCInspect

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 states 'read,' implying a non-destructive operation, but fails to specify limitations (e.g., file size, permissions, virtual filesystem details) or any side effects. The minimal description leaves significant uncertainty about behavior.

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

Conciseness4/5

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

The description is a single concise sentence that efficiently conveys the core function. It is not verbose, but could benefit from slight expansion to cover usage guidelines or return behavior.

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 reads multiple files and lacks an output schema, the description should at least hint at what is returned (e.g., file contents, status). It does not address this, leaving the agent to infer the response format. The tool's complexity merits more 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?

All three parameters (app_id, paths, max_chars_per_file) have descriptions in the schema, achieving 100% coverage. The description adds no further meaning beyond the schema, so it meets the baseline but does not improve understanding of parameter semantics.

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 reads multiple files from an app's virtual filesystem. The verb 'read' and resource 'several source files' are specific, and it implicitly distinguishes from the sibling 'read_app_file' (singular) by indicating multiplicity, though it does not explicitly contrast.

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 'read_app_file' for single files or 'write_app_file' for modification. There is no mention of prerequisites or contexts where the tool is appropriate or inadvisable.

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 full burden. It only states 'Remove' without disclosing side effects, authorization requirements, reversibility, or error conditions. This is insufficient for a destructive operation.

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 (single sentence), but it sacrifices valuable information. It is not overly verbose, but the brevity leaves gaps in clarity and 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 no annotations, no output schema, and only two parameters with minimal schema descriptions, the description lacks completeness. It does not explain return behavior, success/failure indicators, or what 'runtime member' entails relative to other tools.

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 each parameter. The tool description adds no additional meaning 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.

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). It is distinguishable from sibling tools like invite_app_member and update_app_member_role. However, 'runtime member' could be more precisely defined.

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, no prerequisites or conditions mentioned. The one-sentence description provides no context on appropriate usage scenarios.

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

remove_custom_domainAInspect

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?

With no annotations provided, the description must convey behavioral traits. It explains the primary effect (removal and cleanup) but does not specify side effects, error behavior, 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 a single, clear sentence that front-loads the main action and is free of extraneous 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 the simple tool (2 params, no output schema), the description covers the basic operation but omits success/failure indicators, error conditions, or preconditions like requiring the domain to be currently configured.

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 both parameters, and the schema already describes domain as optional. The description adds no new parameter-level information beyond what the schema 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 action ('Remove the configured custom domain') and adds the cleanup of hostname registration, distinguishing it from sibling tools like 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?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of when not to use it. The phrase 'when possible' hints at failure conditions but without elaboration.

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?

With no annotations, the description details internal behavior: staging upsert/delete, validating app state, and creating a Saved Version. This provides good transparency beyond the schema, though error/rollback behavior is 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?

Two sentences, front-loaded with the main action, no wasted words. Highly 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?

Explains the atomic rename process with validation and version creation. However, no output schema exists and the description does not mention return value or response format, which would be helpful for a complete understanding.

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 parameter descriptions. The description adds context about internal operations but no per-parameter details beyond what schema provides. 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 'Rename or move one app source file atomically', specifying the verb (rename/move) and resource (app source file), and distinguishes from siblings like write_app_file or patch_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 explains atomicity and internal steps but does not explicitly state when to use this tool versus alternatives (e.g., write for new files, patch for changes). No when-not or sibling comparison provided.

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
Behavior4/5

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

The description discloses a key behavioral side effect: it creates a saved version before changing the file. With no annotations, the description carries full burden and does well, though it does not mention permissions 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?

The description is two sentences, front-loaded with purpose and alternative, followed by a behavioral note. 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.

Completeness3/5

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

While the core behavior is explained, the mandatory 'confirm' parameter is not described, and there is no information about return values or success indicators. Given no output schema, the description could provide more 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 75% (3 of 4 params have descriptions). The description adds no additional parameter-specific guidance beyond what the schema provides. Baseline is 3 due to high coverage, but no extra value is added.

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 one file from a saved version, and explicitly distinguishes from restoring the entire app. It specifies the action (restore), resource (file from saved version), and scope (one file vs entire 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 provides clear context by comparing to restoring the entire app, implying an alternative usage. However, it does not explicitly list when to use or avoid this tool, or mention other alternatives beyond 'restore_saved_version'.

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

restore_saved_versionAInspect

Restore an app to a Saved Version. Requires versions:write scope and confirm=true. This restores files, records, app settings, and A/B test state captured in the snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
confirmYesMust be true to execute the restore
snapshot_idYesSaved Version snapshot_id to restore
Behavior3/5

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

No annotations are provided, so the description bears full burden. It discloses what state is restored (files, records, settings, A/B test) but does not mention potential irreversible overwriting of current app state. While confirm implies safety, the consequences are not fully transparent.

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 fluff. The first sentence states action and requirements, the second details what is restored. 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?

The description explains the tool's effect (what gets restored) and needed permissions. No output schema, but for a mutation tool the return value is secondary. Could mention whether a confirmation or status is returned, but overall 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 baseline is 3. The description adds the 'versions:write scope' requirement not present in the schema, but otherwise repeats parameter purposes already documented. Minimal added 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 'Restore an app to a Saved Version' and lists exactly what is restored (files, records, app settings, A/B test state). It distinguishes from sibling 'restore_file_from_version' by targeting the entire 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?

Explicitly states required 'versions:write scope' and 'confirm=true', providing clear prerequisites. Does not mention when not to use or compare with alternatives, but the context is sufficient for correct selection.

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

seed_entityAInspect

Seed records into one app entity. Useful during EDIT when new screens need sample data. Creates a Saved Version before inserting records.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoappend always inserts; skip_if_not_empty inserts only into an empty entityskip_if_not_empty
app_idYesThe app ID
entityYesEntity name
recordsYesRecords to insert
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 the critical behavior 'Creates a Saved Version before inserting records', which implies versioning side effects. While it does not cover permissions or limits, the key behavioral trait is well communicated.

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 the core function, followed by usage context and a behavioral detail. 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?

The description covers purpose and a key behavior, but lacks prerequisites (e.g., entity must exist) and does not explain what 'Saved Version' entails. Given the absence of an output schema, more context on outcomes would be beneficial.

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 all parameters have descriptions. The tool description adds little beyond the schema (e.g., 'seed' context), so it meets the baseline but does not enhance 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?

Description clearly states the verb 'Seed records' and resource 'one app entity'. It differentiates from siblings like update_entity_record by specifying it's for initial data population during EDIT. The unique behavior of creating a Saved Version is highlighted, making the purpose unambiguous.

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

Usage Guidelines4/5

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

Explicitly mentions 'Useful during EDIT when new screens need sample data', providing a clear use case. However, it does not specify when not to use it or offer alternative tools for non-seed insertions, which slightly reduces guidance.

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

set_entity_policyBInspect

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 are present, so the description must bear the full burden. It indicates a mutation ('Create or update') but does not disclose idempotency, side effects (e.g., whether it replaces or merges roles), permissions required, or what happens to existing policies. The description is minimal in behavioral detail.

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 filler words. It efficiently communicates the tool's purpose without unnecessary detail.

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

Completeness3/5

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

Given the tool's complexity (4 required parameters, no output schema), the description provides the essential purpose but lacks details on behavioral semantics such as whether the policy is appended or replaced, or how to clear roles. It is adequate for a simple listing but incomplete for confident, 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 coverage is 100% with descriptions for all parameters, so the baseline is 3. The description adds context ('read/write role policy') but does not elaborate on parameter semantics beyond what the schema provides (e.g., expected role names). The added value is marginal.

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 resource ('server-side read/write role policy for an app entity'), providing a specific purpose. It distinguishes the tool from siblings like 'set_route_policy' by focusing on read/write policies, but does not explicitly differentiate from all 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?

No guidance is provided on when to use this tool versus alternatives such as 'set_route_policy' or other policy-related tools. There is no mention of prerequisites, context, 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.

set_primary_domainBInspect

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.
Behavior1/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It only states 'Set which app host should be treated as primary', but fails to disclose that this is a mutation, what happens to the previous primary, whether the domain must already be configured, or any side effects like link regeneration risks.

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 front-loaded with the action and resource, containing no unnecessary words or 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 tool's simplicity (2 required parameters, no output schema), the description explains the core function. However, it lacks context on relationship with sibling domain tools (e.g., does the domain need to be verified first?) and does not mention that the primary host affects generated links. Minor gaps for a straightforward mutation.

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 covers 100% of parameters with descriptions. The description adds a helpful example for the domain parameter ('example.com, www.example.com, or the app subdomain host'), but this adds marginal value beyond the schema's own description. 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 'Set' and clearly identifies the resource 'app host' and its purpose 'primary for generated links and custom-domain redirects'. It distinguishes itself from sibling tools like 'add_custom_domain' (which adds a domain) and 'configure_domain_redirects' (which configures redirects).

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 prerequisites (e.g., domain must already be added via add_custom_domain) or consequences. Users are left to infer usage context.

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

set_route_policyBInspect

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?

No annotations provided, so the description must disclose behavioral traits. It only states create/update, but omits side effects, authorization requirements, idempotency, or what happens to existing policies. 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 of 14 words, no redundancy, efficiently conveys the core purpose. Perfectly concise.

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

Completeness2/5

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

For a 5-parameter create/update tool with no output schema and no annotations, the description is incomplete. It does not explain behavior on update vs create, return values, error conditions, or idempotency.

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 (80% of parameters have descriptions). The description adds context about 'server-owned' and 'generated app route' but does not elaborate on parameter meanings beyond what the schema already provides. 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 (create or update), resource (route policy), and scope (server-owned, for generated app route). It distinguishes from siblings like set_entity_policy which deals with entity policies, not routes.

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 set_entity_policy or other policy-related tools. No mention of prerequisites or when not to use.

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

set_secretBInspect

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?

States that the secret value is never returned, which is useful transparency. However, missing details like idempotency, overwrite behavior, or authentication requirements. With no annotations, more depth needed.

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?

Two sentences with no filler, front-loaded with key info. Could be slightly longer to include usage, but current 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?

For a simple set tool with three parameters and no output schema, description is adequate but missing potential constraints (e.g., value limits, key format). Slightly under-specified.

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 descriptions are adequate, but the tool description adds no extra meaning beyond the schema. Baseline score 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 verb (create/update), resource (encrypted app secret), and scope (one secret). 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 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, no prerequisites or when-not-to-use conditions. Lacks context for agent decision-making.

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
Behavior3/5

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

With no annotations, the description carries the full burden. It adds one behavioral trait (creates a saved version before changes) but omits other important aspects like required permissions, reversibility, side effects on test running state, or output behavior. This is minimally 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?

Two concise sentences: first states purpose and scope, second adds crucial behavioral context. No extraneous information, front-loaded with essential details.

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

Completeness3/5

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

Given the tool has 8 parameters with nested objects, no output schema, and no annotations, the description covers purpose and a behavioral note but lacks details on return values, prerequisites (e.g., test existence), permissions, or error scenarios. It is adequate but not thorough.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all parameters. The description mentions 'active state, variants, traffic, and conversion goal' which corresponds to parameters, but adds no new meaning beyond the schema. 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 clearly states the tool updates an A/B test, enumerating specific updatable aspects (active state, variants, traffic, conversion goal) and mentions a key behavioral detail (creating a saved version). It distinguishes from siblings like create_ab_test, delete_ab_test, and list_ab_tests.

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 by specifying 'update', making it clear this is for modifying existing tests. Sibling tools provide context for creation, deletion, and retrieval. However, there is no explicit 'when to use' vs 'when not to use' guidance.

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?

With no annotations, the description carries the full burden. It discloses key behavioral traits: creates a Saved Version, asynchronous with job_id. Does not mention permission requirements or potential side effects, but the provided details are sufficient 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.

Conciseness5/5

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

Three concise sentences, each providing distinct value: purpose, behavioral safety (saved version), and asynchronous tracking (job_id). No wasted words, front-loaded.

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

Completeness4/5

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

Covers the essential aspects for an asynchronous update tool: purpose, side effect (saved version), and return value. Could be improved by hinting at what polling get_job_status will indicate (success/failure), but overall adequate.

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 value by explaining that the prompt parameter contains 'instructions' for the AI to modify the app, reinforcing the semantic beyond the schema's 'What to change in the app'.

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 'Update an existing application with a new prompt', using a specific verb and resource. The additional sentence 'The AI modifies the app based on your instructions' further clarifies the mechanism. Distinguishes from sibling tools like 'update_ab_test' or 'patch_app_file' which target different aspects.

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?

Describes that the tool creates a Saved Version before updating (implying safe, reversible operation) and returns a job_id for progress tracking (asynchronous). Provides context but does not explicitly state when to use this tool over alternatives or mention exclusions.

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?

Without annotations, the description must fully disclose behavior. It reveals key constraints (no owner assignment, no account owner change) but omits other behavioral traits such as required permissions, reversibility, or side effects. This is adequate for a simple update 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.

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 core action and constraints. Every word is informative, 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's simplicity (3 required params, no output schema), the description covers purpose and key constraints adequately. It lacks information on return values or error conditions, but for a straightforward role update, this is nearly complete.

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 basic descriptions. The tool description adds value by constraining the role parameter (cannot be owner), which is not present in the schema. However, it still does not enumerate allowed role values, relying on schema's 'New role' which is vague.

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 'generated-app runtime member role'. It also specifies constraints ('cannot assign owner' and 'cannot change the Fine Structure account owner'), which distinguishes it from sibling tools like 'invite_app_member' and 'remove_app_member'.

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 updating roles but does not explicitly state when to use this tool versus alternatives. The negative constraints (cannot assign owner) provide some guidance, but no positive context like 'Use when you need to change a member's role after invitation' is given.

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

update_entity_metadataAInspect

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
Behavior3/5

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

The description discloses that metadata is stored in the schema file and DB index creation is automatic where supported, but it lacks details on whether existing metadata is overwritten, required permissions, or destructive potential, which would be important for a mutation 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 concise with two sentences, front-loads the core action, and avoids 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?

For a tool with 5 parameters, nested objects, and no output schema, the description is minimal. It does not explain the format of complex parameters, return values, or error conditions, leaving significant gaps 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?

With schema coverage at 40%, only app_id and entity have descriptions in the schema. The description does not add any parameter-level information for indexes, metadata, or relationships, leaving their semantics unclear.

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

Purpose5/5

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

The description clearly states the specific action 'Set relationship/index metadata on an entity schema' and distinguishes it from siblings like update_entity_schema or validate_entity_relationships by focusing on metadata storage and automatic index creation.

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 setting metadata, but it does not provide explicit guidance on when to use it vs. alternatives, nor does it mention 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.

update_entity_recordAInspect

Update one app entity record by ID. Creates a Saved Version before the update.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesFields to merge into the record
app_idYesThe app ID
entityYesEntity name
record_idYesRecord ID
Behavior4/5

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

Without annotations, the description carries the full burden. It discloses a key behavioral trait—creating a Saved Version before the update—which informs the agent that this operation snapshots state. However, it does not mention other potential side effects like permission requirements 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?

The description is two sentences long, front-loaded with the primary purpose. Every word is meaningful; no fluff or repetition. Efficient and clear.

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

Completeness3/5

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

While the description covers the core operation and a notable side effect, it does not describe the return value (no output schema exists). For a mutation tool, indicating what the response contains (e.g., updated record, status) would improve completeness. The nested object parameter 'data' lacks constraint details, which is acceptable given schema coverage.

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?

Input schema has 100% description coverage, so the baseline is 3. The description does not add parameter-level details beyond what the schema already provides (e.g., 'data' is described as 'Fields to merge into the record' in both). No additional semantic value is added.

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') and the resource ('one app entity record by ID'). It also distinguishes from sibling tools like 'update_entity_metadata' and 'update_entity_schema' by focusing on record data. The additional note about creating a Saved Version 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 is provided on when to use this tool versus alternatives such as 'query_entity' for reading or 'update_entity_schema' for structure changes. The description lacks explicit when-to-use or 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.

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
Behavior3/5

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

With no annotations, the description must fully communicate behavioral traits. It does disclose the key behavior of auto-creating a Saved Version before writing, which is valuable. However, it omits details about destructive potential, error conditions, or authorization needs. The description adds some transparency but leaves 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, well-formed sentence that front-loads the main action and key behavioral note. Every part is relevant. It could be slightly expanded to include more context without being verbose, but as-is it is appropriately 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?

Considering the tool's complexity (7 parameters, nested objects, no output schema, no annotations), the description is inadequate. It does not explain the return value, side effects beyond versioning, or how shallow merging works. With many similar sibling tools, more context is needed for correct usage.

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

Parameters2/5

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

The input schema has 7 parameters with only 43% description coverage, meaning over half of parameters lack documentation even in the schema. The description adds no explanation for parameters like 'merge', 'indexes', 'metadata', or 'relationships'. Given the low schema 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 action ('Replace or shallow-merge') and target resource ('existing entity schema file'), and adds the behavioral note about creating a saved version. However, it does not explicitly differentiate from sibling tools like 'create_entity_schema' or 'update_entity_metadata', which weakens clarity for an AI agent deciding between similar options.

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 explain prerequisites (e.g., entity must exist), nor does it specify circumstances for choosing 'replace' vs 'shallow-merge'. This lack of context makes it harder for an AI agent to select the correct tool.

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

validate_appCInspect

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?

With no annotations provided, the description must fully disclose behavioral traits. It claims 'deterministic' but does not specify whether the tool modifies state, requires authentication, has rate limits, or how it handles errors. Essential operational context is missing.

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

Conciseness4/5

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

The description is a single concise sentence that front-loads the primary action and lists specifics efficiently. However, it could benefit from minor structuring (e.g., bullet points) for readability, but currently no waste.

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 validation tool with no output schema and no annotations, the description is incomplete. It does not explain what the output looks like (e.g., list of errors/passes), how to interpret results, or what 'deterministic' implies. The 2 parameters are only partially explained.

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%; the description mentions 'recorded runtime errors' which relates to the include_runtime_errors parameter but does not explicitly map to it. The description adds minimal meaning beyond the schema for app_id, and the boolean parameter remains unexplained.

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 ('Run'), the resource ('deterministic app checks'), and enumerates specific check types (syntax, imports, routes/pages, entity schemas, missing entities, recorded runtime errors). This distinguishes it from sibling tools like validate_change_set or get_errors which have different scopes.

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 validate_change_set or get_app_status. There are no explicit conditions, prerequisites, or exclusions mentioned.

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

validate_change_setBInspect

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; description only mentions validation without clarifying whether it is read-only, destructive, or what happens on failure.

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, clear sentence with no unnecessary words—efficient and front-loaded.

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?

Lacks detail on return value, error handling, or interpretation of results; no output schema to compensate.

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 covers 2 of 3 parameters with descriptions; the tool description adds no additional semantic value beyond parameter names.

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 validates change set files before applying, distinguishing it from siblings like 'apply_change_set' and 'validate_app'.

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?

Implies usage before applying changes but provides no explicit when-to-use or when-not-to-use guidance compared to alternative validation tools.

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

validate_entity_relationshipsBInspect

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 exist, so the description bears full responsibility for behavioral disclosure. It does not describe side effects, error behavior, permissions needed, or whether the tool is read-only. The description only states the action without 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?

Single sentence, no filler words. Every word contributes meaning. Efficiently sized.

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

Completeness3/5

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

The tool is simple with one parameter and no output schema. Still, the description lacks detail on what 'validate' entails, what constitutes valid relationships, or what the output looks like. Adequate but with 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 coverage is 100% for the single parameter 'app_id', which is described as 'The app ID' in the schema. The description adds no additional semantic meaning beyond the schema, resulting in a baseline score.

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

Purpose5/5

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

The description explicitly states the tool validates entity relationship metadata and *_id references against existing schemas. It uses specific verbs and resources, clearly distinguishing it from siblings like 'validate_app' or '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 guidance on when to use this tool versus alternatives. No prerequisites, exclusions, or context provided for when validation is appropriate.

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
Behavior4/5

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

Discloses that a Saved Version is created before changing content, adding value beyond the schema. However, it doesn't mention permission requirements, destructive nature, or 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.

Conciseness5/5

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

Two sentences, no wasted words. Front-loaded with the primary action. Efficient and well-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?

Lacks information about return values or success/failure indicators. For a mutation tool with no output schema, more context on results would improve completeness, but versioning note helps.

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 score is 3. The description adds no additional meaning to parameters like path format, content encoding, or file_type usage.

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 'Create or replace one file in an app's virtual filesystem', specifying the action and resource. While it doesn't explicitly differentiate from sibling tools like patch_app_file, the intent is clear.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like patch_app_file or rename_app_file. The description lacks context about prerequisites, conditions, or scenarios.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources