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

TDQS

B3.2/5.0

Scored across 35 tools

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.

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 present, the description carries the burden of behavioral disclosure. It usefully states 'no outbound mail' and implies the response contains a bootstrapToken. However, it does not disclose token lifetime, idempotency, authorization requirements, or error behavior.

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

Conciseness5/5

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

Two sentences with no filler. The core action is front-loaded, and the second sentence adds valuable follow-up guidance without bloating the description.

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

Completeness3/5

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

For a simple 2-parameter tool, the description provides a usable workflow: create token from email, then use it with billing_machine_pay. But it omits label semantics, response format details, and any failure/edge-case context, so it is adequate 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%, so the description must compensate. It makes it clear that email is the input from which the token is created, but it says nothing about the optional label parameter, leaving its purpose entirely unexplained.

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

Purpose5/5

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

The description clearly states the action: 'create bootstrap token from email'. It also distinguishes this tool from siblings by noting it has 'no outbound mail' and by naming the next step, billing_machine_pay, making the tool's role in the onboarding flow unambiguous.

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

Usage Guidelines4/5

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

It gives explicit usage context: 'Start zero-human onboarding'. It also tells the agent what to do next with the result, which is practical workflow guidance. It does not explicitly mention alternatives or when not to use this tool, but the context is clear enough.

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

billing_machine_payAInspect

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

A4.1/5.0
Behavior4/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 that the tool returns a POST URL and amount and that the agent must call HTTP with the MPP Payment credential—key information about side effects and what the agent must do next. It stops short of discussing idempotency or failure modes, but covers the central 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?

Three short sentences cover purpose, the parameter, and the required follow-up action with no filler. The most important operational detail—that the agent must call the returned URL with a credential—is stated directly.

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 tool with one optional parameter and no output schema, the description is close to complete: it mentions the default SKU, the return shape, and the next action. It does not specify where the MPP Payment credential comes from, but this is a minor gap given the simple contract.

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?

Schema description coverage is 0%, so the description must compensate. It adds the default value (pro_prepaid_30d) and confirms sku is optional. The enum values themselves are self-descriptive enough that listing them again would add little; the main semantic gap is not explaining when each SKU is appropriate.

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 purpose: unlocking Pro or purchasing agent SKUs via Stripe MPP, and explains the concrete deliverable (POST URL and amount). It is not a tautology and is distinguishable from siblings like usage_get and budget_get, though it does not explicitly name an alternative.

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 opening sentence makes the intended trigger explicit: use this when the agent needs to unlock Pro or buy agent SKUs. It does not provide exclusion criteria or name alternatives, but there are no close sibling payment tools, so the context is reasonably clear.

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_getBInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description carries the full behavioral burden. It implies a read-only operation with "Get" but does not clarify whether values are cached, whether the checkout URL is dynamically generated, what "soft thresholds" mean, or what side effects, if any, occur. Key behavioral context is missing.

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

Conciseness5/5

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

The description is a single tight sentence that begins with the action and lists the three return categories. It contains no filler, redundancies, or irrelevant details, making it highly concise and easy to parse.

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 zero-parameter tool, the description lists the primary return items, which covers the basics. However, it does not explain the meaning of "soft thresholds" or the circumstances under which the checkout URL is relevant. Given the sibling tools budget_estimate and billing_machine_pay, some contextual linkage would improve completeness.

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 zero parameters and 100% schema coverage. There are no parameters to document, so the baseline is 4. The description appropriately focuses on the tool's output rather than non-existent inputs.

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

Purpose4/5

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

The description states a clear verb-resource pair: "Get remaining quotas, soft thresholds, and checkout URL for topping up." It identifies the budget resource and enumerates the specific outputs. It does not explicitly distinguish itself from siblings like usage_get or budget_estimate, but the listed outputs make its purpose reasonably identifiable.

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 indication of when to use this tool versus alternatives such as budget_estimate or billing_machine_pay. It does not mention exclusions, prerequisites, or a preferred decision path. There is no guidance beyond the basic action.

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

files_listCInspect

List uploaded files (optionally filter by namespace)

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceNo

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 must fully disclose behavior. It states the list operation is read-only in tone, but it does not explain return format, pagination, ordering, default behavior when namespace is omitted, or any error/edge cases. This leaves significant 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?

The description is a single, front-loaded sentence with no filler. Every word adds information: the operation, the resource, and the filtering capability. This is appropriately concise for a one-parameter listing 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?

Given the tool has no annotations, no output schema, and a 0% schema description coverage, the description is too sparse. It fails to mention what the response looks like, whether the result is a list of metadata or contents, or the effect of omitting namespace. While the tool is simple, the available context is insufficient for confident invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does clarify that namespace is an optional filter, which adds some meaning, but it does not explain valid namespace values, default behavior when omitted, or how filtering behaves. The meaning is barely more than the parameter name provides.

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 clear verb ('List') and a specific resource ('uploaded files'), and notes an optional namespace filter. It does not explicitly contrast with sibling tools like file_upload or files_types, but the resource and action are specific enough to avoid major 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?

