Skip to main content
Glama

Server Details

Bounded KVP, RAG search, and wipe receipts for agent jobs over remote MCP

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
number1101/tillpad-mcp
GitHub Stars
0
Server Listing
tillpad-mcp

Available Tools

35 tools
agent_bootstrapAInspect

Start zero-human onboarding: create bootstrap token from email (no outbound mail). Next POST /api/billing/machine-pay with Bearer bootstrapToken.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
labelNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It does disclose that no outbound mail is sent and that a bearer bootstrap token is produced for the next call. However, it does not cover token expiration, invalidation of prior tokens, or required permissions, leaving some behavioral uncertainty.

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

Conciseness5/5

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

Two tight sentences with no filler. The core action is front-loaded, the no-mail caveat is immediately useful, and the next-step instruction earns its place.

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

Completeness3/5

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

The description gives enough to start onboarding and route to the next API call, but for a tool with no output schema and no annotations it omits useful details such as response shape, token lifetime, error cases, and the meaning of the optional label. Adequate but with clear gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It clarifies that 'email' identifies the user for token creation and implies the token is returned for the next step, but it says nothing about the optional 'label' parameter or any format/constraints. Compensation is only partial.

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

Purpose5/5

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

Description uses a specific verb and resource: 'create bootstrap token from email' and names the exact workflow context ('zero-human onboarding'). It also distinguishes itself from the likely sibling by explicitly handing off to 'POST /api/billing/machine-pay with Bearer bootstrapToken'.

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

Usage Guidelines4/5

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

The description clearly scopes when this tool is used ('Start zero-human onboarding') and gives the immediate follow-up call. However, it does not explicitly state when not to use it or name an alternative, so it stops 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.

billing_machine_payBInspect

Describe how to unlock Pro or purchase agent SKUs via Stripe MPP. Optional sku (default pro_prepaid_30d). Returns POST URL and amount; agent must call HTTP with MPP Payment credential.

ParametersJSON Schema
NameRequiredDescriptionDefault
skuNo

TDQS

B3.4/5.0
Behavior3/5

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 tool only returns a POST URL and amount rather than completing payment itself, and that the agent must perform the HTTP call. However, it does not state whether invoking this tool creates a charge, whether it is reversible, or what errors/idempotency behavior to expect, which is significant for a payment-related action.

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

Conciseness4/5

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

The description is two dense sentences with no filler, front-loading the purpose and then specifying the return value and required next action. It loses one point because 'Describe how to' is an awkward meta-verb that slightly obscures the tool's actual behavior.

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

Completeness3/5

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

For a payment-related tool with no annotations and no output schema, the description is serviceable but incomplete. It covers the return contract (POST URL and amount), the required follow-up HTTP call, and the default SKU, but omits response structure, currency, side-effect/charge semantics, and error handling. Since no sibling tool fills this role, the description is the agent's only guide.

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

Parameters3/5

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

The single parameter `sku` has 0% schema description coverage, so the description must compensate. It does add optionality and the default value `pro_prepaid_30d`, but it does not explain the meaning or appropriate choice among the enum values, such as when to pick a top-up SKU over a prepaid plan. The enum itself narrows the choices but does not convey semantic intent.

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

Purpose4/5

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

The description names a specific resource (Pro/agent SKUs), mechanism (Stripe MPP), and observable output (POST URL and amount). It is clearly distinct from the sibling tools, but the phrase 'Describe how to' makes it read more like instructions than an action the tool performs, which costs a point.

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

Usage Guidelines3/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are named. However, the tool is the only payment/billing-related tool among siblings, so the intended context is implied. It does convey a key follow-up requirement: the agent must call the returned URL via HTTP with the MPP Payment credential.

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

billing_portalAInspect

Get Stripe Customer Portal URL for subscription management and invoice history (human billing).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It clearly states the core behavior (returns a Stripe Customer Portal URL), but it doesn't disclose whether this action creates a Stripe session, whether it depends on the caller's Stripe customer being active, or whether the URL expires. These traits are relevant but not severely missing for a simple 0-parameter read-style tool.

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

Conciseness5/5

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

One concise sentence with no filler. The key verb, resource, and distinguishing context ('human billing') are all front-loaded, and every word earns its place.

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

Completeness4/5

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

For a zero-parameter, no-output-schema tool, this description is nearly complete: it tells what the tool returns (a URL) and for whom (humans managing subscriptions/invoices). It omits minor context like whether an active subscription is required or how the URL is delivered, but nothing critical is missing for an agent to invoke it correctly.

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

Parameters4/5

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

There are zero parameters and the schema is empty, so per the baseline for 0-parameter tools this score is appropriate. The description does not need to explain parameter meanings that don't exist.

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

Purpose5/5

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

States a specific verb ('Get') and resource ('Striple Customer Portal URL') and adds the intended purpose ('subscription management and invoice history'). The parenthetical '(human billing)' clearly differentiates it from sibling billing_machine_pay, so an agent can tell which billing tool is for which audience.

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

Usage Guidelines4/5

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

Gives a clear intended context: it is for human-facing subscription management and invoice history. This tells the agent when to call it, though it doesn't explicitly name alternatives or state when-not-to-use. The sibling tools (e.g., billing_machine_pay) plus its own phrasing make the use case discernible.

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

billing_purchases_listAInspect

List local payment history (MPP purchases and logged Stripe events). Optional includeStripe merges unlogged Stripe charges/invoices.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
includeStripeNo

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description carries the behavioral disclosure burden. It communicates that this is a list/read operation and reveals meaningful merging behavior for includeStripe. It does not mention pagination behavior, authorization requirements, or whether any side effects occur, leaving some gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence with no filler. It front-loads the core action and scope, then adds the optional behavior in a compact way. Every part contributes value.

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

Completeness2/5

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

For a tool with no output schema and no annotations, the description leaves important gaps: return shape, cursor semantics, pagination defaults, authentication requirements, and what 'local' precisely means. The basic purpose is clear, but the definition is not complete enough for an agent to confidently invoke it in varied scenarios.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains includeStripe's purpose ('merges unlogged Stripe charges/invoices') but provides no meaningful semantics for 'limit' or 'cursor', such as default values, pagination format, or constraints. This is insufficient given the complete lack of schema-level descriptions.

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

Purpose5/5

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

The description uses a specific verb ('List') and resource ('local payment history'), then further specifies the content: MPP purchases and logged Stripe events. This clearly distinguishes it from billing-related siblings like billing_machine_pay and billing_portal, which imply different actions.

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

Usage Guidelines3/5

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

