Skip to main content
Glama

BEON PASS

Server Details

One access wallet for people and AI. Connect your tools once and give AI assistants controlled access to your connected services through a hosted MCP endpoint.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
BEON PASS
Claude
–

TDQS

C2.5/5.0

Scored across 167 tools

Disambiguation3/5

With 167 tools, several clusters overlap: prepare/verify/reconcile/adopt app release actions, checkpoint/redo/undo/restore flows, and provider deployment controls such as stop, cancel, restart, rollback, and redeploy. Descriptions clarify each, but the sheer breadth and similar verbs make misselection likely beyond just one or two confusable pairs.

Naming Consistency4/5

Almost all names use a predictable provider_verb_object snake_case pattern (railway_*, supabase_*, vercel_*, beon_*). A few exceptions like vercel_redeploy, vercel_rollback, beon_save_app, and beon_pin_app_checkpoint slightly break the verb_noun convention, but the overall scheme remains readable and consistent.

Tool Count1/5

167 tools far exceeds any reasonable agent-facing tool surface and matches the rubric's extreme-mismatch category (50+ tools). Even with provider prefixes, the count guarantees high cognitive load and poor tool selection.

Completeness3/5

Provider coverage is deep across Railway, Supabase, and Vercel, but there are notable gaps: no Supabase project delete, no list/get for BEON apps or custom tools, no Vercel DNS record creation/deletion, and no Edge Function secret listing. Some omissions may be intentional security choices, but missing retrieval paths for BEON's own core resources creates dead ends.

Available Tools

167 tools
beon_accept_invitationC
Destructive
Inspect

Accept an organization invitation addressed to the signed-in account.

NameRequiredDescriptionDefault
invitation_idYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds one behavioral constraint beyond that — the invitation must be addressed to the signed-in account — but says nothing about irreversibility, error cases (expired/revoked invitations), or whether an existing membership is overwritten. With annotations carrying the main load, a 3 is appropriate.

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

Conciseness4/5

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

One sentence, front-loaded with the action, no filler or redundancy. It is efficient, though its brevity is partly a symptom of the missing detail scored elsewhere rather than deliberate tightness.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with no output schema and a completely undocumented parameter, the description is thin. It omits what success produces (membership granted), what failures look like (expired/revoked/already-used invitation), and any auth prerequisite detail beyond the signed-in-account hint.

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

Parameters2/5

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

Schema description coverage is 0% for the single parameter, so the description must compensate and largely does not. It never explains where invitation_id comes from, that it is a UUID, or that it must reference an invitation belonging to the caller; only the indirect 'addressed to the signed-in account' phrase hints at scoping.

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

Purpose4/5

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

States a specific verb ('Accept') and resource ('organization invitation') with a scoping qualifier ('addressed to the signed-in account'). An agent can immediately tell this is the invitation-acceptance action, distinct from the checkpoint/app/railway/supabase/vercel siblings, though it does not name a sibling to differentiate against because none is close.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, no alternatives named. The phrase 'addressed to the signed-in account' hints at a precondition but is not framed as guidance (e.g., what to do if the invitation was sent to another address, or how to list pending invitations first).

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

beon_adopt_app_productionB
Destructive
Inspect

Record an existing current production deployment after exact account/project/Git branch-head/routing and health checks. No provider writes. Uses normal native confirmation or an exact legacy one-use approval. Verify the saved release before using it as a production baseline.

NameRequiredDescriptionDefault
app_idYes
commit_shaYes
approval_idNo
deployment_idYes
expected_revisionYes
protected_deploymentNo

TDQS

B3.4/5.0
Behavior4/5

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

With annotations already declaring destructiveHint=true and openWorldHint=true, the description usefully adds that there are 'No provider writes', that exact account/project/branch-head/routing and health checks must pass first, and that either native confirmation or an exact legacy one-use approval is required. These are behavioral details beyond what the annotations provide, though the reversibility of the recorded adoption is not described.

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

Conciseness4/5

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

Four short, dense sentences that are front-loaded with the core action and then the preconditions. Every sentence carries substantive information, though the phrasing 'exact legacy one-use approval' and 'exact ... checks' is terse enough to be slightly opaque.

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

Completeness3/5

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

For a destructive, non-idempotent adoption operation with no output schema, the description covers preconditions and confirmation modes reasonably well. But with 0% parameter coverage and no output description, it leaves the agent uncertain about several required inputs and about what the recorded result contains.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry the burden for six parameters. It obliquely gestures at account/project/branch-head (app_id, commit_sha) and the 'one-use approval' (approval_id), but says nothing about expected_revision, deployment_id, or protected_deployment, which are required or meaningful inputs.

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

Purpose4/5

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

The description states a specific verb and resource: 'Record an existing current production deployment.' It also names the preconditions (account/project/Git branch-head/routing and health checks), so the agent understands the scope of the operation. It does not explicitly distinguish itself from close siblings like beon_verify_app_release or beon_reconcile_app_release.

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

Usage Guidelines3/5

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

It implies the tool is used to establish a production baseline ('before using it as a production baseline') and mentions confirmation pathways, giving some context. However, it never states when to prefer this over sibling tools such as reconcile or verify, 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.

beon_create_app_checkpointB
Destructive
Inspect

Save a named checkpoint of an exact source commit after authorized provider metadata inspection. Supply current app revision, branch head (null initially) and a stable request_id. Description must summarize work without secrets or private conversation. No backup purchased or provider write.

NameRequiredDescriptionDefault
app_idYes
branchNomain
task_refsNo
commit_shaYes
release_idNo
request_idYes
descriptionYes
environmentYes
expected_head_idYes
expected_revisionYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveness, open-world access, and non-idempotency, so the bar is lower. The description does add real behavioral context beyond them — that a provider metadata inspection must be authorized, that request_id must be stable, that the description field must avoid secrets, and that no provider write/backup occurs. It still omits the effect of a revision mismatch and what a checkpoint actually captures.

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

Conciseness3/5

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

It is only three sentences and front-loads the save action, but the opening clause ('after authorized provider metadata inspection') is jargon-heavy and vague, and the parameter guidance is wedged into the middle rather than structured as an ordered list.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with 10 parameters, no output schema, and 0% schema coverage, the description is too thin. It does not explain conflict behavior, what the checkpoint stores, or how the many fields relate, leaving an agent likely to misuse it.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the description carries the full burden, yet it only touches expected_revision, expected_head_id ('branch head, null initially'), and request_id. Required fields such as app_id, environment, commit_sha, and description's semantics, plus optional branch/task_refs/release_id, are left entirely to the bare schema.

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

Purpose4/5

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

The description states a specific verb+resource ('Save a named checkpoint of an exact source commit'), which is clearly distinguishable from siblings like beon_pin_app_checkpoint or beon_prepare_app_checkpoint_restore. However, it never explicitly contrasts itself against those nearby tools, so an agent must infer the distinction.

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

Usage Guidelines3/5

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

It implies a precondition ('after authorized provider metadata inspection') and a boundary ('No backup purchased or provider write'), which hints at when it applies. But there is no explicit when-to-use/when-not guidance relative to the many checkpoint/prepare siblings, leaving usage largely inferred.

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

beon_create_app_checkpoint_branchB
Destructive
Inspect

Create an alternative checkpoint history from a prior version, preserving newer versions. Does not create a Git branch or change code/deployments. Use the returned branch explicitly in captures.

NameRequiredDescriptionDefault
nameYes
app_idYes
environmentYes
checkpoint_idYes
expected_revisionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, so safety-profile burden is largely covered. The description does add real context beyond that — newer versions are preserved and no code/deployment is affected — but it says nothing about reversibility, auth needs, or the meaning of expected_revision concurrency.

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

Conciseness4/5

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

Three tight sentences with the core action front-loaded and the Git-branch disclaimer placed early where it prevents the most likely misread. No filler, though the closing usage sentence is terse enough to be slightly cryptic.

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

Completeness3/5

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

For a destructive, non-idempotent mutation with no output schema and five undocumented required params, the description leaves meaningful gaps. It gestures at the return ('returned branch') which partially offsets the missing output schema, but the concurrency and environment semantics an agent needs to call it correctly are absent.

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

Parameters2/5

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

Schema description coverage is 0% across five required parameters, so the description must compensate but barely does. 'From a prior version' loosely maps to checkpoint_id and 'returned branch' hints at output, but name, environment (staging/production), and especially expected_revision (optimistic-concurrency token) get no explanation.

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

Purpose4/5

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

States a specific verb+resource ('Create an alternative checkpoint history from a prior version') and explicitly rules out confusion with Git branching ('Does not create a Git branch'), which helps distinguish it from cousins like supabase_create_branch. However, it never differentiates itself from the closest sibling, beon_create_app_checkpoint, so an agent still has to infer the boundary.

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

Usage Guidelines3/5

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

The line 'Use the returned branch explicitly in captures' gives a downstream usage hint, implying this tool is a setup step before capture operations. But there is no when-to-use/when-not guidance relative to beon_create_app_checkpoint or beon_pin_app_checkpoint, so selection among siblings remains implicit.

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

beon_create_autopilot_grantB
Destructive
Inspect

Create a BEON PASS standing authorization for this AI client. Does not override the host’s own confirmation settings. Wildcard tools include future tools. Private secret entry is always separate.

NameRequiredDescriptionDefault
toolsYes
durationNo7d
providerYes
resourcesYes
approval_idNo
connection_idNo
allow_high_impactNo

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare destructive/non-idempotent/openWorld, so safety is covered structurally. The description adds genuinely non-obvious behavior on top: wildcard tool entries extend to future tools, host confirmation settings are not overridden, and secret entry is handled elsewhere. That is real added context, though it says nothing about revocability or blast radius of a destructive grant.

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

Conciseness4/5

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

Four short, front-loaded sentences with no filler; the core action leads and caveats follow. Slightly clipped to the point of being telegraphic, but efficient.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with 7 undocumented parameters and no output schema, the description omits far too much: what a grant authorizes, duration semantics, what allow_high_impact changes, and how to revoke. The added caveats are helpful but insufficient.

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

Parameters2/5

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

Schema description coverage is 0% on 7 parameters, so the description carries the full burden and mostly fails. Only an indirect hint at the tools array (wildcards) is present; duration options, provider enum, approval_id vs connection_id, and especially allow_high_impact are never explained.

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

Purpose4/5

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

States a specific verb+resource: 'Create a BEON PASS standing authorization.' An agent can tell this creates a grant object, though 'standing authorization' is domain jargon and the description does not distinguish it from the sibling beon_update_autopilot_grant.

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

Usage Guidelines2/5

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

Two boundary statements ('Does not override the host's own confirmation settings', 'Private secret entry is always separate') clarify scope limits, but there is no when-to-use guidance, no mention of the update sibling, and no prerequisites for the approval_id/connection_id inputs.

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

beon_create_organizationAInspect

Create a BEON PASS organization owned by the signed-in person. Does not grant this AI client administration access.

NameRequiredDescriptionDefault
nameYes
slugYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnly=false, destructive=false, non-idempotent, open-world), so the bar is lower. The description adds two non-obvious facts not in those annotations: ownership is bound to the signed-in person and the creating AI client does not receive administration rights over the new org — a meaningful scope limit an agent would otherwise assume away.

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

Conciseness5/5

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

Two short sentences with zero filler. The action and its scope are stated first, and the access caveat follows immediately after.

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

Completeness3/5

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

For a two-parameter create tool with no output schema, the description covers the key permission trap but omits anything about slug semantics, what identifies the returned organization, or how a caller would subsequently act on 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.

Parameters2/5

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

Schema description coverage is 0%, so the description is the only place parameter meaning could live — and it says nothing about 'name' or 'slug'. The slug's format pattern, uniqueness expectation, and human-readable-vs-identifier distinction are left entirely unexplained.

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

Purpose5/5

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

Specific verb+resource: 'Create a BEON PASS organization', with the ownership scope spelled out ('owned by the signed-in person'). No sibling tool creates a BEON PASS organization, so the resource alone disambiguates it from supabase_create_project, railway_create_project, and vercel_create_project.

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

Usage Guidelines2/5

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

The description says what the tool does but never says when to reach for it, what must pre-exist (a signed-in person, a free slug), or how it relates to the many other create_* siblings. The only conditional content is a permission caveat, which is behavioral rather than usage guidance.

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

beon_pin_app_checkpointB
Destructive
Inspect

Pin or unpin a version in app history. Does not extend provider backup retention or grant recovery permission.

NameRequiredDescriptionDefault
app_idYes
pinnedYes
environmentYes
checkpoint_idYes
expected_revisionYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely non-obvious domain semantics beyond that: pinning is not a retention extension and not a recovery authorization. It still omits conflict/expected_revision behavior, but the added context is real.

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

Conciseness5/5

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

Two short sentences, front-loaded with the action and followed by the key constraint; no filler, no redundancy. Every sentence earns its place.

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

Completeness2/5

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

With 5 required params, 0% schema coverage, no output schema, and a destructive non-idempotent mutation, the description is too thin. An agent gets no guidance on the required revision/concurrency parameter, error conditions, or what the call returns.

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

Parameters2/5

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

Schema description coverage is 0% across 5 required parameters, so the description must compensate — and it largely does not. 'Pin or unpin' only weakly implies the `pinned` boolean; app_id, environment, checkpoint_id, and especially expected_revision (optimistic concurrency) go entirely unexplained.

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

Purpose4/5

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

States a specific verb pair and resource: 'Pin or unpin a version in app history.' This clearly distinguishes it from creation/restore siblings like beon_create_app_checkpoint or beon_prepare_app_checkpoint_restore, though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

The second sentence provides negative scoping (does not extend backup retention, does not grant recovery permission), which steers the agent away from treating this as a protection/recovery tool. However, there is no positive when-to-use guidance or explicit alternative named, leaving usage largely implied.

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

beon_prepare_app_checkpoint_restoreA
Destructive
Inspect

Prepare code-only restoration to isolated Preview from an exact checkpoint. Closed stateless fixture or independently pinned static-export recipe only; no Live change or data restore. Returns an existing release proposal, not execution authority.

NameRequiredDescriptionDefault
app_idYes
environmentYes
checkpoint_idYes
expected_revisionYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, non-idempotent and open-world, so the safety profile is covered. The description adds real value beyond that by clarifying the tool only prepares a proposal ('Returns an existing release proposal, not execution authority') and confines itself to preview code with 'no Live change or data restore'.

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

Conciseness4/5

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

Three tightly packed sentences with the core action front-loaded and zero filler. The density is effective, though the jargon ('closed stateless fixture', 'independently pinned static-export recipe') borders on cryptic.

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

Completeness3/5

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

For a destructive, non-idempotent mutation the description does cover scope, return semantics, and safety framing, and no output schema exists so return detail is minimal. However, with 0% schema coverage the unexplained expected_revision concurrency parameter leaves a gap an agent needs to call this correctly.

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

Parameters2/5

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

Schema description coverage is 0% across four required params. The description hints at checkpoint_id ('exact checkpoint') and environment ('Preview'), but never explains expected_revision (apparently an optimistic-concurrency token) or app_id, and adds no format or constraint guidance. This materially under-compensates for the coverage gap.

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

Purpose4/5

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

States a specific verb ('prepare ... restoration') and a precise resource/scope ('code-only restoration to isolated Preview from an exact checkpoint'). The narrowing clauses ('no Live change or data restore') help distinguish it from writing siblings like beon_create_app_checkpoint or beon_pin_app_checkpoint, though no sibling is named outright.

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

Usage Guidelines4/5

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

Gives genuine applicability constraints ('Closed stateless fixture or independently pinned static-export recipe only') and an exclusion ('no Live change or data restore'), which tells an agent both when this applies and when it does not. It stops short of routing to alternatives (undo/redo/release), so it falls below a 5.

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

beon_prepare_app_redoB
Destructive
Inspect

Prepare Redo to an explicitly selected direct child version in Preview. Ambiguous branches are never guessed; no newer history is erased. Closed stateless fixture or independently pinned static-export recipe only.

NameRequiredDescriptionDefault
app_idYes
environmentYes
checkpoint_idYes
expected_revisionYes
current_checkpoint_idYes

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare destructive=true, idempotent=false, and openWorld=true, so safety is partly covered. The description adds real behavioral context beyond them: ambiguity is never auto-resolved ("Ambiguous branches are never guessed") and redo does not discard newer history ("no newer history is erased"), which materially shapes agent expectations. It omits whether a follow-up commit/confirmation step is required.

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

Conciseness4/5

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

Three short, front-loaded sentences with no filler; the operation and its scope restriction are stated first. The dense, undefined jargon ("Prepare Redo", "pinned static-export recipe") costs some readability without adding length.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with five required parameters at 0% schema coverage and no output schema, the description is under-specified. It never explains the prepare/commit lifecycle (what a successful "prepare" produces or whether a second call is needed) nor the role of expected_revision, which an agent must understand to call this safely.

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

Parameters2/5

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

Schema description coverage is 0% across five required parameters, so the description carries the full burden and fails to explain any of them. app_id, environment, checkpoint_id, expected_revision (an optimistic-concurrency guard), and current_checkpoint_id are never mentioned or defined, even though the concurrency parameters are exactly where an agent would err.

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

Purpose4/5

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

The description names a specific operation ("Prepare Redo") and the target resource ("an explicitly selected direct child version in Preview"), so the agent can distinguish it from a generic restore. It does not explicitly contrast with the obvious sibling beon_prepare_app_undo, leaving the redo-vs-undo distinction to inference.

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

Usage Guidelines3/5

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

It states an applicability restriction ("Closed stateless fixture or independently pinned static-export recipe only") which is a genuine when-to-use condition. However, it names no alternative tool and gives no explicit when-not-to-use guidance relative to beon_prepare_app_undo or beon_prepare_app_checkpoint_restore.

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

beon_prepare_app_releaseA
Destructive
Inspect

inspect exact-commit source boundaries and record a code-only Git/Vercel proposal. Production requires an unchanged build/config/migration boundary against a verified same-environment baseline; first releases need separate review. Does not publish, copy credentials, or prove runtime data safety.

NameRequiredDescriptionDefault
app_idYes
commit_shaYes
environmentYes
migration_idsNo
expected_revisionYes
config_requirementsNo
previous_release_idNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations declare destructiveHint=true, openWorldHint=true, idempotentHint=false. The description adds valuable negative disclosures not in the annotations - it does not publish, does not copy credentials, does not prove runtime data safety - which tells the agent the blast radius is bounded to a recorded proposal, and it states the production baseline precondition.

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

Conciseness4/5

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

Three sentences, front-loaded with the core action, then preconditions, then explicit non-goals. Dense but every sentence earns its place; minor jargon cost does not justify penalizing structure.

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

Completeness3/5

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

For a destructive, non-idempotent, open-world mutation with no output schema and 7 undocumented parameters, the safety non-goals are a good start, but the description never explains the parameters, the expected response, or how 'record a proposal' relates to the later verify/reconcile/publish steps in the release lifecycle.

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

Parameters2/5

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

Seven parameters with 0% schema description coverage, and the description names none of them. 'exact-commit', 'build/config/migration boundary', and 'same-environment baseline' only obliquely gesture at commit_sha, config_requirements, migration_ids, and environment; app_id, expected_revision, and previous_release_id are entirely unexplained.

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

Purpose4/5

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

States a specific compound action: 'inspect exact-commit source boundaries and record a code-only Git/Vercel proposal.' This distinguishes it from publishing/deploying siblings, though the jargon ('source boundaries', 'code-only proposal') makes the exact output object ambiguous for an agent unfamiliar with BEON's model.

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

Usage Guidelines4/5

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

Gives real conditions: production requires an unchanged build/config/migration boundary against a verified same-environment baseline, and first releases need separate review. It does not name direct sibling alternatives (e.g. reconcile/verify), but the production-vs-first-release gating is concrete usage guidance.

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

beon_prepare_app_undoB
Destructive
Inspect

Prepare Undo to the exact parent checkpoint in Preview, preserving all newer history. Closed stateless fixture or independently pinned static-export recipe only; publishing still uses the existing separately authorized deployment operation.

NameRequiredDescriptionDefault
app_idYes
environmentYes
checkpoint_idYes
expected_revisionYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotentHint=false, but the description adds the non-obvious behavioral trait that newer history is preserved, and that this is a 'Prepare' (staging) step rather than the authorized publish. That materially refines the destructive semantics the annotations alone would imply.

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

Conciseness4/5

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

Two sentences, front-loaded with the action and its scope before the restriction and the publishing caveat. The jargon is dense but every clause carries information; little is wasted.

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

Completeness3/5

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

For a destructive mutation with four required parameters and no output schema, the description covers the what and the when but leaves all parameter meaning unexplained and does not clarify the staged/preview result. Annotations carry the safety profile, which keeps this at a minimum-viable 3 rather than lower.

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

Parameters2/5

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

Schema description coverage is 0% across four required parameters (app_id, environment, checkpoint_id, expected_revision). The description names none of them and explains no semantics such as what expected_revision guards against or what checkpoint_id refers to, so it does not compensate for the schema gap.

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

Purpose4/5

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

States a specific verb ('Prepare Undo'), a resource (parent checkpoint), and a scope ('in Preview'), with the key qualifier 'preserving all newer history'. It implicitly contrasts with the redo sibling via the word 'Undo', but never names an alternative, so it stops short of a clean 5.

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

Usage Guidelines3/5

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

It gives a usage restriction ('Closed stateless fixture or independently pinned static-export recipe only') and a routing hint ('publishing still uses the existing separately authorized deployment operation'). However the restriction is opaque jargon and no sibling (e.g. beon_prepare_app_checkpoint_restore, beon_prepare_app_redo) is named, so an agent must infer which case applies.

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

beon_publish_custom_toolsB
Destructive
Inspect

Publish exact tested definitions for selected AI access. Returns a secure human review request. Idempotent request_id; credentials entered privately.

NameRequiredDescriptionDefault
toolsYes
revisionYes
request_idYesGenerate once per exact request; reuse unchanged after a timeout.
connection_idYes
organization_idYesExact organization wallet, or null for personal.

TDQS

B3.3/5.0
Behavior4/5

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

Beyond the annotations it adds real behavioral context: the call does not go live immediately but issues a secure human review request (which mitigates the flagged destructiveHint), the request_id enables safe retry, and credentials are entered out-of-band rather than in the call. It still does not say what state changes upon approval, keeping it below 5.

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

Conciseness4/5

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

Three tight clauses with the action and its outcome front-loaded and no filler. The telegraphic fragments leave some ambiguity (e.g. 'credentials entered privately'), but the sizing is appropriate.

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

Completeness2/5

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

For a 5-required-parameter, nested-array, destructive publishing tool with no output schema, the description is thin: it never explains revision semantics, the fingerprint requirement, or how the review request resolves. An agent can identify the tool but not invoke it confidently.

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

Parameters2/5

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

Schema coverage is only 40% (request_id and organization_id carry descriptions), so the description must compensate for revision, connection_id and the nested tools[].id/fingerprint. The lone hint about request_id merely restates the schema's own description; nothing explains what revision or fingerprint must be.

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

Purpose4/5

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

States a specific verb+resource ('Publish exact tested definitions') and the audience scope ('for selected AI access'), clearly separable from beon_test_custom_tool and beon_register_custom_tool. It does not explicitly name which sibling to use instead, so it stops short of 5.

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

Usage Guidelines3/5

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

'exact tested definitions' implies this is the step after testing, and 'Returns a secure human review request' implies it is a submission-for-approval action, but no condition or alternative is stated. Usage is only inferable, not spelled out.

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

beon_reconcile_app_releaseA
Destructive
Inspect

Reconcile an uncertain original deployment using fresh exact provider source and signed attempt evidence. No deployment retry or provider write. Incomplete, absent, duplicate or still-building evidence keeps the app locked.

NameRequiredDescriptionDefault
app_idYes
release_idYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds real value beyond them: it explicitly disclaims a deployment retry or provider write, and it discloses the failure mode that 'incomplete, absent, duplicate or still-building evidence keeps the app locked'. It does not say what 'reconcile' mutates locally or whether the operation can be reversed.

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

Conciseness5/5

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

Three short sentences, front-loaded with the operation and its scope, followed by the write-scope exclusion and the failure condition. No filler; every clause carries information.

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

Completeness3/5

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

For a non-idempotent, destructive mutation with no output schema, the description covers intent, write scope, and lock outcome but omits what the tool actually changes, what it returns, and whether the caller needs elevated permissions. Adequate minimum but with clear gaps.

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

Parameters2/5

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

Schema description coverage is 0% and the description never mentions app_id or release_id, so neither parameter gains any meaning from the prose. With two required, entirely undocumented parameters, the description fails to compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb ('Reconcile') against a specific resource ('an uncertain original deployment') and qualifies the inputs used ('fresh exact provider source and signed attempt evidence'). It is distinguishable from siblings like beon_verify_app_release or beon_prepare_app_release, though the term 'reconcile' remains domain jargon without a plain-language gloss.

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

Usage Guidelines3/5

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

The 'No deployment retry or provider write' clause implicitly tells the agent when this tool is NOT the right call and steers it away from retry/write siblings. However, it never states the positive trigger condition (e.g., 'use after an interrupted deploy when the lock state is uncertain') nor names a specific alternative tool.

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

beon_register_custom_toolB
Destructive
Inspect

Register a deployed HTTPS MCP server. Returns a secure human review request. Idempotent request_id; credentials entered privately.

NameRequiredDescriptionDefault
urlYes
authNonone
labelYes
protocolNo2025-03-26
request_idYesGenerate once per exact request; reuse unchanged after a timeout.
organization_idYesExact organization wallet, or null for personal.

TDQS

B3.2/5.0
Behavior3/5

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

The description adds real context beyond the annotations: registration triggers a human review request rather than immediate activation, and credentials are never passed through this call. That softens the annotated destructiveHint=true. However, it never explains the review outcome, timing, or what happens if review is rejected, and the 'idempotent request_id' phrasing sits in tension with idempotentHint=false.

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

Conciseness4/5

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

Three short, front-loaded sentences with no filler; the core action leads. The telegraphic style ('Idempotent request_id') is efficient but slightly clipped for an agent parsing semantics.

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

Completeness3/5

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

For a destructive, 6-parameter registration tool with no output schema and 33% coverage, the description covers the review-flow outcome but omits the response shape, approval path, and the meaning of half the parameters. Adequate to start but not complete enough to predict the result.

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

Parameters3/5

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

Schema coverage is only 33%, so the description should compensate more. It does constrain url (deployed HTTPS) and clarifies the auth flow ('credentials entered privately') and request_id reuse, but it says nothing about organization_id (personal vs org wallet), label, or the protocol enum, which remain locked in the schema.

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

Purpose4/5

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

A specific verb+resource: registers a deployed HTTPS MCP server. It is clearly distinct from mutation siblings like beon_update_custom_tool or beon_remove_custom_tool, but it never positions itself against beon_test_custom_tool or beon_publish_custom_tools, which are the nearest neighbours in the workflow.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance and no named alternative. An agent must infer from 'Returns a secure human review request' that registration is a pre-publication step, but nothing states prerequisites, ordering, or what to do if the server is already registered.

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

beon_remove_custom_toolA
Destructive
Inspect

Remove BYOT registration and access; does not delete hosting. Returns a secure human review request. Idempotent request_id; credentials entered privately.

NameRequiredDescriptionDefault
revisionYes
request_idYesGenerate once per exact request; reuse unchanged after a timeout.
connection_idYes
organization_idYesExact organization wallet, or null for personal.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, but the description adds real context beyond them: the operation does not delete hosting, it returns a human review request (i.e., not immediate execution), and credentials are entered privately. It does not explain the review/approval lifecycle or required permissions, but it meaningfully enriches the safety picture.

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

Conciseness5/5

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

Three front-loaded clauses with the core action first, then the scope boundary, then the return/security behavior. Every clause carries distinct information and there is no filler.

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

Completeness4/5

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

For a destructive, open-world mutation with no output schema, the description covers the action, its scope limit, the human-review return path, and credential handling. It is largely complete, though it omits permission requirements and the exact meaning/format of revision and connection_id.

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

Parameters2/5

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

Schema description coverage is 50%: request_id and organization_id are documented in the schema, while connection_id and revision are not. The description's only parameter reference ('Idempotent request_id') merely restates what the schema already says, so it does not compensate for the undocumented parameters.

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

Purpose4/5

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

The description states a specific verb+resource ('Remove BYOT registration and access') and immediately bounds the scope with 'does not delete hosting'. This clearly positions it against register/update custom-tool siblings, though it never names them explicitly, so it stops short of full sibling differentiation.

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