The description implies the tool is for retrieving uploaded files, optionally filtered by namespace, but it gives no explicit guidance about when to use it instead of related tools such as kvp_list, inspect_storage, or files_types. No exclusions or alternatives are mentioned.

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?

There are no annotations, so the description carries the full burden of behavioral disclosure. It makes clear the tool is a read-only listing operation and specifies the categories of information returned. For a simple, non-mutating tool this is sufficiently transparent, though it could have explicitly stated it has no 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.

Conciseness5/5

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

A single sentence that is concise, front-loaded with the main verb and resource, and includes the key detail about what the list covers. There is no filler or repetition of schema information.

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 parameterless informational tool with no output schema, the description is complete: it states the action, the subject, and the expected content categories. An agent has everything it needs to decide to call this tool and interpret the response.

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 semantics to clarify. The baseline of 4 applies, and the description enriches understanding by explaining what the returned list will contain. No additional parameter guidance is needed.

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 ('supported RAG upload file types'), and further clarifies the content as extensions, MIME types, and extract notes. This clearly distinguishes it from sibling tools like file_upload and files_list, which operate on actual files rather than type metadata.

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 usage context is implied rather than stated: an agent would naturally call this before doing a RAG file upload to check supported types. However, there is no explicit guidance about when to use this tool versus alternatives, nor any statement of when not to use it. The description is adequate but leaves the selection logic to inference.

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

file_uploadCInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
filenameYes
namespaceYes
contentTypeNo

TDQS

C2.8/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 adds an odd, likely typo'd hint, 'PrefLights rag_index capacity,' which might mean the tool preflights RAG index capacity, but this is unclear. It does not disclose persistence behavior, indexing timing, overwrite rules, or required permissions.

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

Conciseness3/5

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

The description is compact and the primary purpose is front-loaded. However, the second sentence is cryptic and appears garbled ('PrefLights rag_index capacity'), reducing clarity instead of earning 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 four-parameter tool with no annotations and no output schema, the description is incomplete. It fails to clarify the filename/contentType parameters, the meaning of the capacity preflight, or what happens after an upload, leaving an agent with significant uncertainty.

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 meaning around 'namespace' and 'UTF-8 text document,' but leaves 'filename' and 'contentType' unexplained, and provides no param-level detail beyond the schema's bare names.

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 identifies a specific action ('Upload a UTF-8 text document for RAG indexing into a namespace'), which clearly conveys the tool's function and resource. It does not explicitly distinguish itself from sibling tools, but its upload-for-RAG purpose is reasonably unique among the listed siblings.

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

Usage Guidelines3/5

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

The intended use is implied by the phrase 'for RAG indexing into a namespace.' However, there is no explicit guidance on when to prefer this over alternatives such as files_list or rag_search, nor any exclusion conditions.

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.2/5.0
Behavior2/5

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

With no annotations provided, the description alone must disclose behavior. The word 'Summarize' implies a read-only aggregate operation, but it doesn't explicitly state whether this causes side effects, requires permissions, or may be expensive on large storage. The return format is also undisclosed.

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 phrase with no filler words. It front-loads the action and lists the scope efficiently. 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 zero-parameter tool, the description gives a reasonable idea of what is summarized, but there is no output schema and no behavioral context such as result shape, pagination, or cost implications. The description is minimally viable but leaves the agent unsure what response 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 zero parameters, so there is nothing for the description to explain about parameters. The description's listed items are output categories rather than parameters, which is appropriate for a no-argument 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 specific verb, 'Summarize', and a resource scope: 'namespaces, key counts, file/vector inventory'. This clearly identifies what the tool does, though it doesn't differentiate it from similarly named siblings like files_list or kvp_list.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like files_list, kvp_list, or usage_get. An agent is left to infer that 'inspect_storage' is the aggregate/browse operation, but no explicit context or exclusions are given.

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

keys_createAInspect

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

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It reveals a prerequisite and the REST endpoint, but does not state that this is a mutating and potentially billing-relevant action, whether the created key secret is shown only once, or whether there are side effects like key invalidation or expiration 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?

The description is a single front-loaded sentence with no filler; both clauses add useful information about what is minted and what is required. It is appropriately sized for the core action, even though more context is needed elsewhere.

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

Completeness2/5

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