The description implies when to use the tool: for listing local payment history, with includeStripe being an optional switch to merge unlogged Stripe charges/invoices. However, it provides no explicit guidance about when NOT to use this tool versus alternatives like billing_portal or billing_machine_pay.

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

budget_estimateBInspect

Estimate whether an operation would hit 402/429 before spending. For rag_index you can pass textLength/byteLength instead of amount.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
amountNo
byteLengthNo
textLengthNo

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are present, so the description carries the burden. It does disclose that this is a preflight/non-spending estimator ('before spending'), which is an important behavioral trait. It does not describe side effects, permissions, or output behavior, but the core safety implication is stated.

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

Conciseness5/5

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

Two short, front-loaded sentences. The core purpose appears in the first clause, and the only additional sentence carries a specific parameter exception. No filler or redundancy.

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

Completeness2/5

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

For a tool with no annotations and no output schema, the description omits what the estimate returns (boolean? status?) and how each kind should be parameterized. The five kind enum values and four parameters are only partially covered by the rag_index note, leaving an agent with significant ambiguity.

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

Parameters3/5

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

The description adds meaningful parameter semantics beyond the schema: for rag_index, textLength/byteLength can replace amount. However, schema_description_coverage is 0% and the description leaves the meaning of amount for kvp_ops, storage_bytes, rag_query, and inbound_email undocumented, so it only partially compensates.

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

Purpose4/5

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

The description states a specific verb ('Estimate'), a resource class ('an operation'), and a concrete outcome ('would hit 402/429 before spending'). It stops short of explicitly distinguishing itself from sibling budget_get, though the phrase 'before spending' implies a preflight role.

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

Usage Guidelines3/5

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

The phrase 'before spending' gives a clear temporal context, and the rag_index sentence gives conditional parameter guidance. However, it never tells the agent when to prefer budget_estimate over budget_get or other billing siblings, and no exclusions or alternatives are named.

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

budget_getAInspect

Get remaining quotas, soft thresholds, and checkout URL for topping up

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It accurately frames the tool as a read operation ('Get') and discloses the output categories (quotas, soft thresholds, checkout URL), implying no mutation. It does not mention auth or return formatting, but for a parameterless getter this 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.

Conciseness5/5

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

A single, front-loaded sentence with no filler. Every phrase ('remaining quotas', 'soft thresholds', 'checkout URL for topping up') carries distinct information, and the sentence length is appropriate for the tool's simplicity.

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

Completeness5/5

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

For a zero-parameter, no-output-schema tool, the description adequately explains the return categories and the top-up context. Nothing an agent needs to know to invoke the tool and interpret the result is missing; the only absent details are optional response-format specifics.

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

Parameters4/5

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

The input schema has zero properties and schema description coverage is 100%, so there are no parameter semantics for the description to add. This matches the baseline of 4 for a no-parameter tool; the description's mention of what is retrieved helps contextualize the result rather than parameters.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Get remaining quotas, soft thresholds, and checkout URL for topping up.' It clearly identifies what budget_get returns and, by naming budget-related outputs, is distinguishable from siblings like budget_estimate, billing_machine_pay, and usage_get without needing to open schemas.

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

Usage Guidelines4/5

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

The phrase 'for topping up' gives a clear context for when to use this tool: when an agent needs quota/threshold status or a payment checkout URL. It does not name alternatives or explicitly state when not to use it, but the zero-parameter read-only purpose is clear enough.

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

files_listBInspect

List uploaded files (optionally filter by namespace)

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It clearly indicates a read-only listing operation and an optional filter, but it does not disclose return format, pagination, ordering, namespace semantics, or any access constraints.

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

Conciseness5/5

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

The description is a single concise sentence, front-loads the core action, and includes the key optional behavior without extra words. Every word earns its place.

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

Completeness3/5

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

For a tool with one optional parameter and no output schema, the description covers basic invocation. However, it lacks usage/alternative routing, return-value expectations, and namespace detail, leaving some ambiguity for an agent deciding whether this is the right tool.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It does explain that 'namespace' is an optional filter, which adds meaning beyond 'type: string'. However, it does not describe valid namespace values, what happens when omitted, or how namespaces are structured.

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

Purpose4/5

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

The description states a clear verb and resource: 'List uploaded files'. The parenthetical 'optionally filter by namespace' adds scope. It is distinguishable from obvious siblings like file_upload, though it does not explicitly differentiate itself from files_types or inspect_storage.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as files_types, inspect_storage, or rag_search. The only usage hint is the optional namespace filter, which addresses the parameter, not tool selection.

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

files_typesAInspect

List supported RAG upload file types (extensions, MIME types, extract notes)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description itself signals a safe read-only action via 'List' and specifies exactly what information is returned (extensions, MIME types, extract notes). It does not mention permissions or rate limits, but for a zero-parameter informational tool this is minimally sufficient.

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

Conciseness5/5

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

One concise, front-loaded sentence that names the action and resource first, with the key detail categories in parentheses. No filler or repetition.

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

Completeness5/5

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

Given zero parameters and no output schema, the description covers the essential behavior and return categories completely. An agent can decide to call it and know what kind of information to expect.

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

Parameters4/5

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

The input schema is empty with no parameters, so the baseline of 4 applies. There is nothing for the description to add beyond confirming this tool requires no arguments.

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

Purpose5/5

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

The description uses a specific verb 'List' and identifies the resource 'supported RAG upload file types', further narrowed by extensions, MIME types, and extract notes. This clearly separates it from sibling tools like file_upload and files_list, which operate on actual files rather than the type catalog.

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

Usage Guidelines3/5

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

The description implies the tool should be used when an agent needs to know which file types are accepted for RAG uploads. It does not explicitly state exclusions or compare against siblings such as file_upload or files_list.

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

file_uploadBInspect

Upload a UTF-8 text document for RAG indexing into a namespace. PrefLights rag_index capacity.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
filenameYes
namespaceYes
contentTypeNo

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It discloses the UTF-8 constraint and the RAG-indexing effect, but does not explain whether uploads overwrite existing documents, what side effects occur, what authorization is needed, what the response contains, or what 'PrefLights rag_index capacity' means. This is insufficient for a mutation-like tool.

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

Conciseness3/5

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

The first sentence is economical and front-loaded. The second sentence, 'PrefLights rag_index capacity,' is cryptic and appears to contain a typo, which undermines clarity without providing a clearly useful detail. Not verbose, but not well structured due to the garbled phrase.

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

Completeness2/5

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