Usage Guidelines3/5

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

Usage is only implied: the verb tells the agent it is used to tear down a BYOT registration, and 'does not delete hosting' implies when it is NOT appropriate. There is no explicit when-to-use, prerequisite, or named alternative against beon_register_custom_tool / beon_update_custom_tool.

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

beon_save_appB
Destructive
Inspect

create or update persistent app metadata with optimistic concurrency. Reuses wallet membership and permissions; never grants provider access.

NameRequiredDescriptionDefault
app_idNo
contextYes
organization_idNo
expected_revisionNo

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare the safety profile (destructiveHint=true, idempotentHint=false, readOnlyHint=false, openWorldHint=true). The description adds meaningful context beyond that: it specifies optimistic concurrency, says wallet membership and permissions are reused, and explicitly notes that provider access is never granted. It stops short of describing what gets destroyed or what the return behavior looks like.

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

Conciseness5/5

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

The description is two tight sentences, front-loaded with the core operation and followed by the most important behavioral constraints. There is no filler or repetition.

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

Completeness2/5

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

For a destructive create/update tool with four parameters, zero schema descriptions, and no output schema, the definition is too thin. It lacks parameter explanations and usage conditions, leaving an agent with significant uncertainty about how to call it correctly.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain any of the four parameters directly. 'Optimistic concurrency' faintly gestures at expected_revision, but app_id, context, and organization_id remain semantically undocumented.

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

Purpose4/5

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

The description states a clear verb+resource: 'create or update persistent app metadata.' It also adds a differentiating technical constraint, 'optimistic concurrency,' but does not explicitly distinguish this tool from nearby siblings such as checkpoint or release preparation tools.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no alternatives named, and no conditions under which this tool should be selected over sibling app-management tools. The description mentions permission behavior but not invocation context.

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

beon_test_custom_toolC
Destructive
Inspect

Test an exact tool with approved input and expected output. Returns a secure human review request. Idempotent request_id; credentials entered privately.

NameRequiredDescriptionDefault
inputYes
tool_idYes
revisionYes
request_idYesGenerate once per exact request; reuse unchanged after a timeout.
fingerprintYes
connection_idYes
organization_idYesExact organization wallet, or null for personal.
expected_structured_outputYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=true, and idempotentHint=false, so the safety profile is largely covered. The description adds genuinely new context (a human review request is produced; credentials are entered privately), but the phrase 'Idempotent request_id' sits oddly against idempotentHint=false and is not reconciled, and no retry/review-turnaround behavior is described.

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

Conciseness4/5

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

Three short sentences with no filler, and the most important fact (it returns a review request, not a result) is front-loaded alongside the core action. It errs toward under-specification rather than verbosity.

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

Completeness2/5

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

This is an 8-required-parameter, no-output-schema tool in a human-review workflow, and the description says nothing about the review lifecycle, what happens after submission, how to poll for the decision, or what fingerprint/revision must match. For a destructive, open-world operation with low schema coverage, this is materially incomplete.

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

Parameters2/5

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

Only 2 of 8 parameters (25% coverage) carry schema descriptions, so the description is expected to compensate and largely does not. 'Approved input and expected output' loosely maps to the input and expected_structured_output params, but tool_id, revision, fingerprint, and connection_id are unexplained in both the schema and the description.

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

Purpose4/5

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

The description states a concrete action (test an exact tool with approved input and expected output) and then clarifies the actual output shape: a secure human review request rather than an immediate execution result. That second sentence is what makes the purpose distinguishable from the sibling register/update/publish custom-tool tools, though the phrase 'exact tool' is idiosyncratic and the sibling relationship is never named.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus beon_register_custom_tool, beon_update_custom_tool, or beon_publish_custom_tools, and no prerequisites (e.g., tool must already be registered) are given. The agent must infer usage entirely from the name.

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

beon_update_autopilot_grantB
Destructive
Inspect

Replace this AI client’s standing authorization with the exact supplied policy. Does not override host confirmation settings.

NameRequiredDescriptionDefault
toolsYes
durationNo7d
grant_idYes
providerYes
resourcesYes
approval_idNo
connection_idNo
allow_high_impactNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds real value beyond that: it clarifies the whole policy is replaced rather than patched, and that host confirmation settings are out of scope for this call.

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

Conciseness4/5

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

Two tight sentences with the replacement semantics front-loaded and the scoping caveat second. Nothing is wasted, though the caveat sentence is a minor tangent relative to the unexplained parameters.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with eight parameters and no output schema, the description is too thin. It should at minimum characterize the required policy inputs (tools, resources, provider) and the role of approval_id/connection_id, none of which is addressed.

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

Parameters2/5

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

Eight parameters at 0% schema description coverage, and the description never mentions any of them. It gestures at 'policy' without explaining that tools/resources/provider define it, and says nothing about duration, approval_id, connection_id, or allow_high_impact, leaving an agent to guess from names alone.

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

Purpose4/5

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

States a specific verb and resource: 'Replace this AI client's standing authorization' plus the replacement scope ('with the exact supplied policy'). This reads clearly as the update counterpart to beon_create_autopilot_grant, though it never names that sibling to sharpen the distinction.

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

Usage Guidelines3/5

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

The word 'Replace' implies full-overwrite semantics rather than a merge, which is useful context, but there is no explicit when-to-use statement or routing to the alternatives (beon_create_autopilot_grant, beon_accept_invitation). Usage is inferable, not stated.

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

beon_update_custom_toolC
Destructive
Inspect

Rediscover a deployed update; changed definitions lose access. Returns a secure human review request. Idempotent request_id; credentials entered privately.

NameRequiredDescriptionDefault
revisionYes
request_idYesGenerate once per exact request; reuse unchanged after a timeout.
connection_idYes
organization_idYesExact organization wallet, or null for personal.

TDQS

C2.3/5.0
Behavior3/5

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

Annotations already establish destructiveHint=true and openWorldHint=true, so safety is partly covered. The description adds genuinely useful context beyond them: it returns a human review request and credentials are entered privately, clarifying this is a gated/approval flow. It still omits what state is destroyed by a "changed definition" and what permissions are required.

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

Conciseness3/5

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

It is short and telegraphic, with no wasted words, but the terseness crosses into under-specification rather than economical clarity. The fragments are not ordered into a useful purpose-then-usage progression an agent can act on.

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

Completeness2/5

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

This is a destructive, open-world mutation with no output schema, four required params, and no annotation narrative; the description should carry more weight. It says a review request is returned but omits prerequisites, permission requirements, and what specifically changes, leaving an agent unable to call it confidently.

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

Parameters2/5

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

With only 50% schema description coverage, revision and connection_id are undocumented in both schema and description. The one param note ("Idempotent request_id") merely restates the schema's own request_id description rather than adding meaning, and "credentials entered privately" does not map to any declared parameter.

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

Purpose2/5

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

"Rediscover a deployed update" is opaque and metaphorical; it never states that the resource is a custom tool definition or what aspect of it is being updated. The name/annotations carry more meaning than the description does, and an agent cannot distinguish this from beon_register_custom_tool or beon_publish_custom_tools on the text alone.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no sibling alternative is named. The phrase "changed definitions lose access" gestures at a condition but is too cryptic to route the agent, leaving usage entirely to inference.

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

beon_verify_app_releaseB
Destructive
Inspect

verify the exact deployment, project and health commit. Optional protected_preview (staging) or protected_deployment (exact lifecycle-enabled deployment) uses one-use encrypted private input for a Vercel automation bypass secret, never a secret tool argument. Stores limited evidence; does not prove all app behavior or database recovery.

NameRequiredDescriptionDefault
app_idYes
release_idYes
approval_idNo
protected_previewNo
protected_deploymentNo

TDQS

B3.2/5.0
Behavior4/5

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

With annotations already declaring openWorld and destructive hints, the description adds meaningfully: the bypass secret arrives through a one-use encrypted private input rather than a tool argument, evidence storage is limited, and it explicitly disclaims proving all app behavior or database recovery. It does not explain what makes the operation destructive, but the secret-handling and scope-limit disclosures are substantive context 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.

Conciseness4/5

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

Three sentences, front-loaded with the core action and with no filler. The middle sentence is dense and the phrasing is slightly awkward, but every sentence contributes a distinct fact (scope, secret channel, limitations).

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

Completeness3/5

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

For a security-sensitive, non-idempotent operation with no output schema and 0% parameter coverage, the description covers the distinctive secret mechanism and states its own limitations, which is the most valuable content. It still omits what evidence is returned, the role of approval_id, and why the call is flagged destructive.

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

Parameters2/5

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

Schema description coverage is 0% across five parameters, so the description must carry the load. It explains protected_preview and protected_deployment and how the bypass secret is supplied, but says nothing about app_id, release_id, or approval_id — the required pair and the approval gate are left entirely to the raw schema.

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

Purpose3/5

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

"Verify the exact deployment, project and health commit" gives a verb plus resources, but the object of verification is grammatically muddled and it never distinguishes itself from the adjacent siblings beon_prepare_app_release and beon_reconcile_app_release. An agent can infer it is a verification step for a release, but not how it differs from the prepare/reconcile pair.

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

Usage Guidelines3/5

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

It does explain the conditional use of the optional flags — protected_preview for staging, protected_deployment for an exact lifecycle-enabled deployment — which is genuine when-to-use guidance. However, there is no guidance on when verification is required, when it should be skipped, or which sibling to pick instead.

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

railway_cancel_deploymentC
Destructive
Inspect

Cancel a deployment. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful context beyond that: an external approval gate via BEON PASS. It does not, however, explain what cancel does semantically (e.g., whether an in-progress build is aborted) or any failure modes.

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

Conciseness4/5

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

Two short, front-loaded sentences with the core verb-resource statement first and the approval prerequisite second; no wasted wording. It is slightly cryptic about the undefined term 'BEON PASS', which keeps it from a 5.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with 8 undocumented parameters, no output schema, and only one required field, the description is thin. The approval gate is the one substantive addition; there is no guidance on parameter usage, expected result, or what happens on failure.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters with only 1 required, and the description adds no parameter meaning at all. The mention of 'BEON PASS' faintly hints at the purpose of the beon_* fields, but the required 'id', the approval_id, and the enum-constrained beon_environment/beon_connection_id remain entirely unexplained.

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

Purpose4/5

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

States a clear verb+resource ('Cancel a deployment'). It distinguishes from write operations like railway_create_* and railway_delete_project, but does not differentiate from the closely related siblings railway_stop_deployment, railway_restart_deployment, and railway_rollback_deployment, which an agent will need to tell apart.

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

Usage Guidelines2/5

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

It gives a precondition ('Requires exact user approval in BEON PASS') but no when-to-use guidance and no contrast against the obvious alternatives (stop, restart, rollback, delete). An agent cannot infer from this whether 'cancel' is preferred over 'stop' for an in-flight deployment.

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

railway_commit_staged_changesB
Destructive
Inspect

Apply the provider’s current staged changes. Can modify production and deploy services; review staged changes in Railway first.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
skipDeploysNo
beon_contextNo
commitMessageYes
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds genuine value beyond that by warning it 'can modify production and deploy services,' which is material impact context. It omits any mention of the approval_id workflow or permissions the schema implies.

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

Conciseness5/5

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

Two tight sentences, no filler, with the action and its risk front-loaded. Every clause earns its place.

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

Completeness2/5

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

This is a destructive, production-affecting mutation with 10 parameters, an approval mechanism, and no output schema, yet the description explains almost none of the operational surface. Given the complexity and the 0% schema coverage, the description is far too thin to call the tool correctly and safely.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the description carries the full burden and largely fails it. Only 'deploy services' loosely gestures at skipDeploys; environmentId, commitMessage, approval_id, and the beon_* parameters go unexplained in both description and schema.

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

Purpose4/5

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

States a specific verb and resource: 'Apply the provider's current staged changes,' which an agent can distinguish from read-only siblings. It does not explicitly name railway_inspect_staged_changes as the counter-tool, only hinting at reviewing first, so differentiation is implied rather than stated.

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

Usage Guidelines3/5

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

'review staged changes in Railway first' implies a prerequisite step before committing, which is useful context. However it never names the alternative tool (railway_inspect_staged_changes) or states when-not to use this, leaving the routing to inference.

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

railway_configure_serviceB
Destructive
Inspect

Update service build/deploy settings for an environment. Changes may restart production. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
inputYes
serviceIdYes
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=true. The description adds meaningful behavioral context beyond those annotations: changes may restart production, and the operation requires exact user approval in BEON PASS. It does not, however, explain approval mechanics, permission requirements, or reversibility.

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

Conciseness5/5

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

Two short sentences with no wasted wording. The purpose is front-loaded, followed immediately by the production-restart risk and approval requirement.

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

Completeness3/5

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

For a destructive, non-idempotent mutation tool with 10 undocumented parameters and no output schema, the description is minimally adequate but incomplete. It conveys the production risk and approval gate, which are critical, but it omits parameter semantics and any routing guidance relative to read or other configuration tools.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, including a nested input object with five build/deploy fields. The description only gestures at 'build/deploy settings' and does not explain required IDs, approval fields, or the individual nested fields such as numReplicas, buildCommand, or startCommand.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Update service build/deploy settings for an environment.' This distinguishes it from read-oriented siblings like railway_get_service_configuration and from other mutation tools, but it does not name an alternative or explicitly contrast with them.

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

Usage Guidelines2/5

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

It gives no explicit when-to-use, when-not-to-use, or alternative routing guidance. An agent must infer that this is the tool for changing existing service configuration by reading the verb 'Update' and the scope 'for an environment.'

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

railway_create_custom_domainC
Destructive
Inspect

Attach a custom domain to a service environment. Can affect live routing.

NameRequiredDescriptionDefault
domainYes
projectIdYes
serviceIdYes
targetPortNo
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the risk profile is known. The description adds genuinely useful value with 'Can affect live routing', a concrete impact warning not captured by annotations. However, it omits whether DNS/verification is required, whether the domain must already be owned, and what happens on the live service during propagation.

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

Conciseness4/5

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

Two short sentences, front-loaded with the action and immediately followed by the impact warning. Nothing is wasted, though the extreme brevity is under-specification rather than true tightness.

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

Completeness2/5

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

For a 12-parameter mutation tool with no output schema and 0% schema description coverage, the description is far too thin. An agent gets no guidance on required versus optional fields, port targeting, or domain verification, all of which materially affect a successful call to a destructive, non-idempotent operation.

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

Parameters2/5

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

Schema description coverage is 0% across 12 parameters, and the description names no parameters at all. The four required identifiers (projectId, environmentId, serviceId, domain), targetPort, and the non-obvious approval_id/beon_* fields are left entirely unexplained, so the description does nothing to compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb ('Attach') and resource ('custom domain') with the scope ('to a service environment'), which is clear and distinguishable from write siblings like railway_create_service_domain. It stops short of explicitly contrasting with that near-identical sibling, so no sibling differentiation credit beyond the resource wording.

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

Usage Guidelines2/5

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

No when-to-use, prerequisites, or alternative guidance is given. With siblings such as railway_create_service_domain and railway_delete_custom_domain in the same namespace, the description never says which one applies or when this should be chosen over them.

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

railway_create_environmentBInspect

Create an environment, optionally cloning configuration. Initial deployments are skipped. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
nameYes
projectIdYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo
sourceEnvironmentIdNo

TDQS

B3.1/5.0
Behavior4/5

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

Adds real traits beyond the annotations: optional configuration cloning via a source environment, the fact that initial deployments are skipped, and an approval gate in BEON PASS. Annotations already cover the safety profile (write, non-destructive, non-idempotent, open-world), so this is meaningful added context.

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

Conciseness4/5

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

Three tight sentences with the core purpose front-loaded and no filler. Every sentence contributes a distinct fact (creation, cloning option, skipped deployments, approval requirement).

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

Completeness2/5

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

For a 10-parameter mutation tool with 0% schema coverage and no output schema, the description is thin. It never explains the beon_* context fields, the approval_id mechanism, or what a cloned configuration actually includes, leaving the agent under-informed for invocation.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the description carries the burden and largely fails. 'Optionally cloning configuration' loosely maps to sourceEnvironmentId and the approval note loosely maps to approval_id, but the beon_* context parameters remain entirely unexplained in both schema and description.

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

Purpose4/5

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

States a clear verb+resource ('Create an environment') and adds distinguishing scope: optional config cloning and that initial deployments are skipped. The name and description naturally separate it from railway_delete_environment and railway_list_environments, though no sibling is explicitly named.

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

Usage Guidelines2/5

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

No guidance on when to choose this over railway_create_project or other setup steps, and no alternatives named. The only prerequisite mentioned ('Requires exact user approval in BEON PASS') is a gating condition rather than usage-selection guidance.

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

railway_create_projectAInspect

Create a private Railway project in a selected workspace. May incur usage charges. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
nameYes
approval_idNo
beon_app_idNo
descriptionNo
workspaceIdYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false, openWorld=true, so the safety profile is partly covered. The description adds genuinely new context: the operation 'May incur usage charges' and requires explicit BEON PASS user approval. Those are consequential side effects and an auth gate not derivable from annotations. It stops short of saying what happens on repeat calls (non-idempotent) or what is returned.

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

Conciseness5/5

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

Three short sentences, each earning its place: purpose first, then the cost warning, then the approval gate. No filler and the most decision-relevant facts are front-loaded.

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

Completeness3/5

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

Covers purpose, cost, and the approval requirement, which is good for a mutation tool whose annotations already carry the safety hints and which has no output schema to explain. However, for a 10-parameter tool with 0% schema coverage it leaves the approval_id and beon_* parameters entirely unexplained, so an agent cannot confidently construct a valid call.

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

Parameters2/5

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

Schema description coverage is 0% and the description documents no parameters beyond loosely implying a workspace and a name. Eight of ten parameters — approval_id, beon_app_id, beon_context, beon_resume_id, beon_release_id, beon_environment, beon_connection_id, description — are undocumented in both schema and description. With this coverage gap the description should compensate but does not, so it scores below the baseline.

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

Purpose4/5

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

States a specific verb and resource ('Create a private Railway project') plus the scoping requirement ('in a selected workspace'). An agent can distinguish it from read/delete siblings like railway_get_project or railway_delete_project. It does not explicitly differentiate from the analogous supabase_create_project / vercel_create_project tools, but the name prefix carries that.

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

Usage Guidelines3/5

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

Gives one real precondition — 'Requires exact user approval in BEON PASS' — which tells the agent when the call will succeed. It offers no guidance on when to choose this over alternatives, no exclusions, and no mention of prerequisites like needing a valid workspaceId from railway_list_workspaces.

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

railway_create_serviceAInspect

Create a Railway service from a repository or public container image. May trigger deployment and charges. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
nameYes
sourceNo
projectIdYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already convey non-readOnly, openWorld, non-idempotent, non-destructive. The description adds genuinely new context on top: that creation may kick off a deployment and incur charges, and that a BEON PASS approval is mandatory. It doesn't explain approval expiry or what the service state looks like after the call, so it stops short of 5.

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

Conciseness5/5

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

Three short sentences, front-loaded with the action, then the risk, then the gate. Nothing is redundant and no sentence can be dropped without losing signal.

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

Completeness3/5

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

For a 10-parameter mutation with no output schema, the description covers purpose, cost exposure, and the approval prerequisite well. It does not cover the BEON PASS workflow that most of the parameters imply, nor the relationship among the required projectId and name, so an agent still cannot confidently fill the schema.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the description carries the full burden. It hints at source.repo/source.image ('from a repository or public container image') and at approval_id ('Requires exact user approval'), but the seven other beon_* parameters (context, resume/release ids, environment enum, connection id) and the projectId/name distinction are entirely undocumented.

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

Purpose4/5

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

States a specific verb and resource ('Create a Railway service') plus the two source types (repository or public container image), which the sibling names alone don't reveal. It is distinguishable from railway_create_project and railway_create_environment by the 'service' noun, though it 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.

Usage Guidelines3/5

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

It discloses two important conditions ('May trigger deployment and charges', 'Requires exact user approval in BEON PASS'), which is real guidance about consequences. However, it gives no when-to-use vs when-not framing relative to siblings such as railway_deploy_service or railway_configure_service, leaving the routing decision to inference.

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

railway_create_service_domainC
Destructive
Inspect

Create a Railway generated public service domain.

NameRequiredDescriptionDefault
serviceIdYes
targetPortNo
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the safety profile is covered. The description adds nothing about permanence, permission requirements, whether an existing domain is replaced, or the approval_id workflow — meaningful gaps for a destructive create in an open-world environment. It does not contradict annotations.

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

Conciseness3/5

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

One short, front-loaded sentence with no waste, but its brevity reflects under-specification rather than efficient information density.

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

Completeness2/5

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

A 10-parameter destructive create tool with no output schema and no parameter documentation cannot be called correctly from this description alone. It should at minimum explain serviceId/environmentId/targetPort and the approval flow.

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

Parameters1/5

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

Ten parameters with 0% schema description coverage, and the description mentions none of them. Critical inputs like targetPort, approval_id, and the beon_* metadata fields are completely unexplained in both schema and description, leaving the agent unable to supply them correctly.

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

Purpose4/5

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

States a specific verb and resource (create a Railway-generated public service domain). The word 'generated' implicitly distinguishes it from railway_create_custom_domain, though it never names that sibling explicitly.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the obvious alternative railway_create_custom_domain or railway_delete_service_domain. The agent must infer the generated-vs-custom distinction from a single adjective.

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

railway_create_volumeC
Destructive
Inspect

Create and attach persistent storage. Provider charges apply.

NameRequiredDescriptionDefault
mountPathYes
projectIdYes
serviceIdYes
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the dangerous profile is covered there. The description adds one genuinely useful piece of context not in annotations — "Provider charges apply" — alerting the agent to cost. However it omits whether an existing service is required, whether the mount point must be empty, and whether approval is needed.

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

Conciseness4/5

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

Two short, front-loaded sentences with no filler, and the core action leads. It is efficient, though arguably under-sized for a destructive 11-parameter operation.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with 11 mostly-undocumented parameters and no output schema, the description is far too thin. It gives no lifecycle context (what a volume attaches to, resulting persistence, cleanup via railway_delete_volume) and leaves the agent guessing at most inputs.

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

Parameters1/5

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

Schema description coverage is 0% across 11 parameters (4 required), and the description provides no parameter guidance whatsoever. The word "attach" faintly hints at mountPath, but projectId, environmentId, serviceId, and the beon_* parameters are entirely unexplained in both places.

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

Purpose4/5

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

"Create and attach persistent storage" gives a clear verb (create), resource (persistent storage/volume), and an extra action (attach). It distinguishes itself reasonably from sibling volume tools like railway_create_volume_backup or railway_rename_volume, though it never names them or clarifies the create-vs-attach combination.

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

Usage Guidelines2/5

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

There is no guidance on when to create a volume versus using an existing one, no mention of prerequisites (an existing project/environment/service), and no reference to alternatives such as railway_list_volumes or railway_update_volume_mount. Usage must be inferred entirely from the name.

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

railway_create_volume_backupBInspect

Create a persistent volume backup. Storage charges may apply.

NameRequiredDescriptionDefault
nameNo
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
volumeInstanceIdYes
beon_connection_idNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, and destructiveHint=false, so the safety/mutation profile is already covered. The description adds only 'Storage charges may apply,' a useful cost warning, but omits permissions, side effects on the volume, and backup lifecycle behavior.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core action and followed by a material caveat. No filler, and the cost note earns its place.

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

Completeness2/5

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

With 9 parameters, 0% schema description coverage, and no output schema, the description is too sparse to help an agent call the tool correctly. It gives purpose and cost but no parameter meaning or success/return context.

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

Parameters1/5

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

Schema description coverage is 0% across 9 parameters, and the description names none of them. It does not explain volumeInstanceId (the sole required parameter), the optional name, or the beon_* / approval_id fields, so it adds no semantic meaning beyond the schema.

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

Purpose5/5

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

States a specific verb ('Create') and resource ('persistent volume backup'), distinguishing it from sibling railway_create_volume and railway_restore_volume_backup. An agent can identify the operation without opening the schema.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as railway_list_volume_backups, railway_restore_volume_backup, or railway_lock_volume_backup. The only context is the cost caveat, which does not help selection.

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

railway_delete_custom_domainC
Destructive
Inspect

Remove a custom domain and interrupt its traffic.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, non-idempotent, and open-world, so the safety profile is covered. The phrase "interrupt its traffic" adds a real consequence beyond the annotations, but the description says nothing about immediacy, irreversibility, DNS record cleanup, or whether the domain can be re-added.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler, though it is arguably over-compressed for a destructive eight-parameter tool. Nothing is wasted, but nothing is expanded where it would help.

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

Completeness2/5

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

For a destructive mutation with no output schema, 0% schema description coverage, and an approval_id parameter hinting at an approval workflow, the description is far too thin. It never mentions the approval gate, the context parameters, or what happens to traffic on removal.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, and the description offers no parameter guidance at all. The required `id` and the seven optional beon_*/approval_id context parameters are left entirely for the agent to infer from names and patterns.

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

Purpose4/5

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

Uses a specific verb (Remove) with a specific resource (custom domain), which is clearly distinguishable from siblings such as railway_create_custom_domain, railway_delete_service_domain, and railway_delete_project. It stops short of clarifying whether the target is a project-scoped or service-scoped domain.

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

Usage Guidelines2/5

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

No statement of when to use this versus railway_delete_service_domain or the Supabase/Vercel domain-removal siblings, and no prerequisites or exclusions. The agent must infer usage purely from the tool name.

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

railway_delete_environmentC
Destructive
Inspect

Delete an environment and its deployments. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, but the description adds meaningful context beyond the structured safety hints: it discloses the cascade effect (deployments are deleted) and the approval gate. It does not cover irreversibility or permissions fully, but it earns credit for exposing destruction scope and auth workflow.

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

Conciseness4/5

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

Two short sentences, front-loaded with the core action and immediately followed by the critical prerequisite. No filler, though the phrase 'BEON PASS' is unexplained and the description is very sparse given the tool's complexity.

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

Completeness2/5

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

With no output schema and 0% schema parameter descriptions, the description should compensate by explaining how to supply 'id', 'approval_id', and the several beon_* parameters. It mentions approval in passing but does not map it to 'approval_id' or clarify the other required context fields, leaving significant gaps for a destructive, multi-parameter tool.

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

Parameters1/5

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

Schema description coverage is 0% across 8 parameters, including required 'id' and UI-related fields like 'approval_id' and 'beon_context'. The description does not explain any parameter's meaning, format, or role, leaving the agent without semantic guidance.

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

Purpose4/5

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

States a specific verb (Delete) and resource (environment), and clarifies that deployments are also removed. It does not explicitly differentiate from siblings like railway_delete_project or railway_delete_service, but the resource is unambiguous.

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

Usage Guidelines2/5

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

Only mentions the approval prerequisite ('Requires exact user approval in BEON PASS'). It gives no guidance on when to choose this tool versus alternatives, nor any exclusions or typical context for deletion.

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

railway_delete_projectB
Destructive
Inspect

Permanently delete a project and its resources. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is largely covered. The description adds real context beyond the annotations: the deletion is permanent and cascades to child resources, and it requires an out-of-band approval workflow. It does not, however, explain how the approval is obtained or how the approval_id parameter relates to that workflow.

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

Conciseness5/5

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

Two tight sentences, zero filler, with the destructive scope front-loaded ahead of the approval prerequisite. Nothing to trim.

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

Completeness2/5

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

For a destructive 8-parameter tool with 0% schema coverage and no output schema, this is thin. The agent learns the operation is permanent and needs approval but cannot tell from the description how to populate the approval and BEON context parameters required to actually invoke it successfully.

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

Parameters2/5

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

Schema coverage is 0% across 8 parameters, so the description carries the full explanatory burden and mostly fails it. It hints at the approval mechanism via 'exact user approval in BEON PASS', which loosely gestures at approval_id, but seven parameters (beon_app_id, beon_context, beon_resume_id, beon_release_id, beon_environment, beon_connection_id, approval_id) are left entirely unexplained.

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

Purpose4/5

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

States a specific verb (delete) and resource (project) plus the scope of impact ('and its resources'), which distinguishes it from railway_delete_service and railway_delete_environment. It stops short of explicitly naming those sibling alternatives, but the resource level alone makes the target unambiguous.

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

Usage Guidelines2/5

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

The description notes a prerequisite ('Requires exact user approval in BEON PASS') but offers no when-to-use guidance, no conditions that select this tool over the narrower delete_service/delete_environment siblings, and no warning about cascading deletions. Prerequisite information is present, but selection guidance is absent.

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

