Prowpt MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Prowpt MCP Serverlist my projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Prowpt.ai MCP Server
MCP (Model Context Protocol) server that lets AI agents create, edit, and publish web apps on Prowpt.ai.
Setup
1. Get an API key
Go to prowpt.ai/settings → API Keys → Create a new key with the scopes you need.
2. Install
pip install prowpt-mcp-server
# or
pipx install prowpt-mcp-server3. Configure your AI tool
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"prowpt": {
"command": "prowpt-mcp",
"env": {
"PROWPT_API_KEY": "pk_live_your_key_here"
}
}
}
}Claude Code:
export PROWPT_API_KEY="pk_live_your_key_here"
prowpt-mcpEnvironment variables:
Variable | Required | Default | Description |
| Yes (stdio only) | — | Your Prowpt API key |
| No |
| API base URL |
Related MCP server: AppsAI MCP Server
Transports
The server supports two transports:
stdio (default)
Used by local IDEs like Cursor and Claude Code. The CLI authenticates with the
PROWPT_API_KEY environment variable and speaks MCP over stdin/stdout.
prowpt-mcp # reads PROWPT_API_KEY from env
prowpt-mcp --api-key pk_... # or pass explicitlyStreamable HTTP (remote)
Used by public connectors (Claude.ai custom servers, ChatGPT Apps, etc.). The
server listens on an HTTP endpoint at /mcp; every request must carry an
Authorization: Bearer <token> header. The token is either a Prowpt API key
(pk_live_...) or — once the Prowpt OAuth AS is live — a JWT issued by
https://prowpt.ai/oauth/*. Tokens are forwarded verbatim to the Prowpt REST
API, which owns all scope/rate-limit enforcement.
pip install "prowpt-mcp-server[http]"
prowpt-mcp --transport http --bind 0.0.0.0:8001Useful flags:
Flag | Description |
| Run the HTTP transport (default: |
| Listen address (default: |
| Use session-state mode (default: stateless) |
| Return plain JSON instead of SSE streams |
| Disable bearer-token auth (local debugging only) |
| Prowpt REST API base URL |
The server also exposes GET /healthz for liveness probes. Unauthenticated
requests return 401 with a WWW-Authenticate: Bearer challenge pointing at
the OAuth protected-resource metadata URL, so MCP clients can auto-discover
the authorisation server.
OAuth-issued tokens (used by Claude.ai and ChatGPT directory connectors) are
short-lived JWTs backed by an api_keys row with origin='oauth'. Each
connector key carries a default rate limit of 20 requests per minute and a
25-credit per-UTC-day spend cap for credit-consuming actions
(send_prompt, /api/generate/*). Users can revoke any connection from
Settings → API Keys in the Prowpt web app.
Getting Started
After installation, the recommended first step for any code-generation task is to fetch the project context:
get_project_context(project_id=123)This returns the full conventions, available record types, templates, i18n state, enabled packages, and subscription info for the project — everything the agent needs to write correct, Prowpt-compliant code.
The server also exposes two static resources that agents can read at any time:
Resource URI | Description |
| Quick-start guide with tool summaries |
| Comprehensive code conventions: |
Available Tools
Project Management
list_projects— List all projectsget_project— Get project detailsget_project_context— Get full project context for writing correct code (stack, conventions, record types, templates, i18n state)create_project— Create a new appupdate_project— Update project settingsdelete_project— Delete a projectclone_project— Clone a projectpublish_project— Publish to livedeploy_project— Deploy to hosting
Source Code
list_source_files— List files in a projectread_source_file— Read a file's contentwrite_source_files— Write/update filesget_preview_url— Get preview URLget_source_versions— Version historyrestore_source_version— Restore a version
AI Assistant (uses Prowpt credits)
send_prompt— Send instruction to Prowpt AI. Transport-aware: on stdio (Cursor / Claude Code) it blocks up to 5 minutes and returns the final result; on HTTP (remote connectors with short tool-call timeouts) it returns{run_id, status: "queued"}immediately and the caller pollsget_assistant_status(project_id, run_id=...)until the run terminates.accept_preview— Accept AI changesget_assistant_status— Check generation status. Passrun_idto poll a specific async run (HTTP flow); omit it to fetch the latest active run for the project (stdio flow).
Records & Data
list_record_types/create_record_type/update_record_typelist_records/create_record/update_record/delete_record
Workflows
list_workflows/create_workflow/update_workflow/delete_workflowexecute_workflow/get_workflow_executions
Packages / Dependencies
list_catalog— Browse all available npm packages in the platform cataloglist_project_packages— List packages enabled for a project (with update info)add_package— Enable a catalog package for a projectremove_package— Remove a package from a project
Assets
list_assets/upload_asset/delete_asset
Translations
get_translations/update_translations
Email Templates
list_email_templates— List all templates (system + custom)get_email_template— Get a template by slug (full HTML body + variables)upsert_email_template— Create or update a templatedelete_email_template— Delete a custom templatepreview_email_template— Render a preview with sample variablessend_test_email— Send a test email to a given addressseed_email_templates— Seed factory defaultsreset_system_templates— Reset system templates to defaults
Payments (Stripe Connect)
connect_stripe— Start Stripe Connect onboarding for a projectget_stripe_status— Check Stripe connection statusdisconnect_stripe— Remove Stripe Connect link
Billing
get_usage/get_credits/purchase_credit_pack/get_account_info
Development
cd prowpt-mcp-server
pip install -e .
prowpt-mcp --api-key pk_live_test_key --api-url http://localhost:8000License
MIT
Available Tools
59 toolsaccept_previewC
Accept pending AI-generated changes
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| preview_token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It indicates a mutation ('accept') but does not specify what changes are made, whether the action is reversible, or if any side effects occur. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence, but it sacrifices completeness for brevity. While there is no unnecessary text, it fails to provide adequate detail for an agent to use the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 params, no output schema, no annotations), the description is severely incomplete. It omits what accepting entails, what the preview_token represents, and what the outcome is. The agent cannot fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no explanation for the two required parameters ('project_id' and 'preview_token'). The agent cannot discern their semantic roles or expected formats from the given text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Accept pending AI-generated changes' clearly indicates the tool's action (accept) and object (pending AI-generated changes). It distinguishes itself from siblings like 'preview_email_template' or 'discard_draft_changes' by focusing on accepting AI-generated content, though the exact scope (project-level changes?) is slightly vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'discard_draft_changes' or 'preview_email_template'. The description lacks context about prerequisites or typical scenarios, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_packageA
Add a catalog package to a project's dependencies. The package must exist in the platform catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| package_name | Yes | Package name from the catalog (e.g. 'recharts', 'zustand') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only discloses a precondition (package must exist) but does not mention side effects (e.g., overwriting existing packages), idempotency, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, 20 words, front-loaded with the action. Every sentence is meaningful and there is no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description provides basic purpose and precondition but lacks behavior such as success/failure responses, idempotency, or what happens if the package already exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only package_name has a description). The description adds context that the package must be from the catalog, which complements the parameter description. However, project_id receives no additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add') and the resource ('catalog package to a project's dependencies'), and distinguishes from sibling 'remove_package'. It also includes a precondition ('must exist in the platform catalog').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: when you need to add a dependency from the catalog. It does not explicitly exclude alternatives or provide when-not scenarios, but the purpose is clear and no other sibling tool does the same.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clone_projectA
Clone an existing project. Provide a new name; slug is auto-generated if omitted.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ID of the project to clone | |
| name | No | Name for the cloned project (defaults to '<source name> — Copy') | |
| slug | No | URL slug for the clone (auto-generated from name if omitted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full weight. It mentions auto-generation of slug but does not disclose what gets cloned (e.g., structure, data, settings), permissions required, or any side effects (e.g., does it trigger workflows?). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence conveys the core purpose and two key parameter behaviors. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and no output schema, the description covers the basic action and parameter defaults. However, it omits details about the scope of cloning (e.g., deep copy, what is included) and any prerequisites, making it slightly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters. Description adds value by clarifying that name is optional with a default behavior (auto-generated from source) and that slug is auto-generated if omitted, which goes beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Clone') and resource ('an existing project'). This distinguishes it from sibling tools like create_project which creates from scratch, and export_project which exports but doesn't create a new project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage is to copy an existing project. No explicit guidance on when not to use it or alternatives like create_project. However, the context of sibling tools helps infer use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_stripeA
Start Stripe Connect onboarding for a project (returns onboarding URL). Requires Starter+ tier.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| return_url | Yes | URL to redirect to after onboarding |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It states the return value and a requirement, but omits side effects (e.g., does it create database records, trigger emails?), permissions needed, and what happens if onboarding is already in progress. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundant information. The essential information (action, resource, return, requirement) is front-loaded and efficiently conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 parameters and no output schema, the description covers the basic purpose and a requirement. However, it lacks details on error handling, idempotency, prerequisites beyond tier, and what happens after the redirect. Adequate but could be improved with a couple more sentences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (return_url described, project_id not). The main description does not add any parameter details beyond what the schema provides. It mentions 'for a project' but does not explain project_id or how return_url is used, leaving half the parameters underdocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Start' and resource 'Stripe Connect onboarding', and specifies it returns an onboarding URL. Distinguishes from sibling tools like disconnect_stripe and get_stripe_status by focusing on the onboarding initiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions a prerequisite (Starter+ tier), which helps the agent know if the tool is applicable. However, it lacks explicit guidance on when not to use (e.g., if already onboarded) or alternatives. Still provides useful context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectB
Create a new web app project
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name | |
| description | No | Project description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose behavior (e.g., idempotency, conflicts, immediate vs async). Minimal transparency beyond the action itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence, but could benefit from additional context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal completeness; given simplicity, it covers basic purpose but misses usage context, behavior, and return value expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters; description adds no extra meaning beyond the schema, so baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and resource 'web app project', distinguishing it from siblings like 'clone_project' and 'delete_project'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives, no prerequisites or conditions discussed. Lacks context for effective decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_recordD
Create a new record
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| record_type_slug | Yes | ||
| fields | Yes |
TDQS
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 says 'Create a new record' with no mention of side effects, idempotency, permissions, or error conditions, providing no transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence), but it sacrifices necessary detail. It does not earn its place because it adds minimal value beyond the tool name itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (three required parameters including a nested object, no output schema, no annotations), the description is grossly incomplete. It fails to specify the record type context, required inputs, or return behavior, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for its three parameters, and the tool description adds no explanation of project_id, record_type_slug, or fields. The agent receives no guidance on how to construct or use these parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Create a new record', which is a clear verb+resource combination. However, it lacks specificity about the context (e.g., within a project, using a record type) and does not differentiate from sibling tools like create_record_type or update_record, making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are no exclusions, prerequisites, or examples mentioned, leaving the agent without contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_record_typeA
Create a new record type with field definitions. Each field needs {name, type}; label is auto-generated from name if omitted. select/multiselect options: use a plain string array (e.g. ["Small","Medium","Large"]); {label,value} objects are also accepted and auto-normalized. user_scope='profile' for one-per-user data (upsert /me/profile-records/) or 'collection' for many-per-user (CRUD with Bearer).
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| name | Yes | ||
| slug | Yes | ||
| fields | Yes | ||
| user_scope | No | User scoping: 'profile' = one record per user (upsert), 'collection' = many records per user (CRUD). Omit for global/shared record types. | |
| is_user_profile | No | Deprecated — use user_scope instead. True is equivalent to user_scope='profile'. | |
| description | No | ||
| display_name_field | No | Field name used as label in lists | |
| show_in_backoffice | No | Show in backoffice UI (default true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It transparently explains field validation, auto-generation of labels, options format, and user_scope behavior (upsert vs CRUD). It also notes a deprecated parameter. However, it does not cover rate limits, authentication needs, or side effects beyond creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that is information-dense yet concise. It front-loads the purpose and then adds details. Minor improvement could be structuring with bullet points, but it remains readable and not overly long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no output schema or annotations, the description covers key aspects like field definitions and user_scope but omits what the tool returns (e.g., the created record type), error cases, and validation rules for less complex parameters. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 44%, so the description must compensate. It adds significant meaning for `fields` (structure and options format), `user_scope` (behavioral context), and `is_user_profile` (deprecation status). Other parameters like `project_id`, `name`, `slug` are not elaborated, but the description covers the most complex ones.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new record type with field definitions,' which is a specific verb+resource combination. It distinguishes itself from siblings like update_record_type and list_record_types by focusing on creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool, detailing field structure and user_scope options. It does not explicitly state when not to use it, but the context is sufficient for an agent to decide, and alternatives are implied by sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_workflowB
Create a workflow. Trigger types: form_submit, button_click, cron, chat_message, webhook (inbound HTTP), stripe_event. IMPORTANT node structure: each node needs type='action' (or 'condition'/'loop') with the specific action inside action.type. Example node: {"id": "n1", "type": "action", "action": {"type": "send_email", "config": {"to": "...", "subject": "...", "body": "..."}}, "next_node_id": null}. Action types: send_email, http_request, llm_chat, save_record, fetch_data, send_whatsapp, redirect, forward_to_human, send_reply. Node outputs propagate via {{nodes..body}}.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| name | Yes | ||
| definition | Yes | Workflow definition with trigger, entry_node_id, and nodes array. Each node: {id, type:'action'|'condition'|'loop', action:{type, config}, next_node_id} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden of behavioral disclosure. It explains the node structure, action types, and output propagation ({{nodes.<id>.body}}), giving insight into the definition schema. However, it does not disclose side effects (e.g., whether the workflow is created in draft mode), authorization requirements, or error behavior. This leaves gaps in understanding the tool's full behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but well-structured: it begins with the purpose, then lists triggers, explains node structure with an example, lists action types, and mentions output propagation. Each sentence serves a purpose. It could be slightly more concise by omitting the output propagation detail, but overall it is efficient and front-loaded with the most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 required parameters, nested objects, no output schema) and low schema coverage, the description is incomplete. It does not explain the return value, error conditions, or constraints (e.g., node count limits). It also omits details about the 'project_id' and 'name' parameters. The description is adequate for the 'definition' parameter but fails to provide a complete picture for successful tool usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 3 parameters with only 33% description coverage (only 'definition' has a description). The description compensates for this by thoroughly explaining the 'definition' parameter, including its trigger, nodes, and action types with an example. However, it does not describe 'project_id' or 'name' beyond their names, leaving those parameters under-documented. The description adds value for one parameter but not for the others.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Create a workflow,' which is a clear and specific verb+resource. It distinguishes from sibling tools like update_workflow and delete_workflow by focusing on creation details such as trigger types and node structure. The purpose is unmistakable and well-articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like update_workflow or execute_workflow. It does not mention prerequisites, conditions, or scenarios where creation is appropriate. The agent is left to infer usage context without any explicit instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_assetC
Delete an asset
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| filename | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description only states 'delete', implying a destructive action, but does not disclose if deletion is permanent, what side effects occur, or any permission requirements. The minimal description fails to provide behavioral context beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The three-word description is extremely concise and front-loaded, but it sacrifices necessary detail. It is efficient but not sufficiently informative for a tool with no annotations or additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple schema and no annotations, the description should provide more context about the deletion operation, such as confirmation requirements or impact on related data. It is incomplete for effective agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description provides no information about the two parameters (project_id, filename) despite 0% schema coverage. It does not explain their roles or constraints, leaving the agent to infer entirely from the schema, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete) and resource (asset), and the name distinguishes it from siblings like upload_asset and list_assets. However, it lacks specificity about what constitutes an asset beyond the input schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like delete_record or delete_project. No context on prerequisites or scenarios where deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_email_templateB
Delete a custom email template. System templates cannot be deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| slug | Yes |
TDQS
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 the action and a limitation but does not disclose what happens if the template does not exist, whether the action is irreversible, or any auth/rate limit info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no superfluous information. Perfectly concise for the information it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with no output schema, the description should at least hint at success/failure behavior and parameter roles. It fails to do so, relying solely on the schema for parameter names but not their meaning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two required parameters (project_id, slug) with 0% schema coverage. The description does not explain these parameters at all, leaving the agent to guess how to identify the template.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes a custom email template and explicitly notes that system templates cannot be deleted. This distinguishes it from sibling tools like 'upsert_email_template' or 'preview_email_template'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear when-not-to-use condition (system templates cannot be deleted). However, it lacks explicit guidance on when to use this tool over alternatives like 'upsert_email_template' or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_projectC
Delete a project permanently
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only mentions 'permanently' indicating irreversibility, but lacks details on permissions, cascading effects, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no waste. However, it could be expanded slightly to include more context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simplicity, the description lacks important contextual details such as whether the deletion is reversible, impacts on related data, or required permissions. It is insufficient for a delete operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not elaborate on the project_id parameter. Although the meaning is somewhat obvious from context, no additional semantic value is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Delete' and the resource 'project', and adds 'permanently' for emphasis. It distinguishes itself from sibling tools like delete_asset or delete_record by specifying a different resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites or context about what happens to related data. The description simply states the action without any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_recordD
Delete a record
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| record_type_slug | Yes | ||
| record_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description provides zero behavioral context (e.g., soft vs hard delete, permissions, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (three words) but completely lacks informativeness. Conciseness at the expense of utility is under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a delete operation with three required parameters and no annotations or output schema, this description is wholly inadequate. It fails to explain required scoping or effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description adds no information about the three parameters (project_id, record_type_slug, record_id) beyond their existence in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a record' is a tautology of the tool name. It adds no specific detail and fails to distinguish from sibling delete tools like delete_asset or delete_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. No context, prerequisites, or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_workflowD
Delete a workflow
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and no description of behavioral traits such as irreversibility, cascading effects, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise but under-specified; fails to provide necessary context despite brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity (1 param, no output schema), the description is completely inadequate for an AI agent to understand its use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter schema has 0% description coverage, and the main description adds no information about the workflow_id parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'Delete a workflow' merely restates the tool name, providing no additional specificity about what deleting entails or distinguishing it from other delete tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use delete_workflow versus alternative tools like delete_asset or delete_record, nor prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_projectC
Deploy project to hosting
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must disclose behavioral traits. It only says 'Deploy project to hosting' without explaining side effects, idempotency, prerequisites, or any consequences of deploying.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (4 words) but lacks necessary detail. It is under-specified for the tool's functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, no output schema, and no annotations, the description is incomplete. It fails to explain return values, side effects, or deployment behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the 'project_id' parameter. It adds no meaning beyond the schema, failing to compensate for the lack of parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'deploy' and resource 'project', indicating the action and target. However, it does not distinguish this tool from sibling tools like 'publish_project' or 'get_deployments'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no context, exclusions, or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discard_draft_changesC
Discard unpublished draft changes
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It only states the action 'discard unpublished draft changes' but fails to disclose consequences such as irreversibility, whether it affects only the local draft or server state, or any required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At four words, the description is concise but overly brief. While it front-loads the action, it sacrifices necessary detail, making it minimally informative without earning its place through completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and a single parameter lacking description, the description is insufficient. It does not address what happens after discard, how to confirm success, or any side effects, leaving the agent guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'project_id' has no description in the schema (0% coverage). The description adds no explanation of what the parameter represents or how it should be obtained, leaving the agent without sufficient guidance to correctly fill it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Discard unpublished draft changes' provides a clear verb and resource, indicating the tool discards draft changes. It distinguishes itself from sibling tools like 'accept_preview' or 'delete_project' by focusing specifically on unpublished drafts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. There is no mention of when to use this tool versus alternatives, nor any prerequisites or state conditions (e.g., existence of a draft) necessary for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_stripeC
Remove the Stripe Connect link from a project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It indicates a destructive action (removing a link) but does not disclose side effects, reversibility, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite being a simple tool, the description lacks details about return values, side effects, and the overall effect, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single parameter project_id. The description does not explain the parameter beyond its role in identifying the project, adding no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Remove' and the resource 'Stripe Connect link from a project'. It is specific and distinguishes from sibling tools like connect_stripe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. No prerequisites or when-not-to-use information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_workflowC
Execute a workflow with trigger data
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | ||
| trigger_data | No |
TDQS
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 says 'with trigger data' but does not explain whether execution is synchronous or asynchronous, if it returns an execution ID, or any side effects. The behavioral impact beyond the input schema is not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but overly minimal for a tool with two parameters and no annotations. It fails to front-load critical information, and the space is not used to add value beyond the name, resulting in under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two parameters (including a nested object), no output schema, and no annotations, the description is severely incomplete. It does not explain return values, error scenarios, or post-execution behavior, leaving the agent without sufficient 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'trigger_data' generically but does not specify the expected format, keys, or any constraints for that object. The 'workflow_id' parameter is not described at all, leaving the agent without meaningful semantic guidance beyond the schema's type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description includes a specific verb ('Execute') and resource ('workflow') along with mention of trigger data, clearly indicating it triggers a workflow. However, it lacks differentiation from sibling tools like 'create_workflow' or 'get_workflow_executions' and does not specify whether it runs an existing workflow by ID or creates a new run, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, such as whether it should be used instead of 'create_workflow' for triggering or 'get_workflow_executions' for monitoring. No prerequisites or context for appropriate usage are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_projectC
Export project as JSON backup
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must fully disclose behavioral traits. It does not mention that the export is non-destructive, what data is included, authorization requirements, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. However, for a tool with no annotations and no output schema, slightly more detail would be beneficial without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so the description should clarify the return format (e.g., file stream, JSON string). It does not mention what the backup includes, leaving the agent to guess about the complete behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'project_id' has no description in the schema (0% coverage), and the tool description adds no meaning beyond its type. No guidance on how to obtain the ID or any constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (export), the resource (project), and the output format (JSON backup). This distinguishes it from siblings like 'get_project' (which retrieves details) and 'clone_project' (which duplicates).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_project' or 'get_project_context'. No 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.
get_account_infoA
Get current user account info, tier, and limits
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. However, it only states what the tool does without disclosing authentication needs, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and directly communicates the tool's purpose. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the basics but lacks details on the exact structure of the returned info, tiers, or limits. Could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so baseline is 4. The description adds no param detail since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and clearly identifies the resource as 'current user account info, tier, and limits'. It effectively distinguishes this tool from siblings like 'get_credits' or 'get_usage'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. 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.
get_assistant_statusA
Check the status of an assistant generation run. If run_id is provided, looks up that specific run (use this after a send_prompt over HTTP). Otherwise returns the latest unacknowledged run for the project.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| run_id | No | Run id returned by send_prompt on the HTTP transport. Omit to fetch the latest active run for the project. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes the tool as a status check (read operation) but does not specify the response format, possible states, or any side effects. Lacks detail on behavior beyond core function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no unnecessary words. Each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers usage modes but lacks description of return value or status format (no output schema). Adequate for a simple tool but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (run_id has description). The tool description adds meaningful context for run_id ('use this after a send_prompt') and explains the implication of omitting it. For project_id, it is implied as project identifier but not detailed further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it checks the status of an assistant generation run, distinguishing between specific run lookup (using run_id) and fetching the latest unacknowledged run. This differentiates it from siblings like 'send_prompt' and 'get_publish_status'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use each mode: 'if run_id is provided... use this after a send_prompt over HTTP. Otherwise returns the latest unacknowledged run for the project.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creditsB
Get current credit balance
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description only states 'Get current credit balance'. It does not disclose whether the operation is read-only or any side effects, rate limits, or authentication requirements. For a simple read, more context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that effectively communicates the tool's purpose with no verbosity or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is functional but lacks completeness. It does not specify the return type (e.g., integer, string with units) or whether the balance is real-time or cached.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema coverage is 100%. The description adds no extra meaning beyond the schema. Baseline 3 is appropriate as the description is adequate but does not elaborate on the balance format or return details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get current credit balance' clearly specifies the verb and resource. It is distinct from sibling tools like 'get_account_info' or 'get_usage', which cover broader or different data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For instance, it does not indicate whether this is preferable to 'get_account_info' for credit-only queries or when to call it (e.g., before a purchase).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_deploymentsC
Get deployment history for a project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
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 does not mention performance (e.g., whether it returns all history at once or paginates), required permissions, or side effects. A read-only nature is implied but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words, but it is too brief to provide meaningful guidance. While concise, it sacrifices informative detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, zero parameter descriptions, and no annotations, the description is incomplete. It does not explain what the return value looks like, whether pagination is supported, or how to interpret the history.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter ('project_id') with no description, and the tool description adds no additional context about the parameter's format, source, or constraints. Schema coverage is 0%, and the description does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('deployment history'), and identifies the scope ('for a project'). It distinguishes from siblings like 'deploy_project' by focusing on retrieval rather than creation, but does not differentiate from other read tools like 'get_project' or 'get_publish_status'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'deploy_project' or 'list_projects'. There is no mention of prerequisites or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_email_templateB
Get a specific email template by slug, including full HTML body and variables schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| slug | Yes | Template slug (e.g. 'welcome', 'password-reset') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It states the output includes HTML body and variables schema, but does not disclose whether the operation is read-only, what happens on error (e.g., slug not found), or any authentication or rate limits. For a read operation, minimal behavioral context is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loads the purpose, and includes key details. However, it could incorporate context for the project_id parameter without becoming verbose. Efficient but slightly terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with two parameters, the description adequately states the action and output. However, it lacks explanation for the required project_id parameter and does not specify the return format of the 'variables schema'. Missing output schema increases the need for description completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description reinforces that slug is the identifier, but does not explain the purpose of project_id, which is required and has no description in the schema. With schema coverage at 50%, the description only partially compensates by clarifying slug's role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get), the resource (email template), selection method (by slug), and what is included (full HTML body and variables schema). This distinguishes it from siblings like list_email_templates which returns a list, and preview_email_template which likely only shows a preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a single template by slug, but does not explicitly state when to use this vs siblings like list_email_templates or preview_email_template. No guidance on when not to use or alternative tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_preview_urlC
Build a preview bundle and return the URL
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a write operation ('Build') and a read operation ('return the URL'), but does not disclose behavioral traits such as idempotency, side effects, permissions required, or whether the URL expires. With no annotations, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at one sentence with no waste. However, it lacks structural elements like examples or distinct sections, which would improve usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description is incomplete. It omits critical context such as whether the preview bundle is temporary, if building it is expensive, or what the URL format looks like. An AI agent would lack sufficient information to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter project_id is not described beyond its schema definition. Since schema description coverage is 0%, the description should compensate by explaining the parameter's role, but it does not. The parameter name alone provides minimal guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Build a preview bundle') and the output ('return the URL'), which distinguishes it from sibling tools like accept_preview. However, it does not elaborate on what a 'preview bundle' entails, 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.
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. For example, it does not specify if this should be called before accept_preview or how it relates to other project preview tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectA
Get detailed information about a specific project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read operation with no side effects, but it does not specify what 'detailed information' encompasses or any limitations. Without annotations, the description provides 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately states the tool's purpose. No extraneous information is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description is minimally adequate. However, it fails to clarify what fields are returned or how the response is structured, leaving some ambiguity for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the only parameter 'project_id' with 100% coverage. The description adds no additional semantic value beyond what the schema provides, achieving the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('get') and the resource ('detailed information about a specific project'), distinguishing it from sibling tools like 'list_projects' which retrieves multiple projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'get_project_context' or 'list_projects'. There is no mention of prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_contextA
IMPORTANT: Call this BEFORE writing code for a project. Returns full conventions, patterns, record types, templates, packages, and rules that the generated code MUST follow.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID | |
| include_sources | No | Include full source file contents (can be large) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates it returns conventions, patterns, etc., but does not disclose behavioral traits like read-only nature, performance, or error handling. Since no annotations are provided, the description carries the burden, and it only partially covers transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with one sentence that front-loads the importance. It is efficient but could be slightly improved by mentioning it is read-only. Overall, it earns its place without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should ideally outline the return structure more explicitly. It mentions returning conventions, patterns, etc., but lacks detail on format. For a relatively simple get tool with two parameters, it is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The tool description does not add additional meaning beyond the schema; it simply reiterates the return content. Baseline 3 is appropriate as the schema already documents parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns full conventions, patterns, record types, templates, packages, and rules that generated code MUST follow. It emphasizes calling it before writing code, distinguishing it from siblings that also start with 'get' but serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Call this BEFORE writing code for a project', providing clear context for when to use the tool. It does not list alternatives or when-not-to-use scenarios, but the directive is strong and unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_publish_statusC
Get current publish/deploy status
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only states the tool's function. It does not disclose whether it is read-only, requires authentication, or how it handles errors. For a simple getter, more context on behavior is expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (5 words) and front-loaded. However, it sacrifices necessary detail for brevity, earning a high score for efficiency but not a 5 due to under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is still insufficient. It fails to state what the returned status looks like, possible values, or error scenarios, leaving the agent guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no meaning beyond the parameter name 'project_id'. While the name is self-explanatory, no details on its purpose or format are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'current publish/deploy status', making it unambiguous. It distinguishes from sibling tools like publish_project and deploy_project which perform actions, and get_deployments which returns a list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_deployments. The description lacks context, prerequisites, 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_source_versionsB
List source version history
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
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 'list', implying read-only, but omits details like pagination, output format, or what version history includes (e.g., timestamps, authors). Minimal value beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is minimally adequate. However, it lacks details that would help the agent understand the return format or the scope of 'version history', missing an opportunity to be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not mention the project_id parameter or its purpose. Although the parameter name is self-explanatory, the description fails to add any extra semantic context, which is necessary given the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'list' and resource 'source version history', clearly differentiating from sibling tools like list_source_files (which lists files) and restore_source_version (which performs a mutation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., list_source_files, get_project). No context about prerequisites or scenarios is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stripe_statusB
Check whether a project has a connected Stripe account
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully convey behavior. It only states the core function but does not disclose return format, side effects, idempotency, or required permissions. The behavioral 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-formed sentence that immediately conveys the tool's purpose. There is no extraneous information, and the critical information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with a single parameter and no output schema, the description still lacks important details such as the return value format (e.g., boolean) and possible error conditions. This gap reduces its completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (project_id) with no description coverage. The tool description mentions 'a project' but does not explain the parameter's purpose, format, or how to obtain it. It adds no meaning beyond the schema's type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific purpose: checking whether a project has a connected Stripe account. The verb 'check' combined with the resource 'Stripe status' is unambiguous, and it differentiates from sibling tools like 'connect_stripe' and 'disconnect_stripe'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are there any exclusionary conditions. The description only states what it does, not when it should or should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_translationsC
Get all translations for a project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only states it retrieves translations, without mentioning whether results are paginated, required permissions, or any side effects. Minimal behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no superfluous information. It is front-loaded but could benefit from slightly more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is minimal. It does not cover the return format, potential data volume, or any edge cases, making it inadequate for complete agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required parameter 'project_id' with 0% schema description coverage. The description adds no meaning or context beyond the raw parameter name, leaving the agent uninformed about its purpose or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get all translations for a project' clearly states the verb (Get), resource (translations), and scope (for a project). It effectively distinguishes from sibling tools like get_project or list_projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools like get_project_context or export_project, the lack of usage context reduces its helpfulness for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageA
Get current usage (credits, projects, workflows, domains)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read operation ('Get current usage') with no side effects. No annotations are provided, so the description carries the full burden, but the behavior is straightforward and adequately disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the verb and resource. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with no parameters or output schema, the description is sufficiently complete. It specifies what data is retrieved, though additional detail on the format (e.g., summary vs. detailed) could enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and schema coverage is 100%. The description adds value by listing the categories returned (credits, projects, workflows, domains), providing meaning beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'usage', and lists the categories (credits, projects, workflows, domains). This distinguishes it from sibling tools like get_credits or get_project that retrieve individual pieces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: use this to get an overview of usage. However, no explicit when-to-use or when-not-to-use is provided, nor are alternatives mentioned, though siblings like get_credits exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflow_executionsC
Get execution history for a workflow
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description does not disclose behavioral aspects such as read-only nature, response format, pagination, or any limitations. Heavy burden on description unfulfilled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but too minimal, lacking details that would make it effective. It is not verbose, but sacrifices completeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite simplicity, description misses critical context like output details, ordering, or any constraints. With no output schema, description should provide more completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and description adds no meaning for the sole parameter 'workflow_id'. The parameter's purpose is left entirely to the user to infer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves execution history for a workflow, using specific verb and resource. It effectively distinguishes from sibling tools like list_workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No mention of prerequisites, context, or exclusions. Agent lacks information to decide appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_assetsC
List project assets (images, files)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It only states 'List project assets (images, files)', which provides no information about side effects, idempotency, rate limits, or pagination. This is insufficient for an agent to understand 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is easy to parse and front-loaded. It wastes no words, though it could benefit from including parameter context without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is simple with one parameter and no output schema, the description is still too minimal. It does not mention the return format, how to interpret results, or any ordering/limiting behavior. Siblings like delete_asset suggest asset management context, but the description fails to capitalize on that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the tool description does not explain the project_id parameter. While the description implies assets belong to a project, it adds no specific semantics about the parameter's format, constraints, or role beyond what the schema already shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'List' and resource 'project assets (images, files)', clearly indicating the action and object. It distinguishes from siblings like delete_asset and upload_asset by focusing on listing. However, it does not mention the required project_id parameter, which is critical context for the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like delete_asset or upload_asset. The description does not specify any prerequisites or scenarios, leaving the agent to infer usage context entirely from the tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_catalogA
List all npm packages available in the platform catalog (not project-specific)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. The description is transparent about being a read-only listing operation with no side effects, which is accurate. However, it could mention if there are any limitations like pagination or rate limits, though for a simple list tool this is less critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys all essential information without unnecessary words. It is front-loaded with the core action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is fully complete. It answers what the tool lists, where it lists from, and what it excludes, which is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so by guidelines baseline is 4. The description adds context (scope, not project-specific) that goes beyond the empty schema, providing meaningful usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list', the resource 'npm packages', and the scope 'platform catalog', with explicit negation 'not project-specific', which distinguishes it clearly from the sibling tool 'list_project_packages'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells when to use: to list all catalog-level packages, and implicitly warns against using it for project-specific packages. However, it does not explicitly mention using 'list_project_packages' for project-specific queries, which would be a minor improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_email_templatesA
List all email templates for a project (system and custom)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that the tool lists both system and custom templates, implying read-only behavior, but lacks details on permissions, result format, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose and scope. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one parameter and no output schema, the description is minimally complete. It explains input and expected result set (all templates for project). Lacks details like output format but within acceptable bounds.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for the single parameter. Description partially compensates by linking project_id to 'for a project', adding context beyond the schema. Still minimal, but adequate given single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (List), resource (email templates), and scope (for a project, both system and custom). Distinct from siblings like get_email_template (single) and upsert_email_template (create/update).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly when to use (listing all templates for a project), but no explicit exclusions or alternative recommendations. Context from sibling tools helps differentiate, but description could be more prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_project_packagesC
List npm packages enabled for a project, with version info and update availability
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
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 implies a read-only operation but does not explicitly state safety or side effects. It also does not mention authentication requirements, error behavior, or rate limits. The description is minimally adequate for a simple list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no extraneous words. It efficiently conveys the tool's core purpose and output information. Ideal front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one integer parameter and no output schema, the description covers the basic action and return information. However, it lacks details on the return format, error handling, and any behavioral nuances. It is minimally complete given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the 'project_id' parameter at all. It fails to add any meaning beyond the schema, which already shows it is a required integer. The description should clarify the parameter's role or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists npm packages with version and update info. It uses a specific verb ('List') and resource ('npm packages enabled for a project'). However, it does not differentiate from sibling tools like 'list_catalog' or 'list_assets', leaving ambiguity about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'add_package' or 'remove_package'. There is no mention of prerequisites, such as project existence or permissions, nor are there any examples of appropriate contexts. The description lacks any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsA
List all projects owned by the authenticated user
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description declares the tool as a read-only list operation, but with no annotations provided, it does not mention potential side effects, pagination, or limits. For a simple list, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the purpose and scope with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, but the description could mention output format, pagination, or sorting to fully inform the agent. Given the simplicity, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters in the input schema (schema coverage 100%), the description adds value by clarifying that the list is scoped to projects owned by the authenticated user.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'list', resource 'projects', and scope 'owned by the authenticated user', distinguishing it from sibling tools like get_project or create_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description implies using this tool to get all projects for the user, it offers no explicit guidance on when to use it versus alternatives like get_project 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.
list_recordsC
List records of a specific type
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| record_type_slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only indicates a read operation ('List'), but omits details on pagination, sorting, permissions, or limits. This lack of transparency fails to inform the agent about the tool's operational effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action and resource. While very short, it avoids redundancy and unnecessary words, earning its place despite limited detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and minimal parameter descriptions, the description is severely incomplete. It fails to mention return structure, pagination, error handling, or constraints, leaving the agent with insufficient context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only vaguely references 'of a specific type', which hints at record_type_slug but does not explain project_id or parameter formats. It adds negligible meaning beyond the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List records') and the resource ('of a specific type'), which distinguishes it from sibling tools like 'list_record_types' and 'list_projects'. It is specific enough to convey the primary purpose without being tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. The description implies usage for listing records by type, but excludes any mention of alternatives or prerequisites, leaving the agent without context for tool selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_record_typesB
List all record types for a project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It only states the function, omitting behavioral details like whether it requires permissions, scope of results, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with key information. While efficient, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is minimally adequate but lacks details about the return value or behavior. It does not fully exploit the available context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It adds meaning by linking 'project' to the required 'project_id' parameter, but does not explain format or expected values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'List', the resource 'record types', and the context 'for a project'. This distinguishes it from siblings like 'create_record_type' and 'list_records'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no context for selection. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_source_filesC
List all source file paths in a project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It only states the basic action without details on safety (read-only), pagination, or whether it returns additional metadata. The word 'paths' is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it omits necessary details. It is not verbose, but under-specification reduces its effectiveness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a simple parameter, the description should explain what is returned (e.g., list of file paths or URIs). It lacks this and other contextual info.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and description does not mention the 'project_id' parameter. The phrase 'in a project' hints at the parameter but does not clarify its purpose or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'List' and the resource 'source file paths' with scope 'in a project'. It distinguishes from siblings like 'read_source_file' (reads content) and 'write_source_files' (writes content).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. No mention of context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workflowsC
List all workflows for a project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose behavioral traits such as read-only nature, pagination, permissions, or limits. The minimal description leaves significant uncertainty for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and concise, but it lacks structure and front-loading of key information. While it avoids verbosity, it sacrifices helpful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and low complexity, the description is incomplete. It does not specify what information is returned (e.g., workflow names, status, IDs), any ordering, or limits, leaving agents to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single parameter (project_id) with no description, and the tool description adds no explanation of its purpose, format, or how to obtain it. Schema description coverage is 0%, so the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and the resource (workflows) with a scope (for a project). It effectively distinguishes from sibling tools like create_workflow, delete_workflow, and update_workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, filters, or scenarios where other list 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.
preview_email_templateA
Render a preview of an email template with optional sample context variables
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| slug | Yes | ||
| context | No | Variable values to substitute in the template |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It indicates a read-like operation (rendering a preview) but does not disclose potential side effects, rate limits, or error handling. The safety profile is partially clear but lacks explicit non-destructive statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no verbose or redundant phrasing. It effectively captures the core functionality in minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, the description does not specify what the preview returns (e.g., HTML string, URL). It also omits error scenarios or expected response format, making it incomplete for an AI agent to understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33%, only 'context' has a description. The description adds meaning to 'context' by noting it is optional and for sample variable substitution. However, 'project_id' and 'slug' are not elaborated beyond the schema, though their names are self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Render a preview'), the resource ('an email template'), and the optional feature ('with optional sample context variables'). It effectively differentiates from siblings like 'send_test_email' (which actually sends) and 'get_email_template' (which retrieves without rendering).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for previewing templates with optional context but does not explicitly state when to use this tool versus alternatives like 'send_test_email' or 'get_email_template'. No guidance on 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.
publish_projectB
Publish the current draft to live (makes the app accessible via subdomain)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavioral traits. It only states 'publish' (mutation) and the outcome, but does not mention side effects, reversibility, permissions, or what happens to the previous live version.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It is front-loaded with the key action and outcome, but could benefit from including parameter clarification without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no annotations, the description gives the core purpose and outcome. However, it lacks parameter documentation and behavioral details, making it minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description provides no explanation of the 'project_id' parameter. It should clarify that project_id identifies which draft to publish.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (publish), the resource (current draft), and the outcome (makes app accessible via subdomain). It distinguishes from siblings like 'deploy_project' and 'discard_draft_changes'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a draft is ready to go live, but lacks explicit guidance on when to use this tool versus alternatives like 'deploy_project', and does not include any when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_credit_packA
Purchase credits (returns Stripe checkout URL). Minimum 5 credits.
| Name | Required | Description | Default |
|---|---|---|---|
| credits | No | Number of credits to purchase (minimum 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns a Stripe checkout URL, implying an external payment flow is involved, but does not describe what happens after checkout (e.g., credit allocation, pending state) or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no redundant information, and front-loads the action. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately covers purpose, return value, and a constraint (minimum credits). It could mention the need for a connected Stripe account, but the current completeness is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers the credits parameter with a minimum constraint (5) and default (10). The description adds context about the return value but does not provide additional parameter-specific semantics beyond what the schema offers. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (purchase), resource (credits), and key output (Stripe checkout URL). It distinguishes from sibling tool get_credits by specifying that this tool is for purchasing rather than reading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks explicit guidance on when to use this tool versus alternatives like get_credits or connect_stripe. It does not state when not to use it or any prerequisites (e.g., having a Stripe account connected).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_source_fileC
Read the content of a specific source file
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| file_path | Yes | File path (e.g. 'App.tsx') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description adds no behavioral details beyond implying a read operation. It does not disclose any side effects, access requirements, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that is to the point, but it could be slightly more detailed without becoming verbose. It is appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, 2 parameters, and no annotations, the description is incomplete. It lacks information about return values, file size limits, encoding, or how to obtain project_id, which are important for a file reading tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 50% schema description coverage (only file_path has a description), the tool description does not add any parameter-specific meaning. It fails to explain project_id or provide examples beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'read' and the resource 'source file', effectively distinguishing it from sibling tools like write_source_files and list_source_files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites or context provided. The description lacks any explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_packageA
Remove a package from a project's dependencies. Core packages (react, react-dom, etc.) cannot be removed.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| package_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It only mentions that core packages cannot be removed, but omits key traits such as whether removal is permanent, triggers reinstall, or affects other dependencies. This leaves 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The main purpose is front-loaded in the first sentence, and the second adds a critical constraint. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter removal tool with no output schema and no annotations, the description minimally covers purpose and a key constraint. However, it lacks details on return behavior, how to identify core packages, or error handling, leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no specific meaning to the two parameters (project_id, package_name) beyond the obvious. The constraint about core packages is useful but not tied to parameters. For a tool with no schema descriptions, the description should compensate more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Remove' and the resource 'package from a project's dependencies', and adds a distinguishing constraint about core packages not being removable. This effectively differentiates from sibling tools like add_package.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for removing non-core packages and warns about core packages, providing clear context. However, it lacks explicit guidance on when not to use this tool or alternatives (e.g., updating dependencies instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reset_system_templatesB
Reset all system email templates to their factory defaults (overwrites customisations)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It states that customisations are overwritten, indicating destructive nature. However, it lacks details on permissions, reversibility, or impact on running processes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core functionality without unnecessary words or details. Every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the destructive nature and lack of annotations, the description is somewhat incomplete. It tells the main effect but omits details like irreversibility, return value, or confirmation steps. It covers the essential but not all context needed for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the one required parameter 'project_id'. Since schema description coverage is 0%, the description should at least identify what the parameter represents, but it provides no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Reset'), the resource ('all system email templates'), and the effect ('to their factory defaults, overwrites customisations'). It is specific and distinguishes itself from related tools like 'seed_email_templates' by specifying 'factory defaults' and 'overwrites customisations'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or compare with siblings like 'seed_email_templates' or individual template operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_source_versionC
Restore project source to a previous version
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| version_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks behavioral details. Since no annotations are provided, the description should convey that restoring a source version is a destructive action that overwrites the current source, may be irreversible, and could require specific permissions. None of this is mentioned, leaving the agent unaware of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, which is front-loaded and efficient. However, extreme brevity sacrifices necessary detail, making it barely adequate. It is concise but not optimally informative for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a potentially destructive restore operation) and lack of output schema, the description is incomplete. It should explain the return value (e.g., success message or error) and any constraints on the version (e.g., cannot restore beyond certain point). Current text is insufficient for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (project_id, version_id) have no descriptions in the input schema (0% coverage), and the description does not clarify their meaning or where to obtain them. For example, it could indicate that version_id comes from get_source_versions. The absence leaves the agent guessing about proper values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Restore project source to a previous version' clearly states the action (restore) and the resource (project source to a prior version). It effectively distinguishes from sibling tools like 'get_source_versions' (list versions) and 'deploy_project' (deploy current source), 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool (e.g., before deployment after a faulty update) or when not to use it (e.g., if the project is in draft state). There is no mention of alternatives or prerequisites, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_email_templatesA
Seed default email templates for a project (inserts factory defaults, skips existing slugs)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description reveals idempotent behavior ('skips existing slugs') but does not disclose permission requirements, error handling, or side effects on other data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundancy. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the core behavior and idempotency. It could mention return values or errors, but the simplicity reduces the need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, project_id, is self-explanatory from context. Although schema coverage is 0%, the description does not need to elaborate further. The baseline is appropriately adjusted for a single obvious parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'seed default email templates' and specifies 'inserts factory defaults, skips existing slugs', distinguishing it from sibling tools like reset_system_templates and upsert_email_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, such as reset_system_templates or upsert_email_template. The description implies initial setup but lacks when-not-to-use or alternative conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_promptA
Send a natural-language prompt to the Prowpt AI assistant to modify the app (uses Prowpt AI credits). Over stdio (Cursor/Claude Code) this blocks until completion (up to 5 minutes). Over HTTP (Claude.ai/ChatGPT connectors) it returns a run_id immediately; poll get_assistant_status(run_id=...) until status is 'completed' or 'failed'.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| prompt | Yes | Natural language instruction (e.g. 'Add a contact form') | |
| auto_accept | No | Auto-commit changes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description fully covers behavioral traits: blocking vs async, max wait time, return of run_id, and credit consumption. Provides actionable details for both transport modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that front-load the purpose then cover behavioral nuances. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Explains essential behavior and transport differences. Lacks explicit error handling or return format for blocking case, but sufficient given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers prompt and auto_accept with descriptions. Project_id lacks description. Description adds context about credits and transport modes but does not clarify parameters further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it sends a natural-language prompt to the Prowpt AI assistant to modify the app. Distinguished from siblings by explicitly mentioning the AI assistant and credits usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context on when to use (to modify app) and how behavior differs by transport. Mentions credit cost and references polling via get_assistant_status. Does not explicitly list alternatives 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.
send_test_emailB
Send a test email using a template to a specified address
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| slug | Yes | ||
| to_email | Yes | Recipient email address | |
| context | No | Variable values to substitute in the template |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description uses the word 'test' implying a non-production send, but it does not explicitly state whether the email is actually delivered or if there are side effects. Without annotations, the description carries the burden but only partially addresses 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that directly states the tool's action, with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, nested objects, and no output schema, the description is too minimal. It does not explain return values, error cases, or how the context object is used beyond the schema's brief note.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only to_email and context have descriptions). The description does not explain project_id or slug, nor does it add meaning beyond the schema. It mentions 'using a template' which relates to slug, but this is insufficient for the two undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sends a test email using a template to a specified address, which is a specific verb+resource. However, it does not differentiate from sibling tools like preview_email_template or upsert_email_template, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or contexts where sending a test email is appropriate compared to previewing or editing templates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_projectC
Update project name, description, or settings
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| name | No | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It only indicates that updates occur, but does not state whether it performs partial or full updates, if it is destructive, or what permissions are required. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and to the point. However, it could be slightly improved by clarifying that only the specified fields are updated and by removing the ambiguous 'settings'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 3 parameters, the description is too minimal. It fails to explain the update behavior (partial vs full), the response format, or any side effects. This is inadequate for an agent to confidently use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 3 parameters with 0% coverage in descriptions. The description mentions updating 'name, description' which maps to two parameters, but adds no details about constraints (e.g., length, format) and fails to explain the required 'project_id' parameter. The vague term 'settings' does not correspond to a schema property, causing confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'update' and resource 'project', and lists specific fields 'name, description, or settings'. However, the mention of 'settings' is vague and not reflected in the schema, and it does not explicitly distinguish from sibling tools like 'update_record'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool versus alternatives, such as when to use 'create_project' instead, or any prerequisites like required permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_recordC
Update an existing record
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| record_type_slug | Yes | ||
| record_id | Yes | ||
| fields | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description carries full burden but only states 'Update an existing record'. It does not disclose whether it merges or overwrites fields, what happens if record not found, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is efficient but lacks any structure or front-loading of critical information. It is minimal but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 4 params with nested object and no output schema. Description does not explain return values, error cases, or field structure, making it insufficient for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%; description adds no meaning to parameters beyond their names. The 'fields' object is unexplained, leaving agents to guess its structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it updates an existing record with verb+resource. However, it does not differentiate from sibling tools like create_record, delete_record, or upsert_email_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidelines on when to use this tool versus alternatives. No prerequisites, exclusions, or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_record_typeC
Update a record type's name, slug, fields, or other settings
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| record_type_id | Yes | ||
| name | No | ||
| slug | No | ||
| fields | No | ||
| user_scope | No | User scoping: 'profile' = one per user, 'collection' = many per user. Set to null to remove user scoping. | |
| is_user_profile | No | ||
| description | No | ||
| display_name_field | No | ||
| show_in_backoffice | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It indicates mutation ('Update') but omits any side effects, permissions, or state changes. Does not clarify partial vs full replacement of fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key action and examples. Efficient, but could incorporate more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters, low schema coverage, no output schema, and complex implications (e.g., field updates), the description is insufficient. Lacks return value, error conditions, or constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 1 of 10 parameters (user_scope) has a description in the schema. The description names 'name, slug, fields, or other settings' but adds no semantic detail beyond param names, failing to compensate for low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it updates a record type's settings, listing specific attributes (name, slug, fields). This distinguishes it from create_record_type. However, 'or other settings' is vague, lacking full specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like update_record or create_record_type. No prerequisites or context for when this operation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_translationsC
Update translations for a locale
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| locale | Yes | Language code (e.g. 'en', 'pt') | |
| translations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'Update' implies mutation but lacks details on whether it replaces, merges, or patches translations. No information on side effects, required permissions, or commit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no superfluous text. However, it achieves conciseness at the expense of informativeness, which is not ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters, a nested translations object, and no output schema, the description fails to specify return values or side effects. Agents lack context on what constitutes a successful update or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (33%), with only locale having a description. The tool description adds no parameter-level detail, leaving project_id and the translations object (nested) undocumented. This forces agents to guess format and semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it updates translations for a locale, using a verb+resource pattern. However, it does not specify whether updates are additive or override existing translations. The presence of sibling get_translations helps differentiate, but the purpose remains somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like add_package or update_record. The description does not mention prerequisites, such as requiring an existing locale or project state, nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workflowC
Update a workflow's name, definition, or enabled status
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | ||
| name | No | ||
| definition | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states it 'Update's, implying mutation. It does not disclose side effects, permissions, idempotency, or any other behavioral traits. The mention of 'enabled status' is misleading as it is not a parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose. It could be improved but is not overly verbose. However, the missing parameter aspect reduces clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0% schema description coverage, the description is insufficient. It does not explain return values, success indications, or required permissions for this mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions, so the description partially compensates by listing 'name, definition, or enabled status'. However, 'enabled status' is not in the schema, and 'definition' (an object) is not explained. This adds value but introduces inaccuracy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and resource ('workflow'), and lists specific fields. It distinguishes from siblings like create_workflow and delete_workflow. However, it mentions 'enabled status' which is not present in the input schema, causing slight inaccuracy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as create_workflow or update_project. No prerequisites, conditions, or examples are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_assetC
Upload an asset to a project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| filename | Yes | ||
| content_base64 | Yes | Base64-encoded file content | |
| content_type | No | image/png |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the basic action ('upload'). It does not disclose behavioral traits like required permissions, size limits, whether the operation is idempotent, or what happens if the asset already exists. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence. It contains no filler or redundant information. Every word contributes to the core meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and low parameter coverage, the description leaves significant gaps. It does not explain the return value, error conditions, or any side effects (e.g., overwriting existing assets). An agent relying solely on this description would lack critical information for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only content_base64 is described). The description does not add any parameter-level details beyond the schema. For example, it does not clarify what values content_type can take or the expected format for filename. With low coverage, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'upload', the resource 'asset', and the target 'project'. It effectively distinguishes from sibling tools like list_assets and delete_asset. However, it does not elaborate on what constitutes an asset (e.g., image types), but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as when to upload versus when to accept a preview. There are no conditions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upsert_email_templateA
Create or update an email template. For new templates 'name' is required. System templates only allow editing subject, body_html, body_text, and variables_schema.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| slug | Yes | Template slug (lowercase, hyphens/underscores allowed) | |
| name | No | Display name (required for new templates) | |
| category | No | Category (e.g. 'auth', 'notification', 'marketing', 'custom') | |
| subject | No | Email subject line (supports {{variable}} placeholders) | |
| body_html | No | HTML email body (supports {{variable}} placeholders) | |
| body_text | No | Plain-text fallback body | |
| variables_schema | No | Variable definitions with sample values for preview |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool creates or updates (mutation) and mentions field-level restrictions for system templates. However, it does not discuss permissions, idempotency, rate limits, or error states, leaving some behavioral aspects unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It front-loads the core purpose in the first sentence and adds critical constraints in the second. Every sentence adds value, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotations, the description covers the main upsert logic and constraints but misses return value description, error scenarios, and concurrency behavior. It is adequate for basic usage but could be more complete for an 8-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so baseline is 3. The description adds meaningful semantics beyond the schema: it clarifies that 'name' is required for new templates (schema lists it as optional) and specifies which fields can be updated for system templates. This compensates for the missing description on project_id and provides conditional usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create or update an email template' with a specific verb and resource. It distinguishes from sibling tools by focusing on email templates, and provides additional context about required fields for new templates and restrictions for system templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives some usage conditions (e.g., 'name' required for new templates, system template field restrictions) but does not explicitly compare with sibling tools like create_record, update_record, preview_email_template, or delete_email_template. It lacks when-to-use vs alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_source_filesB
Write or update one or more source files
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| files | Yes | Map of file path to content | |
| entry_point | No | Optional entry point file |
TDQS
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 the basic purpose without disclosing behavioral traits such as overwrite behavior, permission requirements, or error handling. The description adds no value beyond the purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose. It contains no wasted words, but could be slightly expanded without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters including a nested object and no output schema, the description is inadequate. It fails to explain return values, side effects, or what 'source files' means in the project context. Sibling tools and context signals do not compensate for these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents two of three parameters ('files' and 'entry_point'), providing 67% coverage. The description does not add any additional meaning beyond what the schema provides, so it meets the baseline for that coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Write or update' and the resource 'source files', distinguishing it from sibling tools like read_source_file and list_source_files. It also specifies that it handles one or more files, which is precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, but it is implicitly the only tool for writing/updating source files. There is 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.
TDQS
Each tool targets a distinct resource or action, with clear CRUD coverage for major entities (projects, records, workflows, email templates, source files). No overlapping purposes; even similar tools like preview_email_template and send_test_email are clearly differentiated.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_project, list_workflows, upload_asset). The verbs are descriptive and appropriate, and there is no mixing of naming conventions.
With 59 tools, the server is significantly above the typical well-scoped range (3-15). While the platform's feature set justifies many tools, this large number can overwhelm agents and suggests potential for consolidation or clearer grouping.
The tool set covers nearly all major operations for project management, records, workflows, email templates, source files, assets, Stripe, and more. Minor gaps exist (e.g., no explicit translation deletion), but the coverage is thorough for the domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Deploy and manage your apps, databases, storage, and scheduled jobs from your AI agent
Coding agents build full-stack apps in persistent workspaces and share them by link.
Build and host full-stack apps from a prompt, with agents that reach you on WhatsApp and email.
Create and manage AI agents that collaborate and solve problems through natural language interacti…
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to create, modify, and deploy web projects through the AICre8 platform's sandbox environment. It supports project management, code generation, and direct shell command execution for streamlined web development.721MIT

AppsAI MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceEnables AI agents to build, deploy, and manage full-stack applications on AppsAI's platform, with tools for project management, backend/frontend deployment, billing, marketplace, domains, and more.331MIT- AlicenseAqualityBmaintenanceEnables AI agents to build, edit, and publish live websites with hosting, database, auth, and domains via the Model Context Protocol.13111MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to manage web production projects by providing tools for sitemap planning, content drafting, and review comment workflows.AGPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/prowptai/prowpt-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server