There are no annotations, no output schema, and no parameter descriptions, so the description must carry the full context. Missing are return values, prerequisites, side effects, conflicts with existing indexed text, how it connects to rag_search, and the meaning of the capacity phrase. This is inadequate for reliable invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It implies text is a UTF-8 document and namespace is the target, but it does not clarify filename rules, contentType semantics, size limits, or required field relationships. It adds little beyond the parameter names themselves.

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

Purpose4/5

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

States a concrete action ('Upload'), an object ('UTF-8 text document'), and a destination ('into a namespace'), with the RAG-indexing purpose clear. It does not explicitly differentiate from sibling tools like files_list or rag_search, and the phrase 'PrefLights rag_index capacity' is confusing, but the core purpose is still evident.

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

Usage Guidelines4/5

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

The phrase 'for RAG indexing into a namespace' provides clear context for when this tool should be used. However, it gives no exclusions and does not mention alternatives such as kvp_put for key-value storage or files_list for listing existing uploads, so it stops short of full usage guidance.

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

inbox_attachment_getBInspect

Download an attachment (meters 1 kvp_op). Returns base64 body.

ParametersJSON Schema
NameRequiredDescriptionDefault
inboxIdYes
messageIdYes
attachmentIdYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure. It does disclose a metering/cost side effect ('meters 1 kvp_op') and the base64 return format. It remains silent on error behavior, permissions, or whether the operation is read-only, which keeps it from being stronger.

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

Conciseness5/5

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

Two short sentences, front-loaded with the verb+resource; no filler. Each clause adds information: the operation, the metering cost, and the return encoding.

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

Completeness2/5

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

For a 3-required-param tool with no annotations and no output schema, the description leaves too much to inference: no usage context, no parameter roles, and no error behavior. It covers the return encoding but misses details an agent would need to confidently construct a correct call.

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

Parameters1/5

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

All three parameters have zero schema descriptions and the description adds almost no parameter semantics. It never explains the relationship between inboxId, messageId, and attachmentId or the expected ID formats, so the description fails to compensate for the 0% schema coverage.

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

Purpose5/5

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

States the exact operation ('Download an attachment') and the response encoding, so an agent can distinguish it from message-level tools like inbox_message_get or inbox_message_raw. The parenthetical 'meters 1 kvp_op' is cryptic but does not undercut the action+resource clarity.

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

Usage Guidelines2/5

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

No guidance about when to choose this over inbox_message_get or inbox_message_raw, nor about what inboxId/messageId/attachmentId should point to. The intended context is only implied by the tool name and required fields.

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

inbox_audit_listCInspect

List inbox audit log entries for the account.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'List' implies a read-only operation, but the description does not disclose pagination behavior, ordering, authorization requirements, or any side effects. This is minimal and leaves most behavioral traits unstated.

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

Conciseness4/5

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

The description is one short sentence with no filler or redundant phrasing. It is front-loaded and easy to parse, though its brevity comes at the cost of missing important operational details.

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

Completeness2/5

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

There is no output schema and no annotation context, so the description alone must enable correct selection and invocation. It names the resource and action, but omits pagination semantics, return value shape, and differentiation from related list tools, leaving the agent without enough context for confident invocation.

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

Parameters1/5

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

The schema has zero description coverage for the two parameters, and the description does not mention limit or offset at all. With 0% schema coverage, the description needed to compensate by explaining parameter meaning, defaults, or bounds, but it provides nothing beyond the parameter names.

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

Purpose5/5

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

The description uses a specific verb and resource: 'List inbox audit log entries for the account.' This clearly distinguishes it from sibling tools like inbox_list or inbox_messages_list, which deal with inbox identities or messages rather than audit log entries.

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

Usage Guidelines2/5

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

The description gives no guidance about when to use this tool versus its siblings. It does not mention alternatives, exclusions, or the kind of scenario that would call for audit log listing instead of another inbox-related list tool.

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

inbox_blocklist_addAInspect

Block a sender email address or entire domain from all account inboxes.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
valueYes

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden. It does disclose that the block applies across all account inboxes, which is useful, but it does not explain reversibility, idempotency, failure behavior, or whether existing blocks are replaced or appended.

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

Conciseness5/5

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

Single sentence with no filler; The action, object, and scope are all front-loaded. The description earns its place while remaining compact.

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

Completeness3/5

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

For a two-parameter tool with no output schema and no annotations, the description is minimally viable: it states the operation and scope. It remains incomplete by omitting error behavior, idem potency, reversibility, and any guidance about sibling tools for unblocking or listing blocks.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It adds meaning by clarifying that the value is either a sender email address or an entire domain and that kind selects between those two cases. It does not specify value format requirements or more detailed constraints.

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

Purpose5/5

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

The description uses a specific verb ('Block'), a specific resource ('a sender email address or entire domain'), and a clear scope ('from all account inboxes'). It directly tells an agent what the tool does and distinguishes it from sibling blocklist operations.

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

Usage Guidelines3/5

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

The description implies when to use the tool: when a sender address or domain should be blocked from all inboxes. However, it does not explicitly mention alternatives or when not to use it, such as pointing to a blocklist-remove or blocklist-list sibling.

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

inbox_blocklist_deleteBInspect

Remove a blocklist entry by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryIdYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only states the action 'Remove,' which implies destructive intent, but it does not disclose whether deletion is permanent, idempotent, or what side effects occur (e.g., cascading removal, authentication requirements).

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

Conciseness5/5

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

The description is a single sentence with no fluff. It front-loads the action and the target, and every word earns its place.

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

Completeness2/5

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

For a destructive one-parameter tool with no annotations and no output schema, this description is thin. It lacks any statement about return value, error behavior, permanence, or how the ID relates to the blocklist add/list tools. An agent can guess the basic call but not the consequences.

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

Parameters2/5

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

The only parameter, entryId, is a string with no schema description (0% coverage). The phrase 'by id' adds minimal meaning because the parameter name already conveys that entryId is the identifier. No format, provenance, or relationship to IDs from other blocklist tools is given.

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

Purpose5/5

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

The description uses a specific verb ('Remove') with a clear resource ('blocklist entry') and the selection key ('by id'). It clearly distinguishes this from sibling tools like inbox_blocklist_add and inbox_blocklist_list, which handle different operations on the same resource.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool rather than alternatives such as inbox_blocklist_list, inbox_blocklist_add, or inbox_delete. The description simply restates the operation without prerequisites, exclusions, or context cues.

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

inbox_blocklist_listAInspect