railway_delete_serviceA
Destructive
Inspect

Delete a service and all of its deployments. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description earns credit by adding what gets destroyed (all deployments, i.e. a cascade) and the BEON PASS approval workflow, which annotations do not convey.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the action and its scope, followed by the gating requirement. Every clause carries information and there is no filler.

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

Completeness3/5

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

For a destructive 8-parameter tool with no output schema, the description covers purpose, cascade impact and the approval prerequisite adequately, and annotations carry the safety signal. It remains incomplete on the beon_* parameter family and on whether deletion is recoverable, leaving gaps for an agent to call it confidently.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, so the description must compensate and largely fails to do so. It alludes to an approval step that maps loosely to approval_id, but the required id and the six beon_* parameters are left entirely unexplained.

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

Purpose4/5

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

States a specific verb and resource ('Delete a service') and adds the important scope detail that all deployments go with it. It does not explicitly contrast with siblings such as railway_delete_project or railway_delete_environment, so an agent must infer which deletion tool applies, but the cascade note already distinguishes it somewhat.

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

Usage Guidelines3/5

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

The description gives one real precondition ('Requires exact user approval in BEON PASS'), which is actionable context for invoking the tool. However it offers no when-to-use framing, no alternatives for the non-destructive paths, and no signal that this is irreversible beyond the approval gate.

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

railway_delete_service_domainC
Destructive
Inspect

Remove a Railway generated public domain.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only that the target is a 'generated' domain, which does not clarify what is destroyed, whether approval is required, or whether removal is reversible.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is appropriately sized, though its brevity reflects under-specification rather than disciplined editing.

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

Completeness2/5

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

For an 8-parameter destructive tool with no output schema, the description is too thin. It omits the approval workflow suggested by approval_id and says nothing about the beon_* context parameters an agent may need to supply.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, and the description explains none of them. It does not clarify that 'id' refers to the domain identifier, nor does it address approval_id or the beon_* plumbing parameters, so it fails to compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb (Remove) and resource (Railway generated public domain). The qualifier 'generated' implicitly distinguishes this from the sibling railway_delete_custom_domain, though that sibling is not named explicitly.

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

Usage Guidelines2/5

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

No indication of when to use this versus railway_delete_custom_domain, no prerequisites, and no mention of the approval flow implied by the approval_id parameter. The agent must infer usage entirely.

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

railway_delete_variableA
Destructive
Inspect

Delete a variable. This can trigger deployment and break applications. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
nameYes
projectIdYes
serviceIdNo
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false, but the description goes further by disclosing the downstream consequence ('can trigger deployment and break applications') and a required approval gate. This is genuine added context beyond the annotations, though it doesn't explain what the approval flow returns or whether the delete is reversible.

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

Conciseness5/5

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

Three short sentences, front-loaded with the action before the risk warnings. Every clause earns its place with no repetition of the name or title.

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

Completeness3/5

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

Covers the two critical facts an agent needs (destructive consequence, approval gate), which is important given no output schema. But with 11 parameters undocumented in both schema and description, and no clarification of how approval_id/beon_context are supplied, the definition is not complete for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% across 11 parameters, so the description carries the burden and largely fails it: no parameter is named, and the required approval_id, projectId, environmentId, and name are never mapped to the stated approval requirement. Only an oblique hint ('requires exact user approval') gestures at the approval parameter.

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

Purpose4/5

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

States a specific verb and resource ('Delete a variable'), which is unambiguous and clearly the inverse of the sibling railway_set_variable. However, it does not explicitly name that sibling or the read counterpart (railway_list_variable_names), so differentiation is inferred rather than stated.

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

Usage Guidelines3/5

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

Gives one hard precondition ('Requires exact user approval in BEON PASS') but no guidance on when to prefer this over updating a variable in place, nor which scope (environment vs service) to target. Usage context is implied rather than explained.

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

railway_delete_volumeB
Destructive
Inspect

Delete persistent storage. This can permanently destroy application data across environments.

NameRequiredDescriptionDefault
volumeIdYes
projectIdYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so safety is largely covered structurally. The description adds value by emphasizing permanence ('permanently destroy application data across environments'), but says nothing about auth requirements or the presence of an approval_id field, so the addition is modest.

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

Conciseness5/5

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

Two short sentences, the destructive consequence front-loaded, with zero filler. Appropriately sized for the message it needs to convey.

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

Completeness2/5

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

For a 9-parameter destructive mutation with no output schema, the description is thin: it omits parameter guidance, approval flow, and scope of impact beyond a general warning. Annotations cover the safety profile, but the rest of what an agent needs to call it correctly is missing.

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

Parameters2/5

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

Schema description coverage is 0% and the tool takes 9 parameters (only 2 required), yet the description explains none of them. It gives no hint about which identifiers are needed, nor what the approval_id and beon_* parameters are for.

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

Purpose4/5

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

States a specific verb and resource ('Delete persistent storage'), and the name identifies it as a volume operation. However, it uses the loose phrase 'persistent storage' rather than naming the volume, and it does not distinguish itself from the sibling railway_delete_volume_backup, leaving a small ambiguity about exactly what gets deleted.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives (delete_volume_backup, restore_volume_backup) or when not to. No prerequisites, no mention that a backup exists or should be taken first, and no context on which volume/environment is affected.

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

railway_delete_volume_backupC
Destructive
Inspect

Delete a volume backup permanently.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
volumeInstanceIdYes
beon_connection_idNo
volumeInstanceBackupIdYes

TDQS

C2.9/5.0
Behavior3/5

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

The destructiveHint=true and readOnlyHint=false annotations already tell the agent this is an irreversible write, so the bar is lower. The description's one contribution is the word 'permanently', which confirms non-recoverability but adds little beyond the annotation; it says nothing about the approval_id parameter's implied approval workflow, locked-backup behavior, 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.

Conciseness4/5

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

A single front-loaded sentence with no filler; the verb and the irreversible nature are stated first. It is efficient, though so terse that it borders on under-specification rather than crisp conciseness.

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

Completeness2/5

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

For a destructive, non-idempotent tool with 9 parameters, an unexplained approval_id, and no output schema, the description is far too thin. An agent cannot determine prerequisites (approval flow, locked backups), what identifiers are needed, or what happens on success from this text.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, so the description must compensate and does not. It never explains the difference between volumeInstanceId and volumeInstanceBackupId, nor the seven beon_* parameters (context, resume/release ids, environment enum, fixed connection id), leaving an agent guessing at what is required to invoke the tool.

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

Purpose4/5

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

States a specific verb and resource ('delete a volume backup'), which is unambiguous on its own. However, it does nothing to distinguish this from the several adjacent siblings such as railway_delete_volume, railway_lock_volume_backup, and railway_restore_volume_backup, all of which operate on the same volume-backup domain.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no named alternative (e.g. restore vs delete, or how to find a backup id via railway_list_volume_backups), and no preconditions such as whether a locked backup can be deleted. The agent is left to infer everything about context.

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

railway_deploy_serviceA
Destructive
Inspect

Deploy a service using its current commit, or an explicitly selected commit. May incur charges. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
commitShaNo
serviceIdYes
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: possible charges and a mandatory BEON PASS approval step, which tells the agent this is a gated, billable write. It still omits deployment lifecycle behavior (async completion, in-progress conflicts).

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

Conciseness5/5

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

Three short sentences, zero filler, and the commit-selection scope is front-loaded before the cost and approval constraints. Every sentence earns its place.

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

Completeness3/5

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

For a 10-parameter destructive mutation with no output schema, the description covers cost and approval prerequisites but leaves the bulk of the beon_* parameters and the return/result behavior undocumented. Adequate but with clear gaps.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the description must carry the load. It only clarifies commit selection (commitSha) and, indirectly via 'exact user approval', the approval_id/beon_* approval fields; the other parameters remain unexplained in both schema and description.

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

Purpose4/5

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

States a specific verb (deploy) and resource (a service) plus the commit-selection scope, which distinguishes it from siblings like railway_restart_deployment, railway_rollback_deployment, and vercel_create_deployment. It does not explicitly name an alternative tool, so it stops 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.

Usage Guidelines3/5

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

The description implies the context (deploying a service) and states a precondition ('Requires exact user approval in BEON PASS'), which is genuinely useful routing information. However, it never says when to prefer this over restart_deployment or rollback_deployment, 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.

railway_get_accountC
Read-onlyIdempotent
Inspect

Identify the connected Railway user.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no note on auth/connection requirements, no indication of what happens if no account is connected, and no behavioral context the annotations don't already carry.

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

Conciseness4/5

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

A single front-loaded sentence with no filler or redundancy. It is tight, though the brevity edges into under-specification rather than deliberate economy.

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

Completeness2/5

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

With no output schema, the description should say something about the shape of the returned identity (fields, scope, workspace/team association), and it does not. Combined with 0% parameter documentation, an agent knows the tool exists but not what it yields or when it is appropriate to call.

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

Parameters2/5

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

Schema description coverage is 0% across 7 parameters (approval_id, beon_app_id, beon_context, beon_resume_id, beon_release_id, beon_environment, beon_connection_id), and the description documents none of them. Although these look like platform-injected plumbing rather than user-facing inputs, the description provides zero compensation for the coverage gap.

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

Purpose4/5

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

The description states a specific verb and resource: 'Identify the connected Railway user.' It is unambiguous about what the tool returns — the currently authenticated user — and no railway sibling overlaps with it. It does not, however, contrast itself with anything or scope the identity result, so it stops 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.

Usage Guidelines2/5

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 alternatives, no prerequisites (e.g., must a Railway connection already exist?), and no mention of the closely named vercel_get_account sibling in the list. The agent is left to infer usage entirely from the name.

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

railway_get_build_logsCInspect

Read logs after user review; logs may contain application data. Known provider credentials are redacted. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
limitNo
approval_idNo
beon_app_idNo
beon_contextNo
deploymentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2/5.0
Behavior1/5

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

The description frames this as a read operation ("Read logs"), but the annotations declare readOnlyHint=false and idempotentHint=false, which directly contradict what a log-read tool should be. Although the description adds useful details about redaction and data sensitivity, the contradiction with structured annotations makes the behavioral profile unreliable.

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

Conciseness4/5

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

The description is three short sentences with no obvious filler and front-loads the action. The phrase "after user review" is tersely ambiguous, but overall it avoids wasted words.

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

Completeness1/5

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

For a 9-parameter tool with no schema descriptions and no output schema, the description omits all parameter and return-value context. It offers only approval and redaction notes, which are insufficient for an agent to understand required inputs or expected output.

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

Parameters1/5

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

The input schema has 9 parameters with 0% description coverage, and the description does not mention any of them. It never explains that deploymentId is required, nor does it clarify the roles of limit, approval_id, or the beon_* fields, leaving the agent without enough information to invoke the tool correctly.

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

Purpose3/5

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

The description says "Read logs" but never specifies that these are build logs, despite the tool name and the sibling railway_get_runtime_logs. The added context about user data and redaction is useful, but the core resource being read is left vague.

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

Usage Guidelines2/5

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

It states a prerequisite ("Requires exact user approval in BEON PASS") and mentions "after user review," but gives no guidance on when to choose this tool over railway_get_runtime_logs or any alternative. The agent is left to infer the build-log context entirely from the tool name.

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

railway_get_deploymentC
Read-onlyIdempotent
Inspect

Inspect deployment status without unrestricted metadata.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the vague phrase 'without unrestricted metadata,' which does not clarify what metadata is omitted, what permissions are required, or what the response contains.

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

Conciseness3/5

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

The description is short and not padded, but the single sentence is under-specified and the trailing phrase 'without unrestricted metadata' is confusing rather than informative. It is concise but not effectively structured to help invocation.

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

Completeness2/5

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

For an 8-parameter tool with no output schema and zero parameter descriptions, the definition is not complete enough. Annotations cover read-only safety, but the description leaves key usage and parameter-meaning gaps that an agent would need to call it correctly.

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

Parameters1/5

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

There are 8 parameters with 0% schema description coverage, and the description mentions none of them—not the required 'id' nor the beon_* context parameters. With no descriptive compensation for the undocumented schema, an agent must infer all parameter meanings from names alone.

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

Purpose4/5

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

The description states a specific verb and resource: 'Inspect deployment status.' This is clearer than a tautology, but it does not distinguish the tool from siblings such as railway_list_deployments or railway_get_build_logs, and the phrase 'without unrestricted metadata' adds ambiguity rather than precision.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus railway_list_deployments, railway_get_build_logs, or railway_get_runtime_logs. The required 'id' parameter implies fetching a specific deployment, but the description never states when this is the right choice.

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

railway_get_domain_statusC
Read-onlyIdempotent
Inspect

Inspect custom domain verification and certificate status.

NameRequiredDescriptionDefault
idYes
projectIdYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, covering the safety profile. The description adds the useful scope that it inspects verification and certificate status, but it does not disclose return details, auth requirements, or any rate-limit behavior.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no filler. It is perhaps too terse for a 9-parameter tool, but it wastes no words.

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

Completeness2/5

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

For a tool with 9 parameters, 0% schema description coverage, and no output schema, the description is not complete enough to guide correct invocation. It gives purpose but leaves parameter meaning and optional context parameters undocumented.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, so the description must compensate but does not mention any parameter. The terms 'custom domain' and 'project' only weakly imply what id and projectId mean, and none of the optional beon_* parameters are explained.

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

Purpose4/5

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

The description states a specific verb (inspect) and resource (custom domain verification and certificate status), which is clearer than a tautology. It does not explicitly distinguish this from sibling tools like railway_list_domains or domain verification tools from Supabase/Vercel, so it falls 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.

Usage Guidelines2/5

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

The description implies the tool is for checking domain status but gives no explicit guidance on when to use it versus railway_list_domains, railway_create_custom_domain, or sibling domain tools. It also omits prerequisites or 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.

railway_get_environment_metadataB
Read-onlyIdempotent
Inspect

Inspect environment identity and configuration version without variables.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so safety is covered. The description adds useful scoping context ('without variables') about what the response excludes, but does not describe return shape or pagination. Some added value beyond annotations, but not rich.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though given the tool's 8-parameter complexity it could have spent a few more words productively on scope.

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

Completeness2/5

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

For a tool with 8 parameters, no output schema, and zero parameter descriptions, the description is too thin. It does not explain what 'configuration version' means, what is returned, or what the ancillary context parameters do.

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

Parameters2/5

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

There are 8 parameters (1 required) at 0% schema description coverage, so the description carries full burden but names none of them. 'Environment identity' loosely maps to environmentId, but the beon_* context parameters and enums are entirely undocumented in both schema and description.

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

Purpose4/5

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

Specific verb ('Inspect') and resource ('environment identity and configuration version') make the operation clear. The qualifier 'without variables' distinguishes it from a fuller environment fetch, though it does not name a specific sibling tool. It is meaningfully clearer than a tautology but 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.

Usage Guidelines3/5

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

The phrase 'without variables' implies a use case (fetching identity/config when variable data is not needed) but no explicit when/when-not guidance or named alternatives among siblings like railway_list_environments or railway_get_service_configuration. 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.

railway_get_projectC
Read-onlyIdempotent
Inspect

Inspect a project, its services and environments.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description usefully discloses that the response includes the project's services and environments, but says nothing about the approval_id or beon_* parameters, which look like an authorization/context mechanism an agent would need to understand.

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

Conciseness4/5

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

A single seven-word sentence, front-loaded with the verb and resource, with no filler. It is appropriately terse for a read tool, though the terseness leaves the parameter gap unaddressed.

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

Completeness2/5

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

For a tool with 8 parameters (including an approval_id that suggests a gated workflow) and no output schema, this description is too thin. It tells the agent what the call returns in broad strokes but nothing about the required/context inputs or the approval semantics.

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

Parameters1/5

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

Schema description coverage is 0% across 8 parameters, including six undocumented beon_*/approval_id fields, so the description carries the full burden and compensates with nothing. It never even clarifies that 'id' is the project identifier.

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

Purpose4/5

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

States a specific verb (inspect) and resource (project) and adds the return scope: services and environments. It does not explicitly distinguish itself from nearby siblings like railway_get_service or railway_list_projects, so it falls 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.

Usage Guidelines2/5

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

No when-to-use guidance and no exclusions. An agent cannot tell from the text whether to call this versus railway_list_projects (discovery) or railway_get_service (per-service detail); only the verb 'get' implies the read-one-by-id pattern.

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

railway_get_runtime_logsBInspect

Read logs after user review; logs may contain application data. Known provider credentials are redacted. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
limitNo
approval_idNo
beon_app_idNo
beon_contextNo
deploymentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior3/5

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

The description adds genuinely useful behavioral context beyond the annotations: log content may contain application data, known provider credentials are redacted, and an approval gate exists. It leaves a mild tension with readOnlyHint=false ("Read" implies a non-mutating op) unresolved, and says nothing about pagination or volume limits.

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

Conciseness4/5

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

Three short, front-loaded clauses with no filler; the approval prerequisite and redaction guarantee are stated compactly. It is efficient, though slightly too terse to orient an agent on the operation.

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

Completeness2/5

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

For a 9-parameter, security-gated tool with no output schema and 0% schema coverage, the description covers the safety model but omits all parameter semantics and return/volume expectations, so an agent still lacks what it needs to invoke it correctly.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, and the description explains none of them. "User approval in BEON PASS" loosely gestures at approval_id but never names or maps it, and deploymentId, limit, and the beon_* fields are entirely undocumented.

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

Purpose4/5

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

The description states a clear verb+resource ("Read logs") matching the tool name, so an agent can tell it retrieves log output. However, it does not distinguish this runtime-log tool from the sibling railway_get_build_logs, leaving the agent to infer the difference from the name alone.

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

Usage Guidelines3/5

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

"Read logs after user review" plus "Requires exact user approval in BEON PASS" gives a usable precondition (approval must exist before calling). There is no explicit when-to-use-vs-alternatives guidance against build logs or other read tools, so the routing is only implied.

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

railway_get_serviceC
Read-onlyIdempotent
Inspect

Inspect service identity and project.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds essentially nothing beyond them — no auth/permission requirements, no note on whether the service must exist, no return-shape hint despite the absence of an output schema.

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

Conciseness3/5

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

A single front-loaded sentence with no filler, so it is not bloated. But it is under-specified rather than concise: the one clause does not earn its place by conveying enough information for reliable invocation.

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

Completeness1/5

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

For a tool with 8 parameters, 0% schema-coverage, no output schema, and no annotations gap to lean on, the description is inadequate. It omits parameter meaning, return content, and prerequisites, leaving the agent unable to call it correctly with confidence.

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

Parameters2/5

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

Schema description coverage is 0% and the description never references any of the 8 parameters. The required 'id' is only obliquely hinted at by 'service identity', and the seven beon_* parameters (including a single-value enum connection id and an environment enum) are entirely opaque from both schema and description.

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

Purpose3/5

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

States a resource ('service') and a rough intent ('inspect identity and project'), which is more specific than a bare name restatement. However, 'inspect' is a vague verb and it does not differentiate from the close sibling railway_get_service_configuration, nor does it indicate what identity/project data is returned.

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

Usage Guidelines2/5

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

No guidance on when to use this versus alternatives such as railway_get_service_configuration, railway_get_project, or railway_list_projects. The agent must infer usage purely from the name.

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

railway_get_service_configurationC
Read-onlyIdempotent
Inspect

Inspect deployment configuration without returning environment variable values.

NameRequiredDescriptionDefault
serviceIdYes
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

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

With readOnlyHint/idempotentHint/destructiveHint already declared, the description's one addition is the explicit exclusion of environment variable values – a real data-disclosure trait not present in annotations. It still says nothing about what configuration is returned, whether secrets are redacted, or the response shape, so it adds only modest value.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the exclusion is placed immediately after the verb phrase. It reads more as under-specification than tight conciseness, but nothing is wasted.

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

Completeness2/5

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

For a 9-parameter tool with no output schema and no parameter documentation, the description leaves too much unresolved: it does not define what 'configuration' covers, what the return looks like, or what the beon_* parameters are for. Annotations only carry the safety profile, so the description should do more of the explanatory work.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, and the description mentions none of them. The two required IDs are self-evident by name, but the seven beon_* routing/context parameters (beon_app_id, beon_context, beon_connection_id, etc.) are completely unexplained in both schema and description.

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

Purpose4/5

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

Specific verb ('Inspect') plus resource ('deployment configuration') with a scope qualifier that separates it from environment-variable tools. It does not name the closest siblings (railway_get_service, railway_get_environment_metadata, railway_configure_service), so an agent still has to infer which getter to pick, but the read-only inspection intent is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance. The clause about not returning environment variable values implies 'use something else if you need values' but names no alternative, and the description never explains its relationship to railway_configure_service or railway_get_service. An agent gets context but no routing.

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

railway_inspect_staged_changesB
Read-onlyIdempotent
Inspect

Inspect staged change metadata. Raw configuration and variable values are not returned.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so safety is covered. The description adds genuinely useful non-obvious context: raw configuration and variable values are deliberately excluded from the return, which tells the agent what it will not see and prevents it from hunting for secret values in the output.

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

Conciseness5/5

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

Two short sentences, zero waste, with the core purpose front-loaded and the return-value caveat following. Nothing to trim.

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

Completeness2/5

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

For an 8-parameter tool with no output schema and no parameter documentation anywhere, the description is too thin. It should at least explain what the beon_* parameters are for, what an approval_id selects, and how this relates to railway_commit_staged_changes.

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

Parameters2/5

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

Eight parameters with 0% schema description coverage and 0% description coverage — the required environmentId and seven optional beon_* fields are entirely undocumented in both places. Only two enums give partial hints (staging/production, a fixed connection id), so the description does not compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb and resource ('Inspect staged change metadata'), which is clear on its own. However, it does not name or distinguish itself from the sibling railway_commit_staged_changes, which is the natural alternative an agent must choose between.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention that committing is done via railway_commit_staged_changes. The agent must infer the inspect-vs-commit routing entirely from the tool names.

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

railway_list_deploymentsC
Read-onlyIdempotent
Inspect

List deployments for a service and environment.

NameRequiredDescriptionDefault
afterNo
firstNo
projectIdYes
serviceIdYes
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior2/5

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 fully carried by structured data. The description adds nothing beyond that—no mention of pagination (after/first), result ordering, or default page size—so it contributes no behavioral context of its own.

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

Conciseness4/5

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

A single efficient sentence with the resource and scope front-loaded and zero filler. It is appropriately terse, though the terseness contributes to the under-specification elsewhere.

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

Completeness2/5

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

For a 12-parameter tool with 0% schema description coverage, no output schema, and no param-level annotations, a one-sentence description is insufficient. Pagination behavior, the meaning of the extra beon_* parameters, and return shape are all left unaddressed.

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

Parameters2/5

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

Schema description coverage is 0% across 12 parameters, so the description must compensate, but it only loosely gestures at serviceId/environmentId and ignores projectId entirely plus the pagination parameters (after, first) and the beon_* fields. It leaves the majority of parameters undocumented.

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

Purpose4/5

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

States a clear verb+resource ("List deployments") and names the scoping dimensions (service and environment), which distinguishes it from account/project-level listers. It doesn't differentiate from the closely related railway_get_deployment sibling, but the intent is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no reference to alternatives such as railway_get_deployment for a single deployment or railway_deploy_service. Usage is only implied by the name and scope.

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

railway_list_domainsB
Read-onlyIdempotent
Inspect

List custom and Railway generated service domains and verification status.

NameRequiredDescriptionDefault
projectIdYes
serviceIdYes
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the useful fact that both custom and Railway-generated domains are returned along with verification status, but says nothing about result size, ordering, or how verification status is represented.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the verb and resource lead and the returned attribute follows. Nothing in the sentence is redundant given the structured fields.

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

Completeness3/5

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

With no output schema and zero parameter documentation, the description is the only narrative an agent gets. It covers what is returned but omits the required service/environment/project scoping and any hint of result shape, which is the main gap for a 10-parameter read tool.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the description carries the full burden and fails to carry it: the three required scoping identifiers (projectId, environmentId, serviceId) are never mentioned, nor are the Beon framework parameters. An agent cannot tell from the description that the listing is service-scoped rather than account-wide.

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

Purpose4/5

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

The description names a specific verb (List) and resource (custom and Railway generated service domains) plus the attribute returned (verification status), so the agent knows exactly what comes back. It does not, however, differentiate itself from the adjacent railway_get_domain_status or the create/delete domain siblings.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus railway_get_domain_status (single-domain status) or the create/delete domain tools. The only implicit guidance is the word 'List', leaving the agent to infer that this is the discovery step before a status or delete call.

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

railway_list_environmentsC
Read-onlyIdempotent
Inspect

List project environments.

NameRequiredDescriptionDefault
projectIdYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that – no return shape, no pagination behavior, no note about the required projectId or the opaque beon_* parameters.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though the brevity contributes to the missing information elsewhere.

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

Completeness2/5

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

For a tool with eight parameters (one required, two enums, several undocumented opaque fields) and no output schema, a three-word description is not sufficient to call it correctly. The agent is left to infer the meaning of most inputs.

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

Parameters2/5

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

Eight parameters with 0% schema description coverage, and the description supplies no parameter meaning at all. It implies a project scope via 'project environments', but never explains projectId's role or what the beon_app_id, beon_context, approval_id, etc. are for.

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

Purpose4/5

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

States a specific verb (List) and resource (project environments), so the agent knows exactly what operation this performs. However, it does nothing to distinguish itself from nearby siblings such as railway_get_environment_metadata or railway_list_projects.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like railway_get_environment_metadata or railway_create_environment. Usage is only implied by the name and description.

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

railway_list_projectsC
Read-onlyIdempotent
Inspect

List projects in an authorized workspace.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
workspaceIdYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is fully covered. The description adds the 'authorized workspace' scoping note, but says nothing about result size, pagination, or what authorization is required — a modest addition against an already-covered behavioral surface.

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

Conciseness4/5

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

A single short, front-loaded sentence with no filler — structurally efficient. The terseness is closer to under-specification than ideal breadth, but every word earns its place.

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

Completeness2/5

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

For an 8-parameter, 0%-schema-coverage tool with no output schema, the description is far too thin. It omits any explanation of the required workspaceId, the ancillary beon_*/approval_id parameters, and return shape, leaving the agent without enough context to invoke it competently for anything beyond the trivial case.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, and the description compensates only implicitly by naming 'workspace' (the sole required workspaceId). The seven other parameters (approval_id, beon_app_id, beon_context, beon_resume_id, beon_release_id, beon_environment, beon_connection_id) are undocumented in both schema and description, including the two enums.

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

Purpose4/5

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

States a specific verb (List) and resource (projects) scoped to an authorized workspace, which is unambiguous on its own. However it does not distinguish itself from the sibling railway_get_project or explain the list-vs-get relationship, so an agent gets no help differentiating siblings from the text alone.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus railway_get_project (single project) or railway_list_environments/railway_list_workspaces. No prerequisites, no mention of whether pagination or a required workspace scope drives usage. Only implied usage via the tool name.

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

railway_list_variable_namesA
Read-onlyIdempotent
Inspect

List variable names only. Values, including database URLs and credentials, are never returned.

NameRequiredDescriptionDefault
projectIdYes
serviceIdNo
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds genuinely useful behavioral context beyond that: it discloses that only names come back and that values such as database URLs and credentials are never returned, which matters for an agent deciding whether this call can satisfy a data need.

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

Conciseness5/5

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

Two short sentences with zero waste; the core scope (names only) is front-loaded and the security-relevant caveat follows immediately.

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

Completeness3/5

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

With no output schema, the description does the essential work of describing what is returned (names, not values), which is the key unknown for this tool. However, it says nothing about the required project/environment scoping or the other eight parameters, so it is only minimally complete for a 10-parameter tool.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the schema provides no prose for any of them, and the description adds nothing about parameters either. The two required identifiers (projectId, environmentId) and the eight beon_* fields remain unexplained, leaving a significant compensation gap for a tool of this arity.

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

Purpose4/5

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

The description states a specific verb and resource ('List variable names only'), making the scope unambiguous and clearly distinguishing it from the sibling mutations railway_set_variable and railway_delete_variable. It does not, however, name any sibling or contrast itself with an alternative listing tool, so it stops short of full sibling differentiation.

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

Usage Guidelines3/5

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

There is no explicit when-to-use statement or named alternative. The phrase 'values ... are never returned' implies the use case (safely discovering which variables exist without exposing secrets), but the agent must infer that. Adequate but with a clear gap.

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