For a tool with no annotations and no output schema, the description is incomplete. It does not explain what the response looks like, whether the created key is sensitive or single-return, how the account-key prerequisite relates to the parameters, or what the operational consequences of minting a key are.

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 needed to compensate for the seven parameters. It only echoes the kind enum via 'run or sub' and leaves opBudget, namespaces, ttlSeconds, wipeOnExpire, tools, and name unexplained, so an agent cannot confidently configure them.

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 concrete action ('Mint'), the object ('run or sub API key'), and the source ('account key'), making what the tool does unambiguous even without the name. It also aligns with the required kind parameter and is clearly distinct from the unrelated sibling tools.

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 conveys the intended context: create a run or sub API key only when you have an account tp_ key. It does not explicitly list when-not-to-use or alternatives, but no sibling performs a similar key-creation function, so this is a minor gap.

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 of behavioral disclosure. It only states 'Delete,' without addressing whether deletion is permanent, what happens when the key does not exist, or whether the namespace/key must already be present. This is minimal transparency for a destructive operation.

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 repeated detail. It is efficient, though extremely terse; brevity is appropriate here, but the lack of supporting context prevents a higher score.

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

Completeness2/5

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

With no annotations, no output schema, and no parameter descriptions, the description is the only source of guidance. It fails to mention return behavior, error semantics, delete scope, or namespace roles, leaving important context unspecified for a delete operation.

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 0% description coverage, and the description adds no meaning for the 'namespace' or 'key' parameters. An agent is left to infer that namespace scopes the store and key identifies the entry, but the description does not communicate this.

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 ('Delete') and resource ('a KVP key'), and the deletion verb separates it from sibling tools like kvp_get, kvp_list, and kvp_put. It is slightly redundant with the tool name, but still gives an agent enough to understand the fundamental operation.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives, no mention of prerequisites, and no exclusions. The verb 'Delete' implies its use case, but the description does not explicitly contrast it with kvp_put, kvp_get, kvp_list, or keys_create.

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.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. It says 'Read' which implies a non-mutating operation, but it does not disclose behavior on missing keys, return type, error semantics, or potential side effects. The description adds little beyond what the name 'kvp_get' already suggests, so it falls short of providing meaningful behavioral context.

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

Conciseness4/5

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

The description is a single, front-loaded sentence: 'Read a value from namespaced KVP storage.' Every word contributes, and it avoids redundancy or filler. It is concise and structured appropriately, though it could have included more guidance without becoming bloated.

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 read tool, the description is minimally viable: it states the operation and hints at namespacing. However, with no output schema and no annotations, it does not explain the return value format or behavior when a key is absent. It covers the essence of the tool but leaves gaps that an agent might need to resolve through trial or additional knowledge.

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 parameter meaning. The word 'namespaced' hints that 'namespace' acts as a scoping partition, which is a small useful signal. However, it says nothing about the 'key' parameter, value formats, or namespace lifecycle, leaving most parameter semantics to be inferred from the schema names alone.

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

Purpose4/5

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

The description uses a specific verb ('Read') and identifies a tangible resource ('value from namespaced KVP storage'), making the core operation clear. It distinguishes itself from sibling tools like kvp_put, kvp_delete, and kvp_list through the singular 'a value' vs listing, though it never explicitly names alternatives or conditions. This is clear but not maximally explicit about sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as kvp_list for enumeration or kvp_put for writing. It only states the action, leaving the agent to infer usage from the tool name and parameter schema. There are no exclusions, prerequisites, or routing hints.

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.7/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 disclosing behavior. It only states that keys are listed and does not mention pagination via cursor, the effect of limit, ordering, namespace requirements, or failure behavior. These are meaningful gaps for a 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.

Conciseness4/5

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

The description is a single sentence with no filler and is appropriately front-loaded. It is efficient, but the brevity contributes to missing useful details such as limit and cursor behavior, so it is not maximally helpful.

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 3 schema parameters with 0% coverage, no annotations, and no output schema, the description is not sufficient for an agent to use the tool correctly. It omits pagination semantics, the meaning of limit, and any namespace-related edge cases or expectations.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only clarifies that 'namespace' refers to a KVP namespace. The purpose of 'limit' and 'cursor' parameters is left entirely unspecified, so the description only partially compensates for the missing schema documentation.

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

Purpose4/5

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

The description uses a specific verb ('List') and resource ('keys in a KVP namespace'), which makes the core action clear and naturally distinguishes it from kvp_get, kvp_put, and kvp_delete. However, it does not explicitly differentiate itself from sibling tools or define the 'KVP' acronym, so it falls just short of a perfect 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?

No guidance is given about when to use this tool versus alternatives like kvp_get or kvp_put, nor are there any exclusions or contextual hints. An agent must infer usage solely from the tool name and the brief description.

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.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 behavioral burden. It does disclose one useful behavior: the response includes budget remaining, which suggests the operation consumes budget. However, it does not mention overwrite semantics, whether the key is created or updated, default expiration behavior, or error conditions.

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

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 core operation and adds a relevant response detail (budget remaining) without redundancy.

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