List blocked sender addresses and domains for inbound email.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It clearly conveys that the tool returns a list of blocked addresses/domains, but it omits behavioral details such as whether the list is paginated, sorted, or includes both addresses and domains in a single response. For a trivial parameterless read, this is adequate but not thorough.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It names the action and the resource precisely, making it highly scannable for an agent.

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

Completeness4/5

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

For a zero-parameter, no-output-schema tool, the description gives enough context for an agent to know what the tool does and what it yields conceptually. It could be more complete by describing the shape of the returned list, but given the low complexity, the current description is largely sufficient.

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

Parameters4/5

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

The tool has zero parameters and the schema has 100% coverage with an empty properties object, so there is nothing for the description to add about parameters. The baseline for zero-parameter tools is 4, and the description accurately reflects the no-input nature of the call.

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

Purpose5/5

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

The description uses a specific verb ('List') and a specific resource ('blocked sender addresses and domains for inbound email'), making the tool's purpose immediately clear. It also distinguishes itself from the sibling inbox_blocklist_add and inbox_blocklist_delete tools by focusing on listing rather than mutation.

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

Usage Guidelines3/5

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

The description implies the tool should be used when an agent needs to view currently blocked senders, and sibling names suggest add/delete as alternatives. However, it does not explicitly state when to prefer this tool over inbox_blocklist_add or inbox_blocklist_delete, or mention that it is a read-only operation.

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

inbox_createBInspect

Create a receive-only email inbox (temporary or permanent) on the configured inbound domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
domainNo
localPartYes
ttlSecondsNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description must carry the full behavioral disclosure burden. It only mentions 'receive-only' and 'temporary or permanent', which are more about purpose than side effects. It does not disclose expiration behavior for temporary inboxes, whether ttlSeconds is enforced, permissions needed, or what happens if the localPart already exists.

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

Conciseness5/5

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

One short sentence with no filler or redundancy. It front-loads the action and resource, and every word adds meaning.

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

Completeness2/5

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

With 4 parameters, 0% schema coverage, no output schema, and no annotations, the description is too thin for safe invocation. It omits what localPart means, how TTL applies to temporary inboxes, and what the created inbox response looks like. The sibling set clarifies the action type but not the full call contract.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needs to compensate. It maps to 'kind' via temporary/permanent and hints at 'domain' with 'configured inbound domain', but the required 'localPart' and the optional 'ttlSeconds' are completely unexplained, leaving an agent without enough meaning to construct valid arguments confidently.

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

Purpose5/5

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

States a specific verb (create), a concrete resource (receive-only email inbox), and key qualifiers (temporary or permanent, on the configured inbound domain). This is clearly distinct from sibling tools like inbox_get, inbox_list, and inbox_delete, which perform different operations on inboxes.

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

Usage Guidelines3/5

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

The description implies the tool is for creating a new inbox, but it gives no explicit guidance about when to use this versus alternatives, such as inbox_webhook_create. No exclusions or conditions are stated, though the unique 'create inbox' purpose makes the intended context inferable.

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

inbox_deleteBInspect

Delete an inbox and purge stored messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
inboxIdYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It does disclose one meaningful behavioral consequence — that stored messages are purged, not just the inbox record — which goes beyond the tool name. However, it omits irreversibility, cascade effects on Webhooks or attachments, and any failure modes, which matter for a destructive operation with zero annotation coverage.

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

Conciseness5/5

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

One sentence, front-loaded with the core action, zero filler. The destructive scope is stated early, making it an efficiently sized definition for a simple one-parameter tool.

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

Completeness2/5

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

While the tool has only one parameter and no output schema, it is destructive with no annotations to convey safety or side effects. The description does not address whether deletion cascades to Webhooks, attachments, or audit logs, nor whether the operation is reversible, leaving notable gaps for an agent deciding whether and how to invoke it.

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

Parameters2/5

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

Schema description coverage is 0% and the description never mentions inboxId, its format, or how an agent should obtain a valid value. The parameter name 'inboxId' is self-explanatory enough to guess its meaning, but the description adds no semantic value and does not compensate for the empty schema.

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

Purpose5/5

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

The description uses a specific verb-resource pair ('Delete an inbox') and adds a scope detail ('purge stored messages') that clarifies exactly what is removed. It distinguishes itself naturally from siblings like inbox_get, inbox_list, and inbox_create, which operate on the same resource without destroying it.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites or exclusions, and no reference to related tools like inbox_list to obtain a valid inboxId. The description simply states the action; an agent must infer all usage context from the tool name and sibling list.

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

inbox_getAInspect

Get one inbox by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
inboxIdYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. 'Get' implies a read operation, and the wording is consistent with a non-destructive fetch. However, there is no explicit statement of read-only behavior, what happens if the inbox does not exist, or any details about the response shape. For a simple get tool this is acceptable but not transparent beyond the obvious.

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

Conciseness5/5

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

The description is one tight sentence with no filler or redundant information. The essential action ('Get'), object ('one inbox'), and input criterion ('by id') are all present and front-loaded. Every word earns its place.

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

Completeness4/5

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

For a single-parameter read tool with no output schema, the description tells the agent what it does and what input it needs. It does not spell out the return value, but 'get one inbox' implies the inbox object is returned. The description is sufficiently complete for an agent to invoke the tool correctly, though it leaves a little to inference.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It mentions 'by id', which clearly maps to the single inboxId parameter, but it does not explain that the ID is required or provide any format details. Given only one parameter named inboxId, the minimal description is adequate but adds little beyond the parameter name.

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

Purpose5/5

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

The description states a specific verb and resource: 'Get one inbox by id.' This clearly distinguishes it from siblings like inbox_list (which returns multiple) and inbox_message_get (which targets messages). The agent can confidently select this tool for retrieving a single inbox.

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

Usage Guidelines4/5

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

The phrase 'by id' provides a clear usage condition: call this when you have the inbox identifier and need a single inbox. It does not explicitly mention alternatives or when not to use it, but the context is strong enough to avoid confusion with inbox_list or inbox_create.

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

inbox_listAInspect

List active receive-only inboxes for the account.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the disclosure burden. It adds useful behavioral context by specifying 'active receive-only' and account scope, but it does not describe ordering, pagination, return shape, or what 'active' or 'receive-only' mean in practice.

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

Conciseness5/5

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

One short, front-loaded sentence with no wasted words. Every term in the description adds meaning and helps disambiguate the operation.

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

Completeness5/5

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

For a zero-parameter list tool with no output schema, the description is complete enough. It states the resource, the operation, the filter ('active receive-only'), and the scope ('for the account'). No additional input guidance is needed.

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

Parameters4/5

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

