Amplify
Server Details
Build, edit and preview browser games and web apps in your Amplify account from your AI agent.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 13 tools
Most tools target distinct resources, but there is real overlap in the connection/credits area: get_account, get_connection, and get_credits all report identity, caps, and balances, and get_usage_today overlaps with get_connection's 'spent today' figure. get_project vs get_build_status is a subtler boundary (project metadata vs build state) that descriptions only partially separate.
Names follow a clear verb_noun snake_case pattern (get_*, list_*, read_*), which is predictable and readable. The single 'read_' verb among 'get_' verbs is a minor, semantically justified deviation.
13 tools is well within a healthy range for a project/build/publishing domain. A couple of tools (get_account vs get_connection, get_credits vs get_usage_today) could be consolidated, but each still has a defensible place.
The read/inspection surface is thorough—status, versions, files, publish checks, approvals, usage—but the set is entirely read-only: no way to create a project, kick off a build, publish, or act on an approval (explicitly deferred to the app). This leaves dead ends for any workflow that needs to change state.
Available Tools
13 toolsget_accountGet accountBRead-onlyIdempotentInspect
Who this connection acts as: user, active org, plan, credit balance, and the scopes granted.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds useful content in the form of the returned identity fields, but says nothing about response shape, staleness, or whether missing scopes are reported.
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?
A single compact clause that front-loads the key concept ('Who this connection acts as'). It reads as a sentence fragment without a verb, which slightly weakens clarity, but there is no wasted text.
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 output schema and no parameters, the description carries the burden of telling the agent what comes back, and it enumerates the returned fields well. It could be stronger by noting which sibling to use for credit-only or connection-only lookups.
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 takes no parameters, so the baseline is 4. The description correctly implies no input is required by framing the tool as a pure identity lookup.
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 names the specific fields the tool returns (user, active org, plan, credit balance, granted scopes), which is far more informative than the title 'Get account'. It does not, however, differentiate from siblings like get_credits and get_connection, which overlap with the credit balance and connection identity it mentions.
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 call this versus get_credits or get_connection, and no stated prerequisites. Usage is only inferable from the field list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_build_statusGet build statusARead-onlyIdempotentInspect
Where a project's build is: queued, building, ready or failed, with its version and preview/public address when ready.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real value on top by disclosing the return shape: lifecycle state plus version and a preview/public address that are only present once the build is ready, which tells an agent the payload varies by state.
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?
A single sentence, front-loaded with the resource and the state enumeration, followed by the conditional return fields. No filler and nothing repeated from the schema or annotations.
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 output schema, the description responsibly summarizes return values (state, version, address, conditional on ready), and the annotations cover the safety profile. Only minor gaps remain: no note on what happens when no build exists or how to obtain a projectId.
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 is one parameter (projectId) with 0% schema description coverage and no regex explanation in the description. The phrase 'a project's build' implies the parameter identifies which project, but the description adds no format or sourcing detail beyond the schema's pattern constraint.
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 a specific resource (a project's build) and enumerates the exact states returned (queued, building, ready, failed), so an agent can immediately tell this is a build-status read rather than a project or version listing. It does not explicitly contrast itself with siblings like get_project, get_result or list_versions, keeping it short of a 5.
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 is only implied: the phrase 'when ready' signals this is a polling endpoint for a build in progress, but there is no explicit when-to-use or when-not-to-use guidance versus get_result, get_publish_check or list_versions. An agent must infer the selection rule from the lifecycle states listed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connectionGet connectionBRead-onlyIdempotentInspect
This connection: which projects it may use (all, one project, or only the ones it created), its daily credit cap, what it spent today (UTC) and what is left.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful context beyond that — that spend is measured in UTC and that the response includes cap, spent, and remaining — but says nothing about scope (whose connection is returned) or freshness of the numbers.
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?
It is short, but it is structured as a colon-led list of return fields rather than a front-loaded statement of purpose. A leading verb clause would have cost the same length and made the intent immediately scannable.
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 output schema, the enumeration of return content (project scope mode, daily cap, spend today UTC, remaining) does real work and is the description's main value. However, it never states that this returns the current authenticated connection with no parameters, nor how project-scope modes affect the numbers, leaving the agent to infer the read semantics entirely.
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 takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter gaps 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 is a noun-phrase fragment ('This connection: ...') that enumerates returned fields rather than stating an action, so the verb must be inferred from the name/title. It identifies the resource as the caller's connection but does not distinguish it from siblings like get_account, get_credits, or get_usage_today.
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 call this versus the closely overlapping siblings get_credits and get_usage_today, which appear to cover credit caps and daily spend respectively. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creditsGet creditsARead-onlyIdempotentInspect
Credit balance and the 50 most recent ledger entries (a connection limited to some projects gets the balance and its own cap only).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description still adds real behavioral context beyond them: the result is capped at 50 recent ledger entries, and a connection limited to some projects receives only the balance and its own cap rather than the full ledger — a scope-dependent behavior an agent could not infer from annotations or an empty schema.
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?
A single sentence with the primary output (balance) front-loaded, the entry count quantified, and the exception tucked into a parenthetical. There is no filler and nothing repeated from the title or annotations.
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 output schema, the description carries the burden of describing the return, and it does so: balance plus up to 50 ledger entries, with the restricted-scope variant spelled out. It stops short of describing entry fields (amount, timestamp, reason), which would be the remaining gap for an agent planning to parse the result.
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 takes zero parameters and the schema is empty, so there is nothing for the description to disambiguate; the baseline of 4 applies. The one implicit input — the connection scope that changes the response — is at least acknowledged in the parenthetical.
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 a specific resource (credit balance) plus exactly what is returned alongside it (the 50 most recent ledger entries), so the agent knows precisely what this call yields. It does not explicitly name a distinguishing sibling such as get_usage_today, but the resource is concrete enough to be told apart from the account/project/version readers in the sibling 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?
Usage is implied rather than stated: the agent can infer this is the tool for balance/ledger reads, and the parenthetical flags the connection-scoped case. There is no explicit 'use this instead of get_usage_today when...' guidance and no stated prerequisites, so routing among the credit/usage siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectGet projectBRead-onlyIdempotentInspect
One project: status, kind, files, model, published address, preview path.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description's contribution is the returned field set (status, kind, files, model, published address, preview path), which is genuinely useful given there is no output schema, but it says nothing about not-found behavior, permissions, or whether model/published fields can be null.
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?
One short, front-loaded phrase with zero filler; the field enumeration is compact. It is slightly under-specified rather than padded, so brevity is an asset but not a perfect one.
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 idempotent read with rich annotations, the main open questions are the projectId format/source and behavior on missing projects, neither of which is addressed. The field list partially compensates for the absent output schema, making it adequate but with clear 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 never mentions projectId — no indication of where to obtain it, whether it accepts slugs versus IDs, or what happens with an unknown value. The only structured hint is the regex pattern in the schema, so the description leaves the single required parameter semantically bare.
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 fragment 'One project' plus the enumerated fields makes clear this retrieves a single project record and what it returns, which distinguishes it from list_projects and read_project_file. It never states the verb explicitly ('retrieve/fetch by ID'), so it falls short of a fully specific verb+resource statement.
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 when-to-use guidance, no preconditions, and no mention of the obvious alternatives (list_projects for enumeration, read_project_file for file contents). The only routing signal is the implicit singular/plural contrast with list_projects, which the agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_publish_checkCheck publish readinessARead-onlyIdempotentInspect
Run the publish gate's checks for a project without publishing (what would block it).
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world. The description adds that the call performs checks 'without publishing' and frames the result as blockers, which tells the agent this is a probe that surfaces diagnostics rather than returning a pass/fail side effect. It does not mention rate limits or output shape, but goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action, with the parenthetical placed where it clarifies outcome. Zero waste, though 'publish gate' is unexplained jargon that a naive agent may not resolve.
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?
A simple single-parameter read tool with full safety annotations and no output schema; the description conveys that the result is the set of blocking issues. Only minor gaps remain, such as what distinguishes a clean result from a failed check.
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 required projectId, including an undocumented pattern constraint. The description only says 'for a project', which merely restates the parameter's name; it adds no format, source (where to obtain a projectId), or validation 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?
States a specific verb and resource: 'run the publish gate's checks for a project'. The parenthetical '(what would block it)' clarifies intent, and 'without publishing' distinguishes it from an actual publish action. No sibling tool overlaps with this publish-readiness check, so no sibling differentiation is needed.
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?
'without publishing' and 'what would block it' imply the pre-publish dry-run scenario, so intended usage is inferable. But no explicit prerequisites (e.g., required project state, permissions) or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_resultGet build resultBRead-onlyIdempotentInspect
The delivery of a finished build: a claim link (single use, 30 days; calling again returns the same open link) that copies the build into the recipient's own Amplify account, plus a preview address at once.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly and idempotent, but the description adds real behavioral detail beyond them: the link is single-use, valid 30 days, repeated calls return the same open link, and redemption copies the build into the recipient's own Amplify account. That side-effect context is valuable and not inferable from annotations.
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?
One dense sentence covering deliverable, link semantics, and side effect; no filler. The trailing 'plus a preview address at once' is slightly awkward but 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?
With no output schema, the description must carry return-value meaning; it names the claim link and preview address but not the shape of the response (fields, structure, or whether both are always present). Adequate but leaves gaps for a tool whose entire value is its return payload.
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 never mentions projectId or the required identifier format. For a single required parameter with no schema documentation, the description should at least say which project the result belongs to.
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?
States the specific resource delivered: a finished build's claim link plus preview address, which distinguishes it from get_build_status (which reports progress). It is phrased as a noun phrase rather than 'returns X for project Y', so the action is somewhat implicit.
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 phrase 'a finished build' implies a precondition (build must be complete), hinting that get_build_status should be checked first, but no sibling is named and there is no explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usage_todayGet today's usageBRead-onlyIdempotentInspect
Today's model usage against the daily cap.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without the description. The description adds the useful framing that the result is scoped to today and relative to a daily cap, but says nothing about freshness, caching, timezone of 'today', or what happens once the cap is exceeded.
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?
A single eight-word sentence with zero filler, front-loading the time scope and the metric being compared. Nothing could be removed without losing 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?
For a trivial no-param read tool backed by rich annotations the description is close to sufficient, but with no output schema and no statement of return shape (percentage used? remaining calls? reset time?), the agent cannot predict what it will receive or how to interpret it. The 'daily cap' framing partially compensates.
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 takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter claims are made or contradicted.
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?
States a specific resource (today's model usage) and a specific framing (against the daily cap), which tells an agent exactly what data comes back. It does not, however, distinguish itself from the sibling get_credits, which plausibly covers overlapping quota/consumption 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?
There is no statement of when to call this versus alternatives, no prerequisite or cadence guidance, and no mention of get_credits or get_account despite obvious overlap. The agent must infer the use case entirely from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_approvalsList approvalsARead-onlyIdempotentInspect
The org's approval queue (pending by default): publish requests and other actions waiting for a human. Approving happens in the app, not here.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely new context: the default filter is pending, and mutation of approvals is out of scope for this tool. It omits ordering, result size, and pagination 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?
Two compact sentences with zero filler, leading with the resource and default scope before the exclusion. Every clause carries usable 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?
For a single-optional-parameter read tool with full annotations and no output schema, the description covers scope, default, and the out-of-scope action. A brief note on what an approval entry contains (or ordering) would close the remaining gap.
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 the schema has no default keyword, so "pending by default" supplies real information the schema lacks about the sole status parameter. It still says nothing about what each enum value returns or how 'all' differs behaviorally from omitting the 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?
Names the specific resource (the org's approval queue) and its contents (publish requests and other actions awaiting a human), which no sibling tool covers. The implicit verb is 'list' rather than an explicit one, and sibling differentiation comes only from the resource being unique, not from stated contrast.
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?
"Approving happens in the app, not here" is an explicit when-not that prevents an agent from hunting for an approve action. "(pending by default)" signals the default state, but nothing tells the agent when to choose status=approved/rejected/all versus leaving it unset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsList projectsARead-onlyIdempotentInspect
List the org's projects (id, name, kind, status, timestamps), newest first. A connection limited to some projects sees only those.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered. The description adds genuinely new behavior: results are ordered newest-first and a connection limited to some projects only sees those — a scope constraint an agent would otherwise have to discover empirically.
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 filler. The resource and field list come first, with the visibility caveat as a short second sentence.
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 output schema, the inline field enumeration (id, name, kind, status, timestamps) plus ordering does the work an output schema would. The remaining gap is pagination/result-limit behavior for a list endpoint that could return many projects.
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 takes zero parameters, so there is nothing to disambiguate and the baseline applies. The description instead spends its words on the response shape, which is the right use of space here.
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?
States a specific verb and resource ('List the org's projects') plus the returned fields and ordering (newest first). The plural list vs. the sibling get_project is inferable, but the description never explicitly contrasts them.
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 is only implied: an agent can infer it should call this to enumerate projects. There is no explicit when-to-use, no mention of get_project for a single project, and no guidance on scope or connection selection despite siblings like get_connection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_published_sitesList published sitesBRead-onlyIdempotentInspect
Projects that are published, with their public slug and address.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description contributes the shape of the return payload (slug and address), which is useful given there is no output schema, but says nothing about pagination, volume, or whether unpublished drafts are excluded.
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?
A single compact clause with zero filler, and the most important qualifier ('published') comes first. It is a noun fragment rather than a sentence, which costs it a point but nothing is wasted.
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 parameters, rich annotations, and no output schema, the essentials are covered and the returned fields are named. Missing are the boundary facts an agent would want: whether results are paginated or capped, and how this differs from list_projects in practice.
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 takes zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. The description correctly spends no space on inputs.
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 phrase 'Projects that are published, with their public slug and address' names the resource and the filter (published) and enumerates the returned fields, so the agent knows exactly what comes back. It does not explicitly contrast with the sibling list_projects, so the reader must infer that this is the published subset.
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 statement of when to call this versus list_projects or get_publish_check, and no prerequisites or exclusions. The 'published' qualifier is part of the purpose statement, not guidance about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_versionsList versionsCRead-onlyIdempotentInspect
Version history of a project.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds nothing beyond that — no ordering of results, no pagination, no scope limits, no indication of what a version entry contains.
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 phrase with no wasted words, which is structurally clean, but its brevity comes at the cost of under-specification rather than genuine economy.
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 output schema, the description should explain what the returned version history looks like and whether it is paginated or ordered. It also omits the sole required parameter, leaving the agent without the minimum information needed to call the tool confidently.
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 there is a single required parameter (projectId) whose purpose and format are documented nowhere. The description does not mention projectId, its required status, or its ID pattern, so it fails to compensate for the schema gap.
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 phrase 'Version history of a project' names the resource and implies a listing operation, so an agent can roughly infer intent. However, it is a noun phrase with no verb, and it does not explicitly say it returns a list of versions or distinguish itself from other read tools such as get_project or read_project_file.
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 when-to-use guidance, no prerequisite mention (e.g., that a valid projectId is required), and no reference to alternatives among the many sibling read tools. The agent must infer everything 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.
read_project_fileRead project fileBRead-onlyIdempotentInspect
Read one text file of a project (relative path such as index.html or app.js).
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| projectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, non-destructive, closed-world operation. The description adds useful scope by saying it reads a single text file via a relative path, but it does not disclose behavior for missing files, encoding, file-size limits, or truncation.
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 definition is a single front-loaded sentence with no wasted clauses. The parenthetical examples are directly useful for the path parameter.
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 operation whose safety profile is covered by annotations, the description is mostly adequate. However, it omits projectId semantics and file-handling edge cases, which are more important because there is no output schema or parameter description coverage.
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 for both parameters. It meaningfully clarifies that path is relative and gives examples such as index.html and app.js, but projectId is left only implicitly defined as "a project" with no guidance on where to obtain it or its expected format.
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 gives a specific verb and resource: read one text file of a project. The parenthetical example clarifies that it expects a relative file path rather than project metadata. It does not explicitly distinguish itself from siblings, but the file-oriented scope is clear.
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 is implied by "Read one text file of a project" and the relative-path examples, but the description does not state when to use this instead of project-level tools such as get_project. It also does not mention exclusions, such as binary files or directories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
13 tool updates
- First observed
get_account - First observed
get_build_status - First observed
get_connection - First observed
get_credits - First observed
get_project - First observed
get_publish_check - First observed
get_result - First observed
get_usage_today - First observed
list_approvals - First observed
list_projects - First observed
list_published_sites - First observed
list_versions - First observed
read_project_file
Related MCP Connectors
Let your AI agent build, preview and update web apps, download source and publish when you allow it.
Publish, test and share browser games on PlayDrop from your AI agent.
Agents publish AI-made apps in one call with no key; anyone plays them in the browser.
Publish HTML5 games in seconds from an AI agent: audience, monetization, analytics.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to drive a browser-based game editor directly, covering projects, entities, scripts, assets, templates, animation, scenes, settings, builds, and viewport and runtime control. Agents can also launch the project and verify it actually runs by capturing screenshots, logs, and live state, then send keyboard, mouse, and touch input.-
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to publish and manage HTML5 browser games, giving each game its own address and catalogue page with leaderboards, cloud saves, player clips, daily stats, versioning, and rollback.1MIT
- AlicenseNot gradedqualityAmaintenanceLets AI agents automate the PlayCanvas Editor directly, creating and editing projects, entities, scripts, assets, templates, animation, scenes, builds and store content through natural language. It also launches projects at runtime to capture screenshots, logs and live state, so agents can confirm that scenes actually run.MIT
- FlicenseNot gradedqualityAmaintenanceLets AI agents automate the PlayCanvas Editor end to end — creating and editing entities, scripts, assets, templates, animations, scenes, settings and builds, plus version-control checkpoints — and then launch the project to verify it actually runs via screenshots, logs, live state inspection and simulated input.-
Glama MCP Gateway
Add one secure layer between your agents and this server.