railway_list_volume_backupsC
Read-onlyIdempotent
Inspect

List volume backup metadata.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
volumeInstanceIdYes
beon_connection_idNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — no mention of pagination, ordering, scope of returned metadata, or whether backups from all environments are included.

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

Conciseness3/5

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

A single short sentence with no filler and the purpose front-loaded, which is structurally fine. But brevity here comes from omission rather than efficiency, so it is only minimally adequate.

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

Completeness2/5

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

With 8 parameters, no parameter descriptions, no output schema, and no explanation of what 'metadata' contains, the definition is too thin for the tool's complexity. An agent can guess the intent but not call it confidently beyond the required ID.

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

Parameters2/5

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

Eight parameters with 0% schema description coverage; the description explains none of them. It is silent on the required volumeInstanceId and on the seven beon_*/approval_id fields, leaving the agent without meaning for any argument.

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

Purpose3/5

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

States a clear verb (list) and resource (volume backup metadata), so the basic purpose is legible. However it does nothing to distinguish itself from siblings such as railway_create_volume_backup, railway_delete_volume_backup, railway_lock_volume_backup, or railway_restore_volume_backup, which share the same resource.

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

Usage Guidelines2/5

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

No guidance on when to use this versus the backup-management siblings (create/delete/lock/restore) or railway_list_volume_instances. The agent must infer usage purely from the name.

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

railway_list_volume_instancesC
Read-onlyIdempotent
Inspect

List attached volume metadata in an environment.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered by structured data. The description adds one behavioral constraint worth noting: only 'attached' volumes are returned, not all volumes. It still omits return format, pagination, and any auth considerations.

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

Conciseness4/5

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

A single tight sentence with the action and scope front-loaded; nothing is padded or redundant. It is efficient, though the brevity comes at the cost of the missing detail noted elsewhere.

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

Completeness2/5

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

For a tool with 8 parameters, 0% schema coverage, and no output schema, the description is too thin: it does not document parameters, return contents, or how results differ from other volume-listing tools. An agent would have to guess at the shape of the input and output.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, so the schema provides no parameter meaning at all. The description's only contribution is the word 'environment', which weakly implies the required environmentId, but says nothing about the six beon_* infrastructure parameters or the two enums.

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

Purpose4/5

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

The description states a specific verb (List) and resource (attached volume metadata) scoped to an environment, so an agent knows what it does. However, it never distinguishes itself from close siblings like railway_list_volumes or railway_list_volume_backups, leaving the 'instances' vs 'volumes' distinction unexplained.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus railway_list_volumes, railway_list_volume_backups, or any other volume-related sibling. No prerequisites, no exclusions, no context beyond the bare statement of purpose.

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

railway_list_volumesC
Read-onlyIdempotent
Inspect

List volume metadata in a project.

NameRequiredDescriptionDefault
projectIdYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description's only additional signal is the word 'metadata', implying it returns descriptive attributes rather than volume contents or backups — modest added value on top of rich annotations.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler, which is structurally clean. The brevity is efficient rather than padded, though it shades into under-specification for an 8-parameter tool.

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

Completeness2/5

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

For a tool with 8 parameters, 0% schema coverage, two enums, and no output schema, one sentence is not sufficient. An agent gets no explanation of the beon_* context/approval parameters, no scoping detail (project-only vs. environment/service filtering), and no hint about the shape of the returned volume metadata.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, so the description carries the full explanatory burden and does not meet it. It only loosely implies the required projectId via 'in a project'; the seven beon_* parameters (approval_id, beon_app_id, beon_context, beon_resume_id, beon_release_id, beon_environment, beon_connection_id) are never mentioned or explained.

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

Purpose4/5

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

States a specific verb ('List') and resource ('volume metadata') scoped to 'a project', so the core operation is unambiguous. However, it does nothing to distinguish itself from close siblings such as railway_list_volume_backups or railway_list_volume_instances, which an agent could easily confuse with this tool.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus railway_list_volume_instances, railway_list_volume_backups, or railway_get_service. No prerequisites, no exclusions, no mention of what 'volume metadata' excludes (e.g., mount info, backups).

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

railway_list_workspacesC
Read-onlyIdempotent
Inspect

List workspaces explicitly shared with BEON PASS.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.6/5.0
Behavior2/5

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 only the 'explicitly shared' scoping trait and says nothing about return shape, pagination, or how the beon_* context params affect behavior.

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

Conciseness4/5

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

A single front-loaded sentence with no waste. It is appropriately terse, though arguably under-sized for a tool carrying 7 undocumented parameters.

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

Completeness2/5

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

With 7 parameters, 0% schema coverage, and no output schema, the definition is far too thin. The description does not clarify the meaning of any parameter nor the scope of what is returned, leaving core invocation details missing.

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

Parameters1/5

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

All 7 parameters have 0% schema description coverage and the description mentions none of them. The beon_* plumbing params (approval_id, beon_context, beon_connection_id, etc.) are completely unexplained, and the description does not compensate for the coverage gap as required at low coverage.

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

Purpose4/5

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

States a specific verb+resource ('List workspaces') with a scope qualifier ('explicitly shared with BEON PASS'). It distinguishes itself from siblings such as railway_list_projects or railway_list_environments by resource, though 'BEON PASS' is unexplained jargon that an agent may not parse.

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

Usage Guidelines2/5

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

The scope phrase hints at a filter context but gives no when-to-use guidance, no prerequisites, and no alternatives among the ~100 sibling tools. An agent must infer purpose entirely.

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

railway_lock_volume_backupB
Destructive
Inspect

Keep a backup from expiring. Ongoing storage charges may apply.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
volumeInstanceIdYes
beon_connection_idNo
volumeInstanceBackupIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and idempotentHint=false, so the mutation and safety profile is covered. The description adds one genuinely useful behavioral fact – 'Ongoing storage charges may apply' – but says nothing about reversibility (can it be unlocked?), the effect on the backup's lifecycle, or why a hint named 'destructive' applies to what reads as a protective action.

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

Conciseness4/5

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

Two short sentences, front-loaded with the effect and followed by the cost caveat; every word earns its place with no filler. It is arguably too terse for a 9-parameter destructive tool, but judged purely on conciseness it is efficient.

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

Completeness2/5

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

No output schema exists, so explaining return values is unnecessary, but for a destructive, non-idempotent mutation with 9 parameters at 0% coverage the description leaves too much unstated: no parameter guidance, no confirmation that locking is (ir)reversible, and no scoping of the storage-charge warning.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, so the description carries the full explanatory burden and provides none of it. The two required IDs (volumeInstanceId, volumeInstanceBackupId) are inferable from their names, but the seven beon_*/approval_id context parameters are completely undocumented in both schema and description.

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

Purpose4/5

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

The description gives a specific effect on a specific resource: preventing a volume backup from expiring, which is the semantic meaning of 'lock'. It is clear, but it never names the sibling tools it differs from (railway_delete_volume_backup, railway_restore_volume_backup, railway_list_volume_backups), so an agent must infer the distinction from the name alone.

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

Usage Guidelines3/5

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

Usage is only implied: you lock a backup when you want to retain it past its expiry window. There is no explicit when-to-use, no when-not-to-use, and no mention of the alternative operations (restore, delete, create) that an agent would weigh against locking.

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

railway_rename_volumeC
Destructive
Inspect

Rename persistent storage without changing its data.

NameRequiredDescriptionDefault
nameYes
volumeIdYes
projectIdYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds one useful behavioral fact — that data is preserved — but omits prerequisites (e.g., whether the volume must be unattached), permission needs, and side effects on mounts or services.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is appropriately sized for the verb it describes, though the extreme brevity is part of why parameter and contextual details are absent.

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

Completeness2/5

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

For a 10-parameter mutation tool with no output schema and 0% schema coverage, the description is too thin. It does not explain required parameters, approval_id/precondition semantics, or what happens to existing mounts after rename, leaving real gaps beyond what annotations cover.

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

Parameters1/5

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

Schema coverage is 0% across 10 parameters (3 required), and the description names none of them. With three required identifiers (projectId, volumeId, name) and several beon_* support fields, the description leaves the agent with the schema alone and no compensating explanation.

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

Purpose4/5

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

States a specific verb ('Rename') and resource ('persistent storage'), which maps cleanly to the volume-naming sibling set. It does not, however, distinguish itself from siblings like railway_update_volume_mount or railway_create_volume, so an agent gets the verb but not the routing context.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as railway_update_volume_mount, railway_create_volume, or railway_delete_volume. The only usage-adjacent signal is the 'without changing its data' phrase, which is a property, not a selection rule.

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

railway_restart_deploymentB
Destructive
Inspect

Restart a deployment. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the meaningful approval requirement ('exact user approval in BEON PASS'), but says nothing about downtime, state effects, or what happens to the existing deployment.

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

Conciseness4/5

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

Two short sentences with the action front-loaded and the constraint placed immediately after. There is no filler, though the content is arguably under-developed given the tool's complexity.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with 8 parameters, no output schema, and zero schema documentation, the description is far too thin. It omits the effect of a restart, how the BEON PASS approval ties to the approval_id parameter, and any prerequisite/permission detail an agent needs to call it correctly.

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

Parameters2/5

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

With 8 parameters and 0% schema description coverage, the description must carry parameter meaning but does not. It only implies a deployment identifier via 'a deployment' and vaguely gestures at approval; the beon_* parameters and the required/exact format of approval are never explained.

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

Purpose4/5

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

States a specific verb+resource ('Restart a deployment'), which is distinguishable from siblings like railway_stop_deployment, railway_cancel_deployment, and railway_rollback_deployment. It does not, however, explicitly contrast itself against those closest alternatives, leaving the agent to infer the distinction.

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

Usage Guidelines3/5

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

The sentence 'Requires exact user approval in BEON PASS' communicates a real precondition for invocation, which is useful. But it gives no guidance on when to choose restart over redeploy/rollback/stop, and no exclusions, so 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.

railway_restore_volume_backupC
Destructive
Inspect

Restore a volume backup. Can replace newer data and interrupt service.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
volumeInstanceIdYes
beon_connection_idNo
volumeInstanceBackupIdYes

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, but the description adds concrete impact detail the annotations cannot convey: newer data can be overwritten and live service can be interrupted. That is meaningful added context for a destructive operation, though it stops short of discussing irreversibility windows or rollback.

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

Conciseness4/5

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

Two short sentences with zero filler, and the core action is front-loaded before the warning. It is efficient, though for a 9-parameter destructive tool the extreme brevity is as much under-specification as conciseness.

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

Completeness2/5

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

No output schema exists and the safety profile is annotation-covered, but the description omits any guidance on the required volumeInstanceId/volumeInstanceBackupId pairing, the approval_id mechanism, or the beon_* context parameters. For a destructive 9-param tool, an agent is left without the information needed to invoke it correctly.

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

Parameters1/5

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

There are 9 parameters with 0% schema description coverage, including an unexplained approval_id and a set of beon_* context fields. The description says nothing about any parameter, so it fails entirely to compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb and resource ('Restore a volume backup'), which is enough to distinguish it from most siblings. It does not, however, differentiate itself from the closely related railway_restore_volume_pitr or railway_list_volume_backups, leaving the agent to infer which restore variant applies.

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

Usage Guidelines2/5

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

The second sentence is a hazard warning ('Can replace newer data and interrupt service'), not usage guidance. There is no statement of when to prefer this over railway_restore_volume_pitr, what preconditions are needed, or whether an approval flow is required.

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

railway_restore_volume_pitrB
Destructive
Inspect

Restore persistent storage to a timestamp. Can discard newer data or create recovery services; charges may apply.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
newServiceNameNo
beon_release_idNo
targetTimestampYes
beon_environmentNo
volumeInstanceIdYes
beon_connection_idNo

TDQS

B3.2/5.0
Behavior4/5

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

The annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety bar is partly met. The description adds genuinely useful context beyond them: newer data may be discarded and charges may apply, which the annotations do not convey.

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

Conciseness4/5

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

A single front-loaded sentence that leads with the action and then appends the two risk caveats. Dense but well-ordered; every clause carries information, though the semicolon-joined clauses could be split for scanability.

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

Completeness3/5

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

There is no output schema, so the description need not explain return values, and the annotations cover the safety profile. However, for a destructive 10-parameter tool with 0% schema coverage, the absence of any parameter explanation or alternative-selection guidance leaves a real completeness gap.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the description must carry the load and largely does not. It gestures at targetTimestamp ('to a timestamp') and newServiceName ('create recovery services') but says nothing about volumeInstanceId, the beon_* fields, or approval_id, leaving most parameters undocumented.

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

Purpose4/5

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

States a specific verb and resource ('Restore persistent storage to a timestamp'), which distinguishes it from the sibling railway_restore_volume_backup by implying point-in-time recovery rather than backup restoration. The purpose is clear without opening the schema, though it does not explicitly name the sibling it differs from.

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

Usage Guidelines2/5

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

No guidance on when to use PITR over railway_restore_volume_backup or the other volume tools, and no mention of prerequisites such as approvals. The two outcome modes ('discard newer data' vs 'create recovery services') are named but never tied to a condition for choosing between them.

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

railway_rollback_deploymentB
Destructive
Inspect

Roll back to a previous eligible deployment. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare destructive=true, non-idempotent, open-world. The description adds a genuinely non-annotated behavioral gate: rollback requires explicit user approval via BEON PASS, which explains the approval_id/beon_* parameters. It still omits what rollback actually does to current traffic/deployments and whether it can be undone.

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

Conciseness4/5

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

Two short sentences, front-loaded with the action and followed by the critical constraint. Nothing is wasted, though the second sentence is terse to the point of under-specifying the approval mechanics.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with 8 undocumented parameters and no output schema, the description is too thin: it does not say what state is restored, what happens to the replaced deployment, or how approval is obtained/passed. The approval hint is the only substantive addition.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters (id, approval_id, beon_* context fields). The description only obliquely connects to the approval parameters via the 'exact user approval in BEON PASS' sentence; it never explains what 'id' refers to or how the beon context fields are supplied. A 2 reflects minimal, indirect compensation for a severe coverage gap.

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

Purpose4/5

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

States a specific verb+resource (roll back a deployment) with a scoping qualifier ('previous eligible deployment'). It does not distinguish itself from the other deployment-lifecycle siblings such as railway_restart_deployment, railway_stop_deployment, or railway_cancel_deployment, so an agent must infer the difference.

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

Usage Guidelines2/5

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

No statement of when to use rollback versus restart/stop/cancel, no prerequisites beyond 'eligible', and no mention of which deployment version is targeted. The only context given is the approval requirement, which is a precondition rather than usage guidance.

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

railway_set_variableA
Destructive
Inspect

Create or overwrite a Railway variable for the specified project and environment, with optional service scope. Enter the value privately in BEON PASS; it is never returned to the AI. Calls variableUpsert with skipDeploys:true and does not invoke a deployment. The changed value can affect a later deployment. Returns confirmation and variable name only. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
nameYes
projectIdYes
serviceIdNo
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.8/5.0
Behavior5/5

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

The description adds substantial behavioral detail beyond annotations: the value is never returned to the AI, it calls variableUpsert with skipDeploys:true, does not invoke deployment, changes can affect later deployments, and only confirmation plus variable name are returned. This is rich context for a destructive mutation tool.

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

Conciseness4/5

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

The description is front-loaded with the operation and then layers prerequisites and side effects. It is efficient, though slightly verbose with separate sentences for related deployment behavior.

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

Completeness3/5

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

It covers the mutation's secret handling, approval requirement, return format, and deployment side effects well. However, given 11 parameters with no schema descriptions and no output schema, it leaves significant parameter semantics unexplained, making it only partially complete.

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

Parameters2/5

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

Schema description coverage is 0% across 11 parameters. The description only implicitly covers projectId, environmentId, serviceId, and name, while approval_id and numerous beon_* parameters are left undocumented in both schema and description. It does not compensate for the coverage gap.

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

Purpose4/5

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

The description states a specific verb (create/overwrite) and resource (Railway variable) with scope (project, environment, optional service). It is clear but does not explicitly differentiate from sibling tools such as railway_delete_variable or railway_list_variable_names.

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

Usage Guidelines4/5

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

It provides clear usage context: the value must be entered privately in BEON PASS and exact user approval is required. It does not name alternatives or state when not to use this tool, but the prerequisites are well specified.

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

railway_stop_deploymentC
Destructive
Inspect

Stop a deployment. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is partly covered. The description adds the BEON PASS approval gate, which is real value, but says nothing about what state the deployment is left in, whether in-flight traffic is cut, or how approval_id/beon_* fields relate to the approval flow. For a destructive 8-param mutation with no output schema, that is thin.

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

Conciseness4/5

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

Two short sentences, front-loaded with the action and immediately followed by the precondition. Nothing is padded, though the brevity is partly the cause of the coverage gaps rather than a virtue.

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

Completeness2/5

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

Eight parameters, no output schema, and an authorization workflow that is central to invoking the tool correctly are all undescribed. Given the destructive nature and the multi-step BEON PASS approval requirement, the definition does not give an agent enough to call it right the first time.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, so the description carries the full burden and largely fails: only a vague reference to 'BEON PASS' hints at the beon_* fields, and id, approval_id, beon_context, beon_environment and the enums go unexplained. The agent is left to infer the difference between the deployment id and the approval id.

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

Purpose4/5

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

States a specific verb and resource: 'Stop a deployment.' Clear to an agent what the operation is, though it never distinguishes itself from close siblings like railway_cancel_deployment or railway_restart_deployment, which is the main ambiguity here.

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

Usage Guidelines3/5

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

The phrase 'Requires exact user approval in BEON PASS' implies a precondition for use, which is useful. But there is no guidance on when to use stop instead of cancel/restart/rollback, and no statement of when not to use it.

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

railway_update_volume_mountC
Destructive
Inspect

Change the mount path of an existing volume in an exact environment. May interrupt services.

NameRequiredDescriptionDefault
volumeIdYes
mountPathYes
projectIdYes
approval_idNo
beon_app_idNo
beon_contextNo
environmentIdYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, openWorldHint=true, so the safety profile is covered structurally. The description adds one genuinely useful behavioral fact, 'May interrupt services,' beyond that, but says nothing about permissions, reversibility, or what happens to the old mount path.

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

Conciseness4/5

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

Two short sentences, front-loaded with the operation and followed by the risk warning; no waste. Brevity here is real but borders on under-specification rather than being purely efficient.

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

Completeness2/5

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

For a destructive 11-parameter mutation with no output schema and 0% schema coverage, this description is too thin. An agent gets the core intent and a risk warning, but nothing about required auth/approval fields or the effect of changing a mount path on running services.

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

Parameters2/5

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

Schema description coverage is 0% across 11 parameters, and the description adds essentially nothing: 'mount path' and 'exact environment' loosely imply mountPath and environmentId, but projectId, volumeId, approval_id, and the entire beon_* auth set are undocumented in both places. With low coverage the description should compensate and does not.

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

Purpose4/5

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

States a specific verb (change) and resource (mount path of an existing volume) plus scope (exact environment), which distinguishes it from siblings like railway_rename_volume and railway_create_volume. It does not name an alternative tool explicitly, so it stops 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.

Usage Guidelines2/5

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

'In an exact environment' gives a scoping hint but there is no guidance on when to use this versus alternatives (rename_volume, create_volume, delete_volume) or any prerequisites. The usage context is left almost entirely to inference.

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

supabase_activate_domainB
Destructive
Inspect

Activate a verified custom domain. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the safety profile is covered. The description adds a genuinely useful operational fact not in the annotations: execution is gated on explicit user approval in BEON PASS. It does not, however, describe what activation changes or destroys.

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

Conciseness5/5

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

Two tight sentences with the action front-loaded and the gate condition second. No filler, no repetition of the tool name or annotations.

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

Completeness2/5

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

For a destructive, non-idempotent tool with eight parameters, an approval workflow, and no output schema, the description is too thin. It mentions BEON PASS but never explains the approval parameter set, side effects on existing domains, or what success looks like.

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

Parameters1/5

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

Schema description coverage is 0% across 8 parameters, so the description carries the full burden of explaining them, and it explains none. The BEON PASS flow implies relationships among approval_id, beon_app_id, beon_resume_id, beon_release_id, beon_environment, and beon_connection_id, but the description gives no guidance on how they combine.

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

Purpose4/5

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

States a specific verb and resource ('Activate a verified custom domain') and the 'verified' qualifier distinguishes it from sibling tools like supabase_initialize_domain or supabase_reverify_domain. It stops short of explicitly naming those siblings, 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.

Usage Guidelines3/5

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

The description implies usage by requiring a verified domain, but never states when to choose activate over initialize_domain, reverify_domain, or delete_domain, nor what the preconditions are beyond verification. Usage is inferable but not spelled out.

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

supabase_apply_migrationB
Destructive
Inspect

Apply SQL and record it in Supabase migration history. Include RLS policies for exposed tables. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
nameYes
queryYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false, so safety is largely covered. The description adds value beyond them by disclosing that the query is recorded permanently in migration history and that the user must approve the exact request in BEON PASS before execution, which the annotations do not state.

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

Conciseness4/5

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

Three tight sentences with the core action front-loaded, followed by a requirement and an approval precondition. Nothing is padded, though the RLS sentence is a minor aside that could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive migration tool the description covers the safety-critical approval flow and the persistence behavior, and no output schema exists so returns need not be explained. However, with 10 undocumented parameters and no format guidance for the SQL query, an agent still lacks enough to invoke it fully correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description carries the full burden, yet it only loosely touches the approval flow ('approve the exact request in BEON PASS') without explaining approval_id, the beon_* infrastructure parameters, or the name/query formats. Notable parameters like beon_environment (staging/production) go entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: 'Apply SQL and record it in Supabase migration history', which distinguishes it from pure SQL execution by noting persistence in migration history. It does not explicitly name the closest sibling (supabase_execute_sql) or contrast with it, so it falls short of the 5-level sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: recording in migration history signals this is for durable schema changes, and 'Include RLS policies for exposed tables' hints at a precondition. But there is no explicit when-to-use / when-not-to-use guidance against supabase_execute_sql or a note on which changes belong in a migration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_available_regionsB
Read-onlyIdempotent
Inspect

Get available regions before project creation.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
organization_slugYes
beon_connection_idNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only the pre-creation timing context and does not describe auth requirements, rate limits, return shape, or how the organization scope affects results; with annotations present, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. Every word contributes to purpose and timing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema and no parameter descriptions, the definition is too sparse. It states what the tool does and when to call it, but leaves required inputs, context parameters, and return behavior unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are 8 parameters with 0% schema description coverage, and the description mentions none of them. It does not explain the required organization_slug or the beon_* context parameters, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb "Get" with the resource "available regions" and adds the timing constraint "before project creation." It is clear enough to distinguish this lookup from project-creation siblings, though it does not explicitly name a sibling or explain what the regions are used for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Before project creation" gives explicit usage context for when this tool is appropriate. It does not state when not to use it or name alternatives, but the timing cue is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_create_branchCInspect

Create a development environment. Provider charges may apply. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
persistentNo
approval_idNo
beon_app_idNo
branch_nameYes
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a non-read-only, non-idempotent, open-world operation, and the description adds genuinely new behavioral facts beyond them: provider charges may apply, and the exact request must be approved in BEON PASS before execution. That cost/approval-gating context is valuable and not inferable from structured fields, though reversibility and the effect of the persistent flag remain unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences: purpose first, then billing and approval caveats. No filler, appropriately sized for the tool, and front-loaded correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter mutation tool with no output schema and zero schema description coverage, the description is too thin. It flags the approval and cost gates but leaves the majority of parameters undocumented and says nothing about what a created branch contains or how it relates to the source project.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 10 parameters at 0% description coverage, so the description carries the full burden and adds nothing: project_ref, branch_name, persistent, and the several beon_* identifiers (approval_id, beon_app_id, beon_context, beon_environment, etc.) are entirely unexplained. One line describing what persistent or the approval identifiers do would have compensated; none is present.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Create' is clear, but the resource is described as a 'development environment' rather than the branch named in the tool, and no relationship to the parent project or to siblings like supabase_create_project or supabase_create_storage_bucket is drawn. An agent can infer the general action but not precisely what object is produced.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, and no alternative is named. The only context given is a prerequisite (approval), which is not the same as routing guidance between sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_create_projectBInspect

Create a Supabase project. The organization may incur provider charges. The user supplies the database password privately in BEON PASS. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
nameYes
regionYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
organization_slugYes
beon_connection_idNo

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds meaningful behavioral context beyond annotations: potential provider charges, private password handling via BEON PASS, and mandatory user approval before execution. It still does not cover rate limits, response behavior, or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and uses four short sentences without unnecessary filler. Each sentence adds relevant operational information, though the repeated BEON PASS references are slightly redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter mutation tool with no output schema, the description gives useful operational constraints but leaves the parameter set almost entirely undocumented. An agent cannot determine how to populate approval_id, beon_* fields, or even the required region/name semantics from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the schema provides no semantic meaning for any parameter. The description does not compensate by explaining any parameter, including required fields like organization_slug, name, region, or the approval/context parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb (Create) and resource (Supabase project), so an agent can identify the basic operation. However, it does not distinguish this from sibling tools such as supabase_create_branch, railway_create_project, or vercel_create_project beyond the implied provider name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to create a new project and states prerequisites: the user must approve the exact request and provide a password privately in BEON PASS. It does not explicitly compare this tool with alternatives or state 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.

supabase_create_sso_providerC
Destructive
Inspect

Configure a SAML identity provider. Changes production authentication trust.

NameRequiredDescriptionDefault
domainsYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
metadata_urlYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the mutating/external nature is covered structurally. The description adds the meaningful consequence 'Changes production authentication trust', which tells the agent this affects live auth, but says nothing about irreversibility, required permissions, or side effects on existing providers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, no filler, with the impact warning front-loaded alongside the purpose. Efficient, though arguably under-specified given a 10-parameter destructive operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent tool with 10 parameters at 0% schema coverage and no output schema, the description is far too thin. It omits parameter guidance, required-field behavior, and any detail on what the production-auth change actually entails.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, and the description mentions none of them - not the required metadata_url, domains, or project_ref, nor the undocumented beon_* control parameters. There is only an implicit hint that SAML involvement implies a metadata URL, which is far short of compensating for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb-and-resource ('Configure a SAML identity provider'), which an agent can immediately map to the create-SSO-provider action. It does not, however, distinguish itself from the sibling supabase_update_sso_provider or supabase_delete_sso_provider, and 'Configure' is slightly ambiguous for a create operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus supabase_update_sso_provider, supabase_get_sso_provider, or supabase_list_sso_providers, and no prerequisites or ordering hints. The only context is the impact warning, which is not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_create_storage_bucketBInspect

Create a Storage bucket. Supabase Storage requires a project secret key, entered privately for this operation; Management OAuth checks project access. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
publicNo
bucket_idYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
file_size_limitNo
beon_environmentNo
allowed_mime_typesNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds real value beyond that: a project secret key entered privately, an OAuth-based project access check, and a human approval gate in BEON PASS before execution. It does not say whether the call fails or queues when approval is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences with the core action front-loaded and no filler. The auth and approval clauses are dense but each carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter mutation tool with zero schema description coverage and no output schema, the description covers the auth/approval flow but leaves the entire parameter surface unexplained, including required fields. An agent can understand the security model but not how to construct the request.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 12 parameters, so the description must compensate and does not. It never mentions bucket_id, public, file_size_limit, allowed_mime_types, or any of the beon_* approval/context fields, leaving an agent with no guidance on what a well-formed call looks like.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Create a Storage bucket'), which is unambiguous against siblings like supabase_delete_storage_bucket or supabase_update_storage_bucket. It does not explicitly name or differentiate itself from those siblings, but the naming pattern makes the distinction obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists prerequisites (secret key, Management OAuth access check, BEON PASS approval) but never says when to use this tool versus alternatives such as supabase_list_storage_buckets or supabase_update_storage_bucket, nor warns about creating duplicates. It gives operational preconditions rather than selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_delete_branchB
Destructive
Inspect