There are no parameters, so the schema and description have nothing to document. The description's scope statement is sufficient for a zero-parameter list operation, matching the baseline of 4.

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

Purpose5/5

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

The description uses a specific verb ('List') and resource ('inboxes'), and adds scope qualifiers ('active receive-only', 'for the account'). This clearly distinguishes it from sibling tools like inbox_get, inbox_messages_list, and inbox_create.

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

Usage Guidelines4/5

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

The context is clear: use this to list the account's active receive-only inboxes. It does not explicitly name sibling alternatives or exclusion conditions, but the qualifiers and zero-parameter nature make the intended usage apparent.

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

inbox_message_getBInspect

Get message metadata and attachment list.

ParametersJSON Schema
NameRequiredDescriptionDefault
inboxIdYes
messageIdYes

TDQS

B3.3/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden. It discloses a read-only retrieval behavior and the main output shape (metadata + attachment list), but omits any additional context such as auth expectations, error behavior, or whether attachments are metadata-only references.

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

Conciseness5/5

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

The description is a single compact sentence with no filler and it front-loads the core action and resource. It communicates the tool's purpose in the least possible words without being a tautology.

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

Completeness3/5

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

With no output schema and no annotations, the description leaves the agent to infer the full return structure and the relationship between the two required parameters. The tool is simple, but explicitly stating that attachments are returned as a metadata list rather than content would disambiguate it from inbox_attachment_get.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not define inboxId or messageId beyond the tool name. The parameter names are self-explanatory, but the description adds no semantic value over the schema and fails to compensate for the missing parameter documentation.

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

Purpose4/5

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

The description uses a specific verb ('Get') and a specific resource ('message metadata and attachment list'), which clearly indicates the tool returns metadata rather than raw message content or a single attachment. It doesn't explicitly name sibling alternatives, but the scope is concrete enough to infer its role.

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

Usage Guidelines3/5

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

No explicit guidance is given on when to use this tool versus inbox_message_raw, inbox_attachment_get, or inbox_messages_list. The intended use is only implied by the verb and resource, so the agent must infer when it should be selected over nearby siblings.

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

inbox_message_rawBInspect

Download raw MIME for a message (meters 1 kvp_op).

ParametersJSON Schema
NameRequiredDescriptionDefault
inboxIdYes
messageIdYes

TDQS

B3.1/5.0
Behavior3/5

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

There are no annotations, so the description carries the full behavioral disclosure burden. It does disclose one behavioral trait: 'meters 1 kvp_op', which appears to indicate a usage/metering cost. However, this phrasing is cryptic, and the description does not clarify read-only behavior, permissions, return format, or side effects.

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

Conciseness3/5

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

The main instruction is front-loaded and compact: 'Download raw MIME for a message'. However, the trailing parenthetical '(meters 1 kvp_op)' is unclear, poorly integrated, and potentially confusing. Conciseness is good, but the sentence does not fully earn its clarity.

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

Completeness3/5

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

For a simple two-parameter download tool, a brief description can be adequate, and 'raw MIME' partially indicates the return payload. But with no annotations and no output schema, the description should more explicitly state what is returned, whether this is read-only, and where the IDs come from. The cost/metering hint is useful but ambiguous. The definition is minimally viable but not complete.

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

Parameters2/5

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

Schema description coverage is 0% and the description does not compensate by explaining the parameters. The parameter names inboxId and messageId are reasonably self-explanatory, and messageId's role is lightly implied by 'for a message', but the description provides no details on ID provenance, formats, or how they relate. For low coverage, the description should have added at least minimal parameter context.

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

Purpose4/5

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

The description clearly states the action and resource: 'Download raw MIME for a message'. The 'raw MIME' phrasing helps distinguish it from parsed message tools like inbox_message_get or inbox_messages_list, though it does not explicitly name the siblings. The parenthetical 'meters 1 kvp_op' adds noise and slightly detracts from purpose clarity.

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

Usage Guidelines3/5

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

The use case is implied by the word 'raw' — an agent can infer this is for when the unparsed MIME source is needed rather than a processed view. However, the description gives no explicit when-to-use guidance, does not mention alternatives, and does not state when not to use this tool. The guidance is present only by implication.

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

inbox_messages_listBInspect

List message metadata for an inbox.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
inboxIdYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It implies a read-only operation by saying 'List' and indicates the response scope is 'metadata', which is useful. However, it does not mention pagination behavior (despite limit/offset parameters), ordering, possible errors, or authentication requirements, 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.

Conciseness5/5

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

The description is a single, concise sentence with no redundant words. It front-loads the action and resource, making it easy to parse quickly. Nothing should be removed or added without sacrificing clarity.

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

Completeness2/5

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

For a tool with three parameters, no output schema, and no annotations, this description is too sparse. It does not define what 'message metadata' includes, how limit/offset work, or what the response structure looks like, so an agent lacks critical information for correct invocation and result interpretation.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any parameter. It fails to compensate for the schema's lack of descriptions; the agent must infer the meaning of inboxId, limit, and offset solely from their names. This adds no value beyond the raw schema.

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

Purpose5/5

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

The description states a specific verb ('List') and resource ('message metadata for an inbox'), which clearly identifies the tool's operation and distinguishes it from sibling tools like inbox_list (lists inboxes) and inbox_message_get (retrieves a single message). The term 'metadata' also separates it from inbox_message_raw, which would return full raw content.

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

Usage Guidelines3/5

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

The description implies usage: use this tool when you need to list message metadata for a specific inbox. However, there are no explicit when-to-use or when-not-to-use instructions, nor any mention of alternatives or pagination best practices, leaving usage guidance mostly to inference from the tool name and description.

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

inbox_webhook_createAInspect

Register HTTPS webhook for email.received notifications (metadata only).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
secretNo

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It adds useful context by stating that notifications are metadata-only and signals mutation via 'Register'. But it does not describe what happens upon registration, whether the secret is used for payload signing, or any delivery/failure behavior.

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

Conciseness5/5

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

One compact sentence with the action front-loaded and zero wasted words. Every element — HTTPS, the event type, and the metadata-only scope — earns its place.

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

Completeness3/5

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

For a simple two-parameter create tool, the description is close to adequate but still has gaps: the secret parameter is undocumented, and there is no mention of the registration response or the fact that the webhook becomes active. With no output schema or annotations, slightly more context would be needed for fully confident invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for both parameters. It adds the HTTPS constraint for the url and the 'metadata only' qualifier, but leaves the secret parameter completely unexplained — its purpose, optionality, and format are all unknown to the agent.

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

Purpose5/5

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