Completeness3/5

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

For a simple key-value write tool, the description covers the primary action and the response's budget field, but it omits guidance on TTL, overwrite behavior, and why a budget-related response matters. Given the lack of annotations and output schema, a bit more context would help an agent invoke it correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It names namespace, key, and value and indicates value is a string, but it adds no detail about namespace/key constraints, value length limits, or the meaning of expirationTtl. The optional fourth parameter is entirely undocumented in the description.

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

Purpose5/5

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

The description names a specific verb ('Store'), a concrete resource (a string value under a namespace/key), and clearly implies a write operation distinct from sibling tools like kvp_get, kvp_delete, and kvp_list. An agent can identify what this tool does without opening the schema.

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

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 alternatives such as kvp_get, kvp_delete, or keys_create. The sibling names imply a contrast, but the description itself does not state conditions, exclusions, or preferred alternatives.

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.5/5.0
Behavior4/5

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

No annotations are present, so the description bears the full burden. It clearly discloses the destructive nature ('Wipe'), the scope (run-key namespaces), and the output (signed receipt). It does not explicitly warn of irreversibility or auth requirements, but for a zero-parameter tool this is substantive.

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 that front-loads the action and resource, then adds a necessary validity caveat. There is 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?

For a zero-parameter tool with no output schema, the description is complete: it says what will be destroyed, the scope, and what is returned. An agent has everything needed to invoke the tool 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?

The schema has no properties, so the zero-parameter baseline of 4 applies. The phrase 'this run key' provides implicit execution context without requiring parameters, which is consistent with a parameterless invocation.

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 destructive action ('Wipe all namespaces bound to this run key') and the expected return ('signed wipe receipt'). It clearly distinguishes from sibling tools like kvp_delete, which targets a stored value rather than run-key namespaces.

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 constrains usage to run keys ('Only valid for run keys'), signaling it is not for other key types. It does not name alternatives, but no sibling tool performs a comparable namespace wipe, so the context is sufficient for 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.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It explicitly states that the subject and message are delivered to the Tillpad team and that replies go to the account email, which covers the main side effects of the operation. It does not mention failure modes or whether delivery is asynchronous, but the disclosed behavior is meaningful and appropriate for the tool's simplicity.

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 three short sentences with no redundant content. It front-loads the core purpose, then adds delivery and eligibility details. Every sentence contributes useful information without unnecessary elaboration.

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?

Given the low complexity of the tool, two string parameters, and no output schema, the description provides the essential context: what the tool does, where messages go, how replies are received, and the subscription requirement. A minor gap is the lack of any statement about immediate confirmation or behavior when the active-Pro condition is not met, but the description is otherwise adequate for correct invocation.

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 for both parameters. The description mentions 'subject and message' and connects them to the delivery behavior, but it adds little beyond the property names themselves and provides no constraints, length limits, or formatting guidance. This is minimally adequate for two self-explanatory string 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 clearly identifies a specific verb and resource: 'Contact Tillpad support' from a Pro account. It further specifies the outcome (delivering subject/message to the Tillpad team) and the reply destination, making the tool's purpose unambiguous and distinct from the unrelated sibling tools.

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 a clear usage context: it is the tool for contacting Tillpad support and requires an active Pro subscription. It does not explicitly name alternatives or exclusions, but no sibling tool appears to serve a similar support-contact purpose, so the usage guidance is sufficiently 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

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 behavioral disclosure burden. The 'Get' verb implies a read-only operation and 'authenticated account' signals an auth requirement, but there is no mention of period boundaries, quota reset timing, or response shape. For a zero-parameter read-only tool this is moderately adequate but not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler or redundancy. Every word contributes meaning.

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?

Given zero parameters, no annotations, and no output schema, the description is mostly sufficient for an agent to invoke the tool correctly. It clearly identifies the resource and scope, though it leaves return-value details unspecified.

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, so the schema has nothing to document and the description correctly adds no parameter details. The baseline 4 for no-parameter tools applies here.

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 ('Get') with a specific resource ('current period usage and quotas') and a clear scope ('for the authenticated account'). This is more than a tautology and distinguishes it from siblings like budget_get and files_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 description provides clear context by specifying 'current period' and 'authenticated account', which helps an agent decide this is the right tool for account-level usage/quota queries. It does not explicitly name alternatives or exclusions, but the resource is unambiguous enough to route selection.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides append-only, tamper-evident local receipts for AI agent actions, capturing command executions, outputs, and handoff evidence.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to operate through a local, signed boundary that blocks prompt injection and secret leakage, verifies outputs, preserves cross-session memory, and provides offline-verifiable receipts. It also exposes 900+ MCP tools for discoverable agent actions.
    7
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.