Delete a development environment. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
branch_refYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds a non-obvious behavioral requirement the annotations do not capture: a human approval gate in BEON PASS before the destructive action runs. It stops short of describing what is actually destroyed (branch data, recoverability), keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, with the destructive purpose front-loaded and the approval prerequisite second. It is efficient and free of padding, though the extreme brevity is arguably under-informative for an 8-param tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent tool with 8 parameters, 0% schema coverage and no output schema, the description is far too thin. It omits what gets deleted, whether the action is reversible, and how approval_id/beon_app_id relate to the approval gate it references.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% with 8 parameters, so the description carries the full burden and fails it. It never mentions branch_ref (the sole required param and its 20-char pattern) nor explains any of the six opaque beon_* parameters, leaving the agent to infer the approval flow linkage on its own.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Delete a development environment'), which is clear enough for an agent to act on. It does not, however, name or contrast itself with the obvious siblings (supabase_create_branch, supabase_list_branches, supabase_merge_branch), and it uses 'environment' where the tool actually operates on a Supabase branch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description adds a genuine prerequisite — user approval of the exact request in BEON PASS must happen before execution — which signals an out-of-band workflow. It gives no guidance on when to choose this over alternatives like supabase_delete_project, nor any conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_delete_domainA
Destructive
Inspect

Remove a project custom domain. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is covered. The description adds meaningful context beyond that: the operation is gated on an explicit user approval step, which changes how the agent must sequence the call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the destructive action front-loaded and the approval constraint second. No filler or repetition of structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, multi-parameter mutation with no output schema, the description covers purpose and the approval gate but leaves parameter meaning and any post-deletion effects (DNS/cert cleanup, propagation) unexplained. Adequate minimum, not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description bears the burden and adds nothing — it never explains project_ref format, the optional BEON connection/environment fields, or what approval_id does. Only the required/optional split is visible from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Remove a project custom domain'), which clearly separates it from read-only siblings like supabase_get_domain and from the initialize/activate domain tools. It does not explicitly name those siblings, 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description supplies a critical precondition (user approval of the exact request in BEON PASS), which tells the agent this is not a directly callable mutation. However, it gives no guidance on when to delete vs. deactivate a domain, or when to prefer the equivalent railway/vercel siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_delete_edge_functionA
Destructive
Inspect

Delete a deployed Edge Function. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
slugYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds the meaningful extra that execution is gated on an explicit BEON PASS approval, context annotations cannot express. It stops short of describing aftermath (e.g., irreversibility, dependent routes/URLs going dead).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The operation is stated first and the approval constraint second, which is the correct front-loading for an agent deciding whether it can call this.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent operation with no output schema and 9 undocumented parameters, the description covers the basic action and the approval gate but omits what the caller needs to supply and what state change to expect. Annotations carry the destructive warning, keeping this at a minimum-viable level rather than inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, and the description names none of them. The agent gets no help on slug vs project_ref semantics or on the BEON approval/context fields that accompany the request, so the description fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Delete a deployed Edge Function.' The agent can distinguish this from supabase_deploy_edge_function and supabase_delete_function_secret by name alone. However, the description never explicitly contrasts itself with those siblings, which keeps 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It supplies a real prerequisite — user approval of the exact request in BEON PASS before execution — which tells the agent when the call can actually fire. It does not say when to prefer this over alternatives or what conditions make deletion appropriate, so 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.

supabase_delete_function_secretA
Destructive
Inspect

Delete an Edge Function secret by name. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
nameYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds a real behavioral detail beyond them: execution is gated on the user approving the exact request in BEON PASS. It still does not state reversibility or whether dependent functions are affected, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the action front-loaded and the approval prerequisite second. No filler, nothing repeated from the annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation the annotations cover safety and the description adds the approval gate, but with 9 parameters at 0% schema coverage and no output schema, key inputs like project_ref and approval_id remain unexplained. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description must carry the load. It only clarifies the "name" selector; required project_ref and the six BEON context/approval parameters (approval_id, beon_app_id, beon_resume_id, etc.) are left entirely undocumented. It does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Delete an Edge Function secret") with the selector ("by name"), which is enough for an agent to distinguish it from supabase_delete_edge_function or supabase_set_function_secret without opening a schema. It stops short of explicitly naming the sibling that creates/updates secrets, so it is clear but not maximally differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a precondition (BEON PASS approval) but no when-to-use/when-not-to-use guidance or alternatives. Usage is only implied by the verb, so this is minimum viable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_delete_sso_providerB
Destructive
Inspect

Remove a SAML identity provider. Affected users may lose access.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
provider_idYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds a concrete impact disclosure ('Affected users may lose access') that goes beyond the annotations, which is valuable. It still lacks details about permanence 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero waste: the action is front-loaded and the impact warning follows immediately. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with 9 parameters, no output schema, and 0% schema description coverage, the description is incomplete. It omits usage guidance, parameter meanings, and prerequisites, leaving an agent unable to invoke it confidently beyond inferring from parameter names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, and the description provides no explanation of any parameter. It does not mention project_ref, provider_id, or the beon_* parameters, so it fails to compensate for the complete lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Remove') and resource ('SAML identity provider'), making the action clear. However, it does not explicitly differentiate this tool from sibling deletion tools like supabase_delete_domain or supabase_delete_branch, nor from supabase_update_sso_provider, leaving sibling discrimination to the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as supabase_update_sso_provider or supabase_get_sso_provider. No prerequisites, conditions, or exclusions are stated; only the consequence is mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_delete_storage_bucketA
Destructive
Inspect

Delete an empty storage bucket. Requires a private project credential. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
bucket_idYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint/openWorldHint annotations, the description discloses the empty-bucket precondition, the credential requirement, and the mandatory out-of-band approval step in BEON PASS. It does not spell out irreversibility or failure modes, but the added operational context is substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and constraint, then prerequisites. No filler and every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive 9-parameter tool with no output schema and no annotation-covered parameter detail, the description covers the important behavioral gates but leaves the many beon_* parameters undocumented. Adequate for safety intent, incomplete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, and the description only loosely gestures at project_ref ('private project credential') and approval_id ('BEON PASS approval'). The remaining parameters, especially the beon_* context, resume, release, and environment fields, are unexplained, leaving the agent without parameter-level guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (delete) and resource (storage bucket) with the added constraint that the bucket must be empty. This clearly distinguishes it from sibling supabase_create_storage_bucket, supabase_update_storage_bucket, and supabase_delete_storage_objects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear preconditions (bucket must be empty, private project credential required, BEON PASS user approval required before execution) that tell the agent when this tool is invocable. It does not explicitly name alternative tools such as supabase_delete_storage_objects for emptying a non-empty bucket.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_delete_storage_objectsC
Destructive
Inspect

Permanently delete selected objects from a bucket. Management OAuth verifies project access; enter the Storage project key privately for this exact operation.

NameRequiredDescriptionDefault
pathsYes
bucket_idYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the genuinely useful 'Permanently' qualifier and the fact that Management OAuth verifies project access, but the 'enter the Storage project key privately' clause is confusing since no such parameter exists. Some added context, with a muddled auth instruction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is tight and front-loaded with the destructive action. The second sentence is vague, refers to a nonexistent 'Storage project key', and does not clearly earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, destructive, non-idempotent operation with no output schema and no schema descriptions, the description is far too thin. It omits any explanation of the required identifiers, batch-size limits, or the consequences of partial failure, leaving the agent under-equipped to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description carries the full burden and largely fails. It says nothing about project_ref, bucket_id, paths (the three required fields), the 100-item path limit, or the beon_* infrastructure parameters. Only the loose 'bucket'/'objects' wording hints at bucket_id and paths.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Permanently delete selected objects from a bucket.' The word 'objects' plus 'bucket' distinguishes it from the sibling supabase_delete_storage_bucket, though that distinction is left implicit rather than named. The second sentence muddies rather than sharpens the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance, and no alternative is named (e.g., supabase_delete_storage_bucket for the whole bucket, or supabase_move_storage_object instead of deleting). The only contextual sentence concerns OAuth and a 'Storage project key', which is not a parameter of this tool and reads as an instruction the agent cannot act on.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_deploy_edge_functionA
Destructive
Inspect

Deploy a TypeScript Edge Function through Supabase server-side bundling. Up to 20 files and 5 MB total UTF-8 source; provider bundled-size limits still apply. Files are sent to Supabase, never executed by BEON PASS. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
slugYes
filesYes
entrypointYes
verify_jwtNo
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true, and non-idempotency, so the safety profile is covered. The description adds meaningful context beyond that: files are sent to Supabase and never executed by BEON PASS (sandbox behavior), the 20-file/5 MB source cap, and the approval gate. It stops short of saying what happens when a slug already exists or whether redeployment overwrites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action, then constraints, then the sandbox/approval caveats. No filler, though the size-limit sentence and the approval sentence could be tightened slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter mutation with no output schema and no annotation coverage of parameters, the description covers purpose, limits, sandboxing, and approval but leaves the majority of the input surface unexplained. An agent would still need to guess at project_ref format, verify_jwt semantics, and the beon_* fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 12 parameters, so the description carries the full burden. It only touches the files parameter indirectly ('up to 20 files and 5 MB total UTF-8 source'), leaving project_ref, slug, entrypoint, verify_jwt, approval_id, and the beon_* context parameters entirely undocumented in both schema and prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Deploy), resource (TypeScript Edge Function), and mechanism (Supabase server-side bundling). This clearly separates it from siblings like supabase_list_edge_functions and supabase_delete_edge_function without needing to open any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a strong prerequisite (user must approve the exact request in BEON PASS before execution) and surfaces size limits, but never states when to choose this over alternatives or what preconditions must already exist. Usage is implied by the deployment verb rather than guided explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_execute_sqlA
Destructive
Inspect

Execute SQL on the selected project, including DDL and DML. Review data disclosure and destructive effects before approval. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
queryYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, so the safety profile is covered. The description adds behavior the annotations do not: the DDL/DML scope, the data-disclosure risk, and the mandatory BEON PASS approval gate. It still omits what the operation returns and any transaction/rollback semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action before the caveats. Minor redundancy between 'before approval' and 'before execution' and no wasted filler, though it could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a high-risk DDL/DML tool with no output schema and 9 undocumented parameters, the description covers the essential intent and the approval gate, which is critical. However, it leaves the agent without the mechanics for the non-obvious fields (approval_id, beon_context, beon_environment), so an agent could not reliably construct a valid call from this description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description carries the full burden and largely fails. It alludes obliquely to a 'query' and an approval ('selected project', 'approve the exact request'), but never explains the query format/size limits or how an agent obtains and supplies approval_id and the five beon_* parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Execute SQL on the selected project') and scopes it with 'including DDL and DML', which distinguishes it from read-oriented siblings like supabase_list_tables. It does not explicitly name an alternative such as supabase_apply_migration, so an agent must infer the boundary, but the purpose itself is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear, actionable context: it warns to review data disclosure and destructive effects, and states the operation requires explicit user approval in BEON PASS before execution — a genuine precondition an agent must satisfy. It stops short of naming when to prefer a sibling (e.g., apply_migration vs ad-hoc SQL), so it is clear context without alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_auth_configC
Read-onlyIdempotent
Inspect

Read non-secret authentication configuration.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered by structured data. The description adds one genuinely useful behavioral fact beyond that — only non-secret configuration is returned — which tells the agent not to expect secrets in the response. It still says nothing about return shape, pagination, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, front-loaded with the verb and the key scope qualifier, with no filler. It is efficient, though its brevity is partly under-specification rather than tight editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema, the description should do more: it omits all parameter semantics and any hint of what the returned configuration contains. Annotations cover the safety profile, but the agent still lacks what it needs to invoke this confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description carries the full burden of explaining them — and it explains none. The single required parameter (project_ref) and the platform-injected beon_* context parameters are undocumented anywhere, leaving the agent to guess their meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Read ... authentication configuration') with a useful scope qualifier ('non-secret'), so an agent knows this is a read of auth settings. It does not, however, distinguish itself from the many sibling get_*_config tools (database, rest, storage, pooler) or name supabase_update_auth_config as its write counterpart, leaving that separation to the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance at all: no mention of the update_auth_config sibling, no prerequisites, no note on when an agent would want auth config versus database or REST config. The agent must infer the trigger entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_database_configC
Read-onlyIdempotent
Inspect

Read selected non-secret Postgres configuration.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, open-world. The description adds one useful behavioral pearl — that only 'non-secret' configuration is returned, implying secrets are excluded — but says nothing about auth/permission requirements or return shape. Given the annotation coverage, this is an adequate but not rich contribution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, and the verb/resource are front-loaded. It is efficient, though arguably too terse for the parameter complexity it must carry.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema and zero param descriptions, one sentence is far from complete. It does not explain the beon_* governance params or how the returned configuration is structured, leaving the agent under-equipped.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description bears the full burden of explaining them — yet it mentions none. project_ref (the only required param) and the seven beon_* context/approval params are entirely undocumented outside their JSON types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Read) and resource (Postgres configuration) and qualifies the scope with 'selected non-secret'. This distinguishes it from supabase_update_database_config, but it does not differentiate itself from the many other get_*_config siblings (auth, rest, pooler, storage).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus supabase_update_database_config or the other config readers. The agent must infer usage purely from the name; no prerequisites, conditions, or alternatives are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_domainC
Read-onlyIdempotent
Inspect

Inspect custom domain configuration.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds nothing beyond that: it does not describe what configuration is returned, whether the domain must be initialized first, or any auth/permission requirements, so it contributes no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short, front-loaded sentence with no filler. It is efficient, though its brevity reflects under-specification rather than disciplined concision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read tool with no output schema, the description should at least hint at what 'domain configuration' comprises (DNS records, status, verification state) and confirm the required project_ref. None of that is present, so an agent cannot predict the response or resolve the undocumented parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, and the description mentions no parameter at all. It does not clarify project_ref's format or the purpose of the beon_* plumbing parameters (including the two enums), so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('inspect custom domain configuration'), which is unambiguous on its own. However, it does nothing to separate itself from adjacent siblings such as supabase_reverify_domain, supabase_activate_domain, or supabase_delete_domain, so sibling differentiation is left to the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no indication of when this tool should be used versus any alternative, no prerequisites, and no mention of the surrounding domain lifecycle (initialize, activate, reverify, delete). The agent must infer usage purely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_network_restrictionsC
Read-onlyIdempotent
Inspect

Inspect database network allowlists.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations fully cover the safety profile (readOnlyHint, idempotentHint, destructiveHint false, openWorldHint). The description adds only resource scope and the word 'Inspect'; it discloses no additional behavioral traits such as permissions, rate limits, or return behavior. With annotations carrying the safety burden, this is minimally acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single four-word sentence is front-loaded and free of filler. However, it is too sparse to be appropriately sized for an 8-parameter tool, leaving no room for required context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with 0% schema description coverage and no output schema, the description is not complete enough. It omits parameter context and offloads all parameter semantics to a bare schema; annotations cover safety but not invocation details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, and the description does not explain project_ref, its required status, or any of the beon_* context parameters. It adds no parameter meaning beyond the schema's type and format constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Inspect') and resource ('database network allowlists'), clearly distinguishing it as a read-only tool. It does not explicitly name alternatives like supabase_update_network_restrictions or supabase_list_network_bans, so sibling differentiation is implicit rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no when-to-use guidance, no exclusions, and no prerequisites. It implies inspection-only usage but does not tell the agent when to choose this over update_network_restrictions or list_network_bans.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_performance_advisorsB
Read-onlyIdempotent
Inspect

Inspect performance advisors. The upstream endpoint is experimental.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful caveat that the upstream endpoint is experimental, but discloses nothing about the advisor contents, result shape, or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two terse sentences with zero padding; the action and the experimental caveat are both front-loaded. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should at least orient the agent on what performance advisors are and what invoking this yields. Combined with the undocumented parameter set, it is only minimally complete for a read tool, though the annotations carry most of the safe-read burden.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, and the description says nothing about any of them. Six are opaque beon_* context fields whose meaning is unexplained in both description and schema, so the tool fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Inspect') and resource ('performance advisors'). The resource name implicitly distinguishes it from the sibling supabase_get_security_advisors, so an agent can tell the two apart without opening either schema, though it doesn't make the contrast explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus alternatives (e.g., the closely named supabase_get_security_advisors) or what prerequisites apply. The experimental caveat hints at caution but does not govern selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_pooler_configB
Read-onlyIdempotent
Inspect

Read pooler sizing and mode without connection strings.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds a genuinely useful disclosure not in the annotations: connection strings are excluded from the response, which matters because pooler configs normally contain them. It stops short of describing response shape or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with the operation front-loaded and no filler; every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only config getter with annotations covering safety, the high-level statement of what is returned is adequate, and no output schema is needed. However, with 8 undocumented parameters and no parameter guidance, the definition is thin relative to the tool's surface area.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the schema contributes no meaning at all. The description never mentions project_ref (the only required param) or the beon_*/approval plumbing params, leaving the agent with no guidance on what any of them do.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Read) and resource (pooler config) and narrows scope to 'sizing and mode', so an agent knows exactly what is retrieved. It does not explicitly name the sibling supabase_update_pooler_config, but the get/update pairing makes the read-vs-write distinction obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus alternatives, no prerequisites, and no indication of what an agent would do with the result. Usage is only implied by the read-only framing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_projectC
Read-onlyIdempotent
Inspect

Inspect project metadata without credentials.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds one genuine trait beyond that — the call works 'without credentials' — but says nothing about auth scoping, what subset of metadata is exposed, or any rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single five-word sentence with no filler and the key constraint front-loaded. It is efficient, though the extreme brevity is better characterized as under-specification than as disciplined conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema and zero schema descriptions, the description is far too thin: it does not say which parameters matter, what metadata comes back, or how project_ref should be formed. Only the credential-free behavior is conveyed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description carries the full explanatory burden and supplies none. The required project_ref is never explained (its 20-lowercase-character pattern is not hinted at), and the beon_* plumbing parameters are entirely unaddressed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'inspect' plus 'project metadata' names a resource, but 'metadata' is broad and does not separate this from siblings like supabase_list_projects, supabase_get_database_config, or supabase_get_auth_config. An agent can guess the general area but not the exact scope of what is returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no named alternative. The only contextual signal is the 'without credentials' phrase, which implies this is the low-friction read path, but the description never says when to prefer it over supabase_list_projects or the config-specific getters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_rest_configC
Read-onlyIdempotent
Inspect

Read non-secret Data API configuration.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true), so the bar is lower. The phrase 'non-secret' adds genuine context by signaling that secret values are redacted in the response, which is not derivable from the annotations. Beyond that one clause there is no disclosure of return shape, pagination, or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler, and the 'non-secret' qualifier is placed where it matters. It is efficient but arguably under-sized for an 8-parameter tool, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description could have described what the Data API config contains, but it does not. Combined with the required project_ref and the beon_* plumbing parameters going entirely unexplained, the definition is too thin for an agent to call this correctly without opening the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Eight parameters with 0% schema description coverage, including a required project_ref and an enum-constrained beon_connection_id, yet the description mentions no parameter at all. With such a wide coverage gap the description is expected to compensate and does nothing, so this falls below the minimum-viable bar.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Read') and resource ('Data API configuration'), which maps to the rest_config sibling family and separates it from supabase_get_auth_config / supabase_get_database_config / supabase_get_storage_config. However, it never names those siblings or explicitly scopes itself apart from them, so differentiation is inferred from the noun rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no prerequisites (e.g. project must exist / be unpaused), and never points to supabase_update_rest_config as the mutation counterpart. The agent is left to infer usage purely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_security_advisorsC
Read-onlyIdempotent
Inspect

Inspect security advisors. The upstream endpoint is experimental.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, openWorld and non-destructive semantics, so the safety profile is handled. The description adds one genuinely useful behavioral note — that the upstream endpoint is experimental and may be unstable — but says nothing about auth approval (approval_id) or the governance/routing parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, action first, caveat second — nothing wasteful. It is only 'concise' because it is thin, but structurally it is well front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema and zero schema descriptions, the definition should explain the return shape (list of advice objects with severity/detail) and the governance parameters. Neither is present, so an agent can invoke it but not predict or interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description carries the full burden and contributes nothing: no explanation of project_ref's format, the approval_id requirement for what looks like a gated call, or the beon_* context/route parameters. An agent cannot infer the meaning of most inputs from either source.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb and resource ("Inspect security advisors"), which distinguishes it from most siblings but not from its natural counterpart supabase_get_performance_advisors. It never says what a security advisor actually is (e.g., DB lint findings such as RLS-disabled tables), so an agent must guess the domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of the sibling supabase_get_performance_advisors as the alternative for performance checks. Usage is only implied by the word "inspect".

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_ssl_enforcementC
Read-onlyIdempotent
Inspect

Inspect database SSL enforcement.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered. The description adds nothing on top: no word on whether it hits live Supabase infrastructure, per-project scoping, permission requirements, or failure behavior when SSL enforcement isn't configured.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with zero padding — no wasted words. However, the brevity is under-specification rather than discipline: the sentence is too thin to earn its place given the tool's parameter surface.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and 0% parameter coverage, the description is the only prose available, and it does not describe what is returned (a boolean? an SSL mode enum?) or how the result should be interpreted. Given 8 parameters and a read/write sibling pair, this leaves real gaps an agent cannot close from structured fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description carries the burden — and it says nothing about any of them. Critically, it never mentions project_ref (the sole required parameter) or the beon_* infrastructure parameters, leaving an agent to guess that project_ref identifies the target project.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a verb ("Inspect") and a resource ("database SSL enforcement"), so the general domain is evident. But "inspect" leaves the outcome ambiguous — does it return the enforced/not-enforced flag, the SSL mode, certificate details? It also does nothing to distinguish itself from supabase_set_ssl_enforcement or supabase_get_network_restrictions two letters away in the toolset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no exclusions. The most obvious adjacent decision — read the setting here versus change it with supabase_set_ssl_enforcement — is never mentioned. An agent must infer that this is the read half of an obvious read/write pair.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_sso_providerB
Read-onlyIdempotent
Inspect

Inspect SAML provider identity and domain mappings without secret configuration.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
provider_idYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that no secret configuration is involved, which is modest extra context, but says nothing about permissions, output shape, or whether secrets are omitted from the response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single economical sentence with the core purpose front-loaded and no padding. It is well-sized, though its brevity is partly the cause of the specification gaps elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with annotations covering safety and no output schema, the description does hint at what is returned ('identity and domain mappings'). However, with 9 parameters at 0% coverage and no output schema, the definition is too thin to fully guide correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, and the description explains none of them – not the required project_ref/provider_id, nor the unexplained beon_* parameters. It gives no compensation for the coverage gap, leaving the agent to infer parameter meaning from names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Inspect) and resource (SAML/SSO provider identity and domain mappings), which clearly distinguishes it from create/update/delete siblings. It does not explicitly contrast with supabase_list_sso_providers, but a single-provider vs list distinction is inferable from the singular noun.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no when-to-use or when-not-to-use guidance, and never names the closest alternative (supabase_list_sso_providers, which returns all providers). The phrase 'without secret configuration' hints at a constraint but does not translate into selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_storage_configC
Read-onlyIdempotent
Inspect

Inspect non-secret Storage configuration.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description contributes one extra fact beyond that: secrets are excluded from the returned configuration ('non-secret'), which is a genuinely useful boundary. It says nothing about permissions, rate limits, or scope of the returned config.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; it respects brevity. The terseness is partly under-specification rather than efficient concision, but nothing in the sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter read tool with no output schema, the description is far too thin. Annotations cover the safety profile, but nothing explains what the config contains, what the required project_ref identifies, or how the beon_* context parameters behave.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Eight parameters at 0% schema description coverage, and the description adds zero parameter meaning. The required project_ref and the seven beon_* / approval_id context parameters are entirely undocumented anywhere, leaving the agent to guess what they are.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Inspect) and resource (Storage configuration) with a meaningful scope qualifier ('non-secret'). This distinguishes it from the other supabase_*_config readers (auth, database, rest, pooler) by resource, though it never explicitly names those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus the sibling config-inspection tools, no prerequisites, no mention that a project_ref is required. The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_upgrade_eligibilityC
Read-onlyIdempotent
Inspect

Inspect database upgrade eligibility.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that: it doesn't explain what 'eligibility' means, whether it requires approval, or what the inspection entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single front-loaded sentence with zero padding, which is structurally efficient. The brevity is also its weakness, but as structure it is clean and earned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read operation with eight parameters (seven opaque beon_* fields), no output schema, and no sibling differentiation, this one-liner is far too thin. An agent cannot determine intent, side effects on the undocumented metadata params, or how results differ from get_upgrade_status.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are 8 parameters with 0% schema description coverage, so the schema provides no help and the description must compensate. It says nothing about any parameter — not even the required project_ref, nor the seven undocumented beon_* metadata fields — leaving the input contract effectively unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Inspect) and resource (database upgrade eligibility), which is clearer than a tautology. However, it offers no differentiation from the closely related sibling supabase_get_upgrade_status, leaving the agent to guess which to call for eligibility vs. status questions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as supabase_get_upgrade_status. The agent receives a purpose but no context for selecting this tool over its sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_get_upgrade_statusC
Read-onlyIdempotent
Inspect

Inspect current database upgrade status.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint, idempotentHint, and destructiveHint=false annotations already establish the safety profile, so the description's burden is lighter. The word 'current' hints at live state, but there is no disclosure of what the status values mean, how long an in-progress upgrade takes, or whether the result changes over time.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficiently sized, though the terseness contributes to the coverage gaps rather than compensating for them.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should describe what 'status' returns (e.g., pending, in-progress, completed, failed), and it does not. Combined with 0% parameter documentation, the definition is not complete enough for an agent to call it confidently or interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 8 parameters and 0% schema description coverage, the description is the only source of parameter meaning and it says nothing. It does not explain what project_ref identifies, what the beon_* context/resume/release parameters do, or why approval_id might be needed for a status check.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Inspect') and resource ('database upgrade status'), which is distinguishable from siblings like supabase_get_upgrade_eligibility and supabase_upgrade_database. However, it does not explicitly contrast itself with the closely related eligibility tool, so the agent must infer the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this versus supabase_get_upgrade_eligibility (checking if an upgrade is possible) or supabase_upgrade_database (performing it). The agent gets no condition or alternative routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_initialize_domainB
Destructive
Inspect

Initialize a custom domain. Provider charges may apply. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
hostnameYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, idempotent=false, openWorld=true, so the safety profile is largely covered. The description adds genuinely new context beyond those annotations: provider charges may apply, and a user approval in BEON PASS is required before execution. It still omits what happens to any existing domain and any DNS/verification steps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences with no filler; the core action comes first, then cost, then approval prerequisite. Efficient and well-ordered, though it is terse for a 9-parameter mutation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent tool with 9 undocumented parameters and no output schema, the description covers only cost and approval. It leaves the parameter surface and the domain's post-creation state undocumented, so it is not complete enough for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters; the two required ones (project_ref, hostname) are self-evident by name, but the seven BEON-approved workflow parameters (approval_id, beon_* fields) are entirely undocumented in both schema and description. Only an implicit link between 'approval_id' and the BEON PASS approval is suggested, which is insufficient compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Initialize a custom domain') and a clear operational fact. However, it does not distinguish itself from close siblings such as supabase_activate_domain, supabase_reverify_domain, or supabase_delete_domain, so an agent cannot tell from the text alone why it should pick this over activate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives one prerequisite (BEON PASS approval before execution) but no statement of when to use this versus the other domain lifecycle tools (activate, reverify, delete). The reader is left to infer that this is the creating/setting-up step.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_backupsB
Read-onlyIdempotent
Inspect

List database backup metadata and PITR availability.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is fully covered. The description adds that PITR availability is returned, which is useful content context, but says nothing about permissions, scoping, or pagination beyond what annotations give.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence covering the resource and the notable return content, with no wasted words. It is efficient, though arguably under-developed rather than over-long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with annotation coverage and no output schema, the description adequately signals what is returned. The unresolved gap is the 8 undocumented parameters with one required field that the description never clarifies.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description carries the full burden and does not compensate at all. It never mentions project_ref (the only required parameter) or explains the beon_* plumbing parameters, leaving the agent to guess at required inputs from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (List) plus resource (database backup metadata and PITR availability), so an agent knows exactly what comes back. It does not, however, name or distinguish itself from near siblings like railway_list_volume_backups or supabase_restore_backup/supabase_restore_pitr, so sibling differentiation is left to the agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not guidance, no mention of prerequisites, and no routing to the restore tools that a backup listing naturally precedes. The agent must infer that this is the read step before supabase_restore_backup or supabase_restore_pitr.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_branchesC
Read-onlyIdempotent
Inspect