The description uses a specific verb (Register) and resource (HTTPS webhook) and scopes it to the email.received event with a 'metadata only' qualifier. It clearly differentiates this tool from sibling tools like inbox_webhook_list, inbox_webhook_delete, and inbox_webhook_deliveries_list.

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

Usage Guidelines4/5

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

The purpose is clear enough for an agent to recognize this as the creation tool versus the list/delete/deliveries siblings. However, it gives no explicit when-to-use or when-not-to-use guidance, nor does it name any alternative, 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.

inbox_webhook_deleteCInspect

Disable an email webhook.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full responsibility for disclosing behavioral effects. It only says 'disable', which is minimal and slightly inconsistent with the tool name 'delete'. It does not disclose side effects, reversibility, impact on existing deliveries, or any required permissions.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no redundant content. It is concise but under-specified; there is no padding, though the brevity leaves meaningful gaps.

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

Completeness2/5

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

For a destructive, one-parameter operation with no annotations and no output schema, this description leaves gaps: no guidance on how to retrieve webhookId, no expected response, and no clarity on whether 'disable' means the same as 'delete'. The operation is trivial in complexity, but the surrounding operational context is still too thin.

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

Parameters2/5

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

The schema has one required string parameter, webhookId, with 0% description coverage, and the tool description adds no additional meaning beyond the parameter name. The description does not explain where webhookId comes from, its format, or how it relates to the webhook creation/list tools. The parameter is simple, but the description provides essentially no semantic help beyond the schema.

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

Purpose4/5

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

The description states a clear action, 'Disable', and a specific resource, 'an email webhook'. It is distinct from the sibling create/list/deliveries tools, though it does not explicitly contrast itself with them. The verb 'disable' also introduces slight ambiguity relative to the tool name 'delete', but the overall purpose is understandable.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus inbox_webhook_create, inbox_webhook_list, or inbox_webhook_deliveries_list. There are no prerequisites, no mention of how to obtain a webhookId, and no note about whether the action is reversible or permanent. The agent must infer usage entirely from the tool name and siblings.

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

inbox_webhook_deliveries_listAInspect

List recent webhook delivery attempts. Use status=failed for delivery failures after all retries.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
statusNo
webhookIdNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does add value by clarifying that 'failed' means failures after all retries have been exhausted, which goes beyond the raw enum. However, it does not disclose ordering, pagination behavior, or how webhookId scopes results, leaving some behavioral gaps.

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

Conciseness5/5

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

Two short sentences with no filler. The main action is front-loaded, and the useful status guidance earns its place in the second sentence.

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

Completeness3/5

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

For a simple list tool with no required parameters and a clear enum, the description is minimally viable. It covers the primary use case (filtering by failed status) but omits details about pagination defaults, ordering, and whether webhookId is a required filter. Given the low schema coverage and absence of annotations, this is a clear gap, but the tool's simplicity keeps it from being inadequate.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for all four parameters. It only explains the semantics of status=failed; limit, offset, and webhookId are left entirely to their self-evident names. This is a meaningful gap for a tool with no parameter documentation in the schema.

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

Purpose5/5

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

The description uses a specific verb (List), a specific resource (recent webhook delivery attempts), and a scope qualifier ('recent'). This clearly distinguishes it from the sibling tool inbox_webhook_list, which lists webhooks themselves rather than delivery attempts.

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

Usage Guidelines4/5

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

The description provides concrete usage guidance: 'Use status=failed for delivery failures after all retries.' This tells the agent how to filter for the most common diagnostic case. It does not explicitly compare with alternatives, but the resource distinction is clear from the tool name and description.

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

inbox_webhook_listAInspect

List registered email webhooks.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. 'List' implies a non-mutating operation, and 'registered' limits scope to previously created webhooks. It does not disclose pagination, ordering, or permission requirements, but these are less critical for a parameterless list tool.

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

Conciseness5/5

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

The description is a single sentence with no filler. It is front-loaded with the action and resource, making it immediately scannable for an agent.

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

Completeness4/5

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

For a parameterless listing tool, the description is functionally complete: it states what is returned. It does not describe output shape or pagination, but no output schema exists and these are commonly unnecessary for a simple list operation.

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

Parameters4/5

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

The tool has no parameters and schema coverage is 100%, so there are no parameter semantics to document. The description correctly needs no parameter details, meeting the baseline for zero-parameter tools.

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

Purpose5/5

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

The description uses a specific verb ('List') and resource ('registered email webhooks'). It clearly distinguishes itself from siblings like inbox_webhook_create, inbox_webhook_delete, and inbox_webhook_deliveries_list by focusing on the list of registered webhooks themselves.

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

Usage Guidelines3/5

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

Usage context is implied by the verb 'List': this is the read-only enumeration tool among the webhook siblings. However, it does not explicitly state when to use it versus alternatives or mention any filtering or prerequisite context.

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

inspect_storageBInspect

Summarize namespaces, key counts, file/vector inventory

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

The word 'Summarize' implies a read-only, non-mutating operation, which is the main behavioral signal. However, with no annotations, the description carries the full burden and does not state whether it scans all namespaces, whether there are rate limits, or whether any side effects occur. It is adequate but minimal.

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

Conciseness5/5

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

The description is seven words long, front-loads the action verb, and contains no filler or redundant phrasing. Every word contributes to defining the tool's purpose, making it appropriately concise for a parameterless tool.

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

Completeness3/5

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

For zero parameters, the core operation is understandable enough to select the tool, and invocation needs no arguments. However, there is no output schema or annotation to clarify what the summary looks like or how it relates to sibling inventory/list tools. The description is functional but leaves meaningful ambiguity.

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

Parameters4/5

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

The tool has zero parameters, so there is no schema detail for the description to supplement. The description adds semantic focus by naming what is summarized, which is the only parameter-related context needed for a parameterless tool.

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

Purpose4/5

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

The description states a clear operation, 'Summarize', applied to storage inventory and namespaces. It lists specific output dimensions (key counts, file/vector inventory), which helps an agent understand the scope. However, it does not explicitly differentiate itself from sibling tools like files_list, kvp_list, or usage_get, so it misses the top score.

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

Usage Guidelines2/5

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

There is no when-to-use guidance or mention of alternatives. The agent must infer from the name and description that this is for high-level overviews, but it is not told when to choose this over files_list, kvp_list, or usage_get. No exclusions 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.

keys_createBInspect

Mint a run or sub API key from an account key (REST POST /api/keys). Requires account tp_ key.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
nameNo
toolsNo
opBudgetNo
namespacesNo
ttlSecondsNo
wipeOnExpireNo

