SAGOT
Server Details
AI voice agents that place and answer phone calls, with transcripts and outcomes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 130 tools
Despite 130 tools, the resource_action prefixes (account_, agents_, calls_, campaigns_, contacts_, lines_, platform_, support_, waitlist_) carve the surface into clearly separated domains, and most tools target a distinct resource+action. The main blemishes are the explicitly deprecated routes_* aliases of lines_* (routes_list/routes_bind/routes_clearAlert) and the concentration of many account_* MFA/terms verbs, which could momentarily confuse an agent.
The resource_action convention is applied almost universally (calls_get, campaigns_pause, members_invite), giving a highly predictable pattern. The deviation is the casing of the action segment, which mixes snake_case and camelCase (lines_clearAlert, account_mfaEnable, platform_subprocessors_notify alongside lines_list, account_login), plus a few prefix-less outliers like access_info.
130 tools is an extreme count far beyond any reasonable agent-facing surface, well past the 50+ threshold for a top-mismatch score, even for a broad voice-calling platform. The set could be collapsed substantially (e.g. grouping platform_* and MFA variants) to remain navigable.
The surface covers full lifecycles across nearly every domain: account/auth/MFA, workspaces, agents, campaigns, contacts, lines, calls, credentials, integrations, events, handoffs, plus platform staff, support-access and waitlist operations. Covers endpoints are present for almost every resource, with create/get/list/update/delete and admin/audit/suppression flows where relevant.
Available Tools
130 toolsaccess_infoBInspect
Read public registration availability (closed alpha is the default) and whether the caller's session or credential is valid (signedIn).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses that closed alpha is the default registration state and that signedIn reflects session/credential validity, but it omits any auth requirements, whether the call is permitted pre-login, or other behavioral traits an agent would want before invoking it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and the two return concepts compactly parenthesized. Slightly dense, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of return-value documentation. It names the two outputs but leaves their possible values vague (e.g., what 'registration availability' can be, what other fields accompany signedIn), so it is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. There is no parameter surface the description could or should explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and two concrete outputs: public registration availability and caller session/credential validity (signedIn). This is much more than a tautology, but it never distinguishes itself from siblings like account_me, which also report session information, so an agent must guess which to prefer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives named. With account_me and the platform_access_* siblings in scope, the agent is given nothing about when access_info is the right call versus those tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_acceptTermsAInspect
Signed-in session only: accept the current Terms of Service, Data Processing Addendum and Privacy Notice (version from account.me termsVersion). Records the version and time on your account.
| Name | Required | Description | Default |
|---|---|---|---|
| version | Yes | The termsVersion you accept (see account.me). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses an auth requirement (signed-in session) and a persistent side effect (records the version and time on the account). It omits whether re-acceptance is idempotent or what happens on a version mismatch, keeping it below 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste; the auth precondition is front-loaded before the effect and the parameter source. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, 100%-covered tool with no output schema, the description supplies the needed auth context and side-effect disclosure. Minor gaps remain around idempotency and error behavior on invalid versions, but nothing blocks correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the sole parameter's meaning and maxLength are documented in the schema. The description only repeats the 'version from account.me termsVersion' pointer, adding no syntax or semantics beyond structured data, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('accept') and the exact resources affected (Terms of Service, Data Processing Addendum, Privacy Notice), and the account_acceptTerms scope is clearly distinct from siblings like account_me or account_login. An agent can identify what this does 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete precondition ('Signed-in session only') and routes the agent to account.me for the correct termsVersion value. It stops short of stating when-not-to-use or what to do if a version is already accepted, so it is clear context without explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_deleteAInspect
Signed-in session only: delete your own SAGOT account after confirming your password. Refused while you own a workspace (transfer ownership or delete it first) or hold a SAGOT staff role. Removes you from every workspace, revokes your sessions and API keys and anonymises your account; your email can register again.
| Name | Required | Description | Default |
|---|---|---|---|
| password | Yes | Your current password, to confirm it is you. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so: it discloses the auth requirement (signed-in session), the two hard preconditions that cause refusal, and the destructive blast radius (removal from every workspace, session and API key revocation, account anonymisation). It also states a recovery-adjacent fact many tools omit — the email can register again.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, no filler, with the access precondition front-loaded, the refusal conditions second, and the consequences last — a sensible priority order for an agent deciding whether it may call this at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations exist, so the description must cover safety, preconditions and effects itself, and it does. For a single-parameter self-delete tool, an agent has everything it needs to decide whether the call will succeed and what it will cost.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter at 100% schema coverage, so the schema already defines 'password' and its purpose. The description's 'after confirming your password' adds the confirmation semantics but no format or constraint detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('delete your own SAGOT account') and immediately constrains it to self-service via 'Signed-in session only', which separates it from admin-facing siblings like platform_accounts_suspend and workspaces_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when/when-not: only for your own account, requires password confirmation, and refused while you own a workspace or hold a staff role. It even names the alternative path ('transfer ownership or delete it first'), routing the agent to members_transfer or workspaces_delete instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_loginCInspect
SAGOT account.login. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Two-step sign-in: the 6-digit authenticator code or a recovery code. | |
| Yes | |||
| password | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose whether a session/token is established, whether MFA is required, or any rate-limit/auth constraints, offering only the vague equivalency to "website, API and CLI."
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences are appropriately sized and front-loaded, but the content is under-specified rather than information-dense, so the brevity does not translate into efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a login tool with no output schema and no annotations, the description should at minimum explain what success returns (session/token) and that two-step authentication may be required. These omissions leave the agent without needed context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (just the code parameter), and the description adds no parameter detail at all. It neither explains the email/password requirements nor compensates for the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with "SAGOT account.login," which merely restates the tool name rather than stating a specific verb and resource goal. It never explicitly says what the tool accomplishes or how it differs from siblings like account_register or account_logout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The claim that it uses "the same authorization and validation as website, API and CLI" weakly implies credentialed sign-in, but gives no when-to-use guidance, no prerequisites, and no contrast against account_register, account_logout, or account_me.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_logoutCInspect
SAGOT account.logout. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'Uses the same authorization and validation as website, API and CLI' hints that standard auth applies, but says nothing about whether tokens/sessions are revoked server-side, scope of the logout (single session vs all devices), idempotency, or error behavior when not logged in. This is a significant gap for a state-mutating auth operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, so it is not bloated. However, the second sentence is vague filler ('same authorization and validation as website, API and CLI') that occupies half the description without conveying actionable detail, so not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param, no-annotation, no-output-schema tool, the description should at least describe the resulting state change and any failure modes. It leaves the agent guessing about what logout actually does to the session, making it incomplete for the operation it names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter meaning is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name ('SAGOT account.logout') rather than explaining the operation, and the only additional sentence is about authorization parity, not purpose. An agent can infer logout semantics from the name, but the description itself contributes nothing beyond it. This is effectively a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus the obvious siblings account_login or platform_access_end, nor any prerequisite (must be authenticated, which session is ended). The name makes the general intent guessable, but the description provides no explicit usage guidance or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_meCInspect
SAGOT account.me. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It vaguely states that authorization and validation match the website, API, and CLI, which implies authentication, but it does not disclose whether the tool is read-only, what it returns, or any rate-limit/side-effect behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the first sentence 'SAGOT account.me' is a tautological restatement of the tool name and does not earn its place. The second sentence adds a small piece of context, but the overall structure is not front-loaded with useful purpose information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter account endpoint, the description is still incomplete: it never says what the tool returns or when it should be used instead of related account tools. No output schema exists, so the description should at least explain the return context, but it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so parameter semantics are not a concern here. Per the rubric, a parameterless tool receives a baseline of 4 because there is no schema-level meaning for the description to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'SAGOT account.me', which essentially restates the tool name without a clear verb or resource outcome. It does not tell the agent that it returns the authenticated account's profile/details, nor does it distinguish the tool from siblings like access_info or usage_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no when-not-to-use condition, and no mention of alternatives among the many sibling tools. The only sentence about sharing authorization with website/API/CLI 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.
account_mfaDisableBInspect
Signed-in session only: turn two-step sign-in off with your password and a current code or recovery code. SAGOT staff cannot use the platform console without it.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| password | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses a precondition (requires signed-in session) and required authentication material (password plus current/recovery code), which is useful security context. However, it omits reversibility, consequences of disabling MFA, and token/session implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences. The precondition is front-loaded before the authentication requirements. The final sentence about SAGOT staff is loosely related but adds minimal operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-param mutation with no annotations and no output schema, the description covers the core action and auth inputs but leaves gaps: consequences of disabling, error/rate-limit behavior, and whether the session is affected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It usefully explains that 'code' accepts a 'current code or recovery code' and 'password' is the user's password, but doesn't clarify format, length constraints, or which code types map to which sibling tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (disable) and resource (MFA / two-step sign-in) clearly. It's distinguishable from account_mfaEnable, account_mfaSetup, and account_mfaRecoveryCodes by naming the disable action, though it doesn't explicitly contrast with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Signed-in session only' implies a precondition for use but doesn't compare against alternatives or state when not to use. The SAGOT staff sentence is vague context rather than actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_mfaEnableAInspect
Signed-in session only: confirm a 6-digit code from the authenticator app to turn two-step sign-in on. Returns 10 one-time recovery codes once; store them safely. Sign-in then needs a code (account.login code).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the auth requirement, that ten one-time recovery codes are returned exactly once and must be stored, and that sign-in behavior changes going forward. It omits failure modes (e.g. calling when MFA is already on) and whether the operation is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each carrying distinct information: precondition, action, return value, and downstream consequence. The trailing '(account.login code)' is slightly cryptic but does convey the future sign-in requirement without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description successfully covers the precondition, the one-time recovery-code return, and the resulting sign-in change. It could still cross-reference account_mfaRecoveryCodes or note behavior when MFA is already enabled, but nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does: the single parameter is identified as a 6-digit code from the authenticator app, giving origin and format beyond the schema's bare minLength/maxLength bounds. It does not explain the 20-character upper bound, which suggests codes may include non-digit characters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: confirm an authenticator code to turn two-step sign-in on. The sequencing against account_mfaSetup is implied by 'confirm a 6-digit code', but no sibling tool is named explicitly, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a real precondition ('Signed-in session only'), which tells the agent when the call is valid. However, it never states when not to use it (e.g. already enabled) or points to account_mfaSetup / account_mfaDisable / account_mfaRecoveryCodes as the alternatives for adjacent steps in the flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_mfaRecoveryCodesAInspect
Signed-in session only: replace all recovery codes after confirming a current code. Returns the 10 new codes once.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses two key behaviors: authentication requirement (signed-in session) and that a current code must be confirmed. It also states the destructive nature ('replace all recovery codes' implies old codes are invalidated) and the return value ('Returns the 10 new codes once'). This is strong for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the precondition, then the effect and return. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description provides necessary context: session requirement, confirmation step, destructive replacement, and return format. It doesn't mention rate limits or error conditions, but for a simple 1-param tool this is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does so by explaining that the 'code' parameter is a current recovery code that must be confirmed before replacement. It doesn't specify format or length (schema handles that), but adds essential semantic meaning about what the parameter represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'replace all recovery codes'. This is unambiguous and clearly distinguished from sibling MFA tools (mfaSetup, mfaEnable, mfaDisable) which handle different lifecycle stages. An agent can tell exactly what this operation does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the precondition 'Signed-in session only' and 'after confirming a current code', giving clear context for when this tool applies. It doesn't name alternatives or exclusions, but given the distinct MFA siblings, the condition is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_mfaSetupAInspect
Signed-in session only: start turning on two-step sign-in. Confirms your password and returns a new authenticator secret and otpauth:// URI (scan as a QR code). Nothing changes until account.mfaEnable confirms a code.
| Name | Required | Description | Default |
|---|---|---|---|
| password | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the auth requirement (signed-in session), that a password is re-confirmed, that the call returns a fresh authenticator secret and otpauth:// URI, and crucially that no state changes until a later confirmation. It omits error/re-issue behavior if MFA is already enabled, which keeps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the prerequisite and the non-committal nature of the call are front-loaded before the return details. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description correctly explains the return payload (secret + otpauth:// URI to scan as QR) and the follow-up step needed to finish. The only gap is what happens on repeat calls when MFA is already enabled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single password parameter has 0% schema description coverage, so the description must compensate — and it does by explaining the password is used to confirm/re-authenticate the signed-in user before issuing a secret. It adds real meaning beyond the bare 'password' string field, though it doesn't state length or validation constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('start turning on two-step sign-in' / MFA setup) and explicitly frames the two-step flow, naming account_mfaEnable as the step that actually commits the change. An agent can distinguish this from account_mfaEnable, account_mfaDisable, and account_mfaRecoveryCodes 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Signed-in session only' gives an explicit prerequisite, and the closing sentence tells the agent this call alone does not complete enrollment — account.mfaEnable must confirm a code. It doesn't state when not to call it (e.g. if MFA is already enabled), so it falls short of full alternative/exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_registerCInspect
SAGOT account.register. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| Yes | |||
| password | Yes | ||
| acceptTerms | Yes | Must be true: you accept the current Terms of Service (/terms), Data Processing Addendum (/data-processing) and Privacy Notice (/privacy). | |
| invitationToken | No | ||
| memberInvitationToken | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it does not meet it. It hints that validation matches other surfaces, but omits critical traits: whether the account is immediately active, whether verification email is sent, whether the caller is logged in afterwards, rate limits, and what happens with the invitation tokens.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but one of the two sentences is a redundant restatement of the tool name and the other is a vague parity claim, so the brevity comes from omission rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter account-creation mutation with no annotations, no output schema, and sparse schema descriptions, the description is far too thin. An agent cannot tell what the call returns, what happens on success, or how invitation tokens change behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17% (just acceptTerms), yet the description adds nothing about name, email, password constraints, or the two invitation token parameters. Name/email/password are largely self-evident, but the invitation flows are undocumented in both schema and description, so it fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name ("account.register") as "SAGOT account.register", which is a tautology rather than a stated verb+resource. It never says plainly that this creates a new user account. The only added information is a note about parity with other surfaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no differentiation from close siblings such as account_login, members_invite, waitlist_join, or account_acceptTerms. The sentence about sharing authorization/validation with website, API and CLI is a consistency note, not an instruction on when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actions_listCInspect
SAGOT actions.list. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Uses the same authorization and validation as website, API and CLI' gestures at auth but never states what authorization is required, how results are paginated, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two sentences are short and front-loaded, but this is under-specification rather than genuine conciseness; the second sentence spends words on a vague comparison instead of useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated list tool with no annotations and no output schema, the description should explain pagination behavior and the workspace scoping requirement. It does neither, leaving the definition materially incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate for the three undocumented parameters, yet it says nothing about workspaceId, limit, or cursor. The parameter names are somewhat self-explanatory, but the description adds no meaning whatsoever.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a tautology: 'SAGOT actions.list' restates the tool name without saying what an action is or what listing them returns. It never distinguishes this from the sibling actions_reconcile, so an agent cannot tell the two apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no conditions, and no mention of the sibling actions_reconcile or when that alternative would be preferred. The agent is left to guess 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.
actions_reconcileBInspect
Query the owning system about an uncertain action. Does not repeat the business write.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose one important trait: the call does not repeat the business write, so it is safe from duplication concerns. It says nothing about authentication, rate limits, or whether reconciliation can alter stored action state on the owning system.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler, and the core purpose is front-loaded ahead of the behavioral caveat. It is efficient, though arguably terse to the point of under-specification rather than optimally scoped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% parameter coverage, the description should be doing much more. It omits what a reconcile call returns, what happens to the action's status afterwards, and when the tool should be preferred over siblings — significant gaps for an unfamiliar, jargon-heavy operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds nothing about the two parameters. An agent cannot tell from the description whether 'id' identifies the action, the uncertain operation, or a reconciliation record, nor what 'workspaceId' scopes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and object ('Query the owning system about an uncertain action'), which clearly separates it from the read-listing sibling actions_list. However, it never defines what an 'action' or an 'uncertain action' is, leaving the domain concept implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent must infer that this is called when an action's outcome is unknown. No alternative tool (e.g. actions_list) is named, and no precondition for when reconciliation is warranted is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents_createDInspect
SAGOT agents.create. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| persona | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It mentions that authorization and validation match other interfaces, but does not specify required permissions, side effects, failure modes, or what happens on creation, making it minimally informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but under-specified rather than concise. The first sentence merely labels the operation and the second adds vague context, so neither sentence earns its place in guiding an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex mutation tool with a nested required persona object, no annotations, and no output schema. The description is entirely inadequate, omitting purpose, parameter semantics, return behavior, and usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no parameter meaning at all. It does not explain workspaceId, the persona object, or any of the many nested fields, leaving the schema as the only source despite lacking descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'SAGOT agents.create' but does not explicitly say it creates an agent; it largely restates the tool name. It provides no differentiation from sibling tools like agents_save or agents_publish, leaving the actual purpose inferred only from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist, or how it differs from alternatives such as agents_save. The description offers only a vague authorization note, leaving the agent to infer everything else.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents_getDInspect
SAGOT agents.get. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only vaguely asserts parity of 'authorization and validation' with other surfaces, without naming the required permission, what happens on a missing or unauthorized id, or whether the read has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with no padding, but the first sentence is pure name restatement and the second is low-information. Brevity here 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations, no output schema, and no parameter documentation leave the agent with almost nothing to work from. For a simple get-by-id tool the bar is low, but this description still falls well short of it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both required parameters (workspaceId, id) are bare UUID strings. The description adds no meaning — it never explains that id identifies the agent or that workspaceId scopes the lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name ('SAGOT agents.get') without stating the action or resource in plain terms. An agent must infer that it retrieves a single agent, and nothing distinguishes it from siblings like agents_list or agents_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over agents_list, and no prerequisites or exclusions. The only hint ('same authorization as website, API and CLI') says nothing about selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents_listDInspect
SAGOT agents.list. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet "same authorization and validation as website, API and CLI" is a vague assurance rather than a disclosure of required permissions, scoping, pagination behavior, or ordering. It hints that auth is uniform across surfaces but never states what that auth actually requires.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but brevity here reflects under-specification rather than conciseness: neither sentence earns its place by telling the agent anything actionable. The "same authorization as website/API/CLI" claim is front-loaded but empty of decision value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A paginated list tool with a required workspaceId, a cursor, a limit, no annotations, and no output schema leaves the agent without any of the context needed to call it correctly or interpret results. The description supplies none of this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description mentions no parameters at all, leaving limit (default 50, max 100), cursor (pagination token) and the required workspaceId entirely undocumented in prose. For a 3-parameter tool with zero coverage, the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT agents.list" mostly restates the tool name and adds no plain-language statement of what the tool does (retrieve a paginated list of agents in a workspace). "SAGOT" is unexplained vendor jargon that gives an agent no additional signal, and nothing distinguishes it from siblings like agents_get or agents_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus agents_get (single agent) or the other agents_* tools, nor any mention of prerequisites or pagination workflow. The reader must infer everything from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents_pauseDInspect
SAGOT agents.pause. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states that authorization and validation match website, API, and CLI. It does not disclose whether pausing is reversible, what happens to active calls or sessions, or what the operation returns. It adds some context about auth consistency but leaves the core behavior unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it is under-specified rather than concise: the first sentence repeats the tool name, and the second discusses auth parity instead of the operation's effect. It is front-loaded with a tautology rather than the information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation-style tool with no annotations, no output schema, and 0% parameter description coverage, the description is severely lacking. It does not explain what pause does, how it affects agents, or what the required UUIDs identify. The single auth note is insufficient to complete the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has two required UUID parameters, workspaceId and id, with zero description coverage. The description does not mention either parameter, so it provides no semantic meaning beyond the schema's bare types. The agent is left to guess whether 'id' refers to the agent, a call, or another entity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as 'SAGOT agents.pause' but does not explain what pausing an agent means or what effect it has. It is essentially a tautology, offering no specific verb-plus-resource explanation beyond the identifier itself. No sibling differentiation is provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use agents_pause versus other agent lifecycle tools such as agents_retire, agents_rollback, or agents_save. The statement about shared authorization and validation does not tell an agent when this operation is appropriate. No exclusions 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.
agents_publishBInspect
Publish a validated draft for new calls. Active calls keep their original snapshot.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| revision | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the effect semantics ('Active calls keep their original snapshot'), which is real information beyond the name, but omits permission requirements, idempotency/retry behavior, and what happens if revision is stale.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the core action front-loaded and the side-effect scoping second. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-mutating publish operation with no annotations, no output schema, and three undocumented required parameters, the description leaves major gaps: what 'validated' requires, what the operation changes on the agent, and the consequences of a revision mismatch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions id, revision, or workspaceId. The revision parameter in particular looks like an optimistic-concurrency guard, but the description adds no meaning about what value it must match or what happens on mismatch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Publish a validated draft') and scopes the effect ('for new calls'), which lets an agent distinguish it from agents_save or agents_rollback without opening the schema. It stops short of naming those siblings explicitly, so the differentiation is inferential 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'a validated draft' implies the prerequisite ordering (draft must exist and pass validation, i.e. agents_test/agents_save before agents_publish), but no alternative tool is named and no when-not-to-use condition is given. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents_retireDInspect
SAGOT agents.retire. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| version | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it barely delivers. It implies authorization and validation are required (a small useful hint), but discloses nothing about whether retirement is reversible, destructive, what state changes occur, or any rate/permission constraints for what is clearly a lifecycle mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but under-specified rather than concise. The opening 'SAGOT agents.retire' is a redundant restatement of the tool name, and the second sentence contributes almost no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with three undocumented required parameters, no annotations, and no output schema, the description is wholly inadequate. An agent has no basis for calling this correctly or predicting its effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three required parameters (workspaceId, id, version) have 0% schema description coverage, and the description adds no meaning for any of them. The version parameter in particular is unexplained, even though it likely implies optimistic concurrency semantics that an agent must understand.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name via 'agents.retire' without explaining what retiring an agent actually does (permanent removal? deprecation? archival?). With siblings like agents_pause, agents_rollback, and agents_save in the same family, an agent cannot tell when retire is the correct operation versus these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided at all. The single statement about shared authorization/validation says nothing about the conditions that select this tool over the sibling lifecycle operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents_rollbackCInspect
Point new calls to a previous published version.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| version | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does add real behavioral context by scoping the effect to 'new calls' only, implying in-flight/existing calls are untouched and existing versions are not deleted. It still omits permissions, reversibility, and whether the target version must be a specific prior publish, so the disclosure is useful but partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the behavioral effect and free of padding. It is efficient, though the extreme terseness is what drives the gaps elsewhere rather than serving as a model of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutating tool with no annotations, no output schema, and three undocumented required parameters is described in a single nine-word sentence. An agent still cannot tell which id to supply, what permissions are needed, or what happens on success, so the description is well short of what this tool needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Three required parameters, all UUIDs, with 0% schema description coverage and no annotation help. The description only hints at the meaning of 'version' (a previously published version); it says nothing about 'id' (presumably the agent) or 'workspaceId', so the two other parameters remain opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete effect — redirecting new calls to a previously published version — which identifies the verb (roll back) and the resource (agent/version) well enough that an agent can act. It does not, however, contrast itself with close siblings such as agents_publish or agents_save, so sibling differentiation is left to the reader.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites (e.g. the version must already be published), and no alternative named. The agent is left to infer that this is the revert path and that agents_publish is the forward path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents_saveDInspect
SAGOT agents.save. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| persona | Yes | ||
| revision | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. The only behavioral claim is that it uses the same authorization and validation as website, API, and CLI, which is vague and does not explain mutation effects, revision/concurrency behavior, permissions required, or what happens to omitted persona fields. This is insufficient for a write-style tool with a large nested payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but brevity here reflects under-specification rather than useful conciseness. Every sentence should earn its place, and the authorization note does not meaningfully help an agent call the tool correctly. The size is not the problem; the lack of substantive content is.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a high-complexity nested input schema, four required parameters, no annotations, and no output schema. The description does not explain the save semantics, persona structure, revision handling, or how this differs from related agent lifecycle tools. It is completely inadequate for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description mentions no parameters at all. The agent receives four required top-level parameters, including a complex nested persona object and an integer revision, with no description-based guidance on their meaning or expected usage. The description 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name as "SAGOT agents.save" and adds only that it uses the same authorization and validation as other surfaces. It does not state what is being saved, what the save operation does relative to agents_create or agents_publish, or what entity is affected. This is close to tautology rather than a clear verb-plus-resource purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use agents_save versus agents_create, agents_publish, agents_rollback, or any other sibling tool. The note about website, API, and CLI authorization does not tell an agent when this MCP tool is appropriate. No conditions, alternatives, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents_testCInspect
Validate the current draft and its integration. This is configuration validation, not a voice-quality score. Use a draft SIP call to hear the result.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| revision | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and largely drops it. It never states whether validation is synchronous, idempotent, or side-effect-free, whether it consumes credits or places any real call, or what happens on a failing validation. For a tool whose name suggests executing a test, the absence of any safety or side-effect disclosure is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the purpose stated first and the disambiguation second; nothing is padded. It is efficiently sized for the small amount of information it actually conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three required parameters, no annotations, and no output schema, the description is the only source of behavioral and return information, and it omits both. An agent cannot tell what a successful validation returns, whether failures are surfaced as errors or results, or how to act on the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three required parameters (workspaceId, id, revision), and the description explains none of them. The phrase 'the current draft' loosely gestures at the id/revision pair but gives no guidance on which revision must be supplied or whether the draft must already be saved, so the schema remains undocumented from both sources.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a verb ('validate') but the resource is referred to only as 'the current draft', never naming agents or the draft artifact, so the agent must infer scope from the tool name. The clarifying sentence 'this is configuration validation, not a voice-quality score' usefully narrows what kind of validation is performed, but it does not distinguish this from close siblings such as agents_save or agents_publish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use a draft SIP call to hear the result' implies the tool is meant for pre-publish validation of a draft, which is a real usage hint. However, it never states when to call this versus agents_save, agents_publish, or lines_test, nor any prerequisite (e.g., an existing draft revision must be saved first), leaving routing largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
artifacts_deleteDInspect
SAGOT artifacts.delete. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it delivers almost nothing. 'Same authorization and validation as website, API and CLI' gestures at auth semantics but never states what permissions are required or whether the deletion is permanent or recoverable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness. The only content-bearing claim (authorization parity) is vague, and the namespaced prefix wastes the valuable opening clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive operation with no annotations, no output schema, and 0% parameter documentation needs a description that explains permissions, irreversibility, and required identifiers. This one supplies none of that, leaving the definition inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about 'id' or 'workspaceId'. An agent must infer scope and format entirely from the schema patterns, with no added meaning from the text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description largely restates the tool name with a namespaced form ('SAGOT artifacts.delete'), which is a tautology rather than an explanation. It never says what an artifact is, what deleting one does, or how it differs from siblings like artifacts_export.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no prerequisites, and no alternatives are named. The single sentence about authorization parity with 'website, API and CLI' is not usage guidance; an agent gets no signal about when this tool 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.
artifacts_exportDInspect
SAGOT artifacts.export. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet 'Uses the same authorization and validation as website, API and CLI' is the only trait disclosed and it is left undefined. Nothing is said about what the export returns, whether it consumes quota, whether it is idempotent, or what happens on a missing/inaccessible artifact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but its brevity comes from under-specification rather than economy; the opening clause is redundant with the tool name while the substantive clause is vague. No front-loaded statement of what the tool produces.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-required-parameter tool with 0% parameter coverage, no annotations and no output schema, the description should explain the id/workspace pair and the export result. Instead it says only that auth and validation mirror other surfaces, leaving the agent unable to call the tool correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two required parameters (id, workspaceId), so the description must compensate and instead says nothing at all about them — not even that id identifies the artifact to export or that workspaceId scopes it. Agents get no disambiguation between the two UUID fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT artifacts.export" merely restates the tool name with a namespace prefix and never says what an export actually does — download a file, stream bytes, produce a URL, or return a job handle. The agent cannot tell artifacts_export apart from artifacts_delete or from the many other sibling export/list tools on the basis of this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative among the ~100 siblings. The only contextual hint is that authorization/validation matches the website, API and CLI — useful for parity reasoning but not a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assistants_authorizeAInspect
Signed-in session only: allow (with a workspaceId) or deny an AI assistant's request to use SAGOT. Allowing gives that assistant the listed scopes in one workspace — never admin, never more than your role — and returns redirectTo, the address to send the browser back to.
| Name | Required | Description | Default |
|---|---|---|---|
| allow | Yes | ||
| request | Yes | ||
| workspaceId | No | Workspace the assistant may use; required to allow. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does substantial work: it declares the auth requirement (signed-in session), the privilege ceiling ('never admin, never more than your role'), workspace scoping, and a return value (redirectTo). It omits what denying actually does (no-op vs. revoke) and whether a prior grant is superseded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the precondition and then the two outcomes, then the return value. It is efficient, though the em-dash parenthetical makes the privilege-boundary clause slightly harder to parse than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested request object, the description covers the essentials (auth, privilege limits, return redirect). It is still incomplete: the deny path's side effects, error behavior for invalid client_id/redirect_uri, and the meaning of the nested request fields are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% – workspaceId is documented in the schema, while the eight nested fields of the 'request' object are undocumented anywhere. The description adds useful meaning for workspaceId (required to allow) and for scope ('the listed scopes'), but leaves the OAuth-style request payload opaque, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb pair (allow/deny) and a specific resource (an AI assistant's request to use SAGOT), and it distinguishes itself from neighboring tools like assistants_revoke, assistants_list, and assistants_preview. An agent can tell exactly what this tool does 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear precondition ('Signed-in session only') and states the condition under which workspaceId is supplied ('allow (with a workspaceId)' implied by the schema's 'required to allow'). It does not name an alternative tool (e.g., assistants_revoke for undoing a grant) or state when to deny rather than skip the call, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assistants_clients_createAInspect
Signed-in session only: create an OAuth client ID and secret for an assistant that asks for them, such as Gemini Enterprise (redirect https://vertexaisearch.cloud.google.com/oauth-redirect). The secret is returned once. People who sign in through it still choose their own workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| redirectUris | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the load and discloses key non-obvious traits: the secret is returned only once, it requires a signed-in session, and signing in through the client does not pin users to a workspace. It omits failure modes and any rate/limit behavior, but the one-time-secret warning is the critical fact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the authentication constraint, then the action, then the caveat, in three tight sentences with no filler. Every sentence carries a distinct fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does note what is returned (the secret, once) and the workspace-selection behavior. For a 2-parameter, no-annotation mutation tool this is largely sufficient, though return-shape detail and parameter detail remain thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for both parameters. It partially does via the example redirect URI, but the 'name' parameter is never explained and there is no guidance on the redirectUris array (count limits, format expectations), leaving half the surface undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (create) plus resource (OAuth client ID and secret for an assistant) with a concrete example consumer (Gemini Enterprise). An agent can distinguish this from the sibling clients tools (assistants_clients_list, assistants_clients_revoke) without opening their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the authentication prerequisite ('Signed-in session only') and gives a concrete use case (an assistant such as Gemini Enterprise that asks for credentials). It does not name exclusions or route to alternatives like assistants_clients_list for reviewing existing clients, so it stops 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.
assistants_clients_listAInspect
Signed-in session only: OAuth client IDs you created for assistants, with their redirect addresses.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully adds the auth requirement ('Signed-in session only') and the shape of what is returned (client IDs plus redirect addresses), which is genuine value beyond structured fields. It stops short of disclosing pagination, ordering, or whether revoked clients appear, which a full-burden description should cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence whose first clause is the call-precondition and whose second names the returned entities. Every word earns its place with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing tool with no output schema, the description covers the essential questions: the auth scope and the content of the listing. Minor gaps around result size, ordering, or pagination keep it from being fully complete, but nothing critical to invoking it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is no parameter schema for the description to duplicate or compensate for, and nothing is left ambiguous about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) applied to a precise resource: 'OAuth client IDs you created for assistants, with their redirect addresses.' An agent can distinguish this from assistants_clients_create and assistants_clients_revoke purely from the description without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Signed-in session only' communicates a real precondition that affects whether the tool can be called at all. However, it never frames usage relative to the sibling create/revoke tools or states when an agent should reach for this listing versus other assistants endpoints, so guidance remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assistants_clients_revokeAInspect
Signed-in session only: revoke an OAuth client ID you created; assistants using it can no longer sign in or refresh tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the key consequence: assistants using the client can no longer sign in or refresh tokens. It also names the auth requirement. It stops short of stating reversibility or whether existing tokens are invalidated immediately versus at expiry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the precondition front-loaded and zero filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter revoke with no annotations and no output schema, the description covers purpose, precondition, and the downstream effect. It is nearly complete; the missing pieces are how to find the ID and whether revocation is reversible.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single 'id' parameter is undocumented structurally. The description partially compensates by identifying it as the OAuth client ID the caller created, but adds no format, source, or lookup detail for actually obtaining that ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (revoke) and resource (an OAuth client ID), and scopes it with 'you created'. It distinguishes itself from the nearby assistants_revoke and credentials_revoke by naming the exact object being revoked, so an agent can select it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Signed-in session only' line gives a precondition and 'you created' implies a scope, but there is no explicit when-to-use-vs-alternatives guidance and no pointer to assistants_clients_list for resolving the ID. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assistants_listAInspect
Signed-in session only: AI assistants connected to your account through OAuth, with workspace, scopes, when connected and last used.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full burden and does disclose two useful things: the auth requirement (signed-in session only) and the shape of each returned record. It says nothing about ordering, volume/limits, or whether revoked or expired assistants appear — gaps that matter for a listing endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the access constraint front-loaded before the resource description. Every clause earns its place, though the colon-and-comma construction is slightly compressed for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-annotation list tool with no output schema, the description covers what is listed and what each item contains, which is close to sufficient. Missing only ordering/completeness notes about the result set, a minor gap for a tool this simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema has nothing to explain and the baseline is 4. The description correctly adds no parameter chatter, and the field list it provides describes output rather than input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and a specific resource (AI assistants connected to your account through OAuth), plus the fields each entry carries (workspace, scopes, connected/last-used timestamps). It largely distinguishes itself from siblings like assistants_clients_list or assistants_authorize, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Signed-in session only" implies the prerequisite and the context in which the call is valid, which is real guidance. However, it never says when to prefer this over assistants_clients_list, assistants_preview, or assistants_revoke, nor what it excludes — usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assistants_previewAInspect
Check an OAuth authorization request from an AI assistant (Claude, ChatGPT, Gemini or any MCP client) before consent: returns the assistant's name, the address it returns to, the scopes requested in plain words, or the problem with the request.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the return contents (assistant name, return address, scopes in plain words, problems) and implies a read-only validation. It doesn't state failure modes beyond 'the problem with the request', but that is sufficient for a check operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One well-formed sentence that front-loads the action and enumerates what the tool returns. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers what the tool does, when to use it, and what it returns. It could mention error handling or authentication requirements, but it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The description names the main fields returned and the input is a single 'request' object whose subfields are documented in the schema. It doesn't explain every subfield, but it covers the essential semantics of the request check.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Check an OAuth authorization request from an AI assistant'. It clearly distinguishes this from siblings like assistants_authorize or assistants_list by describing the pre-consent check and the return contents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before consent' gives clear context for when to use the tool. It does not explicitly name alternatives like assistants_authorize, but the timing cue ('before consent') is a strong usage signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assistants_revokeAInspect
Signed-in session only: disconnect an AI assistant. Its access and refresh tokens stop working immediately; it must ask again to reconnect.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the auth requirement ("signed-in session only"), the immediate effect ("access and refresh tokens stop working immediately"), and the reversibility posture ("must ask again to reconnect"). It omits error behavior and what happens to in-flight work, but the core consequences of a destructive action are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact clauses with the precondition front-loaded ahead of the action and its effect. No filler, though the second sentence is a semicolon run-on that could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation with no annotations and no output schema, the description covers the auth precondition, the immediate token effect, and the reconnect requirement. Missing only edge-case behavior such as errors on unknown ids or treatment of active sessions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single id parameter has 0% schema description coverage and the description never explicitly names or explains it. However, "disconnect an AI assistant" implicitly maps the id to the target assistant, which is fairly unambiguous for a single required UUID parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ("disconnect an AI assistant") that clearly conveys a revocation operation. It does not explicitly name the neighboring tool (assistants_clients_revoke) or contrast with assistants_authorize, so sibling differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Signed-in session only" gives an important precondition for use, but there is no guidance on when to choose this over assistants_authorize, assistants_clients_revoke, or assistants_list. Usage is implied by the resource name rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calls_approveAInspect
Signed-in session only (a person, not an API key or assistant): approve a call an AI assistant asked for (status awaiting_approval). Eligibility is checked again and the call is queued.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the auth constraint (human session only, not API key/assistant), the state gate (awaiting_approval), that eligibility is re-validated, and the side effect (the call is queued). It stops short of describing what queued means operationally 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with the most important constraint (human session only) front-loaded in the parenthetical, followed by the state precondition and the resulting effect. No filler, though the parenthetical slightly interrupts the flow of the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter mutation with no annotations and no output schema, the description supplies the auth model, the state precondition, the re-validation behavior, and the outcome. What it lacks is parameter-level clarification and any statement of the response, but the core invocation requirements are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both id and workspaceId, so the schema provides no meaning, and the description does not compensate. It refers to 'a call' and an implicit workspace context but never explains which parameter is the call identifier versus the workspace scope, or the UUID format expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (approve), a specific resource (a call an AI assistant asked for), and the exact precondition state (status awaiting_approval). An agent can distinguish this from calls_decline, calls_cancel, and calls_create without inspecting other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear preconditions for use: the caller must be a signed-in person (not an API key or assistant) and the call must be in awaiting_approval status. It does not explicitly name the alternative (calls_decline) or restate the condition that would route an agent there, which is the only gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calls_cancelBInspect
Cancel a queued or active call. On a finished call with a scheduled automatic retry, cancels that retry instead.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose one genuinely useful behavior: on a finished call it cancels the scheduled retry rather than the call. However it omits other key traits — whether an active call is hung up or merely flagged, whether cancellation is reversible, and any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the primary action leads with the edge-case clarification following it. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no annotations and no output schema, the description covers the core action and one edge case but leaves return behavior, permission requirements, and parameter meaning 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage on two required parameters (id, workspaceId), and the description does not compensate at all — it never mentions the call identifier or workspace scoping, so an agent must infer both from the schema's UUID patterns alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Cancel) and resource (queued or active call) with clear scope, and the second sentence pins down a non-obvious edge case. It is distinguishable from siblings like campaigns_cancel and calls_get, though it never explicitly names them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives (e.g. campaigns_cancel, or waiting for a call to finish), no prerequisites, and no statement about when cancelling is inappropriate or irreversible. Usage is only implied by the tool name and the state list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calls_createAInspect
Queue one call with an agent to a contact. Give task for what this one call must achieve (the personal starter agent follows it). During the alpha a line only calls its test numbers. When an AI assistant connected by OAuth asks for a call and the policy's assistantCallApproval is on (default), the call is created with status awaiting_approval and nothing dials until a person approves it on the website: tell them, and give them the returned approvalUrl. It is canceled if not approved within 24 hours. Then read the result with calls.get.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | What this one call must achieve, in plain words — e.g. 'Ask for a table for 4 on Friday 18 Oct at 7pm under Cruz; 7–8pm is fine; no deposit.' Given to the agent beneath its instructions. | |
| draft | No | ||
| lineId | No | ||
| agentId | Yes | ||
| contactId | Yes | ||
| workspaceId | Yes | ||
| idempotencyKey | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so richly: alpha test-number limitation, OAuth/assistantCallApproval gating, resulting awaiting_approval status, the fact nothing dials until human approval, the 24-hour auto-cancel, and the returned approvalUrl the assistant must relay. This is exactly the beyond-schema behavioral context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then layered with the necessary approval behavior. It is fairly long but nearly every sentence carries distinct, non-redundant information; the approval sentence is dense but justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, mutation-style tool with no output schema and no annotations, the description covers the async/approval lifecycle well (including the approvalUrl return), but leaves the non-obvious parameters and the general return shape unexplained, so it is only adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 14% (only `task` is documented), so the description must compensate for the other six parameters — and it does not. It restates `task`'s intent but says nothing about draft, lineId, agentId, contactId, workspaceId, or the required idempotencyKey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Queue one call with an agent to a contact') and immediately routes the agent to reads via 'Then read the result with calls.get', distinguishing it from the calls_get/calls_list siblings. The scope is unambiguous 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context for when to use it (single call to a contact, result read afterward via calls.get) plus the conditions under which the approval flow triggers. It does not explicitly exclude bulk alternatives like campaigns_start, so it falls just short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calls_declineAInspect
Signed-in session only: decline a call an AI assistant asked for. It is canceled and its reserved budget released.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to lean on, the description still carries real behavioral weight: it discloses the auth requirement (signed-in session) and two concrete side effects — the call is canceled and its reserved budget is released. It omits reversibility, idempotency, and error behavior, keeping it below 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the scoping/auth constraint front-loaded, followed immediately by the action and its consequences. Every clause earns its place; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-param mutation with no annotations and no output schema, the description covers the auth gate and the operation's effects adequately, but leaves the parameter meanings and the result of a decline undeclared. It is minimally sufficient rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both required parameters (id, workspaceId), so the description must compensate and does not. It never explains what 'id' identifies versus 'workspaceId', nor the expected UUID formats, leaving both params semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('decline') and resource ('a call an AI assistant asked for'), which cleanly separates it from calls_approve and calls_cancel by describing the approval-workflow context. It does not name any sibling 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Signed-in session only' establishes an auth prerequisite, and the framing implies this is the rejection half of an assistant-requested-call approval flow. It never states when-not to use it or points to calls_approve/calls_cancel as alternatives, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calls_getDInspect
SAGOT calls.get. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. "Uses the same authorization and validation as website, API and CLI" vaguely implies consistent access control but discloses nothing actionable — no required scopes, no error behavior, no statement of what is returned or whether the read has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but for the wrong reason: it is under-specified rather than efficiently worded. The single substantive sentence is about internal authorization plumbing, which is not the information an agent needs front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, 0% parameter coverage, and two required identifiers, the definition supplies none of the context needed to call this tool correctly. Neither inputs, outputs, nor scope are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both required parameters (id, workspaceId) have 0% schema description coverage, and the description says nothing about them — not their format, scope, or relationship. The description fails to compensate for the schema gap, leaving the agent to infer that both UUIDs are required lookups.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT calls.get" essentially restates the tool identifier without stating in prose what the tool does — retrieve a single call record. It names the resource implicitly but gives no verb+outcome, so an agent cannot distinguish it from calls_list or calls_recording 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.
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 the obvious alternative calls_list for listing vs fetching a single call. The only sentence present is about authorization parity with other surfaces, which does not help select the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calls_listDInspect
SAGOT calls.list. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It vaguely states that authorization and validation match the website, API, and CLI, but does not disclose whether this is read-only, how pagination works, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but mostly under-specified: the first sentence only restates the tool name, and the second adds little actionable structure. Brevity here reflects missing information rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated list tool with 3 undocumented parameters, no annotations, and no output schema, the description is far too thin. It omits purpose, usage context, parameter meaning, and behavioral details an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 3 parameters with 0% description coverage, and the description provides no explanation of workspaceId, limit, cursor, defaults, or pagination semantics. It fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "SAGOT calls.list," which essentially restates the tool name and implies a list operation, but gives no scope, return content, or distinction from siblings like calls_get or calls_create. An agent cannot tell what is listed or why it matters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives, and no prerequisites are provided. The only sentence about authorization and validation does not help an agent choose this tool over calls_get or other sibling calls tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calls_recordingAInspect
Get recording availability and authenticated audio URL. Fetch that URL with the same bearer credential to play/download Ogg audio; CLI supports --output file. Older unrecorded calls have no audio.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose meaningful behavior: auth requirement (same bearer credential), that it returns a URL rather than the audio itself, the Ogg format, and the 'no audio for older calls' edge case. It stops short of describing the response shape (e.g. availability flag) or error behavior when no recording exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, followed by operational detail and the edge case. No filler, though the semicolon-joined middle sentence is dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-param, no-output-schema tool, the description covers the return concept, format, and the unrecorded case. Minor omissions around the exact response structure are acceptable given there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it never explains what 'id' or 'workspaceId' refer to. An agent must infer that 'id' is the call id. The gap is not closed despite only two parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb + resource: 'Get recording availability and authenticated audio URL.' An agent can distinguish this from calls_get/calls_list because it names the recording artifact specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains how to consume the result (fetch URL with bearer credential, --output file) and notes the unrecorded edge case, but never says when to choose this over calls_get or other call tools. Usage is implied by the workflow rather than routed explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
campaigns_cancelDInspect
SAGOT campaigns.cancel. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description must fully disclose behavior. It only notes that authorization and validation match the website, API, and CLI, but omits critical specifics: whether cancellation is permanent/destructive, what happens to in-progress calls, required permissions, or side effects. This is insufficient for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very brief but under-specified rather than concise; the cryptic 'SAGOT' prefix wastes space and the auth/validation sentence is not front-loaded for the primary task. Two sentences do not adequately structure the necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a campaign-cancellation mutation with no annotations and no output schema, the description should explain the effect and prerequisites. It gives only a cross-surface auth note, leaving key questions unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must clarify the two required parameters (id, workspaceId). The description mentions neither, leaving their meaning and expected values entirely to the bare schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name ('campaigns.cancel') with an unexplained prefix 'SAGOT'. It does not state what cancellation entails or distinguish it from sibling operations like campaigns_pause or campaigns_resume. Only a minimal verb+resource repetition is present.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus campaigns_pause, campaigns_resume, or other campaign lifecycle tools. The note about shared authorization/validation across surfaces 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.
campaigns_getDInspect
SAGOT campaigns.get. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It hints that authorization and validation mirror the website/API/CLI, but never states which permissions are required, what validation is applied, or whether this is a read-only lookup — leaving the agent to infer the entire safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the opening sentence is pure filler that duplicates the name, and the second sentence is vague boilerplate. Brevity here reflects under-specification rather than disciplined front-loading of useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a lookup tool with two undocumented required parameters, no annotations, and no output schema, the description supplies essentially none of what an agent needs: not the return shape, not the auth/permission requirements in concrete terms, not the failure modes. It is inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both required parameters (workspaceId, id) have 0% schema description coverage, and the description adds nothing about what they identify or how they relate. The only meaning available comes from raw type/format keywords in the schema, which the description fails to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence, 'SAGOT campaigns.get', merely restates the tool name and namespace without saying what the operation does (presumably fetch a single campaign by ID). It gives no distinction from siblings like campaigns_list or campaigns_preview, so an agent cannot tell what resource or scope this returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus campaigns_list, campaigns_preview, or any other sibling, and no stated preconditions. The only context offered ('same authorization and validation as website, API and CLI') is about consistency, not about when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
campaigns_listDInspect
SAGOT campaigns.list. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does almost nothing. Saying it 'uses the same authorization and validation as website, API and CLI' gestures at auth but names no concrete requirement, permission scope, pagination behavior, or error semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the brevity is under-specification rather than conciseness: the 'SAGOT' prefix and the website/API/CLI clause consume space without conveying actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter list tool with no annotations, no output schema, and zero schema descriptions, the definition should at minimum explain the required workspaceId and cursor-based pagination. It explains none of this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters, so the schema documents nothing. The description also says nothing about workspaceId being required or about limit/cursor pagination semantics, leaving the agent to infer it all from raw types and constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the name as 'campaigns.list' and adds only the opaque token 'SAGOT'. It never states plainly that this returns a paginated list of campaigns, nor distinguishes it from siblings like campaigns_get, campaigns_preview, or campaigns_cancel.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus campaigns_get (single campaign) or campaigns_preview. No prerequisites, scope, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
campaigns_pauseDInspect
SAGOT campaigns.pause. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure and provides none. A pause is a state-changing, potentially reversible operation; the description says nothing about reversibility, authentication requirements beyond 'same as website/API/CLI', side effects on in-flight calls, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Only one sentence, and it is front-loaded with a tautological identifier rather than the essential information. It is under-specified, not concise — the brevity removes needed content rather than waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with two required parameters, no annotations, no output schema, and 0% schema description coverage, the description is completely inadequate. It provides no return behavior, no preconditions, and no error cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it adds no meaning for 'id' or 'workspaceId' beyond the schema's UUID format. It does not clarify that 'id' is the campaign ID or what happens if the campaign is not in a pausable state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the tool via 'campaigns.pause' but never states in plain language what it does — pause a running campaign — nor what state change results. It is essentially a restatement of the name plus a note about authorization, which is a tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the numerous sibling tools like campaigns_cancel, campaigns_resume, campaigns_start, or agents_pause. The agent must infer that 'pause' is distinct from 'cancel', which is a critical distinction the description omits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
campaigns_previewBInspect
Inspect eligible contacts, exclusion reasons and the maximum reserved cost without dialing.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the most important behavioral trait for this tool — that it performs no dialing/no side effects — which is genuinely useful given the neighboring start/pause/cancel tools. However, it says nothing about permissions, cost implications of the reserved amount, or whether repeated calls are idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the key outputs and the no-dialing caveat are packed into one clause. Nothing could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and undocumented parameters, the description should work harder. It usefully previews the shape of the response (eligibility, exclusions, reserved cost), which partially compensates for the missing output schema, but the two required identifiers that scope the preview remain undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 2 required parameters with 0% schema description coverage, so the description is the only possible source of meaning and it offers none. It never explains that 'id' identifies the campaign to preview or what the 'workspaceId' scoping implies, leaving both UUIDs semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Inspect') and enumerates concrete outputs (eligible contacts, exclusion reasons, maximum reserved cost), which distinguishes it from siblings like campaigns_get and campaigns_list. It implies a per-campaign dry-run but never explicitly says it previews a campaign identified by 'id', so an agent must infer the resource being inspected.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without dialing' implicitly routes the agent here instead of campaigns_start when the goal is to validate a run before executing it, but the alternative is never named and no explicit when/when-not condition is stated. 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.
campaigns_resumeCInspect
SAGOT campaigns.resume. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It gestures at authorization ("same authorization and validation as website, API and CLI") but never states required permissions, whether the campaign must be paused first, whether the action is idempotent, or what state change occurs — all critical for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short (two sentences), but the first is a tautology and the second is about authorization rather than the action, so neither is front-loaded toward what the tool does. Size is appropriate, content placement is not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutating tool with no annotations, no output schema, and undocumented params, the description omits prerequisites, side effects, and expected result. The lone authorization note is too vague to close those gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: both required UUIDs (id, workspaceId) have format/pattern but no prose. The description adds nothing to explain what the campaign id vs workspace id mean or how they relate, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT campaigns.resume" effectively restates the tool name rather than describing the action; it never says a resume continues a previously paused campaign or how that differs from campaigns_start, campaigns_pause, or campaigns_cancel. The only added sentence concerns authorization, not purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, even though the sibling list contains campaigns_start, campaigns_pause, and campaigns_cancel that an agent must choose between. The authorization sentence does not help select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
campaigns_saveDInspect
SAGOT campaigns.save. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | Yes | ||
| lineId | No | ||
| agentId | Yes | ||
| revision | No | ||
| contactIds | Yes | ||
| workspaceId | Yes | ||
| budgetCentavos | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only vaguely states that authorization and validation match other interfaces, without specifying required permissions, create-vs-update semantics, validation rules, side effects, or idempotency behavior for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but its brevity comes from omission rather than efficient structure. It is front-loaded with the tool name and a vague compatibility statement, leaving the agent with no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, 8 parameters, and 0% schema description coverage, the description is completely inadequate. It omits what is saved, required inputs, update semantics, validation behavior, and any lifecycle context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, including 5 required fields, and the description adds no parameter meaning whatsoever. It does not explain id, revision, lineId, contactIds, budgetCentavos, or any other field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name as 'SAGOT campaigns.save' and never says what saving a campaign actually does, such as creating or updating it. It does not distinguish this tool from siblings like campaigns_start, campaigns_pause, or campaigns_preview, so the purpose remains tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use campaigns_save versus campaigns_start, campaigns_resume, campaigns_cancel, or other campaign lifecycle tools. The note about matching authorization and validation on other surfaces does not tell an agent when this operation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
campaigns_startCInspect
SAGOT campaigns.start. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it never says what starting does, whether it is reversible, whether it triggers outbound activity or billing, or what happens if the campaign is already running. The note about matching website/API/CLI authorization hints at auth requirements but is too vague to be actionable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded, but "SAGOT" is unexplained internal jargon and the second sentence spends its budget on an authorization claim rather than on the operation itself. It is concise without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating campaign lifecycle tool with no annotations, no output schema, and zero parameter documentation, so the description should carry far more weight than it does. It omits preconditions, side effects, idempotency, and the relationship to pause/resume/cancel, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two required UUID parameters (id and workspaceId), and the description adds nothing about their meaning, source, or format. An agent must infer that id is the campaign identifier and workspaceId scopes it, with no confirmation from either the description or the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT campaigns.start" essentially restates the tool name without explaining what starting a campaign actually does (launch dialing, transition state, etc.). It is a tautology of the identifier rather than a specific verb+resource description, and it does not distinguish itself from siblings like campaigns_resume, campaigns_pause, or campaigns_preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus campaigns_resume, campaigns_pause, campaigns_preview, or campaigns_cancel. The only context given is that authorization/validation matches the website, API and CLI, which does not tell an agent which situation selects this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_eraseAInspect
Admins: permanently erase one person's personal data from this workspace — by contact id or by phone number (destination), including inbound callers who are not contacts. Removes the contact, its activity history, and every call's recording, transcript, outcome, number and linked action/handoff content. Calls keep only time, status, duration and cost. Refused while a call with them is active or one of their actions is unresolved. With doNotCall (always, if they had opted out) a one-way fingerprint of the number keeps them from being called or answered again. Use for data-subject erasure requests; download the audit first if you need to answer an access request.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | The contact to erase. Give this or destination, not both. | |
| doNotCall | No | Keep the number on this workspace's do-not-call list as a one-way fingerprint. Always kept when the contact had opted out. | |
| destination | No | Erase by number, e.g. an inbound caller who is not a contact. | |
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so: it enumerates exactly what is destroyed (contact, activity history, recordings, transcripts, outcomes, numbers, action/handoff content) versus retained (time, status, duration, cost), states the operation is permanent, and defines preconditions (no active call, no unresolved action). The doNotCall fingerprint semantics — one-way, prevents future calls/answers, always kept after opt-out — are disclosed rather than hidden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the action and its destructiveness before the caveats. Given this is an irreversible destructive operation, every clause (refusals, retained fields, doNotCall) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations and no output schema, so the description must supply the entire behavioral contract — and it covers destruction scope, retention, preconditions, irreversibility and the doNotCall side effect. Nothing material an agent needs to invoke this safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so the schema documents most parameters, but the description still adds meaning: it frames id vs destination as an either/or, explains destination covers non-contact inbound callers, and expands doNotCall beyond the schema's one-line note into its actual effect. workspaceId is left unremarked but is self-evident.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('permanently erase one person's personal data') plus the two addressing modes (contact id or phone number/destination) and the edge case of non-contact inbound callers. An agent can distinguish it from contacts_suppress, contacts_update and contacts_export without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit use case ('data-subject erasure requests'), an audience constraint ('Admins'), a sequencing directive ('download the audit first if you need to answer an access request'), and the refusal conditions. It stops short of naming the nearest alternative, contacts_suppress, so the choice between erasure and suppression is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_exportAInspect
Export the contact's retained evidence as a readable Markdown or structured JSON audit snapshot. Export is logged; it does not create recordings or recover deleted content.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| format | No | markdown | |
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavioral traits: the export is logged (audit side effect) and it is non-destructive to recordings and deleted content. It omits permission requirements, whether the export is synchronous, and any size/rate constraints, but the side-effect and negative-guarantee disclosure is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core purpose front-loaded and the clarifying constraint second. No filler; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should convey what the snapshot actually contains, but "retained evidence" and "audit snapshot" remain vague about the exported payload. Combined with 0% parameter documentation, the definition is adequate but leaves gaps for a 3-param export tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implicitly documents the format parameter ("Markdown or structured JSON"), but adds nothing about the id vs workspaceId distinction or their expected values, leaving two required parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Export) and resource (the contact's retained evidence) plus the output forms (Markdown or JSON audit snapshot), which is far more specific than siblings like contacts_erase or contacts_history. It does not explicitly name which sibling to prefer for adjacent tasks (e.g., contacts_history, artifacts_export), 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides negative scoping ("does not create recordings or recover deleted content"), which implicitly tells the agent when this tool is not appropriate. However, it never states when to use this over contacts_history or artifacts_export, 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.
contacts_historyBInspect
Review all retained calls, conversations, outcomes, actions, follow-ups and activity for one contact across agents in this workspace. Missing or deleted evidence is labeled.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Review' implies a read operation and 'Missing or deleted evidence is labeled' is a genuinely useful disclosure about return content, but it never states read-only/non-destructive behavior, retention scope, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the resource and scope; the evidence-labeling note follows logically. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with no annotations, no output schema, and no parameter descriptions, the definition covers the 'what' adequately but leaves return shape, ordering, pagination, and read-only guarantees unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does convey that one parameter scopes to a single contact and the other to 'this workspace', which is the meaning of both parameters, but adds no format or lookup guidance for the UUIDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Review ... history ... for one contact') with a clear scope of what is aggregated (calls, conversations, outcomes, actions, follow-ups). It is distinguishable from contacts_list/contacts_export by being a single-contact history view, though it never names those siblings explicitly, which keeps it out of 5 territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for one contact' implies the use case but the description gives no explicit when-to-use, when-not-to-use, or alternative (e.g. contacts_list for browsing, contacts_export for bulk). An agent has to infer routing on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_importDInspect
SAGOT contacts.import. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| contacts | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it fails. Saying behavior matches "website, API and CLI" is circular and does not disclose what authorization is required, whether existing contacts are overwritten or duplicated, what happens on partial failure, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, but brevity here reflects under-specification rather than conciseness. The one substantive sentence is front-loaded after a redundant restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A bulk-mutation tool with no annotations, no output schema, and 0% parameter documentation needs far more: what is created/overwritten, validation failure semantics, and batch size behavior. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two required parameters, including a nested 500-item contact array with fields like destination, source, externalRef and eligibility that are entirely undocumented. The description adds no meaning for workspaceId or the contact object shape, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT contacts.import" merely restates the tool name, and the only other sentence talks about authorization/validation parity rather than what the tool actually does. An agent learns nothing about the operation (bulk create contacts? upsert? merge?) beyond the verb implied by the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. With siblings like contacts_update, contacts_erase, contacts_suppress and contacts_list, the description gives no condition for choosing import over those alternatives, nor any prerequisite or limit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_listCInspect
SAGOT contacts.list. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It alludes to authorization and validation equivalence but names no required scopes, permissions, rate limits, or pagination behavior, and never states that this is a read-only listing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no padding, but the first merely echoes the identifier and the second is only marginally informative, so the size reflects under-specification rather than disciplined brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A three-parameter listing tool with no annotations, no output schema, and no parameter documentation needs the description to cover pagination, filters, and return shape; none of these appear. The definition is far too thin for what an agent must know to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters, so the description must compensate for limit, cursor and workspaceId — and it adds nothing at all about any of them. The schema's own defaults (limit 50, max 100) and cursor UUID format carry all available meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT contacts.list" is essentially the tool name restated in dotted-path form; the description never says in prose that it lists contacts, what is returned, or what scope it covers. No differentiation from siblings like contacts_history, contacts_export or contacts_import, which all touch 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is "Uses the same authorization and validation as website, API and CLI," which speaks to auth parity, not to when this tool should be chosen over contacts_history, contacts_export, or contacts_update. No when-to-use or when-not-to-use condition is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_suppressCInspect
Permanently suppress this contact from new calls in this workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| reason | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full behavioral burden. It usefully discloses that the suppression is 'permanent', a key irreversible trait, but says nothing about required permissions, whether it can be reversed, or what happens to already-scheduled calls. That partial disclosure lands at a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the permanence caveat is included efficiently. It is perhaps too thin for a mutation tool, but there is no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a permanent mutation with no annotations, no output schema and three fully undocumented required parameters, the description is too sparse. It omits the reason requirement, authorization needs, and the effect on existing/queued calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description names none of the three required parameters. In particular the mandatory 'reason' field (1-200 chars) is never hinted at, so the description does not compensate for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (suppress), resource (contact) and scope (from new calls in this workspace), so an agent can tell what it does. It does not differentiate itself from similar siblings such as contacts_erase or contacts_update, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is only weakly implied by 'suppress ... from new calls'. There is no explicit when-to-use, no when-not-to-use, and no mention of the plausible alternative siblings (contacts_erase for deletion, contacts_update for editing), which is a real gap given how many contact tools exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_updateDInspect
SAGOT contacts.update. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| name | Yes | ||
| source | Yes | ||
| revision | Yes | ||
| eligibility | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it fails. 'Uses the same authorization and validation as website, API and CLI' is a non-actionable assertion that does not say who can call it, what gets mutated, how the required revision field governs concurrency/conflict, or whether the change 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than conciseness. Both sentences are near-zero-information, so there is no waste to trim but also nothing that earns its place for a 6-parameter mutation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 6 required parameters, no annotations, no output schema, and zero schema coverage, the description supplies nothing an agent needs to call it correctly. It is completely inadequate relative to the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 6 parameters are required with 0% schema description coverage, so the description must compensate and does not. It mentions no parameter at all. Critical semantics are left unexplained: that 'revision' implies optimistic concurrency (so a stale value fails), and what 'source' and 'eligibility' mean as free-text fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name ('contacts.update' -> contacts_update), which is a tautology. It never states what is actually updated, what fields are affected, or how this differs from siblings like contacts_suppress, contacts_erase, or contacts_import. The 'SAGOT' prefix carries no meaning for an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With siblings such as contacts_erase, contacts_suppress, contacts_import, and contacts_history, the agent has no basis for routing. No exclusions, prerequisites, or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
credentials_createCInspect
SAGOT credentials.create. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| scopes | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it delivers very little. It asserts parity of "authorization and validation" with website/API/CLI but says nothing about what is created, whether the secret is shown once, what permissions the caller needs, or whether the operation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no padding, and the operation identifier leads. It is appropriately sized but only because it says almost nothing; the 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with three required parameters, no annotations, no output schema, and 0% schema coverage, the description should at minimum explain what a credential is and what the caller gets back. It leaves the agent without enough context to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three required parameters (workspaceId, name, scopes), and the description compensates with zero parameter information. It never explains that scopes accepts read/configure/publish/call/admin, nor what the credential name is used for, so nothing is added beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT credentials.create" is a dotted-path restatement of the tool name, not an explanation. It never says what a credential is (API key, token, service account?) or how it relates to the sibling credentials_list and credentials_revoke, so an agent gains nothing beyond the identifier it already has.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling operations (credentials_list, credentials_revoke) that a caller would need to distinguish this from. The only contextual hint is that authorization/validation matches website, API and CLI, which is a permissions remark 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.
credentials_listCInspect
SAGOT credentials.list. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry full behavioral disclosure. It mentions that authorization and validation match the website/API/CLI, which weakly implies an authenticated read, but never states whether this is read-only, whether it paginates, whether it returns secrets, or what happens on missing/invalid workspace. That leaves key behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loaded, which is good, but the brevity is under-specification rather than deliberate conciseness. Two terse sentences that mostly restate the name and assert parity with other interfaces without adding actionable detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a credentials-listing tool with no annotations, no output schema, and 0% schema description coverage, the description is drastically incomplete. It omits what is listed, the response shape, pagination, error behavior, and permission requirements, leaving the agent unable to safely and correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there is a single required parameter (workspaceId). The description gives no meaning to it, its format, or the scope implied by supplying a workspace. An agent has to rely solely on the parameter name and JSON Schema constraints, with no textual elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'SAGOT credentials.list' is essentially a name restatement with a namespace prefix, not a stated purpose. It does not explain that this lists credential records, what kind of credentials, or how it differs from credentials_create or credentials_revoke. The verb+resource is only inferable from the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or mention of alternatives. One could infer that a 'list' operation is separate from create/revoke, but the description never states that, nor does it mention prerequisites like required permissions beyond a vague 'same authorization as website, API and CLI'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
credentials_revokeCInspect
SAGOT credentials.revoke. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states only that authorization/validation matches other surfaces, which is vague; it omits whether revocation is permanent, what happens to tokens already issued, error conditions, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded and not bloated. However, the second sentence about website/API/CLI parity does not earn its place because it conveys no actionable information about invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive mutation with no annotations, no output schema, and zero parameter documentation. The description discloses nothing about irreversibility, required permissions, or outcome, so an agent lacks the information needed to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have UUID formats but 0% schema description coverage, so the description is the only place meaning could be added. It says nothing about what 'id' identifies (the credential) or how workspaceId scopes the operation, leaving the caller to infer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated ('SAGOT credentials.revoke'), a dotted identifier rather than a statement of what the tool does. It never says it revokes a specific credential or what a revoked credential becomes; the second sentence adds no purpose information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus credentials_create, credentials_list, or similar revoke tools like invitations_revoke or members_revoke. The only context given ('same authorization and validation as website, API and CLI') 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.
events_listDInspect
SAGOT events.list. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and "same authorization and validation as website, API and CLI" is near-vacuous — it does not specify what permissions are needed, that the operation is read-only, how pagination behaves, or what is returned. The cursor/limit schema hints at pagination but the description never explains it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness: the second sentence conveys almost no actionable information, and the opaque "SAGOT" prefix wastes the highest-value position. Two sentences that carry this little content are not earning their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated list tool with a required UUID scope parameter, no annotations, and no output schema, the description should at minimum explain pagination and what is listed. None of that is present, so an agent lacks what it needs to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Three parameters exist with 0% schema description coverage, and the description mentions none of them — not the required workspaceId, nor the limit bounds, nor the cursor's role in paging. It neither documents parameters nor compensates for the empty schema, leaving the agent to infer everything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT events.list" largely restates the tool name via a dotted namespace, and "SAGOT" is never defined, so the agent cannot tell what an "event" is or what domain this covers. The only other sentence is about authorization, not purpose, and it does nothing to distinguish this from the sibling events_replay.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus events_replay or the many other *_list siblings, and no prerequisites or exclusions. The authorization sentence is context about how it behaves, not guidance on when to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
events_replayCInspect
Retry delivery of this event with its original event ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses only that this retries an event with its original ID. It does not state whether the operation is idempotent, whether it can duplicate deliveries, what permissions are required, or what happens on a successful versus failed replay.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler or repetition. It is efficient, though its brevity reflects under-specification rather than tightly packed information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with two required parameters, no annotations, no output schema, and zero schema coverage, the description is too thin. It omits workspaceId semantics, expected outcomes, error behavior, and any routing to sibling tools like events_list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only clarifies the 'id' parameter as the original event ID. It never mentions workspaceId, leaving one of the two required UUID parameters with no semantic explanation beyond its name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('Retry delivery of this event') and is clearly distinct from the sibling events_list, which lists rather than replays. The only weakness is that 'this event' is deictic and does not explicitly frame the operation as a mutation of an existing event by ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement, no when-not condition, and no named alternative such as events_list for inspecting events before replaying. The retry framing implies the trigger is a previously failed delivery, but the agent is left to infer that entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
handoffs_listCInspect
SAGOT handoffs.list. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Uses the same authorization and validation as website, API and CLI' gestures at auth but never states what permissions are required, and it is silent on pagination behavior despite limit/cursor parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no padding, so it is efficient in form. However, brevity here reflects under-specification rather than disciplined editing, and the 'SAGOT handoffs.list' prefix is redundant with the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and zero parameter documentation, the description would need to explain return shape and pagination to be usable. It does neither, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three parameters (workspaceId, limit, cursor), and the description adds nothing about any of them. The agent gets no explanation of the workspace scoping requirement or cursor-based pagination semantics from either source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as 'SAGOT handoffs.list' with no verb or resource explanation of what a handoff is or what listing one returns. An agent cannot distinguish what this tool does beyond decoding the identifier, and no sibling differentiation (e.g., vs handoffs_update) is offered.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, what prerequisites apply, or which alternatives exist. The only usage-adjacent claim is that authorization/validation match other surfaces, which does not tell the agent when this tool 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.
handoffs_updateDInspect
SAGOT handoffs.update. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| owner | Yes | ||
| status | Yes | ||
| revision | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It hints at a mutation ('uses the same authorization and validation') but does not disclose that the tool modifies an existing handoff, whether the change is destructive or reversible, what concurrency/revision semantics apply, or what a status transition means. The claim that it uses 'the same authorization and validation as website, API and CLI' is unverifiable and adds no actionable behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no wasted words, but the brevity is achieved by omitting essential information rather than by disciplined editing. Front-loading the tool name in dotted notation is not useful to an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a required-parameter mutation with 0% schema coverage, no annotations, and no output schema, the description is essentially empty. It omits the resource meaning, the mutation semantics, the concurrency model implied by 'revision', and the status enum purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across all five required parameters, so the description must compensate and it does not. It never mentions id, workspaceId, revision, status, or owner, nor explains the optimistic-concurrency role of 'revision' or the allowed status enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'SAGOT handoffs.update' which only restates the tool name in a dotted form. It never states what a handoff is or what updating one does, nor does it enumerate the updateable fields (status, owner) that the schema requires. Compared to siblings like handoffs_list, an agent cannot distinguish the semantics beyond the obvious CRUD verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool versus alternatives, no preconditions beyond the vague authorization note, and no mention of what a handoff lifecycle looks like. The single sentence about matching website/API/CLI validation gives no decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integrations_disconnectCInspect
SAGOT integrations.disconnect. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, yet it never states that this is a destructive/irreversible operation, what data is removed, whether calls or credentials are affected, or what permissions are required. "Same authorization and validation as website, API and CLI" gestures at an auth model but specifies nothing concrete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and not padded, but half of it (the namespace restatement) earns no place and the remaining sentence is vague rather than front-loading the actual effect of the call.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive two-parameter mutation with no annotations, no output schema, and 0% schema coverage, the description supplies none of the information an agent needs: effect, reversibility, authorization requirements, or parameter meaning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no parameter detail at all — it does not clarify whether "id" is the integration ID, a connection ID, or a credential ID, nor why workspaceId is required alongside it. Only the parameter names themselves provide any signal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT integrations.disconnect" merely restates the tool name and its namespace; it never says what disconnecting actually does (tear down an OAuth connection, revoke tokens, delete stored config). The second sentence describes parity of authorization, not purpose. An agent cannot distinguish this from integrations_save/test/get on intent alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as integrations_save (reconnect) or integrations_test. The only hint is that authorization behaves like the website/API/CLI, which is not a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integrations_getDInspect
SAGOT integrations.get. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The claim that it 'uses the same authorization and validation as website, API and CLI' gestures at auth behavior but never states what permissions are required, what errors can occur, or what is returned, leaving the agent with no actionable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but length is not earned: the first sentence repeats the tool name and the second is uninformative filler about authorization. Neither sentence helps an agent understand or invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a required-parameter lookup tool with no annotations and no output schema, the description is completely inadequate. It omits what an integration is, what a successful response contains, and any error or not-found behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds nothing about the two required parameters. It never explains that 'id' must be an integration UUID or that 'workspaceId' scopes the lookup, so the agent gets no semantics beyond the raw JSON Schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name ('SAGOT integrations.get') without saying what an integration is or what 'get' retrieves. It never distinguishes this from siblings like integrations_list, integrations_test, or integrations_save; the only added sentence concerns authorization, not purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. There is no mention of prerequisites, when to prefer integrations_get over integrations_list, or when a different tool is appropriate. The statement about authorization parity with website/API/CLI tells the agent nothing about selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integrations_listDInspect
SAGOT integrations.list. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, yet "same authorization and validation as website, API and CLI" is too vague to tell an agent what permission or scope it needs, whether the operation is read-only, or how pagination behaves. It gestures at auth requirements without disclosing anything actionable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words, but that is under-specification rather than conciseness — the first sentence is pure name repetition and the second is a non-informative aside. Being short here is a symptom of missing content, not economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations, no output schema, and 0% parameter documentation leave the description as the sole information source, and it provides none of what an agent needs. For a list tool returning a paginated collection, the return shape, pagination usage, and required filters are completely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters, and the description supplies no meaning for any of them. The required workspaceId, the limit (1-100, default 50), and the cursor for pagination are all left for the agent to infer from raw schema types alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT integrations.list" restates the tool name rather than describing an action; it never says it returns a paginated collection of integrations for a workspace. Nothing distinguishes it from the sibling integrations_get, integrations_save, or integrations_test beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite or scope condition, and no mention of the neighboring integrations_get/save/test tools to route the agent. The only sentence offers a comparison to other surfaces (website, API, CLI) that does not help decide when to call this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integrations_saveDInspect
SAGOT integrations.save. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| mode | Yes | ||
| name | Yes | ||
| secret | No | ||
| endpoint | No | ||
| revision | No | ||
| actionName | No | request_followup | |
| description | No | When the agent should use this action and what it accomplishes. | |
| workspaceId | Yes | ||
| eventEndpoint | No | ||
| requiredFields | No | ||
| reconciliationEndpoint | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. "Same authorization and validation as website, API and CLI" is a marginal hint about auth requirements, but nothing says whether this is an upsert or pure create, what existing configuration is overwritten, whether a revision is required for conflict handling, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the first sentence is pure redundancy with the tool name and the second is vague. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter mutation tool with no annotations, no output schema, and near-zero schema documentation, the description omits virtually everything an agent needs: operation semantics, side effects, field meanings, and error/conflict behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 12 parameters and only 8% schema description coverage (only "description" is documented), the description must compensate and does nothing. Key fields such as mode (sandbox vs https), endpoint, eventEndpoint, reconciliationEndpoint, secret, requiredFields, actionName, and revision are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT integrations.save" merely restates the tool name and namespace. The second sentence describes authorization/validation parity with other surfaces, not what the tool actually does (create or update an integration/action configuration). It does not distinguish it from siblings like integrations_test, integrations_get, or integrations_disconnect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus integrations_list, integrations_get, integrations_test, or integrations_disconnect, nor any mention of prerequisites such as needing an existing workspace or credential. An agent gets no signal about when this is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integrations_testBInspect
Exercise the connector with a test payload. Sandbox never writes to an external product.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| payload | No | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose one valuable trait — that execution is sandboxed and does not write to the external product. However, it says nothing about what the test actually does with the payload, whether it needs credentials/auth, what a failure looks like, or how results are reported back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the safety caveat. Nothing is wasted, though the second sentence could be folded into the first without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A tool with a nested payload object, no output schema, and no annotations would benefit from explaining what the test returns and what id/workspaceId identify, but the description stops at the sandbox guarantee. An agent knows it is safe but not what a successful result looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are three parameters with no descriptions. The phrase 'test payload' loosely maps to the payload field, but the required id and workspaceId parameters are left entirely unaddressed, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Exercise the connector with a test payload'), so an agent can tell this is a dry-run/validation tool rather than a live write. It implicitly separates from siblings like integrations_save or integrations_disconnect, though it never names one explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the 'Sandbox never writes to an external product' line signals this is safe to try before committing real configuration, but there is no explicit when-to-use guidance, no prerequisites, and no comparison to integrations_save or lines_test.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invitations_createAInspect
Platform operators only: issue an email-bound, single-use private invitation. Returns the token once; share privately. Does not send email. Replaces prior unused invitations for that email.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| expiresInDays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does substantial work: single-use, email-bound, token returned only once, no email is sent, and prior unused invitations for the email are replaced (a destructive side effect). It omits permission/auth mechanics and rate limits, but the side-effect profile is unusually well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with zero filler; the audience restriction and the key behavioral facts each get exactly one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description covers the important return behavior (token returned once) and the destructive replacement of prior invitations. The gap is the undocumented expiresInDays parameter and no mention of expiry implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It conveys the semantics of the email parameter only indirectly ('email-bound'), and says nothing at all about expiresInDays, its default of 7, or its 1-30 day range.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (issue), a specific resource (email-bound, single-use private invitation), and a scope restriction (platform operators only). This is clearly distinguishable from siblings like members_invite, invitations_list, and invitations_revoke.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a prerequisite (platform operators only) and implies the use case via 'share privately' and 'does not send email', but never names an alternative or states when NOT to use it versus members_invite or members_invite's email-sending flow. Usage is inferable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invitations_listBInspect
Platform operators only: list invitation states without tokens, newest first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the whole burden, and it does add real context: an authorization gate (platform operators), a data-redaction trait ('without tokens'), and sort order. It stops short of disclosing pagination behavior despite exposing limit/offset, so an agent knows the safety profile but not the result shape or paging semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence that front-loads the access gate and the core action, with zero filler. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list with two standard pagination params and no output schema, the description covers authorization, redaction, and ordering. The missing piece is paging behavior, which matters because limit/offset are exposed and undocumented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither parameter is described anywhere. The description explains scope and ordering but says nothing about what limit and offset do, their defaults, or whether 'newest first' interacts with paging—so it does not compensate for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('list invitation states') plus ordering ('newest first'), which clearly separates it from invitations_create and invitations_revoke. It does not spell out what an 'invitation state' contains, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Platform operators only' is a real audience restriction that tells a non-operator not to use it, so usage is implied rather than absent. However, no alternative is named (e.g., why not platform_audit_list or members_list for related data), and no prerequisites beyond the role gate are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invitations_revokeAInspect
Platform operators only: revoke an unused invitation. Existing accounts are unaffected.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the authorization requirement ('Platform operators only') and the state boundary ('Existing accounts are unaffected'), which is valuable context for a destructive-sounding mutation. It does not say whether revocation is reversible or immediate, but covers the most important behavioral trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no waste. The role restriction and the effect on existing accounts are both front-loaded as the most decision-relevant facts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple one-parameter mutation: role gating and account impact are stated, but the meaning of the 'id' parameter and the reversibility/immediacy of revocation are missing. No output schema exists to cover return behavior, so the description leaves a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description says nothing about the 'id' parameter. With one required UUID parameter and zero schema descriptions, the description must compensate to identify what the ID refers to, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'revoke an unused invitation'. It also scopes the effect ('Existing accounts are unaffected') to distinguish it from account-affecting operations. An agent can tell it apart from invitations_create and invitations_list immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'unused invitation' phrasing implies a precondition and 'Platform operators only' signals a role requirement, so some usage context is conveyed. However, there is no explicit when-to-use vs alternatives (e.g., members_revoke or credentials_revoke), and no stated exclusions beyond 'existing accounts are unaffected'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lines_clearAlertAInspect
Clear this line's telco warning after fixing the cause (for example topping up the gateway SIM). Held automatic retries and campaigns on this line resume. An answered call also clears it.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does disclose meaningful effects: held automatic retries and campaigns resume after clearing, and an answered call also clears the alert. It does not state permission/auth requirements or whether the clear is reversible, leaving a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and its precondition, then the side effect, then the edge case. No wasted text; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no annotations or output schema, the description conveys the trigger, the side effects (retries/campaigns resume), and one automatic-clear condition. It is nearly complete, though it omits auth requirements and error/failure behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no information about the two required parameters (id, workspaceId) beyond what the schema's names/types imply. Baseline 3 applies since no explicit param detail is given, but the description could have clarified what 'this line's id' refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (clear) and resource (this line's telco warning), and names the precondition (after fixing the cause) plus a concrete example. It is clearly distinguishable from sibling tools like lines_get, lines_test, or routes_clearAlert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when to use it ('after fixing the cause') and an example (topping up the gateway SIM). It does not name an alternative tool or explicitly say when not to use it, but the triggering condition is well stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lines_createAInspect
Add a phone line from an offered provider. Adding never dials. The first line becomes the default for new calls and campaigns. Lines start in test mode: only the line's test numbers can be called. A gateway line (your own computer + phone) returns a one-time pairing.code (30 minutes) that the SAGOT gateway app exchanges for its own credential; the code is shown only once. A twilio line connects your own Twilio account: pass accountSid, apiKeySid, apiKeySecret (a Standard API key; write-only) and the numbers to attach (lines.twilioNumbers lists them). SAGOT creates an Elastic SIP Trunk, a credential list, an origination URL and attaches the numbers in your account, records every object it created and removes exactly those when the line is deleted. Twilio bills the calls to your account.
| Name | Required | Description | Default |
|---|---|---|---|
| edge | No | ||
| name | No | ||
| numbers | No | ||
| callerId | No | ||
| provider | Yes | ||
| apiKeySid | No | ||
| isDefault | No | ||
| accountSid | No | ||
| workspaceId | Yes | ||
| apiKeySecret | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden and does so richly: 'Adding never dials', the first line becomes default, lines start in test mode with only test numbers dialable, pairing.code is one-time/30-min, and the exact teardown semantics for twilio (SAGOT creates and removes exactly the objects it created). This is exceptional disclosure for an unannotated mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and immediate behaviors (never dials, default line, test mode), then branches into provider specifics. Dense but each sentence earns its place; slightly long for a single description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter mutation tool with 0% schema coverage and no annotations or output schema, the description covers required inputs, provider branches, lifecycle behaviors, credential handling, and cleanup semantics. Nothing critical to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It ties accountSid/apiKeySid/apiKeySecret to the Standard API-key requirement (write-only), clarifies that numbers are the ones to attach, and explains provider-specific parameter relevance (gateway vs twilio). This is far beyond a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Add) and resource (a phone line from an offered provider), and clearly distinguishes itself from siblings like lines_update, lines_delete, and lines_test. It even implies how lines_get/lines_list would surface the created objects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the two main creation paths (gateway vs twilio) and what each requires, plus the helper sibling lines_twilioNumbers. It does not explicitly state when NOT to use it or name alternatives for edge cases, 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.
lines_deleteAInspect
Remove a phone line. Refused while it has active calls. For a Twilio line SAGOT first deletes the trunk, credentials and origination URL it created in your account and detaches your numbers (the numbers stay yours). Finished calls keep their history; scheduled retries on it are skipped. Another line becomes the default if needed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present the description carries the full burden and does so richly: it discloses the refusal condition, the Twilio/SAGOT cascade (deletes trunk, credentials and origination URL it created), that detached numbers remain the caller's property, that finished-call history is retained, that scheduled retries are skipped, and that a default line is reassigned. This is exactly the kind of side-effect disclosure a destructive operation needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in the first sentence, followed by terse, high-value clauses on refusal, side effects and post-conditions. Every sentence adds information, though the paragraph is dense and the unexplained term "SAGOT" costs a little clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description covers refusal conditions, cleanup cascade, data retention and default reassignment well. It stops short of stating permission/auth requirements or whether the operation is idempotent, which leaves a small residual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Two required UUID parameters (id, workspaceId) have 0% schema description coverage, and the description never mentions either parameter or explains which identifier the agent must supply. The description does not compensate for the coverage gap, leaving the agent to infer the required inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ("Remove a phone line") that is unambiguous and clearly distinct from the sibling mutation tools lines_create, lines_update, lines_clearAlert and lines_test. An agent can route to it without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit precondition/exclusion: the call is refused while the line has active calls, which tells the agent to cancel calls first. It does not, however, name any alternative tool or explain when a different operation (e.g. deactivating via lines_update) would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lines_getCInspect
Read one phone line with its live health and warning.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. "Read" implies a non-mutating operation and "live health and warning" hints at the payload, but there is no disclosure of permission/workspace scoping requirements, freshness guarantees, or error behavior for a missing line.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that is front-loaded with the verb and resource, with no filler. It is appropriately sized, though it is arguably too terse to earn a top score given the undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-UUID getter with no output schema, the description adequately conveys what is returned (health and warning). It is incomplete on parameter meaning and on what an agent should expect if the line id is invalid or outside the workspace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never mentions either parameter. The distinction between the required workspaceId and the line id, and whether id must belong to that workspace, is left entirely to the agent's inference from the UUID patterns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ("Read one phone line") and adds scope ("its live health and warning"), so an agent can tell it is a single-line fetch rather than the plural lines_list. It does not name any sibling tool explicitly, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisites, and no named alternative (lines_list, lines_test, lines_twilioNumbers). The word "one" weakly implies the single-resource use case, but nothing routes the agent between this and its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lines_listAInspect
List this workspace's phone lines (provider, default, mode, test numbers, ring window, live health, inbound answering, telco warning) and the providers this deployment offers. Secrets are never returned.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, and it does add real value: it enumerates the returned facets (provider, default, mode, test numbers, ring window, live health, inbound answering, telco warning) and gives an explicit security guarantee that secrets are never returned. It stops short of stating that the operation is read-only or permission-gated, but "List" and the field inventory make the behavior reasonably clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that opens with the action and scope, then lists the payload facets compactly in parentheses and closes with the secrets caveat. The parenthetical enumeration is long but each item earns its place as return-content disclosure in the absence of an output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no annotations and no output schema, the description covers the essentials by telling the agent what it will get back and that secrets are excluded. The remaining gap is the absence of any note on permissions or how the result is shaped/paginated, which is a minor omission for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required workspaceId. The description partially compensates by framing everything as workspace-scoped ("this workspace's"), which implies workspaceId is the selection key, but it adds no format, default, or identification guidance beyond what the schema's uuid pattern already encodes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb ("List") and a precisely scoped resource ("this workspace's phone lines" plus the deployment's offered providers). The workspace scoping implicitly separates it from the platform-wide sibling platform_lines_list, and the enumerated field list makes the resource concrete rather than vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by "this workspace's" (use when you need a workspace-scoped inventory of lines), but there is no explicit when-to-use guidance, no exclusion of alternatives, and no mention of closely related siblings such as lines_get, lines_test, or platform_lines_list. Adequate but leaves the agent to infer the routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lines_testAInspect
Check a line's readiness without dialing: provider offered, health, test numbers. Use calls.create with lineId for a real test call.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does reasonably well: 'without dialing' signals a side-effect-free read, and it enumerates what is inspected (provider offering, health, test numbers). It omits auth/permission requirements and rate/limit behavior, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core action and followed immediately by the alternative-tool routing; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a two-param read tool with no output schema: it conveys the read-only nature and the inspected signals. The gap is that neither parameter is explained anywhere, and there is no output schema to fall back on for return-shape clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for both required params (id, workspaceId). The description only alludes to a line via 'a line's readiness' and the mentions of lineId belong to calls.create, not to this tool's own id/workspaceId arguments, so the parameters remain undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Check a line's readiness') plus the concrete facets evaluated (provider offered, health, test numbers), and distinguishes itself from calls_create as the non-dialing variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: use this for a dry readiness check, and use calls.create with lineId when an actual test call is needed. Clear alternative and condition, though it doesn't spell out exclusions or prerequisites like required line state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lines_twilioNumbersAInspect
Check a Twilio Standard API key (accountSid, apiKeySid, apiKeySecret) and list the account's voice-capable numbers and whether Twilio is reachable. Changes nothing and stores nothing. Use it before lines.create with provider twilio.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKeySid | Yes | ||
| accountSid | Yes | ||
| workspaceId | Yes | ||
| apiKeySecret | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that it changes nothing and stores nothing, and that it reports reachability, but it does not explain credential-validation failure behavior, what 'check' actually verifies, or whether the secret is exposed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and outcome before the use guidance. Every sentence contributes without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers the safety profile and a key workflow, and it describes the returned content at a high level. For a four-parameter credential-handling tool with no annotations and no output schema, however, it omits workspaceId semantics, credential validation details, and error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and all four parameters are required. The description names three Twilio credential components but omits workspaceId entirely and adds little per-parameter meaning beyond the schema names and patterns, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs and resources: checks a Twilio Standard API key, lists voice-capable numbers, and reports reachability. It also explicitly relates itself to lines.create, so an agent can distinguish it from siblings like lines_test and lines_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use it before lines.create with provider twilio, giving a clear trigger and ordering. It does not name when-not to use it or mention alternative tools such as lines_test for validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lines_updateAInspect
Rename a line, make it the default, choose the published inboundAgentId that answers its callers (gateway lines; null stops answering), set testNumbers (customer gateway and Twilio lines), rotatePairing to issue a new pairing code and sign the paired device out, or capacity (Twilio lines: concurrent calls 1–10; phone gateways and shared routes carry one call). The deployment also caps concurrent calls overall. Live mode is not available yet.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| mode | No | ||
| name | No | ||
| capacity | No | ||
| revision | Yes | ||
| isDefault | No | ||
| testNumbers | No | ||
| workspaceId | Yes | ||
| rotatePairing | No | ||
| inboundAgentId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does disclose meaningful side effects: `inboundAgentId: null` stops answering callers, `rotatePairing` issues a new code and signs the paired device out, and capacity is capped (1–10 per line, one call for gateways/shared routes, plus an overall deployment cap). It omits concurrency/permission semantics — notably that `revision` is required for optimistic locking — and whether updates are partial or full replacements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is dense and largely earns its place, but it is delivered as one long run-on sentence with no front-loaded summary and no structure, making it hard to scan for the one field an agent cares about. A short leading clause plus a field list would be far more usable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter mutation tool with no annotations and no output schema, the description covers field effects well but leaves a significant gap around the required `revision` (concurrency semantics) and the required id/workspaceId pair, and it never states what the call returns or whether fields are optional/partial. Adequate but not complete for an update operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does for most optional params: it explains name (rename), isDefault (make default), inboundAgentId (including null semantics and gateway-only applicability), testNumbers (per line type), rotatePairing (side effect), capacity (range and line-type limits), and mode (live unavailable). It leaves workspaceId, id, and especially the required `revision` unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (a line) and enumerates the specific mutations available — rename, set default, set inboundAgentId, testNumbers, rotatePairing, capacity — so an agent can tell this is the field-update tool rather than lines_create/lines_delete/lines_get. It never states the operation as a single clear verb (e.g. 'updates an existing line'), but the enumerated effects make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage by scoping each field to line types ('gateway lines', 'customer gateway and Twilio lines', 'Twilio lines'), which helps the agent pick valid operations. However it gives no explicit when-to-use vs. alternatives, no prerequisites, and no mention that the required `revision` parameter means callers must read the line first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_acceptAInspect
Signed-in account session only: accept a member invitation issued to this account's email and join the workspace with its role.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavior: an authenticated session is required, the invitation must target the account's email, and success mutates workspace membership with a role. It does not cover failure modes (expired/reused/foreign-email token), idempotency, or one-time-use semantics for the token, which matter for a membership-mutating call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the auth precondition before the action and its effect. No filler or redundancy, though it is short enough that structure is a minor consideration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the auth precondition and the outcome, and no output schema exists so return values need not be explained. But for a mutation tool with zero annotations and a required parameter at 0% schema coverage, the gaps around token source and failure behavior leave the definition merely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter 'token' has no description anywhere. The description only hints at its origin ('invitation issued to this account's email'); it never states that the token is the invitation token from the email, nor anything about length/format expectations (minLength 32, maxLength 100). The schema is doing no work and the description barely compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (accept) plus resource (member invitation) and a concrete effect: joining the workspace with the assigned role. It is clearly distinguishable from its invite-side siblings members_invite, members_revoke, and members_remove, which operate on other people's invitations rather than the invitee's own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The precondition 'Signed-in account session only' tells the agent the required auth state, and the 'issued to this account's email' qualifier implies which invitations qualify. However, no alternative is named (e.g. what to use when an admin wants to accept on someone's behalf, or what to do with a revoked invitation), so when-to-use is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_inviteAInspect
Admins: invite an email to this workspace with a role, optionally limited to agentIds (viewer/editor/operator only). SAGOT emails the invitation when email is configured; the one-time link path (/join#member=…) is also returned once as a fallback. The invitee signs in or creates an account with that email. Only the owner can invite admins. Re-inviting an email replaces its earlier pending invitation.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | ||
| Yes | |||
| agentIds | No | ||
| workspaceId | Yes | ||
| expiresInDays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers well: it discloses that SAGOT sends the email, the one-time link is returned once as a fallback, the invitee must sign in or create an account, and re-inviting replaces the pending invitation. These are meaningful behavioral traits beyond the schema. It does not mention permissions beyond the owner/admin constraint or rate limits, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences are front-loaded with the core action and flow. There is some redundancy and density, but every sentence adds a behavioral fact rather than restating the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation/invitation tool with no annotations and no output schema, the description covers the email flow, the fallback link, account creation, and the re-invite replacement behavior. It leaves gaps on expiresInDays semantics and the exact response shape, but is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does mention role and agentIds (with the viewer/editor/operator constraint), but it does not mention expiresInDays at all and only partially explains agentIds scoping. This is marginal compensation for a 5-param schema with zero descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (invite an email to this workspace with a role) and distinguishes it from siblings like members_update and invitations_create by describing the invitation-email flow. However, it does not explicitly name an alternative tool to distinguish itself from the very similar invitations_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (admins inviting an email to a workspace) and states the constraint that only the owner can invite admins, but it does not explicitly say when to use this versus invitations_create or members_accept, nor does it state exclusions beyond the role constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_listAInspect
List the people in this workspace with their roles (viewer, editor, operator, admin, owner). Admins also see invitations and their status; tokens are never shown.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add real value by disclosing that visibility varies by caller role (admins also see invitations and their status) and that tokens are never returned. It omits permission requirements, pagination behavior, and ordering, so it is partial rather than complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler, front-loading the core action and then the role-dependent visibility caveat. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter list tool with no annotations and no output schema, the description covers what is returned (people with roles) and the key role-based variation (invitations for admins) and the token redaction guarantee. Missing pagination and result-size expectations keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single workspaceId parameter, so the description is the only source of meaning. 'In this workspace' loosely implies a workspace identifier but adds no format, constraint, or scope detail beyond the schema's uuid pattern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (list the people in this workspace) plus the role vocabulary returned, which is concrete and non-tautological. It does not explicitly distinguish itself from sibling members_preview or members_accept, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource name and the workspace-scoped framing, but there is no explicit when-to-use, no mention of the members_preview/members_invite alternatives, and no stated prerequisites. An agent can infer intent but gets no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_previewAInspect
Public: show what a member invitation link grants (workspace, inviter, role, invited email, status) before accepting.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full behavioral burden. It discloses 'Public', a useful hint that no authentication is required, and 'show' implies read-only. However it omits whether the token is secret-sensitive, error behavior on invalid tokens, or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler; the scope, the returned fields, and the 'before accepting' cue all earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description usefully enumerates the returned fields (workspace, inviter, role, invited email, status), which compensates well. The only gap is deeper token-handling detail, which matters little for a one-parameter preview tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One token parameter at 0% schema coverage, so the description must compensate. 'Invitation link' implies the token is the invitation token, but it gives no format, length, or invalid-token behavior beyond what the field name suggests.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (show) and resource (what a member invitation link grants) plus the exact fields returned. It implicitly contrasts with members_accept via 'before accepting', though it does not name 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'before accepting' gives clear usage context and routes the agent relative to the accept flow, implying this is the inspection step that precedes members_accept. No explicit when-not-to-use guidance, but the timing cue is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_removeAInspect
Admins remove a member; any member may remove themselves to leave. The owner cannot be removed. Their sessions and API keys stop working in this workspace immediately.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningful work: it declares this is destructive, that sessions and API keys stop working immediately in this workspace, and that the owner is protected. The immediacy of the effect is exactly the kind of consequence an agent needs before invoking a write operation, though auth/permission failure modes are left implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with three clauses, each earning its place: who can act, the self-removal case, the owner guard, and the consequence. Front-loaded with the action and zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations exist, so the description must cover behavior alone – and it covers the key facts (permissions, owner protection, immediate session/key revocation). Given only two required parameters, the main remaining gap is that neither parameter is described anywhere, but that is a minor omission relative to the behavioral coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% – neither accountId nor workspaceId has documentation in the schema. The description adds nothing about either parameter (which account, which workspace, whether accountId is the target member), so an agent gets no help resolving the two required UUIDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (remove) and resource (member), and layers in who may perform it (admins, or the member themselves). The scope is clear enough to distinguish from members_update/members_transfer, though it never names the nearest sibling members_revoke, so the 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real usage context: admins can remove others, any member can remove themselves to leave. It also states a precondition (the owner cannot be removed). It stops short of naming an alternative tool or a when-not-to-use rule, so it is clear context without full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_revokeBInspect
Admins: revoke a pending member invitation by id so its link stops working.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add two facts: it is admin-restricted and the invite link is invalidated. However, it omits whether the revocation is reversible, what happens to any existing member state, and how errors (already-accepted or expired invite) are surfaced for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence, front-loaded with the audience ('Admins:') and the action. Nothing is wasted, though the terse format leaves little room for the guidance the low-coverage schema needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-param mutation with no annotations and no output schema, the description covers the role requirement and the outcome but leaves parameter meaning and reversibility unexplained. It is minimally adequate but has clear gaps given the structured data provides no support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both required params. The phrase 'by id' loosely maps to the 'id' parameter but adds no format or scope detail, and the required 'workspaceId' parameter is never mentioned or explained in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (revoke) and resource (a pending member invitation), plus the effect ('link stops working'). This usefully distinguishes it from members_remove (removing an existing member), though it does not clarify its relationship to the near-identical invitations_revoke sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Admins:' prefix implies a permission prerequisite, but there is no explicit when-to-use vs alternatives guidance. It never tells the agent to prefer this over members_remove or invitations_revoke, nor what condition (a pending, unaccepted invite) should route here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_transferAInspect
Owner only, signed-in session: make another member the owner. You become an admin; any agent limit on them is removed. The new owner is emailed.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the required permission level, the caller's resulting role ('You become an admin'), the side effect on the target ('any agent limit on them is removed'), and the email notification. It omits reversibility/confirmation requirements, which keeps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses, front-loaded with the permission gate before the effect and notification. No filler and every sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an unannotated mutation with no output schema, the description supplies permission requirements, role side effects, and a notification side effect. It lacks any statement about irreversibility or required confirmation, but that is the only notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither of the two UUID parameters (workspaceId, accountId) is explained in the description. The agent can infer that accountId is the member being promoted from 'make another member the owner', but the mapping is left implicit, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource — making another member the owner — which is a unique action distinct from members_update, members_invite, and members_remove in the sibling list. 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Sets an explicit precondition: 'Owner only, signed-in session', telling the agent when this call is permitted. It does not name alternatives (e.g., members_update for non-ownership role changes) or state when not to use it, 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.
members_updateAInspect
Admins: change a member's role and, with agentIds, limit a viewer/editor/operator to selected agents (null = all agents). Takes effect on their next request, including their API keys. The owner's role cannot change; only the owner grants or removes admin.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | ||
| agentIds | No | ||
| accountId | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers real behavioral context: changes propagate on the member's next request including their API keys, the owner's role is immutable, and admin grant/revoke is owner-only. It doesn't cover reversibility or failure/error behavior, hence 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the action and its main modifier, then propagation semantics, then authorization constraints. No filler and every sentence adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter mutation tool with no annotations and no output schema, the description covers purpose, scoping, timing, and authorization limits well. The remaining gap is identifier meaning for workspaceId/accountId and what a caller observes on failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does well for agentIds ('limit a viewer/editor/operator to selected agents', 'null = all agents') and clarifies role tiers, but workspaceId and accountId are left entirely unexplained by both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (change role) and resource (member) and adds the agentIds scoping facet, which nothing else in the schema explains. It does not explicitly contrast itself with siblings like members_transfer, members_remove, or members_revoke, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the caller precondition (Admins) and hard exclusion rules ('The owner's role cannot change; only the owner grants or removes admin'), which tell the agent when this call will and won't succeed. It stops short of naming alternative tools for adjacent tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_access_endAInspect
Platform staff only (account session). End your own pending request or active support access early.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the auth context ("Platform staff only (account session)") and that it acts only on the caller's own access, but says nothing about reversibility, idempotency, or what happens to the underlying access after ending it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the permission scope front-loaded ahead of the action. Nothing can be trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation with no annotations and no output schema, the description covers permission scope and target scope adequately. It leaves the id's referent and the post-termination state unspecified, which is a meaningful gap for a destructive-style operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single id parameter has 0% schema description coverage, so the description is the only clue to its meaning. "Your own pending request or active support access" implies the id identifies that request/access, but it never states which entity the UUID refers to or whether the same id space covers both pending and active records.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("End") and a clearly bounded resource ("your own pending request or active support access early"), which an agent can distinguish from the sibling platform_access_request (create) and platform_access_list (view). 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the precondition "Platform staff only (account session)" and the scope "your own pending request or active support access," which tells the agent this terminates rather than creates access. However, it never names alternatives such as support_revoke or platform_access_list, nor states 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.
platform_access_listBInspect
Platform staff only (account session). Your support access requests and grants with status (pending, active, denied, expired, ended — withdrawn or revoked) and expiry.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the auth requirement (platform staff, account session) and enumerates the status values an entry can carry, including the withdrawn/revoked distinction, which is genuine behavioral context. It says nothing about result volume, pagination behavior, or ordering, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence that front-loads the access restriction before the payload description. The parenthetical status enumeration is dense but informative; nothing is wasted, though the phrasing is clipped to the point of being elliptical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter list tool with no annotations and no output schema, the description covers who can call it and roughly what comes back, but leaves pagination and result-size behavior entirely unexplained. It is adequate but has a clear hole.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and neither limit nor offset has a schema description, so the description is the only place pagination semantics could be explained — and it never mentions them. The mention of 'expiry' describes a returned field, not either parameter, so it does not compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (support access requests and grants) and the data returned (status values, expiry), which is enough to distinguish it from mutation siblings like platform_access_request and platform_access_end. The verb is only implied via the name's 'list', but the noun phrase is specific enough that an agent can identify the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a hard audience constraint — 'Platform staff only (account session)' — which tells the agent who may call it, but gives no guidance on when to choose it over related siblings such as support_list or platform_access_request. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_access_requestAInspect
Platform staff only (account session). Requires support. Ask a workspace's owner and admins for read-only support access for 1–72 hours, with a reason they see. Nothing is accessible until they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | ||
| reason | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does fairly well: it discloses the access is read-only, time-bounded to 1–72 hours, contingent on explicit owner/admin approval, and that the reason is visible to those approvers. It leaves out what the call returns, whether duplicate or overlapping requests are allowed, and what happens on denial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, audience and scope front-loaded, no filler. The only weak spot is 'Requires support', which is terse to the point of ambiguity about what prerequisite it refers to.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter, no-output-schema, no-annotation mutation-adjacent tool, the description covers the essentials an agent needs: authorization model, approval gate, duration bounds, and the visibility of the reason. It stops short of describing the outcome (request ID, pending state) or interaction with platform_access_list and platform_access_end.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema supplies types and constraints (1–72, default 4, UUID pattern, 500-char reason) but no semantics. The description adds real meaning for two of three parameters — 'hours' is the access duration and 'reason' is shown to the approving owners/admins — but says nothing about workspaceId and omits the 4-hour default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action on a specific resource: asking a workspace's owner/admins for read-only support access for 1–72 hours. That is enough to separate it from platform_access_end (releasing access), platform_access_list, and support_approve/deny, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives preconditions ('Platform staff only (account session)', 'Requires support') and the gating rule ('Nothing is accessible until they approve'), which implies the request must precede any access. But it never states when NOT to use it or how it relates to platform_access_end or support_approve, so the routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_accounts_getAInspect
Platform staff only (account session). One account: workspaces with roles, platform role, active sessions and API keys count, suspension.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full burden and does substantial work: it declares the auth constraint ('Platform staff only (account session)') and describes the shape of the response payload. It stops short of 5 because it doesn't say whether missing/suspended accounts error or what 'active sessions' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely compact and front-loaded, with the access gate first and the payload second. It's terse to the point of being a fragment, but every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param read with no output schema, the description manages to cover both the access constraint and the returned fields, which is enough for an agent to call it correctly. The only real gap is parameter semantics, already scored separately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single accountId parameter is never described in the text. The phrase 'One account' implies the ID selects an account, but no format, source, or semantics are added beyond what the (undocumented) schema field name suggests.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a singular retrieval ('One account') and enumerates the returned content (workspaces with roles, platform role, active sessions, API keys count, suspension), which is specific. It does not explicitly differentiate itself from the sibling platform_accounts_list, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '(account session)' and 'Platform staff only' gate tells the agent when it is permitted to call this, which is useful preconditioning. However, there is no routing versus the obvious alternative platform_accounts_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_accounts_listAInspect
Platform staff only (account session). Every account with email, name, created time, workspaces, platform role and suspension. Search by email or name.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| offset | No | ||
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and discloses the critical authorization requirement ('Platform staff only (account session)'). However, it says nothing about pagination behavior despite limit/offset parameters, return ordering, or rate limits, leaving gaps for a list tool returning potentially many records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, each front-loaded with the most important information: the access constraint first, then the returned data and search capability. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter list tool with no output schema and no annotations, the description covers the authorization requirement and the returned field set well, but omits pagination semantics and the fact that results may be large given no required parameters. It's adequate but leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the parameters are undocumented in the schema itself. The description partially compensates by explaining that filtering works by email or name (mapping to the 'query' parameter) and mentions suspension status (mapping to 'status'), but does not address 'limit' or 'offset'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (list) and resource (platform accounts), then enumerates the returned fields (email, name, created time, workspaces, platform role, suspension). This clearly distinguishes it from siblings like platform_accounts_get, platform_accounts_suspend, and members_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the access condition 'Platform staff only (account session)' and clarifies the search behavior ('Search by email or name'), which provides clear context for when this tool applies. It doesn't name an alternative like platform_accounts_get for single-account retrieval, 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.
platform_accounts_reactivateAInspect
Platform staff only (account session). Requires manage. Allow the account to sign in again. Revoked sessions and API keys stay revoked; the person signs in again and creates new keys.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningful work: it discloses the auth/permission requirement (platform staff, manage) and the important side-effect detail that revoked sessions and API keys stay revoked while the person must re-authenticate and mint new keys. It does not describe the response or whether the operation is reversible/idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the access constraint, then the effect, then the behavioral caveat. No filler and nothing repeated from structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation with no annotations and no output schema, the description covers the essentials: who may call it, what permission is needed, and the state that persists after reactivation. It stops short of describing the returned representation, which is the only notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole accountId parameter is documented nowhere, so the description must compensate — and it does not mention the parameter at all. It is mitigated by there being only one, self-evidently named identifier, so a baseline 3 is fair.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (reactivate) and resource (account) and clarifies the effect with 'Allow the account to sign in again.' It implicitly contrasts with the sibling platform_accounts_suspend, but never names it, so sibling differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the precondition clearly ('Platform staff only (account session). Requires manage.'), which tells the agent who may call it, but gives no explicit when-to-use guidance or comparison against platform_accounts_suspend / platform_accounts_get. Usage is implied by the reactivation semantics rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_accounts_suspendAInspect
Platform staff only (account session). Requires manage. Suspend an account: its sessions and API keys stop working and sign-in is refused until reactivated. You cannot suspend yourself or a platform owner.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| accountId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the blast radius (active sessions and API keys stop working), the user-visible effect (sign-in refused), and reversibility ('until reactivated'). It omits whether the action is audited, whether the reason is recorded, and whether underlying data is retained or deleted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the access gate and requirement, then the effect, then the hard constraints. Every sentence carries distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, reversible mutation with no annotations and no output schema, the description covers authorization, effect, and exclusions well. The one real gap is parameter guidance, which matters because both parameters are required and the reason field's purpose is never explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about either parameter. It never explains that accountId is a UUID identifying the target (or that 'yourself' must be excluded), nor that reason is a required 3-500 character justification, likely used for audit. For a low-coverage schema the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Suspend an account') and states the concrete operational effect (sessions and API keys stop working, sign-in refused), which distinguishes it from the similarly-named account_delete sibling by making clear this is reversible. It never names the sibling that reverses it (platform_accounts_reactivate) or other platform_accounts_* tools, so differentiation is inferential 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear authorization context ('Platform staff only (account session)', 'Requires manage') plus two explicit exclusions: you cannot suspend yourself or a platform owner. That is strong when-to-use/when-not guidance, though it does not name a preferred alternative or state what to do instead in the excluded cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_audit_listAInspect
Platform staff only (account session). Append-only log of platform actions and staff reads under support access, newest first; filter by actorId, targetId or operation.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| actorId | No | ||
| targetId | No | ||
| operation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningful work: it declares the audience/auth requirement, that the log is append-only, that it includes staff reads under support access, and that results are newest-first. It omits pagination/volume behavior and any detail on what a record contains, which keeps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with zero filler. The access constraint is front-loaded and each clause (audience, log semantics, ordering, filters) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no annotations, no output schema, and no schema descriptions, the description covers purpose, access, ordering, and most filters. It still leaves pagination behavior and the shape/volume of returned audit entries unexplained, which matters for a log that could be large.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, so the description must compensate. It explains what actorId, targetId, and operation filter (3 of 5), but says nothing about limit/offset semantics or defaults, leaving the pagination parameters entirely to the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: an append-only audit log listing 'platform actions and staff reads under support access'. The scope (platform staff only, account session) is explicit, so an agent can distinguish it from siblings like platform_access_list or platform_calls_list. It stops short of naming any sibling directly, so not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete prerequisite ('Platform staff only (account session)') and lists the three filter dimensions available. However it offers no when-to-use-vs-alternative guidance and no exclusions relative to the many other platform_* list tools, leaving selection largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_blocklist_addAInspect
Platform staff only (account session). Requires manage. Add a number to the platform do-not-call list: no workspace can call it; queued calls to it are canceled. Customers see only that the number is on SAGOT's do-not-call list.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | ||
| reason | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so well: it discloses the authorization requirement (staff + manage), the destructive side effect (queued calls to the number are canceled), the scope of effect (no workspace can call it), and the customer-visible semantics. That is rich behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the access constraint, then the action, then the effect and visibility. Every sentence adds distinct information with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description must stand alone; it covers auth, effect, and visibility, which is most of what an agent needs for a mutation. It omits return shape and whether the action is reversible/idempotent, but the sibling platform_blocklist_remove implies reversibility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters. The description implies a 'number' is added but gives no format guidance (the schema pattern is undocumented), and it says nothing about the required 'reason' parameter. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Add a number to the platform do-not-call list.' The 'add' verb plus the 'platform do-not-call list' resource distinguishes it from the sibling platform_blocklist_remove and platform_blocklist_list without needing to name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear preconditions — 'Platform staff only (account session)' and 'Requires manage' — which tell the agent who may call it. It does not explicitly name an alternative tool or state when-not-to-use, 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.
platform_blocklist_listCInspect
Platform staff only (account session). SAGOT's platform do-not-call list.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does add genuine value by disclosing the auth precondition (platform staff, account session), which is the kind of information annotations would otherwise supply, but it says nothing about read-only vs mutating behavior, pagination semantics despite limit/offset params, or return content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments, front-loaded with the access constraint, with no filler. It is appropriately sized but reads as under-specification rather than compression; there is no wasted text but also very little structure to guide invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a listing tool with no output schema and no annotations, the description should reveal what the list returns (entities, phone numbers, pagination behavior). The staff-only constraint is covered, but the return content and the relationship to the add/remove siblings are left entirely unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no parameter information at all. The two parameters (limit, offset) are conventional pagination fields whose defaults and bounds the schema already encodes, so an agent can infer their use, but the description does nothing to compensate for the absent descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific domain resource ('SAGOT's platform do-not-call list'), which is more than a bare restatement of the tool name and implicitly distinguishes it from siblings platform_blocklist_add and platform_blocklist_remove. However, it never states a verb (list/retrieve) or what the list contains, so the agent must infer the operation from the name 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is an audience restriction ('Platform staff only (account session)'), which is a prerequisite rather than a when-to-use statement. Nothing indicates when to call this versus the add/remove siblings, or what constitutes the blocklist being returned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_blocklist_removeAInspect
Platform staff only (account session). Requires manage. Remove a number from the platform do-not-call list.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the auth requirements (platform staff, account session, manage permission), which is real context for a mutation. However, it says nothing about idempotency, what happens if the number is not on the list, or reversibility of the removal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the access restrictions front-loaded before the action. No filler or repetition. Slightly telegraphic ('Requires manage') but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation with no annotations and no output schema, the description covers authorization and the action but omits failure modes and whether the removal is idempotent. Adequate to invoke, incomplete for predicting behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema only enforces an E.164-like pattern without explaining it. The description refers to 'a number' but does not add format guidance or constraints beyond the parameter name, leaving the schema's regex as the only signal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Remove a number from the platform do-not-call list.' It is clearly distinct from the sibling platform_blocklist_add and platform_blocklist_list by the verb alone. No explicit sibling naming, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the gating conditions up front: platform staff only, account session, requires manage permission. That tells an agent both when it may call this and when it should not. It stops short of naming the alternative tool or describing behavior when the number is absent from the list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_calls_listAInspect
Platform staff only (account session). Call metadata across workspaces, newest first: workspace, direction, line, status, outcome, duration, charge. Numbers are masked; no transcripts or recordings.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | ||
| offset | No | ||
| status | No | ||
| outcome | No | ||
| workspaceId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses cross-workspace scope, staff/session auth requirement, sort order, and two important privacy traits — numbers are masked and transcripts/recordings are excluded. It does not mention pagination behavior (limit/offset) or any rate limits, which a no-annotation tool ideally would.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight clauses with the access constraint front-loaded, then scope, ordering, returned fields, and privacy limits. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so enumerating the returned metadata fields was necessary and is done, along with sort order and masking caveats. The one real omission is pagination — the tool exposes limit/offset but the description never explains that results are paged.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and largely does not. The listed items (workspace, direction, line, status, outcome, duration, charge) read as returned fields, not as documentation of the six parameters; the status/outcome/workspaceId filters and the since/limit/offset pagination controls are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource+scope: lists call metadata across all workspaces, newest first, and gates it to platform staff with an account session. This clearly separates it from the workspace-scoped calls_list, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a hard precondition ('Platform staff only (account session)'), which is useful routing information, but gives no explicit when-to-use-this vs calls_list guidance and no note on exclusions or when results would be empty.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_credits_grantAInspect
Platform staff only (account session). Requires billing. Credit a workspace (centavos, PHP) with a reason the customer sees. Credits are append-only; correct one with a negative amount.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| workspaceId | Yes | ||
| amountCentavos | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the auth model, a Billing dependency, append-only immutability, that the reason string is customer-visible, and the currency unit. It stops short of describing the response shape or failure behavior, which is the remaining gap for 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each load-bearing: access scope, prerequisite, action with unit, and immutability/correction semantics. Front-loaded with the constraint that determines whether the agent should call it at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-param mutation with no annotations and no output schema, the description covers access, prerequisite, units, side effects, and correction semantics. It omits the permitable amount range that the schema enforces and any hint about what a successful grant returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and largely does: it explains that amountCentavos is denominated in centavos/PHP and may be negative to reverse a prior credit, and that reason is surfaced to the customer. workspaceId is left to the UUID format in the schema, so it is not fully covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Credit a workspace') and immediately scopes it to platform staff acting in an account session. It is clearly distinct from the other credit-related sibling, platform_credits_list, and from platform_staff_grant, which manages staff rather than balances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tells the agent who may call it ('Platform staff only (account session)'), the prerequisite ('Requires billing'), and how to handle a correction, steering the agent away from any edit/delete workflow by stating credits are append-only and corrected with a negative amount. This is explicit when-to-use and how-to-alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_credits_listAInspect
Platform staff only (account session). Credits granted, newest first; filter by workspaceId.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| workspaceId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses an access constraint (platform staff, account session) and sort order, which is useful. However, it doesn't state whether it's a read-only operation, whether results are paginated, or auth failure behavior. For a no-annotation read tool, this is thin but not empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the access restriction and packs the purpose, ordering, and filter into minimal text. Zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% schema description coverage, the description covers purpose and access but leaves pagination behavior and return format unexplained. Adequate as a minimum viable listing definition but should say more given the total absence of structured behavioral hints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema gives types and constraints but no semantic descriptions. The description implies the workspaceId filter and mentions 'newest first' but doesn't explain limit/offset pagination semantics. On the low-coverage side, 3 is the minimum-viable baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: lists granted platform credits, with ordering (newest first) and a filtering capability. Distinguishes from siblings like platform_credits_grant, though it doesn't explicitly name that sibling. A specific, unambiguous listing operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Platform staff only (account session)' restriction and 'filter by workspaceId' imply when the tool is applicable, but no explicit when-to-use vs alternatives guidance, no exclusions, and no mention of pagination workflow. Implied usage only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_healthAInspect
Platform staff only (account session). Health of the database, worker, media (LiveKit), email outbox and paired gateway devices, with the deployment's concurrent-call ceiling and current active calls. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden, and it does the important work: it declares 'Read-only' and specifies the auth requirement (platform staff, account session). It stops short of describing latency, failure modes, or whether the call can be expensive, but the core safety and access profile is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the most decision-relevant fact (staff-only access) is front-loaded. The enumerated subsystems are compressed into a single clause rather than bulleted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description compensates well by listing the data categories the caller will receive. It is nearly complete for a zero-param read tool, though it does not indicate the shape or format of the health results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. No misleading parameter hints are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (platform health) and enumerates exactly which subsystems are inspected: database, worker, LiveKit media, email outbox, paired gateway devices, plus concurrent-call ceiling and active calls. That specificity clearly separates it from vague siblings like platform_overview or platform_usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a clear gating condition up front: 'Platform staff only (account session)', which tells an agent when this tool is permissible. It does not, however, name an alternative diagnostic tool or say when to prefer this over platform_overview, so the routing guidance stops short of explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_lines_listAInspect
Platform staff only (account session). Phone lines across workspaces with provider, mode, capacity, live health, telco warning and active calls. problems=true lists only lines that are unhealthy or have a warning. Never returns secrets.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| problems | No | ||
| provider | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the auth requirement (platform staff, account session), the data surface (provider, mode, capacity, live health, telco warning, active calls), and a security guarantee ('Never returns secrets'). It omits pagination/rate-limit behavior, which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: audience/scope first, then the returned fields, then the filter semantic, closing with the secrecy guarantee. Zero padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description usefully enumerates what comes back and who may call it. The only real omission is pagination semantics for limit/offset, which an agent would otherwise have to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It explains `problems` precisely and `provider` implicitly as both a filter and a returned field, but limit/offset are left entirely undocumented beyond their conventional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource (lists phone lines) with scope ('across workspaces') and privileged audience ('Platform staff only'). The cross-workspace framing cleanly distinguishes it from the sibling lines_list, which is workspace-scoped.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit usage rule for the `problems` filter ('lists only lines that are unhealthy or have a warning') and states the access context (platform staff, account session). It does not explicitly name lines_list as the workspace-scoped alternative, so the routing is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_overviewAInspect
Platform staff only (account session). Platform totals: accounts, workspaces (active/suspended), calls today and in 30 days, connected minutes, active calls, charges, lines with problems, pending support requests and waitlist.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the significant access constraint (platform staff / account session) and implies a read-only aggregate view through the word 'totals', but it says nothing about how fresh the numbers are, whether they are cached, or what the response shape 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly packed sentence: the access gate is front-loaded, then the metric list. The enumeration is long but every item is load-bearing for a dashboard tool and there is no filler or redundant restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description sensibly substitutes an enumeration of returned metrics, which is what an agent needs to know before calling. The remaining gap is format/semantics of the values (e.g. what 'connected minutes' or 'lines with problems' actually contain), but for a zero-param read tool this is close to sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain; the schema is empty and coverage is trivially complete. Baseline of 4 applies since there is nothing the description could add here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (platform-wide totals) and enumerates exactly which aggregates are returned — accounts, workspaces, calls, connected minutes, charges, problem lines, pending requests, waitlist. That distinguishes it well from CRUD siblings like platform_accounts_list or platform_calls_list, but it never contrasts itself with near-neighbors platform_health or platform_usage, so an agent must guess at the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The access precondition is stated explicitly (platform staff only, account session), which is genuinely useful gating information. However there is no when-to-use guidance relative to platform_health, platform_usage, or the various platform_*_list tools that also report platform data, so selection between overlapping siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_staff_grantAInspect
Platform staff only (account session). Requires the staff scope. Give an existing account (by email) a platform role. Owners grant any role; admins grant support or finance. Replaces the account's earlier platform role. Takes effect on the next request.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | ||
| Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the replacement semantics ('Replaces the account's earlier platform role'), the delayed effect ('Takes effect on the next request'), and the authentication/scope prerequisites. It stops short of stating whether the change is audited, reversible, or what a partial failure returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with eligibility and scope before the operational detail. No filler, and each sentence adds a distinct fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter privileged mutation with no annotations and no output schema, the description covers access control, target identification, replacement behavior, and effect timing. It omits error conditions and whether existing sessions are affected, which is the only real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains that 'email' identifies an existing account and adds the semantic constraint on 'role' that the enum alone cannot convey (who may grant which role). Format constraints (pattern, maxLength) remain schema-only, which is the right place for them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Give an existing account (by email) a platform role' — and the scope constraint in the same opening. An agent can distinguish this from platform_staff_revoke (removal) and platform_staff_list (read) 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly restricts callers ('Platform staff only (account session)', 'Requires the staff scope') and lays out the role-granting hierarchy (owners any role; admins support or finance). It does not name a sibling alternative for the inverse operation, but the context needed to decide whether to use this tool is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_staff_listAInspect
Platform staff only (account session). People with a platform role (owner, admin, support, finance). Bootstrap owners come from the server configuration and cannot be revoked here.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: the required platform session context, the exact role set that qualifies as 'staff', and the provenance of bootstrap owners (server config, not revocable via this surface). The last point usefully signals this tool is a read/list surface and that revocation lives elsewhere. It does not confirm read-only status or return shape, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with no filler, and the access constraint is front-loaded. The most valuable fact (bootstrap owners cannot be revoked here) is placed last, where it is slightly buried, but overall the text is tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema and no annotations, the description covers who appears in the result set, who may call it, and the one edge case (bootstrap owners from server config). Nothing essential to invoke it correctly is absent, though return fields and pagination remain unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. No parameter-level information is required or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and narrows it precisely: 'People with a platform role (owner, admin, support, finance).' That enumeration lets an agent distinguish this from members_list or platform_accounts_list without opening a schema. It never explicitly differentiates itself from those specific siblings, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Platform staff only (account session)' states an access prerequisite, which is useful context for whether the tool is callable. However, there is no guidance on when to prefer this over the many adjacent listing tools (platform_access_list, members_list, platform_accounts_list) and no stated exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_staff_revokeAInspect
Platform staff only (account session). Requires the staff scope. Remove an account's platform role. Admins cannot revoke owners or admins; the last owner and bootstrap owners cannot be removed.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the auth/session requirement (account session + staff scope) and the guardrails that cause the call to be rejected. It stops short of stating idempotency, whether the account itself is affected, or the failure response shape, which keeps it out of the top band.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with audience and auth, then the action, then the constraints. No filler and nothing repeated from structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation with no annotations and no output schema, the description covers auth, effect, and the key rejection cases. Only the return/error behavior and any confirmation requirement are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter with 0% schema description coverage, so the schema does not explain accountId. The description implies accountId identifies the account whose platform role is removed, but adds no format, source, or lookup guidance; the self-evident name carries most of the meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (remove/revoke) and a precise resource (an account's platform role), which cleanly separates it from the many other revoke siblings such as members_revoke, credentials_revoke, and support_revoke. The platform-level scope is explicit, so an agent can tell it apart from workspace-membership tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: platform staff only, requires the staff scope, and enumerates failure conditions (admins cannot revoke owners or admins; the last owner and bootstrap owners cannot be removed). It does not explicitly point to platform_staff_grant as the inverse operation, but the when-to-use conditions are well specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_subprocessors_notifyAInspect
Platform staff only (account session). Requires manage. Email every workspace owner (one email per person) that SAGOT will add or replace a sub-processor on effectiveOn — at least 30 days ahead, as the Data Processing Addendum promises — with how to object. Describe what changes, its purpose and location in change. Audited.
| Name | Required | Description | Default |
|---|---|---|---|
| change | Yes | ||
| effectiveOn | Yes | YYYY-MM-DD, at least 30 days from today (UTC). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers: staff-only auth, required 'manage' permission, a fan-out side effect (one email per workspace owner), the 30-day lead requirement, and that the action is audited. It omits success/response behavior and idempotency, but the operation's effects and constraints are well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense but front-loaded paragraph leading with the staff/manage constraint, then the effect, then parameter guidance. Every clause carries information, though the em-dash-embedded legal rationale makes it slightly run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no annotations, no output schema, and partial schema coverage, the description covers permissions, side effects, timing, parameter intent, and audit status. Only return/response behavior is unstated, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% ('change' has no schema description), but the description compensates by defining what belongs in 'change' (what changes, its purpose, and location) and ties 'effectiveOn' to the 30-day-ahead rule. This adds real meaning beyond the schema's min/max bounds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: email every workspace owner that SAGOT will add or replace a sub-processor. No sibling tool does anything similar, so an agent can select it unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly scopes usage with 'Platform staff only (account session). Requires manage.' and imposes a timing precondition ('at least 30 days ahead'). It does not name alternatives, but no comparable sibling exists, so the guidance is effectively complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_usageAInspect
Platform staff only (account session). Usage for a month (YYYY-MM, default this month) per workspace: calls, connected minutes, charges, credits and net, with platform totals. Rates are proposed (docs/11); no payment is collected.
| Name | Required | Description | Default |
|---|---|---|---|
| month | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does reasonably well: it discloses the required staff/account session, the defaulting behavior of the month argument, the exact metric set returned, and the caveat that rates are proposals with no payment collected. It omits pagination/result-size behavior, but the shape of the operation is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense but well-ordered sentence-front-loaded with the access constraint, then scope, then metrics, then the billing caveat. Nothing is wasted, though the '(docs/11)' reference and the phrasing are slightly cryptic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by enumerating the returned metrics and totals. No annotations exist, and it supplies the auth/session requirement and the no-payment caveat. Only pagination and exact response structure are unaddressed, which is a minor gap for a monthly aggregate reporter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the schema only supplies a YYYY-MM pattern, so the description must compensate. It does: it names the parameter's purpose, its YYYY-MM format, and the 'default this month' behavior the schema omits. The single parameter is effectively fully documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (monthly usage per workspace) and enumerates the metrics returned: calls, connected minutes, charges, credits, net, plus platform totals. The 'Platform staff only' qualifier distinguishes it from the tenant-facing usage_get, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Platform staff only (account session)' sets a clear access precondition, which is useful gating context. However, it never says when to choose this over platform_overview, platform_calls_list, or usage_get, and gives no exclusion criteria, leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_workspaces_getAInspect
Platform staff only (account session). One workspace: owner, members and roles, lines with health, agents, 30-day usage, calling policy summary, suspension, limits, credits and recent platform actions. No transcripts, recordings or contact details.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does reasonably well: it declares the auth requirement (platform staff, account session) and explicitly scopes out what is NOT returned ('No transcripts, recordings or contact details'), which is genuinely useful negative disclosure. It does not address error behavior (e.g. unknown/inaccessible workspaceId), keeping it below 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the access constraint and the 'one workspace' scope before the payload enumeration. The field list is dense but every item earns its place given there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the return contents and the auth precondition, and states the exclusions. Missing only edge-case behavior (not-found / permission-denied responses) and any mention of the identifier argument, so it is nearly complete for a single-entity read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is expected to compensate, and it does not mention workspaceId at all. The parameter is largely self-explanatory from its name and the schema's uuid format/pattern constraint, so the gap is mild, but the description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('One workspace') and enumerates the data returned (owner, members, lines with health, agents, usage, credits, etc.), which clearly separates it from platform_workspaces_list. It stops short of naming the sibling, but the 'one vs many' framing makes the distinction inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Platform staff only (account session)' gives a real access precondition, which is more than most definitions offer. However, there is no explicit when-to-use/when-not guidance versus platform_workspaces_list or platform_accounts_get, leaving the agent to infer that this is the single-workspace detail view.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_workspaces_limitsAInspect
Platform staff only (account session). Requires manage. Cap how many calls the workspace carries at once across all its lines (1–50, null = no workspace cap). Line capacity and the deployment ceiling still apply.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | ||
| maxConcurrentCalls | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses the authorization requirement (staff + manage), the valid range (1–50), null semantics (no workspace cap), and that line capacity and the deployment ceiling still constrain the result. It does not say whether the change takes effect immediately or how to revert it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler, and the access constraint is front-loaded before the operational semantics. Every clause adds information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation with no annotations and no output schema, the description covers auth, value semantics, and interacting constraints. It omits the effect timing and any response/confirmation detail, which would fully close the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does for maxConcurrentCalls by explaining the 1–50 bounds and that null removes the workspace cap, plus interaction with other limits. workspaceId gets no explanation, but its uuid type and required status make its meaning self-evident.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb+resource: capping concurrent calls for a workspace across all its lines. It is clearly distinct from sibling mutators like platform_workspaces_suspend or platform_workspaces_reactivate. It stops short of explicitly naming an alternative tool, so a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear precondition for use: 'Platform staff only (account session). Requires manage.' This tells the agent who may call it and under what authority. It does not name alternative tools for adjusting capacity (e.g. lines_update), so it falls short of explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_workspaces_listAInspect
Platform staff only (account session). Every workspace with owner, members, lines, 30-day calls and charges, status and limits. Search by workspace name or owner email. No customer content.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| offset | No | ||
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the auth requirement (staff/account session) and a privacy scope boundary ('No customer content'). It says nothing about pagination behavior, result ordering, or default result size, which matter for a list tool returning up to 100 rows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the hard access constraint front-loaded and zero filler. The telegraphic style is dense but every clause carries information; slightly more structure (rather than comma-stacked field lists) would make it easier to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Enumerating the returned fields effectively substitutes for the absent output schema, and the staff-only/session requirement covers the missing annotations' safety dimension. The remaining gap is that filter parameters, particularly status and the limit/offset pagination contract, are neither in the schema descriptions nor the prose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for 4 parameters, so the description must compensate. It only clarifies the `query` parameter (workspace name or owner email); `limit`, `offset`, and the `status` enum filter are left entirely to the schema. Worse, 'status and limits' in the sentence reads as returned fields rather than filter inputs, which can mislead the agent about the status parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource (every workspace) and enumerates the returned detail (owner, members, lines, 30-day calls and charges, status, limits), which separates it from the customer-facing workspaces_list and from platform_workspaces_get. No explicit verb, but the scope is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Platform staff only (account session)' is a concrete precondition that tells the agent who may call it, and 'Search by workspace name or owner email' states the intended lookup pattern. It never names the alternatives (platform_workspaces_get, platform_accounts_list) or states when not to use it, so it stops 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.
platform_workspaces_reactivateAInspect
Platform staff only (account session). Requires manage. Lift a workspace suspension. Calls canceled during the suspension stay canceled.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and does well: it discloses the auth requirement ('Platform staff only', 'Requires manage') and a subtle side-effect ('Calls canceled during the suspension stay canceled'). It does not state whether reactivation is idempotent or what happens if the workspace is not suspended.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short, front-loaded clauses with no waste: permission gate, action, and critical side-effect all stated compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param mutation with no output schema, the description covers the essentials an agent needs: access control and the non-reversible cancellation side-effect. It leaves minor gaps around idempotency and preconditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and only one parameter (workspaceId) exists, but the schema already specifies its uuid format and pattern. The description adds no meaning beyond the parameter name, matching the baseline for a zero-information single-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Lift a workspace suspension') and resource ('workspace suspension'), and names its inverse sibling platform_workspaces_suspend implicitly. An agent can tell this reverses a suspension 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly scopes the caller to 'Platform staff only (account session). Requires manage', which is a clear precondition. However, it does not name when to prefer this over sibling tools like platform_accounts_reactivate or state that the workspace must currently be suspended.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_workspaces_suspendAInspect
Platform staff only (account session). Requires manage. Suspend a workspace with a reason shown to its members: they can still read and export, every other action fails WORKSPACE_SUSPENDED, queued outbound calls are canceled and inbound calls are not answered.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers: it discloses exactly what members retain (read and export), what gets blocked (every other action -> WORKSPACE_SUSPENDED), and the downstream call behavior (queued outbound canceled, inbound unanswered). This is unusually rich consequence disclosure for 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: permission and audience come first, then behavioral consequences. Every clause carries information. Slightly heavy as a single run-on sentence, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations and no output schema, so behavioral detail must live here, and it largely does. The only gap is that the two parameters remain undocumented beyond the parenthetical about the reason, which an agent could still resolve from the required fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It adds real meaning to 'reason' ('shown to its members'), but says nothing about workspaceId or the 3-500 char bound. Partial compensation for a 2-param tool lands at a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource pair ('Suspend a workspace') and immediately scopes it to platform staff, which cleanly separates it from platform_workspaces_reactivate and platform_accounts_suspend. An agent can identify the operation from the first clause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear gating context: 'Platform staff only (account session)' and 'Requires manage'. This tells the agent who may invoke it and the required permission. It does not, however, explicitly name when to prefer this over reactivate or workspace delete, so alternatives are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policies_getDInspect
SAGOT policies.get. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only vaguely states that authorization and validation match the website, API, and CLI, but it does not say whether the operation is read-only, what permissions are required, what data is returned, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, but the first sentence only repeats the tool identifier and the second adds vague authorization context. This is under-specification rather than useful conciseness, since neither sentence helps an agent invoke the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a one-parameter read tool with no annotations and no output schema, the description should at least state what is being retrieved and how workspaceId scopes the result. It fails to do so, making the definition incomplete for selecting and invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter workspaceId has 0% schema description coverage, and the description does not mention it at all. The tool definition therefore gives no meaning for the parameter beyond its UUID format and name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'SAGOT policies.get,' which essentially restates the tool name without explaining in plain language what the tool retrieves or returns. It never states that it gets a policy or policy configuration, and it does not distinguish the tool from sibling policies_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or what alternatives exist. The statement about shared authorization and validation does not help an agent choose between this and any sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policies_updateDInspect
SAGOT policies.update. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| policy | Yes | ||
| revision | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing concrete. It does not explain that this is a full-replacement mutation, how the required revision guards against conflicts, whether the change is reversible, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and not padded, but this reflects under-specification rather than disciplined conciseness. Two sentences convey no actionable information, so there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a complex required nested policy object, the description is drastically incomplete. An agent cannot confidently call this tool or understand the revision-based conflict semantics from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Top-level schema coverage is 0% and the description adds nothing. Critically, the required 'revision' parameter (an optimistic-concurrency token) and the large required nested 'policy' object are entirely unexplained in prose, leaving the agent with no compensating semantics for a 3-parameter, nested-object tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'SAGOT policies.update' merely restates the tool name, and the follow-up sentence about matching website/API/CLI authorization says nothing about what the tool actually does. It does not identify the resource semantics, the operation, or distinguish it from siblings like policies_get or workspaces_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of the sibling policies_get or any related workflow. The single sentence about shared authorization is metadata, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routes_bindCInspect
Deprecated alias: add (if needed) and make default the line for this route; inboundAgentId as in lines.update.
| Name | Required | Description | Default |
|---|---|---|---|
| route | Yes | ||
| workspaceId | Yes | ||
| inboundAgentId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that it mutates state (adds a line, changes the default) and is deprecated, but omits permissions, reversibility, side effects of changing a default route, and any response information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with the deprecation status front-loaded, so it is not bloated. However, the brevity comes at the cost of clarity rather than from efficient packing of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no annotations, no output schema, and 0% parameter documentation needs the description to do much more. The deprecation notice is the one genuinely useful addition, but the rest of the context an agent needs to invoke this safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three parameters, so the description should compensate. It only addresses inboundAgentId by deferring to 'lines.update', leaving workspaceId and route (an enum of sip-test/phone-gateway) entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb+resource pair (add/attach a line and make it the default for a route) but is cryptic: 'Deprecated alias: add (if needed) and make default the line for this route' is compressed to the point that the agent must decode it. It vaguely distinguishes itself from siblings via 'inboundAgentId as in lines.update' but never clearly names what it aliases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Deprecated alias' hints the agent should prefer something else, yet the description never says what to use instead or under what conditions this tool should still be called. No when-to-use/when-not guidance is provided beyond the deprecation label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routes_clearAlertBInspect
Deprecated alias of lines.clearAlert for the workspace's default line.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It does volunteer one real behavioral trait — deprecation status — but says nothing about whether the operation mutates state, what permissions it needs, or whether the cleared alert is recoverable, which are material for a likely write action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler; the deprecation fact comes first. It is efficient, though brevity here 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is thin: it identifies the alias but omits the effect of clearing an alert and any return or side-effect context. For a deprecated compatibility shim the essentials are arguably present, but nothing helps an agent decide whether invoking it is safe or worthwhile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter (workspaceId) is undocumented in the schema, so the description must compensate. Saying the alert belongs to the 'workspace's default line' does clarify that workspaceId scopes which workspace's line is affected, but it adds no format or requiredness guidance beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deprecated alias and names its canonical counterpart (lines.clearAlert) plus the scope ('workspace's default line'), which does distinguish it from siblings. However, it never states what clearing an alert actually does, so the agent must infer the operation from the aliased name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Deprecated alias' is a strong routing signal: it tells the agent this tool exists for backward compatibility and that lines.clearAlert is the canonical alternative. It stops short of an explicit 'use lines.clearAlert instead' instruction or a condition that would justify calling this one, so it is clear context without being a full when/when-not rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routes_listAInspect
Deprecated alias of lines.list: offered routes with health and the workspace's default line as bound.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden; it does flag deprecation and sketch the return shape (health, default line bound as `bound`), which is genuinely useful. It says nothing about permissions, rate limits, or error behavior, so coverage is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero waste, and the most important fact (deprecation) is front-loaded. Nothing superfluous to cut.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by sketching the return content. Deprecation and the aliased sibling are both covered, so an agent has what it needs to decide whether to call this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter (workspaceId) at 0% schema description coverage; the description adds no semantics for it. Since the parameter is a self-evident UUID with an obvious name, a baseline 3 is appropriate rather than a penalized score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (offered routes, with health) and explicitly ties itself to its sibling lines.list, so an agent knows exactly what it returns. It is not a pure verb+resource statement but the aliasing relationship is more useful than a generic 'list routes' phrasing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Stating 'Deprecated alias of lines.list' effectively routes the agent away from this tool toward lines.list, which is the key usage decision. It stops short of an explicit 'use lines.list instead' imperative, so a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
support_approveAInspect
Workspace admins: approve a pending SAGOT support access request. The staff member gets read-only access for the requested hours, starting now. Nothing can be changed by staff.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does so well: it discloses the effect (read-only access for the staff member), the scope ('nothing can be changed by staff'), the duration (the requested hours), and the start time ('starting now'). It leaves out error behavior for non-pending requests and any audit/permission requirements beyond the admin role.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the actor and action, then the resulting grant. Every sentence adds distinct information and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple approve action with no output schema and no annotations, the description covers the essential outcome, scope, and duration. The main residual gap is the undefined parameters and the absence of any note on what a successful approval returns or requires in terms of request state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither the description nor the schema explains the two required parameters. An agent must infer that 'id' is the support request identifier and 'workspaceId' the target workspace; no format, source, or how-to-obtain guidance is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (approve) and resource (a pending SAGOT support access request), and names the caller role ('Workspace admins'). This clearly separates it from siblings like support_deny, support_revoke, and support_list 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the when-to-use condition through 'pending ... request' and restricts the audience to workspace admins. It does not explicitly name the alternatives (deny/revoke) or state what to do if the request is no longer pending, so the routing guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
support_denyCInspect
Workspace admins: deny a pending SAGOT support access request.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state whether the denial is reversible, what notification/effect follows, what permissions or auth are required beyond the role label, or what the response contains. For a mutation tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the audience front-loaded and no filler. It earns its place, though it is arguably too terse for a mutation endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation with no annotations, no output schema, and two parameters undocumented at 0% coverage. The definition does not give the agent enough to invoke it confidently beyond the bare minimum.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (id, workspaceId) are required but schema description coverage is 0%, so the schema only says they are UUIDs with no meaning. The description does not indicate that 'id' is the request identifier or that 'workspaceId' scopes it, leaving both params undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (deny) and resource (a pending SAGOT support access request), and the audience constraint ('Workspace admins'). The verb chain deny/approve/revoke across siblings gives some differentiation, though the description never explicitly contrasts them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'pending' implies a precondition (only un-actioned requests can be denied) and 'Workspace admins' scopes the caller. However, it never says when to choose this over support_approve or support_revoke, so alternative routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
support_listCInspect
Workspace admins: SAGOT support access requests and grants for this workspace, with what staff read while access was active.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does add one real disclosure — that results include 'what staff read while access was active' — but omits permissions beyond the vague 'admins' tag, pagination, ordering, and whether the data is historical or live.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single compact sentence with no padding, which is good, but it is front-loaded with a role tag and an unexplained token ('SAGOT') rather than the action, so the most important information is not in the strongest position.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema and no annotations, the description at least hints at what is returned, which is more than the structured fields provide. It still lacks the usage context and role enforcement detail an agent would need to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single required workspaceId parameter is undocumented in structured data. The phrase 'for this workspace' only weakly implies the parameter's meaning and gives no guidance on format, sourcing, or whether it must be the caller's own workspace.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (support access requests and grants for a workspace) but never states an explicit verb like 'list' — the listing action is only inferable from the tool name. The leading token 'SAGOT' is garbled/undefined and consumes the position where the purpose verb should be, leaving the actual scope partly ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or routing to alternatives. The only contextual cue is the 'Workspace admins:' audience tag, which does not tell an agent how this read-only list relates to the sibling action tools support_approve, support_deny, and support_revoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
support_revokeBInspect
Workspace admins: end active SAGOT support access immediately.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose two behavioral facts: the required caller role and that the effect is immediate. It says nothing about reversibility, whether an audit trail or reason is required, or what happens to the underlying grant afterward.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the audience and states the action without waste. Nothing extraneous, though it is terse enough that it borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and two undocumented required parameters, the description is too thin. It omits reversibility, authorization prerequisites, and any guidance on supplying the id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (workspaceId, id) are UUIDs with 0% schema description coverage, and the description explains neither. The term 'support access' weakly hints that id identifies the support grant, but the agent gets no explicit mapping of either parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('end active SAGOT support access'), which clearly separates it from support_approve, support_deny, and support_list. It does not, however, distinguish itself from the broader family of revoke tools (members_revoke, platform_access_end), 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The invocation context is implied: a workspace admin ending an already-active support grant. The role constraint ('Workspace admins') is useful, but there is no explicit when-not or pointer to alternatives such as support_deny for rejecting a pending request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usage_getCInspect
SAGOT usage.get. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only claims auth/validation parity with other surfaces. It does not state whether the call is read-only, what scope of usage is returned, or any rate limit or aggregation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short at two sentences, but the first sentence is pure name restatement and earns nothing. The second sentence is the only content-bearing part, so size is fine while information density is low.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with one required parameter, no annotations and no output schema, the description should at minimum say what data comes back and at what granularity. Neither is present, leaving the agent guessing about the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the workspaceId parameter. The lone required UUID is left entirely to the schema's format/pattern, so the description adds no meaning about which workspace is targeted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT usage.get" merely restates the tool name, and the second sentence describes auth parity rather than what the tool returns. An agent cannot tell from this text whether the tool reads usage, billing, or quota data for a workspace, nor how it differs from the sibling platform_usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative-tool guidance is given. The only context offered ("same authorization ... as website, API and CLI") is a parity statement, not a selection hint, so the agent gets no routing signal toward or away from usage_get.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waitlist_deleteAInspect
Platform operators only: permanently remove an applicant's waitlist information. Does not delete their account or invitations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningful work: 'permanently' signals irreversibility, 'Platform operators only' signals the permission requirement, and it explicitly scopes out side effects on the account and invitations. It still omits confirmation behavior and what the response looks like, so it is not complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the destructive action and its audience restriction are front-loaded, followed immediately by the scope caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive mutation with no annotations and no output schema, the description covers irreversibility, permission scope, and what is left intact — enough to call it safely. The remaining gap is that the identifier parameter is never disambiguated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, and the description does not say what that id identifies — a waitlist entry, an applicant, or an account. The phrase 'an applicant's waitlist information' only weakly hints at the referent, leaving real ambiguity about what value to pass.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('permanently remove') and resource ('an applicant's waitlist information'), and explicitly delimits scope by stating it does not delete the account or invitations. That negative framing cleanly separates it from siblings like account_delete and invitations_revoke.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names a clear audience constraint ('Platform operators only') and rules out adjacent actions, which implicitly routes account/invitation removal to those other tools. However, it never names an alternative tool or states positively when this is the correct call versus waitlist_update or support_deny.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waitlist_joinBInspect
Request alpha participation with contact consent. Does not create an account or send email.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| Yes | |||
| company | No | ||
| consent | Yes | ||
| useCase | No | ||
| website | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses two negative side effects (no account creation, no email sent), which is real behavioral context. It does not cover auth requirements, rate limits, or what success returns, so transparency is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no waste. The core action is stated first and the side-effect caveat follows, which is efficient for a tool of this simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with 0% schema coverage, no annotations, and no output schema, the description is far too thin. It omits the meaning of the optional fields (company, useCase, website) and any notion of what submitting produces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters, so the description must compensate but does not. Only 'contact consent' loosely gestures at the consent field; name, email, company, useCase, and website are entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Request alpha participation' maps cleanly to joining a waitlist, and the name waitlist_join confirms it. It does not explicitly name sibling actions (waitlist_update, waitlist_delete), but the create/join 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Does not create an account or send email' implicitly routes the agent away from account_register for those goals, giving some usage context. However, there is no explicit when-to-use statement or named alternative (e.g. platform_access_request), so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waitlist_listAInspect
Platform operators only: review the alpha queue, oldest first, with status and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that results are read-only, ordered oldest-first, and paginated, plus the operator-only restriction. It does not describe the return shape, stability of ordering during paging, or what error occurs for non-operators, so meaningful gaps remain for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the access restriction and ordering before the parameter-related content. Every clause carries information; nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema and no annotations, the description covers purpose, ordering, filtering, pagination, and access restriction, which is enough for an agent to invoke it correctly. It stops short of noting default page size or the shape of returned entries, a minor gap rather than a blocking one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does name two of the three concepts — 'status' filtering and 'pagination' (limit/offset) — which is real added meaning since the schema documents none of them. It omits the 50 default page size, the 100 maximum, and the enum meanings of the status values, so it only partially closes the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ('review the alpha queue') and adds scope ('Platform operators only') plus ordering ('oldest first'). An agent can distinguish it from waitlist_join/update/delete by the list semantics, but no sibling is named explicitly, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Platform operators only' is an audience/authorization gate that implies when the tool is appropriate, which is more than nothing. However, it gives no when-to-use-vs-alternatives guidance — nothing routes the agent here over platform_accounts_list or members_list, and no prerequisites or filtering intent are described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waitlist_updateBInspect
Platform operators only: mark an applicant waiting, contacted or closed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the operator-only authorization requirement, which is useful, but says nothing about whether the state change is reversible, whether transitions are validated (e.g. can a closed applicant be reopened), or idempotency. The listed status values merely duplicate the schema enum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the access constraint front-loaded and no filler. It is appropriately sized for a two-parameter status setter, though the brevity is partly what leaves the semantic gaps noted above.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter, single-enum mutation with no output schema, the description is close to adequate: it covers who may call it and what statuses exist. It omits any statement about the id parameter and about state-transition rules, which a caller changing status arguably needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It partially documents the status parameter by naming the three allowed values, but adds no meaning beyond the enum already in the schema, and the required 'id' parameter is never explained (which entity, and how to obtain it).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (mark) and the target resource (a waitlist applicant), plus the resulting states, so an agent can distinguish this from waitlist_join, waitlist_list and waitlist_delete. It stops short of saying 'update a waitlist entry's status' explicitly, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Platform operators only' gives a genuine audience/auth constraint that gates use, which is more than most sibling tools offer. However, it gives no guidance on when to change status versus deleting (waitlist_delete) or listing (waitlist_list), so routing rests on inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces_createCInspect
SAGOT workspaces.create. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | personal: calling hours 9–20 every day and a published agent that calls businesses for you (phase 41-02). | team |
| name | Yes | ||
| timezone | No | IANA time zone for calling hours, e.g. America/New_York. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only vaguely asserts that auth/validation match other surfaces. It does not disclose side effects (what a new workspace entails), default behavior for kind, whether creation is reversible, or any rate/authorization specifics beyond the vague parity claim.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no padding, so it is not bloated. However, the second sentence is vague rather than informative, and the sizing reflects under-specification rather than tight, front-loaded communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation tool with no annotations and no output schema, the description is far too thin: it doesn't explain what a workspace is, what gets created, the significance of the kind default, or what to expect on success. An agent has little beyond the schema to act on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, so the description should compensate for the undocumented parameters (notably the required "name"), but it adds nothing about name, timezone, or the kind enum. The schema partially documents kind and timezone, so the description contributes zero marginal parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT workspaces.create" essentially restates the tool name (workspaces_create) in dotted form; "SAGOT" is an unexplained codename and adds no meaning. A reader infers it creates a workspace only because of the name, not because the description states a verb+resource outcome. There is no differentiation from siblings like workspaces_update or workspaces_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is "Uses the same authorization and validation as website, API and CLI," which describes consistency of auth/validation rather than when to invoke this tool or how it differs from alternatives. No prerequisites, no when-not-to-use, no routing to siblings such as workspaces_update or platform_workspaces_get.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces_deleteAInspect
Owner only, signed-in session: permanently delete this workspace and everything in it — agents, contacts, calls, recordings, transcripts, lines, API keys and members' access. confirmName must equal the workspace name. Refused while calls are active or a Twilio line exists (delete it first so SAGOT removes what it created in your Twilio account). Cannot be undone; backups expire within about 31 days.
| Name | Required | Description | Default |
|---|---|---|---|
| confirmName | Yes | The workspace's exact current name, to confirm. | |
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so thoroughly: it declares the operation permanent and irreversible, lists every destroyed resource class, states the exact confirmation requirement, explains refusal conditions, and notes backup expiry at about 31 days. It leaves little about consequences or authorization to inference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the most important facts: owner restriction and permanent deletion. Every sentence adds necessary operational detail without repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, high-stakes operation with no annotations and no output schema, the description covers authorization, confirmation, side effects, refusal conditions, irreversibility, and backup expiry. An agent has enough context to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%; confirmName has a schema description and the tool text reinforces its exact-match requirement, but workspaceId is undocumented in both schema and description beyond the implied 'this workspace' context. The description adds useful meaning for confirmName but does not fully compensate for the missing workspaceId semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'permanently delete this workspace and everything in it,' and enumerates the owned resources that go with it. It clearly distinguishes this destructive workspace-level operation from siblings like workspaces_update or account_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit prerequisites (owner only, signed-in session, confirmName must equal the workspace name) and explicit refusal conditions (active calls, existing Twilio line), including the remedy: delete the line first. This tells the agent both when it can call the tool and when it must not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces_listCInspect
SAGOT workspaces.list. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The note that it shares authorization and validation with website/API/CLI implies it is a normal authenticated read, but it does not describe pagination, return format, or any auth scoping details an agent would need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loaded, but the brevity comes at the cost of under-specification rather than efficiency. The second sentence is the only substantive content and it is vague.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple zero-parameter list tool, so it does not need to explain much, but the description still leaves the agent without a clear statement of what is returned or how it differs from platform_workspaces_list. The auth/validation sentence is the only real content and does not fill the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric this is a baseline 4. There is nothing for the description to compensate for on the parameter side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "SAGOT workspaces.list" which merely restates the tool name. It never states a verb or resource in plain language, nor does it distinguish this from the many sibling list tools (agents_list, calls_list, lines_list, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives. It does not mention how it differs from platform_workspaces_list or workspaces_region, both of which are close siblings that an agent would need to disambiguate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces_regionAInspect
Owner only, signed-in session: choose where AI providers process this workspace's call audio and text — "eu" (European Union) or "us" (United States). No call starts until a region is chosen. Choosing it means accepting this statement: "I am the owner of this workspace. I have chosen this processing region myself and confirm it meets the data protection laws, contracts and customer commitments that apply to this workspace and the people it calls. SAGOT processes call audio and text in the region I choose and is not responsible for the consequences of choosing a region that does not meet those obligations." Applies to calls queued after the change.
| Name | Required | Description | Default |
|---|---|---|---|
| region | Yes | ||
| workspaceId | Yes | ||
| acceptResponsibility | Yes | Must be true: the owner accepts processingRegionStatement (see the description). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and largely succeeds: it discloses the owner/session prerequisite, the mandatory consent, and the non-retroactive scope ('calls queued after the change'). It stops short of stating whether the region can be changed again later or how to reverse a choice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key constraint (owner-only, choose region, no calls until chosen) is front-loaded, but an entire legal statement is embedded verbatim, roughly half the text, which is heavy for an agent that only needs to know acceptResponsibility must be true.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description covers prerequisites, the consent requirement, and when the change takes effect, which is enough to invoke the tool correctly. Only reversibility/change-of-region behavior is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description must compensate. It clarifies the two region values (eu=European Union, us=United States) and explains the consent behind acceptResponsibility, but workspaceId is left undocumented and the boolean's semantics come mostly from the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and resource: choose the processing region ('eu' or 'us') for the workspace's call audio and text. It is clearly distinguishable from siblings like workspaces_update, which have no region semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives strong context: owner-only, signed-in session required, no call starts until a region is chosen, and it applies to calls queued after the change. It does not explicitly name an alternative tool, but no sibling performs this function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces_updateCInspect
SAGOT workspaces.update. Uses the same authorization and validation as website, API and CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| workspaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only gestures at authorization/validation parity with other surfaces, without stating required permissions, whether the rename is reversible, what happens on name conflicts, or what the response contains. That is a weak partial disclosure for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler and the tool name front-loaded, so it is compact and well structured. However, the first sentence is a tautology and the "SAGOT" prefix is noise, so brevity comes at the cost of substance rather than being earned concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, 0% parameter description coverage, and no statement of what is mutated, the description is far too thin for a two-required-parameter write tool. An agent could not tell what the update actually changes or under what conditions it succeeds.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions either parameter. Parameter names (`workspaceId`, `name`) are fairly self-evident, but the description adds nothing about constraints such as the 200-character name limit or UUID format, so it fails to compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"SAGOT workspaces.update" restates the tool name rather than describing what the operation does; an agent learns only that it updates a workspace, not which field (the required `name`). The second sentence is about authorization parity, not purpose. This is close to tautology and gives no differentiation from siblings like workspaces_create or workspaces_region.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus workspaces_create, workspaces_delete, workspaces_list, or workspaces_region, and no prerequisites or exclusions are given. The "same authorization and validation as website, API and CLI" clause is not actionable usage guidance.
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.
12 tool updates
- Added
assistants_authorize - Added
assistants_clients_create - Added
assistants_clients_list - Added
assistants_clients_revoke - Added
assistants_list - Added
assistants_preview - Added
assistants_revoke - Added
calls_approve - Changed
calls_create1 field changed- added
Input schema / properties / taskAdded value: +{ + "description": "What this one call must achieve, in plain words — e.g. 'Ask for a table for 4 on Friday 18 Oct at 7pm under Cruz; 7–8pm is fine; no deposit.' Given to the agent beneath its instructions.", + "maxLength": 1000, + "type": "string" +}
- Added
calls_decline - Changed
policies_update1 field changed- added
Input schema / properties / policy / properties / assistantCallApprovalAdded value: +{ + "default": true, + "description": "Calls that a connected AI assistant (OAuth, phase 41) asks for wait until a person approves them on the website. Admins can turn this off; assistants never can.", + "type": "boolean" +}
- Changed
workspaces_create2 fields changed- added
Input schema / properties / kindAdded value: +{ + "default": "team", + "description": "personal: calling hours 9–20 every day and a published agent that calls businesses for you (phase 41-02).", + "enum": [ + "team", + "personal" + ], + "type": "string" +} - added
Input schema / properties / timezoneAdded value: +{ + "description": "IANA time zone for calling hours, e.g. America/New_York.", + "maxLength": 100, + "type": "string" +}
121 tool updates
- First observed
access_info - First observed
account_acceptTerms - First observed
account_delete - First observed
account_login - First observed
account_logout - First observed
account_me - First observed
account_mfaDisable - First observed
account_mfaEnable - First observed
account_mfaRecoveryCodes - First observed
account_mfaSetup - First observed
account_register - First observed
actions_list - First observed
actions_reconcile - First observed
agents_create - First observed
agents_get - First observed
agents_list - First observed
agents_pause - First observed
agents_publish - First observed
agents_retire - First observed
agents_rollback - First observed
agents_save - First observed
agents_test - First observed
artifacts_delete - First observed
artifacts_export - First observed
calls_cancel - First observed
calls_create - First observed
calls_get - First observed
calls_list - First observed
calls_recording - First observed
campaigns_cancel - First observed
campaigns_get - First observed
campaigns_list - First observed
campaigns_pause - First observed
campaigns_preview - First observed
campaigns_resume - First observed
campaigns_save - First observed
campaigns_start - First observed
contacts_erase - First observed
contacts_export - First observed
contacts_history - First observed
contacts_import - First observed
contacts_list - First observed
contacts_suppress - First observed
contacts_update - First observed
credentials_create - First observed
credentials_list - First observed
credentials_revoke - First observed
events_list - First observed
events_replay - First observed
handoffs_list - First observed
handoffs_update - First observed
integrations_disconnect - First observed
integrations_get - First observed
integrations_list - First observed
integrations_save - First observed
integrations_test - First observed
invitations_create - First observed
invitations_list - First observed
invitations_revoke - First observed
lines_clearAlert - First observed
lines_create - First observed
lines_delete - First observed
lines_get - First observed
lines_list - First observed
lines_test - First observed
lines_twilioNumbers - First observed
lines_update - First observed
members_accept - First observed
members_invite - First observed
members_list - First observed
members_preview - First observed
members_remove - First observed
members_revoke - First observed
members_transfer - First observed
members_update - First observed
platform_access_end - First observed
platform_access_list - First observed
platform_access_request - First observed
platform_accounts_get - First observed
platform_accounts_list - First observed
platform_accounts_reactivate - First observed
platform_accounts_suspend - First observed
platform_audit_list - First observed
platform_blocklist_add - First observed
platform_blocklist_list - First observed
platform_blocklist_remove - First observed
platform_calls_list - First observed
platform_credits_grant - First observed
platform_credits_list - First observed
platform_health - First observed
platform_lines_list - First observed
platform_overview - First observed
platform_staff_grant - First observed
platform_staff_list - First observed
platform_staff_revoke - First observed
platform_subprocessors_notify - First observed
platform_usage - First observed
platform_workspaces_get - First observed
platform_workspaces_limits - First observed
platform_workspaces_list - First observed
platform_workspaces_reactivate - First observed
platform_workspaces_suspend - First observed
policies_get - First observed
policies_update - First observed
routes_bind - First observed
routes_clearAlert - First observed
routes_list - First observed
support_approve - First observed
support_deny - First observed
support_list - First observed
support_revoke - First observed
usage_get - First observed
waitlist_delete - First observed
waitlist_join - First observed
waitlist_list - First observed
waitlist_update - First observed
workspaces_create - First observed
workspaces_delete - First observed
workspaces_list - First observed
workspaces_region - First observed
workspaces_update
Related MCP Connectors
AI voice agents that make real phone calls: single calls or campaigns, with transcripts and notes.
- DialMCPOAuthcom.dialmcp
Let AI agents place real phone calls from your verified number, with transcripts and recordings.
AI phone calls from your verified number, with answers, transcripts and recordings.
Build and manage voice AI agents for real phone lines: assistants, calls, numbers and campaigns.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to place real phone calls, navigate IVR trees, and retrieve structured answers with transcripts and recordings.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to place real phone calls, engage in spoken conversations across 12 languages, and report the outcomes for tasks like booking appointments, answering questions, negotiating, or confirming orders.MIT
- AlicenseAqualityAmaintenanceMake phone calls and join Zoom, Microsoft Teams and Google Meet meetings from any AI agent. A self-hosted, open-source voice agent that calls businesses and people through your own SignalWire or Twilio number, joins meetings as a bot that answers when spoken to, says it is an AI, and returns the outcome, decisions, action items and transcript.132Apache 2.0
- AlicenseAqualityDmaintenanceManage voice AI agents, make calls, run campaigns, and control phone numbers through natural language.5815 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.