List development and production environments without credentials.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the meaningful detail that results come back 'without credentials,' signaling the output excludes secrets — useful context beyond the annotations, though it omits pagination or return-shape details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. It is efficient, though arguably too terse for a tool exposing 8 parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 undocumented parameters, no output schema, and no annotation-level parameter guidance, the description is insufficient. An agent cannot tell from the description what project_ref expects or what the beon_* parameters do.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 8 parameters at 0% schema description coverage, the description carries the full burden of explaining parameters and does none of it. The required project_ref is not mentioned, nor are the beon_* context parameters or the two enumerated fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs the verb 'List' with a clear resource ('development and production environments'), which maps to Supabase branches. However, it uses the term 'environments' rather than 'branches' (the tool name), which risks confusion with siblings like railway_list_environments, and it offers no 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.

Usage Guidelines2/5

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 supabase_list_projects, supabase_get_project, or supabase_create_branch/delete_branch. Usage is only implicitly inferable from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_edge_functionsC
Read-onlyIdempotent
Inspect

List deployed Edge Functions.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety and idempotence are covered. The description adds no behavioral context beyond the annotations, such as pagination, auth requirements, or the effect of the required project_ref scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, but it is under-specified for a tool with 8 parameters and no schema descriptions. It front-loads the action but fails to earn its place by adding any useful detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters (one required), 0% schema description coverage, no output schema, and only safety annotations, the description is grossly incomplete. It does not explain the required project_ref, what 'deployed' means in context, or any return shape, leaving the agent without enough information to invoke the tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for 8 parameters, including one required project_ref. The description does not mention any parameter, its format, or its role, leaving the agent with no semantic guidance beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'List deployed Edge Functions.' It clearly distinguishes from sibling write operations like deploy_edge_function and delete_edge_function. It lacks scope details (e.g., per-project) or any sibling reference, so it is clear but not maximally differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives. An agent can infer that it is used to view deployed functions, but nothing directs it on when this is preferable to other listing or inspection tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_migrationsC
Read-onlyIdempotent
Inspect

Inspect migration history.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered. The description adds nothing beyond that — no note that results are scoped to a project_ref, no auth/permission context, no indication of what the history contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single front-loaded sentence with no filler, which is structurally clean, but the brevity reads as under-specification rather than true conciseness given everything left unsaid.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameter documentation, the description should carry more of the load for a tool that takes 8 inputs. It says nothing about return shape, filtering, or how the migration history is scoped, so an agent cannot call it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the schema provides names and formats but no semantics. The description compensates for none of this — it never mentions project_ref (the sole required parameter) or any of the beon_* context fields, leaving the agent to guess what each input means.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Inspect migration history" names a resource and a verb, so the general intent is inferable, but "inspect" is weaker and vaguer than the tool name's "list" and gives no sense of scope (project-wide? branch? paginated?). It also does not distinguish this read operation from the sibling supabase_apply_migration, which writes a migration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to reach for this tool versus alternatives such as supabase_apply_migration or the branch-related siblings, and no prerequisites or exclusions are given. The agent is left to infer usage purely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_network_bansC
Read-onlyIdempotent
Inspect

Inspect banned database client addresses.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and open-world, so safety is covered. The description adds essentially nothing beyond restating the read-only inspection nature; no pagination, result shape, or permission context is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence, front-loaded with no filler — structurally fine. However, the brevity reflects under-specification rather than disciplined conciseness, so it is only adequate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters, no output schema, and 0% schema description coverage, the description omits parameter meaning, return content, and scoping behavior. It is far too thin to guide correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, and the description contributes nothing about any of them — not even the required project_ref. With low coverage the description is expected to compensate, and it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb ('inspect') and a specific resource ('banned database client addresses'), which an agent can map to network bans. It does not explicitly differentiate from the sibling supabase_remove_network_bans, though the read/write contrast is fairly self-evident.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of the related siblings (supabase_remove_network_bans, supabase_get_network_restrictions). The agent is left to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_organizationsC
Read-onlyIdempotent
Inspect

List organizations authorized for the Supabase wallet.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only a hint about authorization scoping ('authorized for the Supabase wallet') and nothing about pagination, filtering, or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though its brevity arguably contributes to the under-specification problem rather than resolving it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with seven optional, entirely undocumented parameters and no output schema, the description is far too thin. It leaves the agent unable to reason about what any parameter does or what the returned organizations represent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Seven parameters with 0% schema description coverage, and the description mentions none of them. Terms like approval_id, beon_app_id, beon_resume_id, and beon_connection_id are completely opaque without schema docs, and the description does nothing to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (organizations) with a scoping qualifier ('authorized for the Supabase wallet'). No sibling tool lists organizations, so there is little risk of confusion, though the 'wallet' framing is unusual and not explained.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as beon_create_organization or how it relates to other supabase list tools. The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_projectsC
Read-onlyIdempotent
Inspect

List authorized projects; BEON PASS infrastructure is excluded.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally. The description adds the non-obvious filtering behavior (BEON PASS infrastructure excluded) and the authorization scoping, which is genuinely useful context, but says nothing about pagination, result size, or what 'authorized' is derived from.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the key constraint front-loaded; nothing is wasted. It is slightly under-specified rather than padded, so it errs toward brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, 7 undocumented parameters, and no required fields, the description should explain the auth/context contract and what a returned project looks like. It delivers only the exclusion rule, leaving the agent unable to construct a correct call confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 7 parameters, so the description carries the full burden of explaining what approval_id, beon_context, beon_environment, etc. mean. It mentions none of them, leaving the agent with seven opaque inputs and no way to know which are required context versus optional filters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List authorized projects') and adds a meaningful scope qualifier. It does not, however, distinguish itself from the sibling list tools (railway_list_projects, vercel_list_projects) beyond the name prefix.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to call this versus alternatives or what an 'authorized' project means in practice. Usage is only implied by the verb 'List'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_sso_providersC
Read-onlyIdempotent
Inspect

List configured SAML identity provider metadata.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the entire safety profile is covered structurally. The description adds nothing beyond the annotations - no pagination behavior, no scope of what 'configured' means, no auth/permission notes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, which is structurally efficient. It is terse to the point of under-specification rather than wasteful, so it earns a good but not top conciseness score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with 8 undocumented parameters, no output schema, and no explanation of pagination or filtering, the description leaves substantial gaps. Annotations cover the safety profile, but the agent still lacks enough information to call it confidently on the non-obvious parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, including required project_ref and a set of opaque beon_* parameters (beon_context, beon_environment, beon_connection_id). The description supplies no parameter meaning whatsoever, leaving the agent with no explanation of what must be supplied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("List configured SAML identity provider metadata"), which cleanly separates it from singular siblings like supabase_get_sso_provider and mutating ones like supabase_create/update/delete_sso_provider. It never names those siblings explicitly, so the distinction is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no mention of the related siblings (get/create/update/delete_sso_provider). The agent must infer from the verb alone that this is the enumeration variant.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_storage_bucketsC
Read-onlyIdempotent
Inspect

List storage bucket metadata through Management OAuth.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the auth mechanism ("Management OAuth"), a small but genuine piece of context; it says nothing about pagination, return shape, or how project scoping affects results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, which is efficient. It is arguably too terse for an 8-parameter tool, but nothing in it is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters, 0% schema coverage, no output schema and no explanation of the beon_* approval context, the description is thin. Annotations cover read-only safety, but the agent still lacks guidance on scoping, pagination, and the required plumbing parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description carries the burden of explaining them — yet it names none. The required project_ref and the approval_id / beon_context / beon_environment plumbing are left to the bare schema, which at least supplies types, enums and patterns but no intent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (storage bucket metadata), which lets an agent distinguish it from supabase_create_storage_bucket, supabase_delete_storage_bucket and supabase_update_storage_bucket by name alone. It does not explicitly name a sibling or contrast with supabase_list_storage_objects, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as listing objects inside a bucket rather than the buckets themselves. The agent is left to infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_storage_objectsCInspect

List object names and timestamps, never object contents. Management OAuth verifies project access; enter the Storage project key privately for this exact operation.

NameRequiredDescriptionDefault
offsetNo
prefixNo
bucket_idYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description presents this as a pure read: 'List object names and timestamps, never object contents.' Annotations declare readOnlyHint=false, which asserts the operation is not read-only — a direct conflict with a listing operation. The auth note adds some context, but the read-only contradiction against the annotation dominates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the core action ('List object names and timestamps') before the auth caveat. Efficient overall, though the second sentence is awkwardly phrased ('enter the Storage project key privately for this exact operation').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter tool with no output schema, the description should carry weight but instead covers only output shape at a high level and one auth hint. Pagination, filtering, identifier semantics, and the beon_* control parameters are entirely unaddressed, leaving an agent without enough to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 11 parameters with 0% description coverage, exposing only names and types (offset, prefix, bucket_id, project_ref, approval_id, and several beon_* fields). The description explains none of them — not offset/pagination, not prefix filtering, not which identifier selects the project or bucket — 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: list storage object names and timestamps, explicitly scoping out contents. An agent can distinguish this from sibling operations like supabase_list_storage_buckets, supabase_upload_storage_object, and supabase_move_storage_object without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides some operational context — 'Management OAuth verifies project access; enter the Storage project key privately for this exact operation' — which hints at auth prerequisites and the sensitive nature of the input. However, it never states when to choose this tool over alternatives (e.g., list_storage_buckets or get_storage_config), leaving usage conditions implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_list_tablesC
Read-onlyIdempotent
Inspect

Inspect public table and column definitions live.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds scope ('public') and freshness ('live'), but does not disclose pagination, permissions, or return shape beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence with no wasted words and the core purpose is front-loaded. It is appropriately concise, though its brevity contributes to the tool's overall under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, no output schema, and no parameter descriptions, the definition is far too sparse. It does not explain how to provide project_ref or what the returned table/column data looks like, leaving key invocation details missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 8 parameters with 0% description coverage, including a required project_ref and several context parameters. The description adds no meaning about any parameter and does not compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: inspect public table and column definitions. It is clear what the tool does, but it does not explicitly differentiate from sibling tools like supabase_execute_sql or supabase_get_database_config.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It does not state prerequisites, exclusions, or contexts such as schema exploration versus data querying.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_merge_branchA
Destructive
Inspect

Merge a branch into its parent production environment. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
branch_refYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds a genuinely non-structured detail: execution is gated on user approval of the exact request in BEON PASS, which tells the agent this cannot be fired autonomously. It stops short of describing what production state is overwritten or whether the merge is reversible, so it is not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero filler, and the core action is front-loaded ahead of the approval constraint. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive production mutation with eight parameters, one required, an opaque BEON approval workflow, and no output schema, the description is far too thin. It never says how the agent obtains the approval_id or what the merge does to existing production data, leaving the critical invocation path unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description carries the full burden. It hints at the branch target via the word 'branch' and at the approval flow via 'BEON PASS', but it never explains branch_ref's format, how approval_id is obtained, or what the beon_app_id/beon_environment/beon_connection_id plumbing params mean. Most parameters remain opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (merge), resource (branch), and explicit destination (its parent production environment), which cleanly separates it from the sibling branch operations like supabase_create_branch, supabase_delete_branch, and supabase_list_branches. An agent can identify the operation without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance offered is the precondition that the request must be approved in BEON PASS before execution. There is no statement of when to merge versus other routes (e.g., release preparation or checkpoint restore), nor any when-not-to-use condition, so the agent must infer the selection context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_move_storage_objectB
Destructive
Inspect

Move or rename an object within the selected bucket. Existing links may break. Management OAuth verifies project access; enter the Storage project key privately for this exact operation.

NameRequiredDescriptionDefault
bucket_idYes
approval_idNo
beon_app_idNo
project_refYes
source_pathYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
destination_pathYes
beon_connection_idNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is partly covered. The description adds real value beyond that by warning 'Existing links may break' and describing the management OAuth access verification and private project-key entry, which are consequences and prerequisites not encoded in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action and its consequence, with no filler. The auth sentence is dense but earns its place for a destructive operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation with 11 params and no output schema, the description covers the key behavioral risks but omits error/collision behavior, return expectations, and the meaning of the required path parameters. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 11 parameters and 0% schema description coverage, the description is expected to compensate and does not. It never clarifies source_path vs destination_path semantics, the project_ref format, or what the beon_* plumbing parameters are, leaving most of the schema unilluminated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (move or rename) and resource (an object within the selected bucket), which is unambiguous and distinct from siblings like supabase_upload_storage_object or supabase_delete_storage_objects. It does not explicitly name a neighboring operation to route against, so it falls 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The operation type strongly implies when to use it, but there is no explicit when/when-not guidance or comparison to alternatives such as delete/upload. The only contextual instructions are about auth handling, not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_pause_projectC
Destructive
Inspect

Pause a project and interrupt all application services.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the risk profile is covered structurally. The phrase 'interrupt all application services' adds real behavioral context about blast radius, but nothing is said about reversibility, required permissions, or approval_id usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler, which is appropriate for this operation. It is arguably too sparse rather than too long, but structurally sound.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation with 8 parameters, no output schema, and 0% schema description coverage, the definition should at minimum indicate reversibility and what the auxiliary parameters are for. None of that is present, leaving the agent under-informed before a disruptive call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, and the description mentions no parameters at all. Only the required project_ref is inferable from the tool name; the beon_* and approval_id parameters remain opaque in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (pause) and resource (project) plus the consequence (interrupt all application services), which is clearer than a bare 'pause'. However it never names its natural inverse, supabase_restore_project, so sibling differentiation must be inferred.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says what happens but never when to use this tool versus alternatives such as supabase_restore_project or railway_stop_deployment, nor any prerequisite. No usage guidance is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_remove_network_bansC
Destructive
Inspect

Unban selected database client IPv4 addresses.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
ipv4_addressesYes
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, readOnlyHint=false, and openWorldHint=true, and the description is consistent with them. However, it adds nothing beyond the mutation itself: no permissions requirements, no note on the approval_id/beon_* context params, no statement about whether unbanning is reversible or how it interacts with network restrictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler, which is efficient. It is arguably too terse for a 9-parameter destructive mutation, but as a pure conciseness measure it does not waste words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent, 9-parameter mutation with 0% schema coverage and no output schema, one sentence leaves major gaps: the approval flow implied by approval_id, the required project_ref, and the batch size limit are all unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description must compensate and does not. It hints at ipv4_addresses with "IPv4 addresses," but never mentions project_ref (required), the approval_id workflow, the beon_* context fields, or the maxItems=50 constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Unban") and resource ("selected database client IPv4 addresses"), which is clear enough for an agent to identify the operation. It does not explicitly differentiate itself from the close siblings supabase_list_network_bans or supabase_update_network_restrictions, so it falls 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, prerequisites, or alternatives are given. The presence of an approval_id parameter suggests an approval workflow that must precede this call, but the description never mentions it or routes the agent to supabase_list_network_bans to discover which IPs are banned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_restore_backupB
Destructive
Inspect

Restore a selected database backup. Newer data may be lost and downtime occurs.

NameRequiredDescriptionDefault
backup_idYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=true. The description adds specific consequences beyond those hints: newer data may be lost and downtime occurs, telling the agent what is at risk and that disruption is expected. It still omits approval requirements or recovery details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. The core action is front-loaded, followed by the critical warning. It is appropriately sized and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive restore with 9 parameters and no output schema, the description covers the purpose and major consequences, consistent with the destructive annotations. However, it omits parameter context, including the required project_ref and backup_id, and does not explain approval_id or the beon_* fields, leaving the agent to infer usage from bare schema patterns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters. The description only implies a 'selected database backup' and provides no explanation of project_ref, backup_id, approval_id, or the beon_* parameters, failing to compensate for the schema's complete lack of parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Restore') and resource ('database backup') with the scope 'selected'. It does not explicitly differentiate from sibling restore tools such as supabase_restore_pitr or supabase_restore_project, so it is clear but lacks sibling routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites, and no excluded cases. The warning about data loss is impact information, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_restore_pitrB
Destructive
Inspect

Restore database to a prior point. Can discard newer data and cause downtime.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo
recovery_time_target_unixYes

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description still adds concrete consequence beyond the flags: newer data may be discarded and downtime will occur, which tells the agent what is actually lost and the operational impact. It stops short of covering irreversibility details, approval requirements, or expected duration.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with zero filler; the risk warning follows immediately after the action. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a high-stakes destructive restore with nine undocumented parameters, no output schema, and no annotations beyond safety flags, the definition is far too thin. It omits the approval gating, target time semantics, and any notion of what the call returns or how long the operation takes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 9 parameters and 0% schema description coverage, the description carries the full burden and adds almost nothing: only 'a prior point' loosely gestures at recovery_time_target_unix, with no format (unix epoch), bounds, or meaning. The approval_id and beon_* parameters, plus the environment/connection enums, are entirely unexplained in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Restore database to a prior point'), making the operation identifiable. It does not, however, distinguish itself from nearby siblings such as supabase_restore_backup, supabase_restore_project, or railway_restore_volume_pitr, so an agent must rely on the tool name to tell PITR apart from backup restore.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose PITR over supabase_restore_backup, nor any stated preconditions (approval workflow implied by the approval_id parameter, environment selection, project state). The reader is left to infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_restore_projectC
Destructive
Inspect

Restore a paused project. Provider charges may resume.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds a genuinely useful billing note ('Provider charges may resume') beyond the structured hints, but omits other behavior such as prerequisites, duration, or what happens to project state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and followed by the cost caveat; no redundancy. It is efficient, though its extreme terseness borders on under-specification rather than tight conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent mutation with 8 parameters at 0% schema coverage and no output schema, the description is too thin. It fails to explain the required project_ref, expected effects, or prerequisites, leaving significant gaps for an agent to act on safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, and the description adds no parameter meaning at all. The required project_ref (and the internal beon_* orchestration fields) are left entirely to the schema patterns/enums, so the description does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Restore a paused project'), which clearly distinguishes it from the sibling supabase_pause_project and the data-restore tools (restore_backup/restore_pitr). However, it doesn't explicitly name or contrast those siblings, so differentiation is implicit rather than spelled out.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like supabase_restore_backup or supabase_restore_pitr, nor any stated preconditions (e.g., the project must already be paused). The only usage-adjacent content is a cost warning, which is not routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_reverify_domainB
Destructive
Inspect

Retry verification of a custom domain. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false and readOnlyHint=false, covering the safety profile. The description adds a genuinely non-obvious behavioral trait beyond the annotations: the exact request must be user-approved in BEON PASS before execution. That approval gating is the most valuable behavioral detail here, though rate/return behavior 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with no filler, and the core action is front-loaded ahead of the approval caveat. It is appropriately sized for a single-purpose operation, though the brevity is partly the cause of the parameter gap.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, destructive-annotated tool with no output schema, the description covers only purpose and the approval gate. It says nothing about the required project_ref, the approval_id linkage, or the beon_* context fields, so an agent cannot confidently construct a call from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, and the description explains none of them. The required project_ref, the approval_id that ties into the stated BEON PASS workflow, and the six beon_* context fields are all left undocumented. With such a large, undocumented parameter set, the description should compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Retry verification of a custom domain.' This distinguishes it from the read-oriented siblings like supabase_get_domain and from supabase_initialize_domain/activate_domain by emphasizing re-verification. It stops short of explicitly naming which sibling handles the initial verification or status lookup, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Retry' implies usage after a prior verification attempt failed or is pending, and the description adds the precondition of BEON PASS approval. However, it never states when to use this instead of supabase_get_domain (status check) or supabase_activate_domain, leaving the routing decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_set_function_secretA
Destructive
Inspect

Set an Edge Function secret. Its value is entered privately in BEON PASS and never passed through the AI. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
nameYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true, readOnlyHint=false and non-idempotency, but the description adds genuinely non-derivable behavior: the secret value is entered privately in BEON PASS and never transits the AI, and execution is gated on explicit user approval of the exact request. That is real operational context. It stops short of saying what happens to a pre-existing secret of the same name (overwrite semantics).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and followed by the two behavioral facts that matter. No filler and nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, approval-gated mutation with no output schema, the description covers the interaction model adequately but leaves the parameter surface and any overwrite/rollback consequences unstated. It is enough to attempt the call correctly, not enough to fully predict its effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description carries the full burden. It only implicitly explains one conceptual slot (why there is no 'value' parameter, since the value is entered in BEON PASS), while project_ref, name (uppercase pattern, max 100), approval_id and the beon_* context fields are left entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Set') and resource ('Edge Function secret'), and the pairing with the sibling 'supabase_delete_function_secret' makes the create/update vs. remove distinction obvious without opening any schema. An agent can identify the operation immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the execution flow (private value entry, mandatory approval) but never states when to choose this tool over alternatives such as supabase_deploy_edge_function or the delete-secret sibling. Usage is implied by the operation name rather than explicitly scoped.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_set_ssl_enforcementB
Destructive
Inspect

Change database SSL enforcement. Enabling it can disconnect non-TLS clients.

NameRequiredDescriptionDefault
enforceYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, so safety is covered. The description adds genuinely new context beyond those flags: enabling enforcement will disconnect non-TLS clients, a concrete operational consequence an agent needs before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, purpose first and the risk warning second, with no filler. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, 9-parameter mutation with no output schema and 0% parameter descriptions, the definition is thin. It conveys purpose and one consequence but omits what approval_id and the beon_* context parameters require, leaving the agent under-informed before a destructive change.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description must carry the burden, yet it only implies the 'enforce' toggle. The required project_ref and the approval_id/beon_* parameters are left entirely unexplained in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Change') plus resource ('database SSL enforcement'), which is enough to separate it from the sibling supabase_get_ssl_enforcement. It does not explicitly name that sibling, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance or mention of alternatives such as supabase_get_ssl_enforcement or the related network-restriction tools. The warning about disconnecting non-TLS clients hints at caution but does not tell the agent when this action is warranted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_update_auth_configB
Destructive
Inspect

Update signup, redirect, email, password, or token lifetime configuration. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
configYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=true, so the mutation/safety profile is covered. The description adds a genuine behavioral fact beyond the annotations: execution requires user approval of the exact request in BEON PASS. It does not disclose what gets overwritten or the reversibility of config changes, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two lean sentences, front-loading the operation and following immediately with the execution prerequisite. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, open-world mutation tool with 9 parameters at 0% schema coverage and no output schema, this description is far too thin. It covers the approval gate but leaves parameter semantics, scope of change, and reversibility entirely undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters including a nested config object, so the description must carry the burden but doesn't. It loosely gestures at the field categories (signup, redirect, email, password, token lifetime) but explains no parameter meaning, and completely omits the required project_ref and the cryptic approval_id / beon_* workflow parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('Update ... configuration') and enumerates the affected areas (signup, redirect, email, password, token lifetime), which maps well to the actual config fields. It does not explicitly name the read counterpart supabase_get_auth_config, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the BEON PASS approval prerequisite, which is a real usage condition. However it gives no when-to-use vs when-not guidance and never contrasts with supabase_get_auth_config or other config-update siblings, relying on the tool name alone to imply usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_update_database_configB
Destructive
Inspect

Change Postgres settings. May restart or affect production database performance.

NameRequiredDescriptionDefault
configYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and idempotentHint=false, so the safety profile is known. The description adds genuinely new behavioral context beyond the annotations: that the change may restart Postgres and degrade production performance. It does not disclose the approval/auth requirement implied by approval_id, but the risk warning is real added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with zero filler: the action first, then the risk. Efficient for the amount of content present, though there is no structural framing for a tool with this many parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive production-database mutation the description covers the core risk but omits the approval prerequisite and any guidance on the config object's accepted keys. With short text and no output schema, the annotations carry much of the safety burden, so it is minimally but not fully adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, including a nested config object with five sub-fields (work_mem, max_connections, statement_timeout, etc.) that have patterns and bounds but no textual explanation. The description's generic "Change Postgres settings" only vaguely maps to the config parameter and explains nothing about project_ref, approval_id, or the beon_* metadata fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb+resource ("Change Postgres settings"), which clearly distinguishes a mutating config operation from the read-only sibling supabase_get_database_config. It stops short of naming that sibling or scoping which settings, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative tools are mentioned. The presence of a required approval_id parameter and an environment enum suggests an approval workflow, but the description gives no guidance on prerequisites or when this should be preferred over changing settings elsewhere.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_update_network_restrictionsB
Destructive
Inspect

Add or remove CIDRs from the database allowlist. Can expose the database or lock out clients.

NameRequiredDescriptionDefault
addNo
removeNo
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered structurally. The description earns credit for naming the concrete blast radius ('lock out clients'), which is context the annotations do not convey. It still omits whether add and remove can be combined, whether the change is reversible, and what auth/approval is required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the operation stated first and the risk second, zero filler. It is appropriately front-loaded, though arguably too terse for a 10-parameter destructive tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A destructive, non-idempotent mutation with nested objects, 10 parameters, 0% schema coverage, and no output schema needs substantially more explanation than two sentences. The agent cannot determine the semantics of add/remove, the approval flow, or the project_ref constraint from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, including two nested add/remove objects and several beon_* coordination fields, so the description carries the full burden. It mentions CIDRs and the allowlist but gives no meaning for the add vs remove structure, approval_id, project_ref format, or the beon_* fields. This leaves most parameters semantically undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair and resource: 'Add or remove CIDRs from the database allowlist.' An agent can tell this mutates the allowlist rather than reading it, distinguishing it from supabase_get_network_restrictions and supabase_list_network_bans. It does not name those siblings explicitly, so it stops 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus the read-only siblings, no prerequisites, and no note that approval_id may be required for the change to take effect. 'Can expose the database or lock out clients' is a consequence warning, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_update_pooler_configC
Destructive
Inspect

Change pool size or pooling mode. Can affect active database clients.

NameRequiredDescriptionDefault
pool_modeYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
default_pool_sizeYes
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds real behavioral context beyond that with 'Can affect active database clients,' but does not say how (dropped connections? restart? downtime?) or what permissions/approval are required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the operation stated first and the risk caveat second; nothing is padded. The extreme terseness costs some completeness but the structure is well front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, destructive, non-idempotent mutation with no output schema and no annotation-independent param docs, this is thin. The approval_id parameter strongly implies an approval workflow that the description never acknowledges, leaving the agent without the context needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description carries the full burden and only partially meets it. It hints at pool size and pool mode but never explains the transaction/session enum semantics, the 1-3000 size bounds, or the roles of approval_id and the beon_* parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Change pool size or pooling mode'), so an agent knows exactly what operation is performed. It does not, however, name the read counterpart supabase_get_pooler_config, so the sibling differentiation is left to the agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance: it never says to inspect current config via supabase_get_pooler_config first, nor does it state prerequisites such as the approval_id workflow. Usage is only weakly implied by 'Change'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_update_rest_configB
Destructive
Inspect

Configure Data API exposed schemas, row limits, and connection pool. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
configYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, idempotent=false, and openWorld=true, so the mutation profile is covered. The description adds genuinely useful non-annotated context: the request must be approved in BEON PASS before execution. It still omits whether omitted config fields are reset or preserved, which matters for a destructive non-idempotent nested-object update.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler; the operational scope is front-loaded and the approval prerequisite follows immediately. Nothing redundant or padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent mutation with a nested config object, 9 parameters at 0% schema coverage, and no output schema, the description is too thin. It never explains the approval/beon parameter family an agent must supply, nor the reset-on-omit behavior an agent needs to call this safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, well under the 50% threshold. The description loosely gestures at the config contents (schemas, row limits, pool) but leaves approval_id and the seven beon_* parameters entirely unexplained in both schema and prose, so it does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Configure') and enumerates the actual configurable surfaces: exposed schemas, row limits, and connection pool, which map directly onto the db_schema/db_extra_search_path, max_rows, and db_pool fields. It does not, however, distinguish itself from close siblings like supabase_update_pooler_config or supabase_update_database_config, which also touch pool/database settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus supabase_update_pooler_config, supabase_update_database_config, or the read-side supabase_get_rest_config. The only usage condition stated is the approval prerequisite, which is a gate rather than a selection heuristic.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_update_sso_providerC
Destructive
Inspect

Update SAML metadata or domain mappings. Changes production authentication trust.