TDQS

B3.3/5.0
Behavior2/5

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

The description does not disclose behavioral side effects beyond stating that it mints a key. It doesn't mention what the tool returns, whether it consumes quota, if it's reversible, or any failure modes. Given there are no annotations to cover safety or side effects, the description carries the full burden and falls short.

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

Conciseness5/5

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

The description is a single, compact sentence that front-loads the core action ('Mint a run or sub API key') and immediately follows with the key prerequisite. Every word earns its place; there is no fluff or redundancy.

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

Completeness2/5

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

For a tool with 7 parameters and no output schema, the description is severely incomplete. It lacks explanations of all parameters, differences between run and sub keys, what the response contains, and any constraints (e.g., ttl, permissions). Even with the prerequisite stated, an agent would struggle to call the tool correctly without further documentation.

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

Parameters2/5

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

The schema has 7 parameters with zero description coverage. The description only implies the 'kind' parameter (run/sub) but provides no explanation for name, tools, opBudget, namespaces, ttlSeconds, or wipeOnExpire. This fails to compensate for the schema's lack of documentation.

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

Purpose5/5

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

The description uses the specific verb 'mint' with the resource 'API key', and clearly states it creates either run or sub keys. It also includes the REST endpoint (POST /api/keys), which unambiguously identifies the operation. This clearly defines the tool's purpose and distinguishes it from any potential sibling by describing its exact output.

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

Usage Guidelines3/5

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

The description mentions a prerequisite ('Requires account tp_ key'), which is important but doesn't provide guidance on when to choose run vs sub keys or when not to use this tool. Since no sibling tools create keys, explicit alternatives aren't necessary, but the lack of differentiation between run and sub keys leaves some usage ambiguity.

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

kvp_deleteCInspect

Delete a KVP key

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
namespaceYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Delete' correctly indicates a destructive operation, but it does not disclose whether deletion is irreversible, what happens when the key does not exist, whether the namespace is affected, or any permission requirements. For a destructive tool, this is a meaningful transparency gap.

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

Conciseness4/5

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

The description is a single efficient sentence with no padding or repetition. It is front-loaded and easy to parse. The brevity is appropriate for a simple operation, though it sacrifices informative detail.

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

Completeness2/5

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

The operation is simple, but the description leaves out behavioral and output context. There is no output schema, no mention of return values, error behavior, or side effects. Given that this is a destructive tool with no annotations, more context is needed for an agent to confidently invoke it.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning beyond the property names 'namespace' and 'key'. It does not explain what a namespace is, what format the key should take, or how the two parameters relate. The description fails to compensate for the lack of schema documentation.

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

Purpose4/5

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

The description states a clear verb and object: 'Delete a KVP key'. This unambiguously identifies the operation and distinguishes it from sibling tools like kvp_get, kvp_list, and kvp_put. It could be stronger by expanding 'KVP' and noting the namespace scope, but the core purpose is clear.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives. There is no mention of kvp_put, kvp_get, or kvp_list, and no exclusions or conditions. The agent must infer usage purely from the word 'delete'.

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

kvp_getCInspect

Read a value from namespaced KVP storage

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
namespaceYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Read a value,' but does not explain what happens when the key is missing, whether namespaces must already exist, or what the return value 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.

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler or redundant restatement of the tool name. It earns its place, though it sacrifices useful detail.

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

Completeness2/5

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

For a tool with no annotations and no output schema, this description lacks important context about return behavior, missing-key handling, and namespace semantics. It is minimally callable from the schema but not fully specified for an agent to use confidently.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not compensate by explaining 'namespace' or 'key' beyond the generic storage concept. An agent has to infer the meaning and relationship of both required parameters.

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

Purpose4/5

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

The description states a specific action ('Read') and a specific resource ('a value from namespaced KVP storage'), making the core purpose clear. It implicitly distinguishes from siblings like kvp_list and kvp_put, though it does not explicitly name them.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as kvp_list, kvp_put, or kvp_delete. No conditions, exclusions, or alternative selection criteria are mentioned.

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

kvp_listCInspect

List keys in a KVP namespace

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
namespaceYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'List keys' implies a read-only operation, but it does not mention pagination behavior, whether results are returned in chunks via limit/cursor, ordering, or any side effects. This is a significant gap for a tool with cursor and limit parameters.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler or redundancy. It is appropriately concise for a simple read operation, though its brevity comes at the cost of missing useful pagination and usage details.

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

Completeness2/5

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

Given the tool has three parameters, no output schema, and no annotations, the description is not complete enough. It omits pagination semantics, what keys look like, whether values are included, and how the response is structured. An agent would likely need to inspect test responses or additional documentation to use it reliably.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It clarifies that 'namespace' refers to a KVP namespace, but it does not explain the 'limit' or 'cursor' parameters, which are central to using the tool correctly. The parameter meaning is left entirely to inference from names.

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

Purpose5/5

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

The description states a specific verb ('List'), a specific resource ('keys'), and the scope ('in a KVP namespace'). This clearly distinguishes it from sibling tools like kvp_get, kvp_put, and kvp_delete, which operate on single key-value pairs rather than enumerating keys.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It does not mention that it is for enumeration rather than fetching a single key, nor does it contrast with keys_create or other listing tools. The agent must infer usage from the tool name alone.

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

kvp_putBInspect

Store a string value under a namespace/key. Response includes budget remaining.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
valueYes
namespaceYes
expirationTtlNo

TDQS

B3.1/5.0
Behavior2/5

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. It mentions that the response includes budget remaining, which is useful, but it does not clarify overwrite semantics, idempotency, namespace/key constraints, or whether the operation consumes budget beyond an implicit write.

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

Conciseness5/5

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

The description is extremely compact, with no filler. The core behavior is stated first, and the response detail is included in a second concise sentence.

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

Completeness2/5

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

Given four parameters, no output schema, no annotations, and no parameter descriptions, the description is too sparse to fully support correct invocation. It does not explain expirationTtl, overwrite behavior, or failure conditions, so an agent would likely need to guess or call the tool to discover behavior.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds context for namespace/key and value, but the optional expirationTtl parameter is completely unexplained, leaving a required aspect of the API behavior undocumented.

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

Purpose5/5

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

The description uses a specific verb ('Store') and names the resource ('a string value under a namespace/key'). This clearly distinguishes the write operation from sibling tools like kvp_get, kvp_list, and kvp_delete without ambiguity.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives, such as when to choose kvp_put over kvp_update or kvp_delete. The behavior of the optional expirationTtl and any constraints are also absent.

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

run_finishAInspect

Wipe all namespaces bound to this run key and return a signed wipe receipt. Only valid for run keys.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It explicitly discloses the destructive scope ('Wipe all namespaces bound to this run key') and the response ('signed wipe receipt'). It does not state auth requirements or irreversibility, but 'wipe' semantically conveys permanent destruction, making the behavior reasonably transparent.

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

Conciseness5/5

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

Two short sentences deliver the action, scope, return value, and validity condition with no filler. The most important information is front-loaded, and every clause earns its place.

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

Completeness4/5

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

For a simple, zero-parameter cleanup tool, the description covers what it does, what it returns, and when it is valid. The return format of the 'signed wipe receipt' is not detailed, but the absence of an output schema makes this a minor gap rather than a blocking omission.

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

Parameters4/5

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

The tool has zero parameters and the schema is effectively complete, so there are no parameter semantics needed. The description mentions the implicit run-key context, which is helpful, and the baseline for a 0-parameter tool is appropriate.

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

Purpose5/5

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

The description states a specific verb ('Wipe'), the exact resource scope ('namespaces bound to this run key'), and the expected output ('signed wipe receipt'). This clearly differentiates the tool from generic cleanup or key-management operations and aligns with the run_finish name without being a tautology.

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

Usage Guidelines4/5

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

The description provides clear context by stating the tool is 'only valid for run keys', which tells the agent the applicable domain and excludes non-run-key usage. It does not name alternative tools, but this is a fairly unique operation, so the context is sufficient for correct selection.

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

support_contactAInspect

Contact Tillpad support from a Pro account. Delivers your subject and message to the Tillpad team; replies go to the account email. Requires an active Pro subscription.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYes
subjectYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It clearly says the subject and message are delivered to the Tillpad team and that replies go to the account email. It does not describe async behavior, ticketing, or failure modes, but the core side effect is disclosed.

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

Conciseness5/5

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

The description is two sentences with no filler. The primary purpose and prerequisite are front-loaded, and every sentence adds useful information.

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

Completeness4/5

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

For a simple two-parameter support contact tool, the description covers what it does, who receives the message, where replies go, and the required subscription state. It does not describe what happens on failure or whether the contact creates a ticket, but these are minor for this tool's complexity.

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

Parameters3/5

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

The schema has no descriptions for its two parameters, so the description must compensate. It adds purpose by saying 'your subject and message' are delivered, which clarifies that both parameters are sent. However, it does not explain expected content, formatting, or constraints beyond the schema's names and types.

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

Purpose5/5

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

The description states a specific verb ('contact') and resource ('Tillpad support'), and clarifies it is from a Pro account. It distinguishes the tool from its siblings by naming the team and the message-delivery purpose.

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

Usage Guidelines4/5

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

The description explicitly states that an active Pro subscription is required and that the tool is for contacting support from a Pro account. It does not name alternatives or exclusions, but the intended usage context is clear.

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

usage_getAInspect

Get current period usage and quotas for the authenticated account

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral transparency burden. 'Get' implies a read-only operation and 'authenticated account' conveys scope, but it does not disclose response format, period boundaries, or any other behavioral details. It is adequate but minimal.

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

Conciseness5/5

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

The description is a single sentence with no filler. It front-loads the verb and resource and omits unnecessary detail.

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

Completeness4/5

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

For a zero-parameter read-only tool, the description is largely complete. The main gap is ambiguity around what 'current period' means and what the response structure looks like, especially since no output schema exists.

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

Parameters4/5

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

The tool has zero parameters, so there is no parameter documentation burden. The description adds meaningful context about what the returned data represents, which is sufficient for a parameterless call.

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

Purpose4/5

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

The description clearly states a specific action ('Get') and resource ('current period usage and quotas') for the authenticated account. It is unambiguous, but it does not differentiate from siblings like budget_get or inspect_storage, so it lacks explicit sibling distinction.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as budget_get or inspect_storage. The description gives context but no usage conditions or exclusions.

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. Dates show when Glama detected each change.

  1. 19 tool updates
    • Addedbilling_portal
    • Addedbilling_purchases_list
    • Changedbudget_estimate1 field changed
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "kvp_ops",
        -  "storage_bytes",
        -  "rag_index",
        -  "rag_query"
        -]New value: +[
        +  "kvp_ops",
        +  "storage_bytes",
        +  "rag_index",
        +  "rag_query",
        +  "inbound_email"
        +]
    • Addedinbox_attachment_get
    • Addedinbox_audit_list
    • Addedinbox_blocklist_add
    • Addedinbox_blocklist_delete
    • Addedinbox_blocklist_list
    • Addedinbox_create
    • Addedinbox_delete
    • Addedinbox_get
    • Addedinbox_list
    • Addedinbox_message_get
    • Addedinbox_message_raw
    • Addedinbox_messages_list
    • Addedinbox_webhook_create
    • Addedinbox_webhook_delete
    • Addedinbox_webhook_deliveries_list
    • Addedinbox_webhook_list
  2. 17 tool updates
    • First observedagent_bootstrap
    • First observedbilling_machine_pay
    • First observedbudget_estimate
    • First observedbudget_get
    • First observedfile_upload
    • First observedfiles_list
    • First observedfiles_types
    • First observedinspect_storage
    • First observedkeys_create
    • First observedkvp_delete
    • First observedkvp_get
    • First observedkvp_list
    • First observedkvp_put
    • First observedrag_search
    • First observedrun_finish
    • First observedsupport_contact
    • First observedusage_get

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.2/5.0
Disambiguation4/5

Most tools are named as resource+action and target distinct surfaces (inbox, kvp, files, billing), so an agent can generally select the right tool. A few pairs like budget_get vs usage_get and inbox_message_get vs inbox_message_raw have adjacent purposes, but their descriptions mostly clear up the boundary.

Naming Consistency4/5

The predominant convention is snake_case noun_verb, e.g. kvp_get, inbox_create, files_list. Minor deviations like inspect_storage (verb-noun) and bare noun names such as billing_portal and files_types slightly break the pattern.

Tool Count2/5

With 35 tools, the server is well above the 25+ threshold and bundles many subdomains—billing, KVP, inbox, RAG, files, keys, support—into one surface. It would be more coherent as separate servers or with a significantly trimmed inbox tool set.

Completeness3/5

Core workflows are mostly covered: inbox lifecycle, webhooks, KVP CRUD, billing, and usage are solid. However file upload has no corresponding delete/remove tool, and keys have create but no list/revoke, leaving noticeable lifecycle gaps.