NameRequiredDescriptionDefault
settingsYes
approval_idNo
beon_app_idNo
project_refYes
provider_idYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description does add genuine impact context with 'Changes production authentication trust,' which tells the agent this is high-blast-radius. However it says nothing about reversibility, propagation delay, or auth/permission needs, so it goes only modestly 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with zero filler; the operation is stated first and the risk warning second, which is the right ordering. Brevity borders on under-specification for a 10-parameter destructive tool, but nothing written is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive production-affecting mutation with 10 parameters, no output schema, and zero schema coverage, the description omits the information an agent most needs: what the required identifiers are, what settings accepts, and how approval_id/beon_* flow works. The impact warning is valuable but insufficient to close the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description carries the full burden and largely fails. It loosely maps 'SAML metadata' to settings.metadata_url and 'domain mappings' to settings.domains, but says nothing about project_ref, provider_id, approval_id, or the seven beon_* context parameters, several of which are cryptic.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Update' plus 'SAML metadata or domain mappings' identifies a specific mutation on an existing SSO provider, which is enough to separate it from supabase_create_sso_provider, supabase_delete_sso_provider, and supabase_get_sso_provider. It never names the resource as an SSO provider or names a sibling, so sibling differentiation is implicit rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use or when-not-to-use guidance, no prerequisite (e.g. that the provider must already exist, or how approval_id/beon_* identifiers relate to a call), and no pointer to alternatives. The only steer the agent gets is the verb 'Update', which implies an existing entity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_update_storage_bucketA
Destructive
Inspect

Change bucket visibility, MIME types or size limits. Requires a private project credential. Requires the user to approve the exact request in BEON PASS before execution.

NameRequiredDescriptionDefault
publicNo
bucket_idYes
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
file_size_limitNo
beon_environmentNo
allowed_mime_typesNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds non-obvious behavioral context beyond that: the credential requirement and the mandatory BEON PASS approval gate. It does not spell out what specifically gets overwritten or the reversibility of changes, keeping it below 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the action front-loaded and prerequisites trailing, which is a sensible ordering. Nothing is wasted, though the terse style leaves room for a bit more density without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter non-idempotent mutation with no output schema, the description omits how nine parameters (including both required keys and the approval identifiers) are supplied or sequenced. The credential and approval notes help, but an agent still lacks enough to invoke this correctly end-to-end.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden, yet it only names three of twelve parameters (public, allowed_mime_types, file_size_limit). Required parameters bucket_id and project_ref, plus the whole beon_* approval/credential family, remain entirely unexplained in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb (Change) plus resource (bucket) and enumerates the mutable attributes (visibility, MIME types, size limits), which clearly separates it from create/delete/list storage bucket siblings. It stops short of explicitly naming those siblings, so an agent must infer the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states two concrete preconditions for use: a private project credential is required, and the user must approve the exact request in BEON PASS before execution. That gives clear invocation context, but there is no guidance on when to pick this over alternatives or any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_upgrade_databaseA
Destructive
Inspect

Start a database upgrade. Causes downtime and may be irreversible. Review compatibility first.

NameRequiredDescriptionDefault
approval_idNo
beon_app_idNo
project_refYes
beon_contextNo
beon_resume_idNo
target_versionYes
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and idempotentHint=false, and the description goes beyond them by disclosing operational downtime and possible irreversibility — the kind of consequence an agent must weigh before invoking. It stops short of stating whether a backup or approval is required to proceed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with zero waste; the action is front-loaded and the risk warnings follow immediately. Nothing redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the risk profile well for a destructive, non-idempotent operation with no output schema, but with 9 undocumented parameters and no named compatibility-check tool, an agent still lacks what it needs to call this correctly end to end.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description carries the full burden and adds nothing: project_ref (the 20-char project id), target_version (the version string), and the approval/beon_* fields are all unexplained. An agent cannot tell what target_version format is expected or what approval_id does.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("Start a database upgrade") that an agent can distinguish from read-side siblings such as supabase_get_upgrade_status and supabase_get_upgrade_eligibility. It does not name those siblings explicitly, but the action/resource pair is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Review compatibility first" implies a prerequisite but never names the tool that performs it (e.g. supabase_get_upgrade_eligibility), and there is no when-not guidance or mention of confirmation/approval flow. Usage is inferable but not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

supabase_upload_storage_objectB
Destructive
Inspect

Upload a small non-secret artifact, up to 96 KiB decoded. Public buckets expose uploaded files. Management OAuth verifies project access; enter the Storage project key privately for this exact operation.

NameRequiredDescriptionDefault
upsertNo
bucket_idYes
approval_idNo
beon_app_idNo
object_pathYes
project_refYes
beon_contextNo
beon_resume_idNo
content_base64Yes
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely new context: the 96 KiB decoded size ceiling, the warning that public buckets expose uploaded files, and the access/credential model. It does not explain upsert overwrite behavior, which is a relevant mutation trait.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences with the size constraint front-loaded, which is good. The closing clause ('enter the Storage project key privately for this exact operation') is cryptic and reads as instructions to the operator rather than the agent, diluting an otherwise tight description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema and 12 undocumented parameters, the description covers the essentials an agent needs to avoid harm (size limit, public exposure, auth). It still leaves key call-shaping details (upsert semantics, path conventions, the many auxiliary parameters) unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 12 parameters, so the description must carry the load, and it does not. It never explains project_ref, bucket_id, object_path, content_base64 encoding, the upsert flag, or any of the beon_* / approval_id parameters. The size note loosely maps to content_base64 but adds no real per-parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource (upload a storage object) and even scopes the artifact type and size ('small non-secret artifact, up to 96 KiB decoded'). It does not differentiate itself from adjacent siblings like supabase_move_storage_object or supabase_delete_storage_objects, but the verb is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is an implied 'when-not' via 'non-secret artifact' (don't use for secrets) and an auth note about Management OAuth and the Storage project key. However, no alternative tool is named and no explicit trigger conditions for choosing upload vs. other storage operations are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_add_project_domainB
Destructive
Inspect

Attach a domain to a project; can affect production traffic. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
domainYes
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, idempotent=false, openWorld=true, so the safety profile is partly covered. The description adds genuinely new context: production traffic impact and a hard precondition of exact user approval via BEON PASS. It omits what happens to existing domains or whether DNS verification is required, keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact clauses, front-loaded with the action and followed by the two highest-value warnings. Nothing is padded, though the terseness leaves the parameter story entirely unaddressed for a 10-param tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent, open-world mutation with 10 undocumented parameters and no output schema, the description covers only the safety warning. An agent still lacks the parameter contract and post-attach behavior (DNS verification, propagation) needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description carries the full burden and largely fails it. It names only the implicit project/domain concepts and never explains team_id, the beon_* plumbing, or how the referenced approval maps to the approval_id parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("Attach a domain to a project") that an agent can act on immediately. It does not explicitly distinguish itself from close siblings such as vercel_remove_project_domain or vercel_verify_project_domain, so it stops 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Can affect production traffic" and the approval precondition imply when this tool is appropriate, but no alternative is named and there is no explicit when-not guidance (e.g., verify the domain first, or use remove_project_domain to detach). Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_approve_rolling_release_stageC
Destructive
Inspect

Advance a production rolling release to the next stage.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
next_stage_indexYes
beon_connection_idNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds only the 'production' qualifier and nothing about irreversibility, approval semantics, or what happens to the release after advancement — little value beyond what the annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words, and the action plus scope are immediately clear. It is efficient, though arguably too terse for an 11-parameter mutation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent mutation with 11 parameters and no output schema, the description omits the approval workflow, what a valid next_stage_index is, and the consequences of advancing. An agent cannot safely invoke this on the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 11 parameters, so the description must carry the burden and it does not. 'Next stage' loosely hints at next_stage_index, but project_id, deployment_id, approval_id, and the beon_* parameters are entirely unexplained in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Advance') and resource ('production rolling release') with a clear scope that separates it from vercel_start_rolling_release and vercel_complete_rolling_release. It does not, however, explicitly name those siblings or explain what makes 'advancing' distinct from starting or completing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus start/complete/get rolling release, no prerequisites such as needing an in-progress release, and no mention of required permissions. The description simply states the action with no usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_cancel_deploymentC
Destructive
Inspect

Cancel a deployment build. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so safety framing is partly covered. The description adds the valuable non-schema fact that an out-of-band BEON PASS approval is mandatory, but says nothing about what cancellation does to the build artifacts or whether it can be undone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action, and no filler. It is efficient, though the terseness is partly under-specification rather than true density.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A destructive mutation with 9 parameters and no output schema needs more: the description omits the role of approval_id and the beon_* context fields, what the response contains, and what happens to a deployment once cancelled. The approval prerequisite is the only substantive addition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are 9 parameters with 0% schema description coverage, and the description explains none of them. It never mentions deployment_id (the only required field) nor the eight opaque beon_*/team_id parameters, so an agent gains no meaning beyond the raw JSON schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Cancel a deployment build" is a specific verb+resource that tells an agent exactly what happens. It does not, however, distinguish itself from the adjacent vercel_delete_deployment, vercel_redeploy, or railway_cancel_deployment siblings, leaving the cancel-vs-delete boundary ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The sentence "Requires exact user approval in BEON PASS" communicates a real precondition for invoking the tool, which is useful. But there is no explicit guidance on when to cancel versus delete/redeploy a deployment, nor on the consequences that would drive that choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_complete_rolling_releaseC
Destructive
Inspect

Complete a rolling release and route production traffic to the canary.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds real value by disclosing the production-traffic-routing effect, which the hints do not convey, but it omits reversibility, failure behavior, and the approval requirement implied by approval_id.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One clean, front-loaded sentence with zero filler, but for a 10-parameter destructive production operation it is under-specified rather than truly concise—size is appropriate to length, not to complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, annotations covering only hints, and 10 undocumented params, an agent still lacks the release-state precondition, the role of approval_id, and what success or failure looks like. The description is a headline, not a complete contract.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, and the description explains none of them—not project_id, deployment_id, approval_id, team_id, or the beon_* bookkeeping fields. Unlike the 0-param baseline case, this tool has a large undocumented surface the text does nothing to compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb ('Complete') plus the resource ('rolling release') and the resulting effect ('route production traffic to the canary'). This distinguishes it from the start/approve/get rolling-release siblings without needing their schemas, though it doesn't name them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to call this rather than vercel_approve_rolling_release_stage, vercel_start_rolling_release, or vercel_promote_deployment. Prerequisites (an in-progress release with an approved stage, an approval_id) are never mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_configure_projectA
Destructive
Inspect

Update build settings; future deployments can change production. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
team_idNo
settingsYes
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true, but the description goes beyond them by explaining the consequence ('future deployments can change production') and the approval gate. This extra context on impact and authorization is genuinely valuable for a destructive mutation, though it omits reversibility and idempotency (annotations cover the latter).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the primary action and immediately followed by the impact and the hard gate. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, open-world mutation with 10 parameters and no output schema, the description supplies good behavioral framing (production impact + approval requirement) but is thin on the parameter surface an agent must populate. Adequate but with a clear gap on inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, including a nested settings object and several beon_* auth/session fields. The description only implies that an approval token is needed (relating to approval_id) and says nothing about project_id, team_id, settings sub-fields, or the beon_* parameters, so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Update build settings', which matches the actual settings object (buildCommand, rootDirectory, installCommand, outputDirectory). It does not name or distinguish itself from lookalike siblings such as vercel_create_project or railway_configure_service, leaving some ambiguity about which platform/config scope applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It communicates a real precondition ('Requires exact user approval in BEON PASS'), which tells the agent this cannot be fired autonomously. However, it gives no when-to-use vs when-not guidance and names no alternative for adjusting settings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_create_deploymentA
Destructive
Inspect

Create the FIRST or a subsequent deployment from source files or an exact GitHub commit. Vercel performs installation/builds. Preview by default; production can change live routing. Requires an existing project; files are limited to 110 KB per call, use Git for larger apps. Never include credential files or literal secrets.

NameRequiredDescriptionDefault
sourceYes
targetNopreview
team_idNo
settingsYes
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true, and the description goes well beyond that by warning that production deployments change live routing, that Vercel performs installation/builds, and that credential files/literal secrets must never be included. These are exactly the operational warnings an agent needs before invoking a mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five front-loaded sentences, purpose first, then behavior, target semantics, prerequisites, and the safety warning. Every sentence carries information an agent can act on; nothing is redundant with the annotations or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter mutation with no output schema, the description covers the required parameters, source variants, target semantics, and safety, which is enough to call it correctly. It leaves the auxiliary identifiers (team_id, approval_id, beon_* context) unexplained, which is a minor gap for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry parameter meaning. It does explain the source alternatives (files vs GitHub commit) with the 110 KB limit, the preview/production target, and the existing-project prerequisite, but it says nothing about team_id, approval_id, or the beon_* parameters, leaving roughly half the surface undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create ... deployment') plus scope (FIRST or subsequent, from source files or an exact GitHub commit), which lets an agent picture the operation. It does not explicitly name or differentiate from siblings like vercel_redeploy, and 'or a subsequent deployment' slightly overlaps with redeploy, so it stops short of the sibling-distinguishing 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete context: source can be files or a GitHub commit, files are capped at 110 KB (use Git for larger apps), preview is the default and production can change live routing, and an existing project is required. It never names an alternative tool or an explicit 'do not use this when' clause, so it is clear guidance but not full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_create_projectBInspect

Create a Vercel project. May incur charges. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
nameYes
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already declaring readOnlyHint=false, idempotentHint=false and openWorldHint=true, the description adds real value beyond them: 'May incur charges' flags a financial side effect and 'Requires exact user approval in BEON PASS' discloses a mandatory authorization step. It still says nothing about what happens on success/failure or how the approval is obtained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, all front-loaded: action first, then cost risk, then authorization requirement. No filler or repetition; every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nine-parameter mutating tool with no output schema and 0% schema description coverage, the description omits the meaning of the approval/beon parameters and any sense of what is returned or what failure looks like. The cost and approval notes are useful but far short of complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across nine parameters, so the description carries the full documentation burden, yet it only indirectly alludes to approval_id and explains none of the beon_* context/resume/release/environment plumbing fields, nor team_id. This leaves most parameters semantically opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a Vercel project'), which is immediately understandable. However, it does not distinguish itself from the very close sibling vercel_create_project_from_repository, so an agent cannot tell from the description alone which creation path applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies a usage condition via 'Requires exact user approval in BEON PASS', which tells the agent a gated approval workflow must precede the call. But there is no explicit when-to-use/when-not guidance and no mention of the alternative creation tool, so routing must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_create_project_from_repositoryB
Destructive
Inspect

Create a Vercel project linked to a GitHub repository, enabling provider-managed builds for pushes. Vercel must already be authorized to access that repository. May trigger builds and charges. Never put secrets in build commands.

NameRequiredDescriptionDefault
nameYes
team_idNo
settingsYes
repositoryYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is partly covered. The description adds genuinely new context not in structured data: the authorization prerequisite, that builds and charges may be triggered, and the secrets warning. It does not explain what the destructiveHint actually destroys or what happens on a partial failure, leaving a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action, then prerequisite, then cost/security caveats. No filler or repetition. Slightly terse given the parameter surface it leaves unexplained, but nothing written is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter, nested-object, non-idempotent, destructive mutation with no output schema and no approval_existing_project or team_id explanation, the description is thin. It omits return/approval flow, what the settings block controls, and the role of the beon_* and approval_id fields, so an agent cannot invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, across 11 parameters including nested objects, so the description would need to carry the parameter burden. It only alludes to 'build commands' and 'repository' and says nothing about name constraints, team_id, the settings object fields (framework, rootDirectory, installCommand, outputDirectory), or the beon_* parameters, leaving most parameters undocumented anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Create a Vercel project linked to a GitHub repository.' The 'from repository' qualifier cleanly separates it from the sibling vercel_create_project, and it adds scope ('provider-managed builds for pushes') so an agent knows exactly what it gets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a concrete prerequisite ('Vercel must already be authorized to access that repository') and cost context ('May trigger builds and charges'), which is useful for deciding whether to call it. However, it never states when to choose this over vercel_create_project or how to handle the unauthorized case, so usage is implied rather than directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_create_project_routeC
Destructive
Inspect

Create a project route. Changes production delivery behavior.

NameRequiredDescriptionDefault
srcYes
destYes
nameYes
statusNo
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description contributes one useful fact — that this mutates production traffic delivery — but says nothing about overwriting/conflicting routes, precedence, or rollback, which matters for a routing mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, no padding, and the core action is front-loaded. The second sentence is terse but slightly vague in a way that could have been spent on parameter or impact detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent mutation with 13 undocumented parameters and no output schema, two sentences are far too thin. An agent is missing the information needed to call it correctly or safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 13 parameters, and the description adds no parameter meaning whatsoever. Non-obvious semantics such as whether src/dest are globs, regexes or literal paths, and what the status enum controls, are left entirely to guesswork.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Create a project route") and adds a scope note that the change affects production delivery. It is distinguishable from siblings like vercel_list_project_routes and vercel_delete_project_routes, though it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to create a route versus configuring domains or using other Verce routing tools, and no prerequisites or ordering constraints. "Changes production delivery behavior" implies consequence but gives no condition an agent could act on.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_delete_aliasB
Destructive
Inspect

Delete an alias and interrupt traffic using it.

NameRequiredDescriptionDefault
team_idNo
alias_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description goes beyond them by disclosing the real-world consequence — traffic using the alias is interrupted — which is exactly the kind of impact context annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the action and its impact in one clause. Nothing wasted, nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter mutation tool with no output schema and no parameter descriptions, the description leaves most of the surface undocumented — it never explains the beon_* parameters or approval_id, and offers no auth or irreversibility guidance beyond the terse traffic warning.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, with only alias_id required and no descriptions anywhere. The description implies an alias identifier is needed but explains nothing about team_id, approval_id, or the beon_* context parameters, so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Delete an alias') and adds the operational consequence ('interrupt traffic using it'). This distinguishes it from vercel_set_alias and vercel_list_aliases, though it never names them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to delete an alias versus reassigning it (vercel_set_alias) or when deletion is warranted. There are no prerequisites, warnings, or alternative-tool pointers anywhere in the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_delete_deploymentB
Destructive
Inspect

Permanently delete a deployment. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and readOnlyHint=false, so the write/destructive nature is covered. The description adds genuinely new behavior — that the deletion is permanent and gated behind an exact-approval workflow in BEON PASS — which the annotations do not convey. It stops short of describing what is destroyed (artifacts, logs, aliases) or error/denial behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler, and the core action ('Permanently delete a deployment') is front-loaded ahead of the prerequisite. Nothing is repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, destructive, no-output-schema tool, the description is very thin: it never explains the BEON PASS approval mechanism, what an approval_id is, or how the beon_context/connection fields are populated. An agent could not reliably construct a valid call from this description plus the bare schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description carries full responsibility for parameter meaning and does not deliver. It implies an approval step (mapping loosely to approval_id/beon_context), but leaves the beon_* context fields, team_id, the environment enum, and the required deployment_id entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('delete') and resource ('a deployment'), and the qualifier 'Permanently' implies irreversibility as opposed to a soft cancel. It does not explicitly distinguish itself from the sibling vercel_cancel_deployment or vercel_rollback, leaving the boundary to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives one real usage constraint — that an exact user approval in BEON PASS is required — which is actionable context. It offers no guidance on when to delete versus cancel, redeploy, or roll back a deployment, so the choice among several siblings is left implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_delete_environment_variableB
Destructive
Inspect

Delete a variable; future deployments may break. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
variable_idYes
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuine context beyond that: the downstream consequence ('future deployments may break') and the out-of-band approval requirement, which the annotations do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short clauses, front-loaded with the action and immediately followed by the risk and prerequisite. No filler, though it is arguably too terse given the parameter surface it needs to cover.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive 10-parameter tool with no output schema, the description covers the risk and approval gate well and annotations cover the safety hints. But the many required and BEON-specific parameters are left entirely undocumented, so an agent lacks guidance on how to actually populate the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description must carry the meaning. It only implicitly hints at the approval mechanism (approval_id) via 'exact user approval in BEON PASS' and says nothing about project_id, variable_id, team_id, or the beon_* context fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Delete a variable'), and the tool name supplies the 'environment variable' scope, making it clearly distinct from vercel_set_environment_variable and vercel_list_environment_variables. It stops short of explicitly naming those siblings, so it isn't a full 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a real prerequisite ('Requires exact user approval in BEON PASS') and a risk warning, which give context for when the tool is appropriate. However, it names no alternative (e.g., set_environment_variable for updates) and gives no when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_delete_projectA
Destructive
Inspect

Permanently delete a project and its deployments. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=false, so safety is covered; the description adds genuine value beyond them by disclosing the destructive blast radius (project plus its deployments), permanence, and the approval precondition. It stops short of describing recovery options 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the destructive scope front-loaded and the approval requirement immediately after. Nothing redundant or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Annotations carry the safety profile and the description covers blast radius and the approval gate, but for a 9-parameter destructive tool with no output schema and 0% parameter coverage, an agent still lacks guidance on the required identifiers and the BEON approval/context envelope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description carries the full burden — yet it names no parameters at all and only obliquely gestures at the approval flow that approval_id encodes. The beon_* infrastructure parameters and team_id remain completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource and scope: permanently deleting a project, and explicitly notes it also removes its deployments. This distinguishes it cleanly from siblings like vercel_delete_deployment or vercel_delete_project_routes, which operate on other resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It supplies one prerequisite ("Requires exact user approval in BEON PASS"), which is real usage context, but gives no when/when-not guidance relative to alternatives such as deleting individual deployments or routes, and no indication of what triggers the approval flow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_delete_project_routesC
Destructive
Inspect

Remove selected project routes. Production traffic may change.

NameRequiredDescriptionDefault
team_idNo
route_idsYes
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the agent knows this is an unrecoverable mutation. The description adds the useful consequence that production traffic may change, but omits whether the removal is reversible, whether approval is required, or what happens to traffic routing after deletion.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with no filler; the impact warning follows the action statement. It is efficient, though the extreme brevity is partly why parameter guidance is missing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter destructive mutation with no output schema and zero schema descriptions, the definition does far too little. It never mentions the required identifiers, the batch limit (maxItems 50), the approval/beon metadata fields, or the return behavior after deletion.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, and the description names none of them — not even the required project_id/route_ids. The many beon_* and approval_id fields are completely unexplained in both the schema and the description, leaving no way to know their role.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Remove selected project routes'), which clearly distinguishes it from siblings like vercel_create_project_route and vercel_list_project_routes. It stops short of naming the alternatives explicitly, so it lands at a clear-but-undifferentiated 4.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use or when-not-to-use guidance and does not name any alternative tool or prerequisite. The only contextual hint is the vague 'Production traffic may change', which warns of impact but doesn't help an agent choose this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_get_accountC
Read-onlyIdempotent
Inspect

Identify the authorized Vercel user and installation team.

NameRequiredDescriptionDefault
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the vague notion of an 'authorized' account identity; it says nothing about auth requirements, what the call returns, or why seven beon_*/approval parameters are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficiently sized, though for an 8-parameter tool the brevity edges into under-specification rather than pure conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With eight unexplained parameters, no output schema, and no indication of what identity/team data is returned or how the beon_* flow parameters interact, the description leaves too much unspecified for an agent to invoke this correctly in a workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description must carry the burden and largely fails. Only 'team' loosely maps to team_id; approval_id, beon_app_id, beon_context, beon_resume_id, beon_release_id, beon_environment and beon_connection_id are opaque in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Identify the authorized Vercel user and installation team') and implies the tool returns identity/team info rather than project data. It does not differentiate itself from the sibling vercel_get_team, nor clarify what 'installation team' means versus an ordinary team, so it falls 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites, and no reference to alternatives such as vercel_get_team or any project-scoped tool. The agent must infer the context entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_get_build_eventsBInspect

Read build events after approval; logs may contain application data. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
limitNo
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and the description adds real context beyond them: the mandatory BEON PASS approval gate and the warning that logs may contain application data. However, it does not describe result shape, pagination, or how 'limit' behaves, and 'Read' sits in mild tension with readOnlyHint=false (reconciled only by the approval requirement).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the core action and the approval prerequisite front-loaded and no filler. The only weakness is that brevity here comes partly at the cost of parameter and result detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter tool with no output schema and 0% schema coverage, the description covers the safety/approval dimension but leaves the parameters and calling mechanics essentially unexplained. An agent would not know how to populate limit, team_id, or the beon_* context fields from this text.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description carries the full burden — yet it only obliquely gestures at 'approval' (approval_id) and says nothing about deployment_id, team_id, limit, or the beon_* parameters. Most parameters are undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (read) and resource (build events) with the gating condition (after approval). It is clearly distinguishable from the many write/configure siblings, though it does not explicitly distinguish itself from the nearby vercel_get_runtime_logs / railway_get_build_logs siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a precondition — 'Requires exact user approval in BEON PASS' — which tells the agent this cannot be called freely, but it never says when to reach for this tool versus alternatives such as vercel_get_runtime_logs or vercel_get_deployment. Usage is implied rather than guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_get_deploymentC
Read-onlyIdempotent
Inspect

Inspect a deployment status without environment configuration.

NameRequiredDescriptionDefault
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only the ambiguous 'without environment configuration' clause, which doesn't disclose return shape, error behavior, or why env config is irrelevant.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short, front-loaded sentence, which is structurally fine, but the closing clause is confusing filler rather than useful information. Brevity here stems from under-specification rather than disciplined concision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, 9 undocumented parameters, and no annotation gap-filling from the description, the definition is too thin for an agent to invoke this confidently. It should at least explain the required id and the role of the optional beon_* and team_id params.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, and the description mentions no parameter at all. The required deployment_id is inferable from the name, but the eight optional params (team_id, approval_id, beon_* context fields) are entirely undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb+resource ('Inspect a deployment status') is identifiable, but the trailing clause 'without environment configuration' is vague and doesn't clarify what makes this distinct from siblings like vercel_list_deployments or vercel_get_build_events. An agent can guess it fetches one deployment's status, but the definition doesn't confirm the single-vs-list distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no mention of alternatives such as vercel_list_deployments for multiple deployments or vercel_get_runtime_logs for logs. The 'without environment configuration' phrase hints at a precondition but never states one explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_get_domain_configurationC
Read-onlyIdempotent
Inspect

Inspect domain verification, routing and certificate configuration.

NameRequiredDescriptionDefault
domainYes
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds that the read surfaces verification, routing and certificate data, which is useful context, but it says nothing about auth, rate limits, or the beon_* parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with no filler, and the key resource and facets are front-loaded. It is arguably too terse for a 9-parameter tool, but conciseness itself is fine.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, 0% schema coverage, and no output schema, the description does too little. It doesn't explain the beon_* parameters or what the returned configuration looks like, leaving significant gaps that annotations cannot fill.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, and the description explains none of them. Only the required 'domain' is self-evident; the eight beon_* parameters (including two enums) remain completely undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Inspect') and names the concrete facets returned: domain verification, routing, and certificate configuration. This distinguishes it from write-oriented siblings like verify_project_domain or add_project_domain, though it doesn't explicitly contrast with vercel_list_project_domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to pick this over alternatives such as vercel_list_project_domains or vercel_get_project. Usage is only implied by the word 'Inspect' and the listed facets; no when-not or prerequisite information is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_get_projectC
Read-onlyIdempotent
Inspect

Inspect project settings without credentials.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the notable trait that no credentials are required, which is genuinely useful context beyond the annotations, but it says nothing about rate limits, error behavior, or what 'settings' are returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, and the key qualifier (no credentials) is front-loaded. It is efficiently phrased, though the brevity comes at the cost of substance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, no output schema, and no parameter documentation, this description is far short of what an agent needs. The only meaningful contribution is the credential-free access note; everything else an agent must infer from the schema alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, and the description provides no parameter information at all. Cryptic names such as beon_app_id, beon_context, beon_resume_id, beon_release_id, and approval_id are left entirely unexplained, so the description fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb (inspect) and resource (project settings), which is better than a tautology, but 'settings' is vague about what is actually returned and the description does nothing to distinguish this from siblings like vercel_list_projects or vercel_configure_project.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Without credentials' hints at a precondition but is not framed as guidance. There is no statement of when to use this over vercel_list_projects to find a project or vercel_configure_project to change one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_get_rolling_releaseC
Read-onlyIdempotent
Inspect

Inspect current rolling release state; requires provider plan support.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact, the plan-support precondition, but says nothing about what the returned state contains, whether it can be empty, or any rate limits. With annotations doing the heavy lifting, this is an adequate-but-thin 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler or repetition. It is efficient, though its brevity edges into under-specification rather than optimal information density.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 undocumented parameters, no output schema, and several close siblings, the description is too sparse. It does not explain the beon_* context parameters, does not clarify the state-vs-config distinction, and does not describe what an agent gets back, leaving material gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description carries the full burden of explaining them and provides none. It never mentions project_id (the sole required field), team_id, or the opaque beon_* parameters, leaving their roles entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Inspect current rolling release state.' An agent knows this is a read of rolling-release status. However, it does not distinguish itself from the very similar sibling vercel_get_rolling_release_config, so the boundary between 'state' and 'config' is left for the agent to guess.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only conditional information is the prerequisite 'requires provider plan support,' which tells the agent about eligibility but not when to pick this tool over vercel_get_rolling_release_config or the related start/approve/complete rolling-release tools. No alternatives or exclusions are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_get_rolling_release_configC
Read-onlyIdempotent
Inspect

Inspect configured rolling-release stages.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds nothing beyond that — no note on what the config contains, whether results are project-scoped, or any auth/rate-limit behavior — so it contributes no behavioral value over the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with no wasted words, which is structurally fine. It is too sparse for the tool's complexity rather than verbose, so it earns a middling score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with no output schema and no sibling differentiation, a single eight-word sentence is far too thin. Only the read-only safety profile is covered (via annotations); parameter meaning, scope, and return content are all missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, and the description mentions none of them. Eight parameters (approval_id, beon_app_id, beon_context, beon_resume_id, beon_release_id, beon_environment, beon_connection_id) are entirely opaque and undocumented anywhere, so an agent has no way to know when to supply them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Inspect") and resource ("configured rolling-release stages"), which is more than a restatement of the name. However, it does not distinguish itself from the very close siblings vercel_get_rolling_release, vercel_approve_rolling_release_stage, or vercel_start_rolling_release, so an agent cannot tell which of the rolling-release reads to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no named alternative, and no prerequisite stated (e.g. that project_id is mandatory or that this is read-only inspection rather than mutation). The single sentence only describes the object being read.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_get_runtime_logsC
Read-onlyIdempotent
Inspect

Read runtime logs for an authorized deployment. Logs may contain application data.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, covering the safety profile. The description adds useful context ('Logs may contain application data'), a data-sensitivity warning beyond annotations, but says nothing about pagination, retention window, or return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the core action, and the second sentence earns its place as a data-sensitivity caveat. It is perhaps overly terse for a 10-parameter tool, but there is no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 10 parameters, 0% schema coverage, and no output schema, two sentences are insufficient. The description omits any explanation of the numerous injected beon_* fields or what a caller receives, leaving meaningful gaps an agent cannot close from structured data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description carries the full burden and fails to compensate: it names no parameter, and the eight beon_* infrastructure fields (context, resume_id, release_id, environment, connection_id, etc.) are entirely undocumented anywhere. 'Authorized deployment' only loosely gestures at deployment_id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read runtime logs') scoped to 'an authorized deployment', which is distinguishable from the many other vercel_* tools. However, it does not differentiate itself from the close sibling vercel_get_build_events, so an agent must still infer which log type to select.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for an authorized deployment' hints at a prerequisite, but there is no explicit when-to-use/when-not guidance and no mention of the alternative log-retrieval sibling (vercel_get_build_events). The agent is left to infer selection context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_get_teamC
Read-onlyIdempotent
Inspect

Inspect the connected Vercel team.

NameRequiredDescriptionDefault
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, covering the safety profile. The only behavioral addition is the word "connected," implying configured credentials; nothing about return contents, scoping, or credential requirements is added beyond the structured data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short, front-loaded sentence with zero filler. It is efficient, though the extreme brevity borders on under-specification rather than true economy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 undocumented parameters, no output schema, and no annotation-independent detail, the description is too thin. An agent gets no sense of what "team" data is returned or how the parameters affect the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 8 parameters at 0% description coverage, so the description carries the full burden and provides none. The five beon_* routing parameters and team_id/approval_id are entirely unexplained, leaving the agent no guidance on which are meaningful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb ("Inspect") and resource ("the connected Vercel team"), so the agent knows this is a read of team data. However, it offers no differentiation from the closely related sibling vercel_get_account, leaving the team-vs-account boundary to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool, when not to, or which sibling to prefer for related reads. The agent must guess at its scope relative to vercel_get_account or vercel_get_project.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_list_aliasesC
Read-onlyIdempotent
Inspect

List aliases for an existing deployment.

NameRequiredDescriptionDefault
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no pagination behavior, no result ordering, no auth or team-scoping requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the resource and scope come first. It is arguably too terse given the undocumented parameter set, but as written every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter read tool with no output schema and 0% schema description coverage, the description leaves the agent without return-format, filtering, or pagination context. Annotations carry the safety profile but cannot cover the parameter and result gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description must compensate and largely does not. It hints that a deployment identifier is the anchor ('for an existing deployment') but never explains deployment_id vs team_id, or what the beon_* plumbing parameters and the two enum fields are for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb + resource ('List aliases') and narrows scope to 'an existing deployment', so an agent can distinguish it from vercel_set_alias and vercel_delete_alias. It stops short of explicitly naming those siblings or the contrast between listing and mutating aliases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no reference to alternatives such as vercel_list_deployments or vercel_list_project_domains. The only implied constraint is that a deployment must already exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_list_deploymentsD
Read-onlyIdempotent
Inspect

List deployment states.

NameRequiredDescriptionDefault
limitNo
team_idNo
project_idNo
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

D1.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is fully covered structurally. The description adds nothing beyond that — no pagination behavior, no filtering semantics, no scope (team/project) — so it contributes almost no behavioral value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short, but this is under-specification rather than conciseness; a single four-word sentence cannot carry the burden of a 10-parameter list tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with 10 optional parameters, two enums, no output schema, and no annotation guidance on filtering, the description is wholly inadequate — an agent cannot know how to scope or paginate the query.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Ten parameters with 0% schema description coverage and no explanation in the description. Limit, team_id, project_id, approval_id, and the beon_* parameters are completely undocumented in both places, which is a severe gap for a 10-param tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"List deployment states" essentially restates the tool name vercel_list_deployments. The word "states" adds a faint hint that it returns status values, but no scope, filters, or distinction from siblings like vercel_get_deployment or railway_list_deployments is given.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance at all. It never says when to call this versus vercel_get_deployment for a single deployment or versus the many other list_* siblings, leaving selection entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_list_dns_recordsC
Read-onlyIdempotent
Inspect

Inspect DNS records for an authorized domain.

NameRequiredDescriptionDefault
domainYes
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is fully covered. The description adds only the 'authorized domain' authorization constraint, and says nothing about pagination, record-type filtering, or result shape. Given annotations carry most of the behavioral load, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the resource and scope front-loaded and no filler. It is efficient, though arguably too sparse for a 9-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters at 0% schema coverage, no output schema, and a crowded domain-related sibling set, one sentence is insufficient. The agent gets no guidance on team scoping, the beon_* plumbing parameters, or how to interpret the returned records.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description must compensate and largely fails to. It gestures at the required 'domain' parameter but says nothing about team_id or the eight beon_* parameters, including the two enum-constrained ones.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'inspect' plus the resource 'DNS records' gives the gist, and 'for an authorized domain' scopes it to a domain. However, it does not differentiate from close siblings like vercel_get_domain_configuration, vercel_list_project_domains, or vercel_verify_project_domain, all of which touch domains. An agent cannot tell which one to pick from the description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'For an authorized domain' is the only conditional hint, implying the domain must be under the account's control. There is no statement of when to use this versus the other domain-related tools, and no exclusions or prerequisites beyond that passing phrase.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_list_environment_variablesC
Read-onlyIdempotent
Inspect

List variable metadata only; never return values.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower. The description still adds a genuinely important behavior not in the annotations: values are never returned, only metadata. It omits pagination and permission behavior, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Seven words, front-loaded with the verb and resource, and the most decision-relevant constraint ("never return values") is placed where it will be read. It is efficient, though so terse that it arguably trades completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with zero schema description coverage and no output schema, a single clause is not enough: the agent does not learn the listing scope, how environment/target filtering works, or how the beon_* parameters relate to the call. The redaction note is the only substantive content.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 9 parameters at 0% description coverage, including the required project_id and the team_id/beon_* routing fields, and the description explains none of them. It provides no scoping, filtering, or identification guidance to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ("List") and resource ("variable"), and the qualifier "metadata only" separates it from value-returning reads and from the sibling write tools vercel_set_environment_variable / vercel_delete_environment_variable. It is clear, though it never names the project/environment scope the listing applies to.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no statement of prerequisites (the schema requires project_id), and no routing to or away from alternatives such as vercel_set_environment_variable or vercel_delete_environment_variable. The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_list_project_domainsC
Read-onlyIdempotent
Inspect

List domains attached to a project.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, covering the safety profile. The description adds nothing beyond that — no pagination behavior, no result scope, no auth/team-scoping context — so it contributes no behavioral value on top of structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero waste. It is efficient, though for a tool with 9 parameters it is arguably too thin rather than well-calibrated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with 0% schema coverage and no output schema, the description should explain the team/project scoping and the meaning of the extra parameters. A single line leaves an agent unable to invoke this correctly beyond the required project_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description carries the full burden and does not compensate. Only project_id is loosely implied by the wording; team_id and the entire beon_* family (approval_id, beon_app_id, beon_context, beon_resume_id, beon_release_id, beon_environment, beon_connection_id) are left entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List domains attached to a project'), so the operation is unambiguous. However, it offers no differentiation from adjacent Vercel siblings such as vercel_list_dns_records, vercel_list_aliases, or vercel_list_projects, leaving scope boundaries to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The agent must guess whether this is the right call versus vercel_get_project, vercel_list_dns_records, or vercel_list_aliases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_list_project_routesC
Read-onlyIdempotent
Inspect

Inspect configured project routing.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that—no peek at return shape, pagination, or whether unconfigured projects return an empty set.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence, but its brevity reflects under-specification rather than efficient communication. There is nothing to trim, yet nothing was said either.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters at 0% schema coverage and no output schema, one vague sentence leaves the agent without the parameter or result context needed to invoke it confidently. Rich annotations cover the safety profile, but not the invocation surface.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, and the one-line description explains none of them. The required project_id is only inferable from the name, and the cryptic approval_id/beon_* context parameters are entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Inspect configured project routing" gives a verb and a resource, but "inspect" is generic and the sentence largely restates the tool name. It does not distinguish this read/list operation from siblings like vercel_create_project_route or vercel_delete_project_routes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, no when-not-to-use, and no mention of the create/delete route siblings. An agent gets no routing signal beyond the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_list_projectsB
Read-onlyIdempotent
Inspect

List authorized projects without environment values.

NameRequiredDescriptionDefault
limitNo
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds two useful behavioral facts -- results are limited to authorized projects and environment values are excluded -- but says nothing about pagination (limit defaults to 30, max 100) or result shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short, front-loaded sentence with no filler. It is efficient, though its brevity shades into under-specification rather than crisp completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema the description should at least sketch what is returned and how paging behaves; it does neither. Annotations cover the safety side, so the gap is moderate rather than severe, but a 9-parameter list tool deserves more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description carries the burden and mostly fails: limit, team_id, and the six beon_* context parameters are never explained. 'Authorized' loosely gestures at team/auth scoping but adds no usable semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List ... projects') and adds scope qualifiers ('authorized', 'without environment values') that separate it from vercel_get_project and from the railway/supabase list_projects siblings. Clear, though it does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no named alternative. The 'without environment values' phrasing hints at a scope distinction but never says when to pick this tool over vercel_get_project or vercel_list_environment_variables.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_list_webhook_metadataC
Read-onlyIdempotent
Inspect

List webhook identifiers and event subscriptions without secrets or destination credentials.

NameRequiredDescriptionDefault
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful output-scope context ("without secrets or destination credentials"), but says nothing about pagination, filtering, or result size, so it adds some but not rich behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the verb and resource come first and the exclusion clause follows. It is efficient, though arguably undersized for a tool with 8 parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, 0% schema coverage, two enum params, and no output schema, the definition should explain how to target the right webhooks. It instead provides only one sentence and leaves the agent without any parameter or filtering guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 8 parameters have 0% schema description coverage, and the description explains none of them. Non-obvious parameters such as beon_app_id, beon_context, beon_resume_id, and beon_release_id are left completely unexplained, which is the case where the description most needs to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("List") and resource ("webhook identifiers and event subscriptions"), and even scopes what is excluded. No sibling tool covers webhooks, so differentiation is implicit rather than stated, keeping it just 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no reference to any alternative or related tool. The agent is left to infer context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_promote_deploymentC
Destructive
Inspect

Promote an existing deployment to production. Changes live routing.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare destructive=true, openWorld=true, idempotent=false, and readOnly=false, so the safety profile is covered. The description adds useful context that live routing changes, but does not explain effects on the previous production deployment, approval behavior, or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and effect. There is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core action and live-routing impact, but for a destructive production mutation with 10 parameters, no output schema, and zero schema description coverage, it omits critical context about parameters, approval flow, and side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are 10 parameters with 0% schema description coverage, and the description does not explain any of them. It does not clarify required project_id/deployment_id, team_id, approval_id, or the beon_* parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: promoting an existing deployment to production. It is clear what the tool does, but it does not distinguish itself from siblings such as rolling-release or rollback tools that also affect production traffic.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage by saying this promotes an existing deployment, but gives no explicit when-to-use guidance versus alternatives like vercel_rollback, vercel_redeploy, or rolling-release tools. No prerequisites such as deployment readiness or approval requirements are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_redeployA
Destructive
Inspect

Redeploy an existing deployment. Preview by default; production requires explicit approval. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
nameYes
targetNopreview
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the preview-default/production-approval gate and the BEON PASS approval requirement, which an agent cannot derive from structured fields. It still doesn't say what happens to the prior deployment or whether the action is reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no filler, and the most decision-relevant fact (preview-by-default, production needs approval) is front-loaded. Nothing reads as redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter destructive mutation with no output schema, the description covers the approval gate but omits return/result expectations (e.g., a new deployment ID or URL) and the meaning of most parameters. It is adequate for the safety decision but thin for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 11 parameters, so the description carries full burden, yet it only indirectly touches the 'target' enum (preview vs production). The required deployment_id and name plus approval_id and the beon_* fields are entirely unexplained, leaving most parameters opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Redeploy an existing deployment') and clarifies scope by saying it acts on an existing deployment, which separates it from vercel_create_deployment. It does not explicitly name sibling tools like vercel_promote_deployment or vercel_rollback, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear selection rule: default is preview, production requires explicit approval. This tells the agent when the production path is permissible, but no alternatives (promote/rollback/create) are mentioned and no when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_remove_project_domainA
Destructive
Inspect

Detach a project domain; can interrupt production traffic. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
domainYes
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false. The description adds valuable impact context by warning that production traffic can be interrupted and that exact user approval is required. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is two short clauses with no wasted words. The destructive impact and approval precondition are front-loaded and immediately useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive 10-parameter tool with no output schema, the description supplies key safety and approval context, and the annotations cover the safety profile. However, it leaves parameter semantics and alternatives such as vercel_add_project_domain undocumented, so it is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the tool has 10 parameters. The description only hints at approval via 'BEON PASS' and says nothing about project_id, domain, team_id, or the beon_* fields, leaving their meaning almost entirely to the schema names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Detach a project domain'. It is clearly distinguishable from sibling tools such as vercel_add_project_domain. The semicolon warnings do not dilute the core purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for use: detaching can interrupt production traffic, and exact user approval in BEON PASS is required. It does not name alternatives or state when not to use the tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_rollbackC
Destructive
Inspect

Roll production back to a previous deployment. Changes live routing.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds one useful behavioral fact beyond the annotations: that live routing changes. It does not disclose auth/approval requirements or reversibility, so it is only modestly additive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, and the action is front-loaded before the side effect. It is efficient, though the second sentence could carry more weight given the gaps elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation with 10 undocumented parameters, an approval pathway, and no output schema, the description is too thin. It omits required inputs, approval semantics, and what happens to prior deployments, leaving the agent under-informed at call time.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, and the description explains none of them. Non-obvious inputs like approval_id and the beon_* context fields are left entirely undocumented, so the description fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (roll back production to a previous deployment) that a reader can distinguish from promote/redeploy siblings by name. However, it does not explicitly contrast itself with vercel_promote_deployment or vercel_redeploy, which are the closest alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus the sibling promote/redeploy/cancel tools, and no prerequisites or approval workflow mentioned. The only context offered is a side-effect warning ('Changes live routing'), which is not usage routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_set_aliasB
Destructive
Inspect

Assign a hostname to a deployment. Can change production traffic.

NameRequiredDescriptionDefault
aliasYes
team_idNo
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the mutation profile is covered. The description adds genuine value with 'Can change production traffic', disclosing blast radius that the annotations don't convey, but says nothing about what happens to the previously bound alias, whether auth/approval is needed, or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with no filler. The core action comes first and the risk note second, which is exactly the right ordering for a destructive tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent mutation with 10 undocumented parameters and no output schema, the description is too thin. It omits prerequisites, the effect on any existing alias, and the meaning of the required approval/team context parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters. The description implicitly maps 'hostname' to alias and 'deployment' to deployment_id, but eight parameters (team_id, approval_id, and the beon_* context fields, including a beon_environment enum) get no explanation in either the schema or the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Assign a hostname to a deployment', which an agent can immediately map to alias + deployment_id. It does not differentiate from near-neighbors like vercel_add_project_domain, vercel_delete_alias, or vercel_promote_deployment, so the agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence ('Can change production traffic') is an impact warning, not usage guidance. There is no statement of when to use this versus vercel_add_project_domain or vercel_promote_deployment, no prerequisites, and no when-not-to-use condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_set_environment_variableA
Destructive
Inspect

Create or update an encrypted variable using a private value entered in BEON PASS. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
keyYes
targetYes
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag non-readonly, destructive and non-idempotent behavior. The description adds genuinely useful context beyond them: the value is private and entered in BEON PASS rather than supplied by the caller, and an exact approval step gates the write. It still doesn't describe reversibility of overwriting an existing variable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler, and the create/update purpose is front-loaded ahead of the approval constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter tool with no output schema and no parameter documentation, the description covers the unusual secret/approval flow but leaves most of the schema opaque. An agent would still not know how to populate the beon_* fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 11 parameters, so the description must carry the burden. It explains one key point (the value comes from BEON PASS, hence no value parameter), but the numerous beon_* parameters (beon_app_id, beon_context, beon_resume_id, beon_release_id, beon_environment, beon_connection_id) and the relationship of approval_id to the approval flow are left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ('Create or update an encrypted variable') with the scope of the operation. It doesn't explicitly name sibling tools like vercel_delete_environment_variable or vercel_list_environment_variables, but the create/update semantics are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Conveys the precondition that exact user approval in BEON PASS is required, and implies create-vs-update behavior. However, it offers no guidance on when to prefer this tool over alternatives or what happens if the approval is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_start_rolling_releaseB
Destructive
Inspect

Start routing production traffic to the selected canary deployment. Requires provider plan support.

NameRequiredDescriptionDefault
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
deployment_idYes
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the agent knows this is an irreversible traffic mutation. The description adds the plan-requirement constraint, which is useful context, but says nothing about whether the traffic shift can be halted/reverted or what happens if the canary is unhealthy. It clears the lower annotated bar but adds modest value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, with the core action front-loaded and the constraint secondary. No filler or redundancy. It is appropriately sized for what it says, though it is not maximally information-dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a destructive mutation tool with 10 params (0% described), no output schema, and a multi-step rolling-release workflow shared with sibling tools. The description omits failure behavior, required plan tiers, and the relationship to the other rolling-release stages, leaving the agent without enough to invoke it safely in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are 10 parameters with 0% schema description coverage, so the description carries the full burden for parameter meaning. It only loosely gestures at a "selected canary deployment" (mapping to deployment_id) and ignores team_id, project_id, and the beon_* fields entirely. With such a large undocumented surface, the description does not compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a concrete verb and resource: "Start routing production traffic to the selected canary deployment." This is specific enough to distinguish the action from siblings like complete_rolling_release or approve_rolling_release_stage, since it describes the traffic-shift step. It does not explicitly name those siblings, so it falls 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Requires provider plan support" is a genuine prerequisite, which is more than nothing. However, there is no guidance on when to use this versus approve_rolling_release_stage, complete_rolling_release, or promote_deployment, nor any stated preconditions (e.g., a canary must exist). Usage is implied at best.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_verify_project_domainB
Destructive
Inspect

Verify ownership of a project domain. Requires exact user approval in BEON PASS.

NameRequiredDescriptionDefault
domainYes
team_idNo
project_idYes
approval_idNo
beon_app_idNo
beon_contextNo
beon_resume_idNo
beon_release_idNo
beon_environmentNo
beon_connection_idNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the safety profile is largely covered. The description adds the useful approval requirement in BEON PASS, but it never explains what 'verify' actually does (DNS check, retry behavior, external phone-home), so it leaves a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler, and the core purpose is front-loaded ahead of the approval constraint. Efficient, though the extreme brevity is part of why other dimensions are thin.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, destructive, open-world tool with no output schema and no schema descriptions, the definition is far too thin — it omits what verification entails, the role of the BEON routing parameters, and any failure/return expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 10 parameters and 0% schema description coverage, the schema documents none of them, so the description carries the full burden — and it only hints at 'approval' without clarifying approval_id, beon_* routing fields, or the team_id/project_id/domain relationship. It does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Verify ownership of a project domain'), which cleanly separates it from siblings like vercel_add_project_domain, vercel_list_project_domains, and vercel_remove_project_domain. It stops short of explicitly naming those alternatives, so it lands at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states a precondition ('Requires exact user approval in BEON PASS'), which is real usage context, but gives no guidance on when this tool is appropriate versus the add/list/remove domain siblings, nor what state the domain must be in first. Implied usage only.

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.

  1. 167 tool updates
    • First observedbeon_accept_invitation
    • First observedbeon_adopt_app_production
    • First observedbeon_create_app_checkpoint
    • First observedbeon_create_app_checkpoint_branch
    • First observedbeon_create_autopilot_grant
    • First observedbeon_create_organization
    • First observedbeon_pin_app_checkpoint
    • First observedbeon_prepare_app_checkpoint_restore
    • First observedbeon_prepare_app_redo
    • First observedbeon_prepare_app_release
    • First observedbeon_prepare_app_undo
    • First observedbeon_publish_custom_tools
    • First observedbeon_reconcile_app_release
    • First observedbeon_register_custom_tool
    • First observedbeon_remove_custom_tool
    • First observedbeon_save_app
    • First observedbeon_test_custom_tool
    • First observedbeon_update_autopilot_grant
    • First observedbeon_update_custom_tool
    • First observedbeon_verify_app_release
    • First observedrailway_cancel_deployment
    • First observedrailway_commit_staged_changes
    • First observedrailway_configure_service
    • First observedrailway_create_custom_domain
    • First observedrailway_create_environment
    • First observedrailway_create_project
    • First observedrailway_create_service
    • First observedrailway_create_service_domain
    • First observedrailway_create_volume
    • First observedrailway_create_volume_backup
    • First observedrailway_delete_custom_domain
    • First observedrailway_delete_environment
    • First observedrailway_delete_project
    • First observedrailway_delete_service
    • First observedrailway_delete_service_domain
    • First observedrailway_delete_variable
    • First observedrailway_delete_volume
    • First observedrailway_delete_volume_backup
    • First observedrailway_deploy_service
    • First observedrailway_get_account
    • First observedrailway_get_build_logs
    • First observedrailway_get_deployment
    • First observedrailway_get_domain_status
    • First observedrailway_get_environment_metadata
    • First observedrailway_get_project
    • First observedrailway_get_runtime_logs
    • First observedrailway_get_service
    • First observedrailway_get_service_configuration
    • First observedrailway_inspect_staged_changes
    • First observedrailway_list_deployments
    • First observedrailway_list_domains
    • First observedrailway_list_environments
    • First observedrailway_list_projects
    • First observedrailway_list_variable_names
    • First observedrailway_list_volume_backups
    • First observedrailway_list_volume_instances
    • First observedrailway_list_volumes
    • First observedrailway_list_workspaces
    • First observedrailway_lock_volume_backup
    • First observedrailway_rename_volume
    • First observedrailway_restart_deployment
    • First observedrailway_restore_volume_backup
    • First observedrailway_restore_volume_pitr
    • First observedrailway_rollback_deployment
    • First observedrailway_set_variable
    • First observedrailway_stop_deployment
    • First observedrailway_update_volume_mount
    • First observedsupabase_activate_domain
    • First observedsupabase_apply_migration
    • First observedsupabase_available_regions
    • First observedsupabase_create_branch
    • First observedsupabase_create_project
    • First observedsupabase_create_sso_provider
    • First observedsupabase_create_storage_bucket
    • First observedsupabase_delete_branch
    • First observedsupabase_delete_domain
    • First observedsupabase_delete_edge_function
    • First observedsupabase_delete_function_secret
    • First observedsupabase_delete_sso_provider
    • First observedsupabase_delete_storage_bucket
    • First observedsupabase_delete_storage_objects
    • First observedsupabase_deploy_edge_function
    • First observedsupabase_execute_sql
    • First observedsupabase_get_auth_config
    • First observedsupabase_get_database_config
    • First observedsupabase_get_domain
    • First observedsupabase_get_network_restrictions
    • First observedsupabase_get_performance_advisors
    • First observedsupabase_get_pooler_config
    • First observedsupabase_get_project
    • First observedsupabase_get_rest_config
    • First observedsupabase_get_security_advisors
    • First observedsupabase_get_ssl_enforcement
    • First observedsupabase_get_sso_provider
    • First observedsupabase_get_storage_config
    • First observedsupabase_get_upgrade_eligibility
    • First observedsupabase_get_upgrade_status
    • First observedsupabase_initialize_domain
    • First observedsupabase_list_backups
    • First observedsupabase_list_branches
    • First observedsupabase_list_edge_functions
    • First observedsupabase_list_migrations
    • First observedsupabase_list_network_bans
    • First observedsupabase_list_organizations
    • First observedsupabase_list_projects
    • First observedsupabase_list_sso_providers
    • First observedsupabase_list_storage_buckets
    • First observedsupabase_list_storage_objects
    • First observedsupabase_list_tables
    • First observedsupabase_merge_branch
    • First observedsupabase_move_storage_object
    • First observedsupabase_pause_project
    • First observedsupabase_remove_network_bans
    • First observedsupabase_restore_backup
    • First observedsupabase_restore_pitr
    • First observedsupabase_restore_project
    • First observedsupabase_reverify_domain
    • First observedsupabase_set_function_secret
    • First observedsupabase_set_ssl_enforcement
    • First observedsupabase_update_auth_config
    • First observedsupabase_update_database_config
    • First observedsupabase_update_network_restrictions
    • First observedsupabase_update_pooler_config
    • First observedsupabase_update_rest_config
    • First observedsupabase_update_sso_provider
    • First observedsupabase_update_storage_bucket
    • First observedsupabase_upgrade_database
    • First observedsupabase_upload_storage_object
    • First observedvercel_add_project_domain
    • First observedvercel_approve_rolling_release_stage
    • First observedvercel_cancel_deployment
    • First observedvercel_complete_rolling_release
    • First observedvercel_configure_project
    • First observedvercel_create_deployment
    • First observedvercel_create_project
    • First observedvercel_create_project_from_repository
    • First observedvercel_create_project_route
    • First observedvercel_delete_alias
    • First observedvercel_delete_deployment
    • First observedvercel_delete_environment_variable
    • First observedvercel_delete_project
    • First observedvercel_delete_project_routes
    • First observedvercel_get_account
    • First observedvercel_get_build_events
    • First observedvercel_get_deployment
    • First observedvercel_get_domain_configuration
    • First observedvercel_get_project
    • First observedvercel_get_rolling_release
    • First observedvercel_get_rolling_release_config
    • First observedvercel_get_runtime_logs
    • First observedvercel_get_team
    • First observedvercel_list_aliases
    • First observedvercel_list_deployments
    • First observedvercel_list_dns_records
    • First observedvercel_list_environment_variables
    • First observedvercel_list_project_domains
    • First observedvercel_list_project_routes
    • First observedvercel_list_projects
    • First observedvercel_list_webhook_metadata
    • First observedvercel_promote_deployment
    • First observedvercel_redeploy
    • First observedvercel_remove_project_domain
    • First observedvercel_rollback
    • First observedvercel_set_alias
    • First observedvercel_set_environment_variable
    • First observedvercel_start_rolling_release
    • First observedvercel_verify_project_domain

Publisher details

Operator
BEON LIMITED
Operator website
https://beonpass.com
Vendor relationship
First-party
Restrictions
…

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources