Skip to main content
Glama

Server Details

Can an AI agent use this software? Levels from real agent test drives: sign-up, keys, use, pay.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.5/5.0

Scored across 26 tools

Disambiguation4/5

Most tools have clearly distinct roles, and the claim flow (claim_domain → send_claim_code → verify_claim) is explicitly staged. However, the discovery family (search_tools, find_tools_for_task, get_tool, list_categories) and the payment family (order, pay_order, top_up, pay_code, pay_check) have overlapping surfaces that an agent could reasonably confuse, even though descriptions differentiate them.

Naming Consistency4/5

The set overwhelmingly follows a snake_case verb_noun pattern (cancel_monthly, claim_domain, find_tools_for_task, send_claim_code, withdraw_order). A handful of noun-only names (balance, case_status, order, whoami) deviate but remain readable and predictable.

Tool Count3/5

26 tools is above the comfortable range and feels heavy; the domain (directory, claims, orders, payments, subscriptions, drives, support) is broad but some tools could likely be consolidated. Each tool does earn a place, so it is borderline rather than excessive.

Completeness4/5

Coverage is strong: discovery, a full claim/verify lifecycle, ordering, multiple payment paths, subscriptions, drives, re-checks, disputes, account, and support are all present. The main gap is account deletion, which is documented only as a raw API call rather than a tool.

Available Tools

26 tools
balanceYour credit for paid callsA
Read-onlyIdempotent
Inspect

Your prepaid credit for paid calls (top_up): the balance, the calls it pays, when it expires, each top-up with its receipt, and the history (calls by day, refunds, expiry). Needs your API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly=true, idempotent=true, destructive=false, and a closed world, so the safety profile is covered. The description adds value beyond that by disclosing the auth requirement (API key) and the substantive return content — balance, expiry, per-top-up receipts, and daily/refund history — which is not derivable from the annotations.

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

Conciseness4/5

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

A single front-loaded sentence establishes the resource ('Your prepaid credit for paid calls') before listing what it reports. It is dense but every clause names distinct return content, so little is wasted; the parenthetical list is slightly heavy but 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?

With no output schema, the description carries the burden of describing what comes back, and it does so reasonably well (balance, calls paid, expiry, receipts, history). Combined with the API-key prerequisite, an agent has enough to call and interpret it correctly, though date-range or pagination behavior for the history is unstated.

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 takes zero parameters, so the baseline is 4. There is no parameter surface to document and the description appropriately spends its words on return semantics instead.

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 resource — prepaid credit / balance for paid calls — and enumerates its contents (balance, expiry, per-top-up receipts, call history). It references the sibling action top_up, giving an agent a clear handle on what this reads versus what that writes, though it does not distinguish itself from closer siblings like pay_check or my_orders.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer 'check my credit/balance,' and the description supplies a prerequisite ('Needs your API key') plus a link to top_up. There is no explicit when-to-use-this-vs-alternatives guidance naming pay_check, my_orders, or withdraw_order.

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

cancel_monthlyCancel the Monthly driveA
DestructiveIdempotent
Inspect

Cancels the Monthly drive: one product (order_id) or all of them. It runs to the end of the paid period. The listing stays, with its date.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idNoThe Monthly drive's order id, from my_orders; leave it out to cancel all of them

TDQS

A4/5.0
Behavior4/5

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

Adds meaningful behavior beyond annotations: cancellation runs to the end of the paid period and the listing remains with its date. Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so this timing/lifecycle detail is the true value-add. It does not specify auth requirements or how to recover a cancelled drive, but covers the key behavioral nuance.

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

Conciseness5/5

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

Three short sentences, zero waste, front-loaded with the verb and resource. The lifecycle note and listing-persistence note each earn their 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?

Complete for a single-parameter mutation tool: it explains scope, timing, and post-cancellation state. With no output schema, it reasonably omits return-shape details since the description says the listing persists, making the resulting state predictable.

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

Parameters3/5

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

Schema coverage is 100% and the schema already documents order_id and the leave-out-to-cancel-all semantics. The description repeats this scoping behavior but adds no format, syntax, or sourcing detail beyond what the schema provides; baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb+resource (cancels the Monthly drive) with clear scope: one product via order_id or all of them. The tool is distinguishable from siblings like drive_stop and switch_monthly without opening any schema.

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

Usage Guidelines3/5

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

The description implies usage (leave order_id out to cancel all) but gives no explicit when-to-use context, no prerequisites, and does not name alternative tools like switch_monthly or drive_stop that an agent might consider.

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

case_statusA support case's statusB
Read-onlyIdempotent
Inspect

A support case's state: open, waiting (an answer is on its way), answered (with the answer) or closed; the next step; a dispute's re-drive (queued, running, done). The key of the case's account, or the case_token support_ask gave without a key.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idYesThe case's id, from support_ask or dispute_result
case_tokenNoWithout a key: the token support_ask returned with the case

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description then adds genuinely useful behavioral context beyond them, since there is no output schema: it explains what each returned state means ('waiting (an answer is on its way)', 'answered (with the answer)') and covers the dispute re-drive states. It stops short of describing pagination or the overall response shape.

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 whole definition is a single semicolon-chained sentence that is compact but cryptic and not front-loaded with the operation. The phrase 'the next step; a dispute's re-drive (queued, running, done)' is dense and context-dependent. Every clause is short, but the structure forces the reader to parse instead of scan.

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

Completeness3/5

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

With no output schema, the description carries the burden of explaining return values, and enumerating the case states partially discharges that. However, ambiguous fragments like 'the next step' are undefined, and the way to distinguish case_id from case_token is left unclear. Adequate for a simple read-only status tool but with noticeable gaps.

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 100%, so both parameters are already documented. The description adds only marginal semantics ('the key of the case's account, or the case_token ... without a key'), which is a slightly confusing rewording of the either/or the schema already states. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose3/5

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

The name 'case_status' and title 'A support case's status' already signal the resource, and the description restates this by enumerating the possible states (open, waiting, answered, closed). It never states a verb like 'retrieve/get the status', so the purpose is implied by the value list rather than declared. It does not explicitly differentiate itself from siblings like support_ask or dispute_result, which only appear as sources of the id.

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

Usage Guidelines3/5

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

There is no explicit when/when-not guidance or named alternative. Usage is only implied by the reference to 'the case_token support_ask gave', which hints that this is called after support_ask creates a case. An agent can infer the workflow but the description never states the condition that selects this tool.

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

claim_domainClaim your product's domainA
Idempotent
Inspect

Step 1 of 3 (claim, verify, order): adds your product's domain. An account email on the domain (or a subdomain or parent of it) verifies it at once, unless the domain is one where anyone can get an address (a mailbox provider's, or ours: agentdrives.com, matfy.com) and queues its free check (private); pending then says why your address didn't. Otherwise it returns the ways to prove it: a code mailed to any address at the domain, a DNS TXT record, a meta tag on the home page or a file at /.well-known/agentdrive-verify.txt (the code: send_claim_code).

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNoDirectory slug, if listed
domainYesYour product's domain, e.g. acme.com

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses the tiered verification logic (account email on the domain verifies instantly), the carve-out for mailbox providers and its own domains (agentdrives.com, matfy.com) with a queued free private check, the failure feedback via 'pending', and the four alternative proof methods with concrete artifact paths. For a write operation (readOnlyHint=false) this is unusually rich 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.

Conciseness3/5

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

It front-loads the workflow position well, and nearly every clause carries real information, but the middle is a dense run-on chain of nested conditions that is hard to parse. Tighter grouping (instant-verify / queued-check / alternative proofs) would preserve the content with better structure.

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?

With no output schema, the description does the work of explaining what happens after the call (verification outcomes, pending reasons, returned proof methods). An agent has enough to invoke it correctly; only the absence of any next-step pointer to verify_claim leaves a small gap.

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 100%, so both parameters are already documented. The description adds nothing about parameter syntax or semantics and never mentions the optional 'tool' (directory slug) parameter at all, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('adds your product's domain') and situates it explicitly as step 1 of a named 3-step workflow (claim, verify, order), which cleanly separates it from siblings like verify_claim, order, and send_claim_code. An agent can tell what this does and where it sits in the flow 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 Guidelines4/5

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

The 'Step 1 of 3' framing implies when to reach for it and names the downstream sequence; pointing at send_claim_code for the verification code is explicit routing. It never names verify_claim as the mandatory next call, so the handoff is implied rather than stated.

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

dispute_resultDispute a drive resultAInspect

Disputes the published result of your own product (an API key with a verified claim on its domain; else 403 claim_not_verified), at one checkpoint (docs, signup, verify, credentials, first_call, first_action, pay, cancel, delete), with what is true. A case opens; while no dispute re-drive of the product ran in the last 30 days, a confirm re-drive of the agent's path is queued at once (its result shows on the listing once reviewed). Returns case_id, the re-drive's state and the next step. The answer comes in writing, in case_status.

ParametersJSON Schema
NameRequiredDescriptionDefault
claimYesWhat is true, in plain words (up to 2,000 characters)
productYesYour product's domain or directory slug
checkpointYes
evidence_urlNoOptional: a public page that shows it (kept on the case; we never fetch it automatically)

TDQS

A3.9/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true): it discloses the auth failure mode (403 claim_not_verified), the case-opening workflow, the async re-drive queuing rule keyed to a 30-day window, and the fact that the re-drive result only appears on the listing once reviewed.

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 verb and resource are front-loaded in the opening clause, and the parenthetical checkpoints and re-drive condition each carry real information. It drifts into a dense multi-clause run-on with nested parentheses, which slightly hurts readability without being wasteful.

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?

With no output schema, the description does the job of explaining returns (case_id, the re-drive's state and the next step) and routes the eventual written answer to case_status. Auth, workflow, and return payload are all covered, leaving little an agent needs missing.

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

Parameters3/5

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

Schema coverage is 75%, so most parameters are documented structurally, including the full checkpoint enum. The description reinforces the checkpoint list and characterizes claim as 'what is true' and product as the caller's own product, but adds no format or constraint detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Disputes) and resource (the published result of your own product), and enumerates the checkpoint scope that maps to the enum. It distinguishes itself from case_status by designating the latter as the channel for the answer, but gives no direct sibling comparison to tools like recheck_after_fix or followup_drive.

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 prerequisite is explicit (an API key with a verified claim on its domain; else 403 claim_not_verified), and the 30-day re-drive condition is stated. However, there is no guidance on when to dispute versus alternatives such as recheck_after_fix or followup_drive, so the choice is left implicit.

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

drive_stopStop or restart our drives of your productB
Idempotent
Inspect

Stops our drives of your own product (a verified claim), or lets them start again: stop true or false. Published results stay, with their date. Your own orders still run while it is stopped. Without stop: whether our drives of it are stopped now.

ParametersJSON Schema
NameRequiredDescriptionDefault
stopNotrue: stop our drives; false: let them start again; leave out to read
claim_idYesThe claim's id, from whoami

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover safety (destructiveHint=false, idempotentHint=true), but the description adds substantive side-effect scope: published results persist with their date, and the caller's own orders keep running while stopped. That is genuine behavioral context beyond the structured fields, though reversibility of other state is unstated.

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

Conciseness3/5

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

It is short and the stop/restart action is front-loaded, but the phrasing is convoluted ("Stops our drives of your own product (a verified claim)") and the trailing read-mode clause reads awkwardly. Compact, yet not every sentence parses cleanly on first read.

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 2-parameter tool with full schema coverage and no output schema, the description covers the write/read duality and key side effects well. The main gap is the undefined domain term "drives" and what the read result actually represents beyond a stopped/not-stopped flag.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters and the tri-state behavior of 'stop' (true/false/omit) are already documented in the schema. The description's restatement of "stop true or false" adds no format or semantics beyond it, so baseline 3 applies.

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

Purpose3/5

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

The description names a verb pair (stop/restart) and a resource ("our drives of your own product"), and ties it to a verified claim. However, "drives" is never defined, so an agent must infer the domain concept and cannot confidently distinguish this from the sibling followup_drive. Purpose is recognizable but muddled.

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

Usage Guidelines3/5

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

It states one real prerequisite (the claim must be verified) and clarifies the read case ("Without stop: whether our drives of it are stopped now"). It names no alternative tools and gives no explicit when-not-to-use guidance, leaving selection against verify_claim/followup_drive to inference.

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

find_tools_for_taskFind tools for a taskA
Read-onlyIdempotent
Inspect

Ranks the products AgentDrives has test-driven for a task given in plain words (e.g. 'send an invoice', 'scrape a web page', 'add a contact to a CRM'). Each result: the agent level (0-5: 0 Read-only, 1 Needs a person, 2 Gets in, 3 Does the work, 4 Runs on its own, 5 Autonomous); gets_in_alone (our agent signed up and got a key without a person); task: the closest task in the product's capability map and what happened when our agent tried it (result: done, partial, plan_gated, failed, blocked, not_tried, unknown; via: the route, e.g. api, mcp, cli, browser); match (strong or partial); can_do (up to three things our agent did there); stop (where it stopped, and why); work_done (share of the core tasks done, 0-100); the drive date; origin (editorial, or owner with disclosure "Owner-paid drive"); and the page URL. Order: strong matches first, then the ones where our agent did the task, then level, then work done. self_signup: true keeps only products our agent got into on its own. Up to limit results (default 10, at most 25); nothing matches: an empty list. get_tool returns one product in full.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesThe task in plain words, e.g. 'send an invoice' or 'create a contact'
limitNothe most results to return
categoryNoOnly this category: an id or name from list_categories (e.g. 'invoicing')
min_levelNoonly products at this agent level or higher (0-5)
self_signupNotrue: only products our agent signed up for and got a key on its own

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, yet the description adds real behavioral context: result ordering rules, empty-list behavior when nothing matches, and the semantics of every result code (done, partial, plan_gated, failed, blocked, not_tried, unknown) and level scale. It does not cover auth or rate limits, but the read-only profile is already anchored by annotations.

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

Conciseness3/5

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

The core purpose is front-loaded, which is good, but the rest is a single dense run-on paragraph stuffed with parentheticals and semicolon lists. Much of the field enumeration could be tightened, and the readability cost is real even if the information is useful.

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?

With no output schema, the description carries the return-shape burden and does so thoroughly: it names each field, defines enum values, states sort order, default/cap on limit, and the empty-result case. Coverage is strong; only the absence of explicit sibling-routing guidance leaves a small gap.

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 100%, so the schema already documents all five parameters including self_signup and limit bounds. The description restates self_signup and the limit cap/default but adds no format or interaction detail for category and min_level, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource with scope: 'Ranks the products AgentDrives has test-driven for a task given in plain words', with concrete task examples. It also distinguishes itself from the sibling get_tool ('returns one product in full'), so an agent can route without opening either schema.

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

Usage Guidelines3/5

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

Usage is implied by the input description ('a task in plain words') and there is a one-line pointer to get_tool for full product detail, but there is no explicit when-to-use/when-not guidance or comparison against siblings like search_tools or list_categories. The agent must infer the selection criteria.

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

followup_driveAsk for a new drive after a fixInspect

A new drive after your fixes, with an Audit: up to 5 within 90 days of its report, one at a time. It checks your fixes, or, with access (a test account or key), measures the product past your sign-up wall. my_orders shows followup_available and followups_left.

ParametersJSON Schema
NameRequiredDescriptionDefault
accessNoOptional: a test account, key or sandbox our agent may use past your sign-up wall
order_idYesYour Audit's order id, from my_orders
get_toolGet one tool's drive resultA
Read-onlyIdempotent
Inspect

Returns one product's full test-drive result: how far an agent gets with it and where it stops (search_tools gives the slug; an unknown slug is an error that says how to find one): the agent level, the five outcomes (find, access, use, pay, leave, by any way in the product offers; stages: the four that decide the level, under their older keys), how an agent gets in (access, with the core tasks done on each way), the part scores, the nine checkpoints in the order of the agent's eight steps (Find: none, it is the Agent-ready setup; Learn: docs; Sign up: sign-up, verify; Get a key: key, first call; Do the work: first action; Pay: pay; Cancel: cancel; Leave: delete), what an agent can and cannot do, tips for agents, pay_options (the ways to pay it offers an agent, the payment our side proved with its transaction, and what the owner could add), the bot check that stopped our agent on a way in, even where it got in another way (agent_check: vendor, step, type network or challenge, the owner's fix), after_wall: what the agent did on its own once a person cleared one step at the door (never part of the level), works_assisted (the core tasks done once a person set up the account; null: not measured yet), robots (a robots.txt rule on the way in: named, the product's wall, or star, a rule for crawlers; held: the level is from the last drive past it), same_level_drives of drives, the level history with why each move happened (product, rules, noise), rules_date: the date of the rules the level was set by. From the rules of 12 Oct 2026 on: routes (every way in it offers and what happened on each, tried agent-native first), checkout (how far the walk to the last click went and what the checkout showed), docs (its docs read and judged) and claims (the documented ways to do the core work, tried once each: held, broken, worked but undocumented).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe product's directory slug, from search_tools (e.g. 'attio')

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered without the description's help. The description still adds real behavioral value: the exact error semantics for an unknown slug, and the fact that fields like works_assisted can be null ('not measured yet') and that after_wall is 'never part of the level'. That is context beyond structured fields.

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

Conciseness2/5

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

This is a single monolithic paragraph of run-on sentences with deeply nested parentheticals that make it hard to parse. While there is no output schema so field documentation is warranted, the structure is hostile to reading and the front-loaded purpose is immediately swallowed by hundreds of words of field enumeration. Conciseness and structure are the weakest aspects.

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?

With no output schema, the description assumes the burden of documenting the return shape and does so exhaustively: level, five outcomes, checkpoints, pay_options, agent_check, after_wall, works_assisted, robots, level history, rules_date, and the newer routes/checkout/docs/claims fields. The null and error cases are disclosed. It is nearly complete, losing only points for legibility rather than missing substance.

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 100% and the single 'slug' parameter is fully documented in the schema, including the provenance and an example. The description reinforces the same point ('search_tools gives the slug; an unknown slug is an error') but adds no format or syntax detail beyond it, so the baseline 3 applies.

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 opening clause gives a specific verb and resource: 'Returns one product's full test-drive result.' It also routes the agent by naming the sibling that supplies the input ('search_tools gives the slug'), so it is distinguishable from search_tools. The rest of the purpose signal is buried under an enormous parenthetical dump, which dilutes an otherwise clear statement.

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

Usage Guidelines3/5

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

It implies the retrieval workflow ('search_tools gives the slug') and notes the failure mode (an unknown slug is an error that says how to find one), which is genuine usage guidance. However, it never states when to use this versus siblings like drive_stop, recheck_after_fix, or followup_drive, and gives no when-not-to-use condition. This is adequate-but-implied guidance.

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

list_categoriesList categoriesA
Read-onlyIdempotent
Inspect

Lists every category in the directory: its id (for search_tools' category filter), its name, the number of products driven in it and the best agent level in it (0-5).

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?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds the return shape and the value domain of one field (agent level 0-5), which is genuine behavioral context beyond the annotations, though it says nothing about ordering, pagination, or empty-directory 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?

A single sentence, front-loaded with the verb and scope, with the id's downstream use parenthesized rather than buried. Every clause maps to a concrete field or use case; nothing is padding.

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?

With no output schema and no parameters, the description carries the full burden of describing the response, and it does so field by field (id, name, product count, best agent level 0-5) while tying the id to its downstream consumer. Nothing an agent needs to call and use this tool is missing.

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 takes zero parameters, which sets the baseline at 4 by rule. There is nothing for the description to disambiguate, and it correctly spends no words on 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?

States a specific verb and resource ("Lists every category in the directory") and enumerates exactly what each row contains: id, name, product count, and best agent level. It even distinguishes itself from siblings by noting the id feeds search_tools' category filter, so an agent can tell it apart from search_tools without opening a schema.

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

Usage Guidelines4/5

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

The clause "its id (for search_tools' category filter)" gives clear implied routing: call this to discover a category id before filtering with search_tools. There is no explicit when-not guidance or statement of preconditions, but for a zero-parameter enumerator the context is unambiguous.

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

my_ordersYour orders
Read-onlyIdempotent
Inspect

Your orders and their status (requested, paid, queued, running, done, past_due when a renewal failed, cancelled), followup_available and followups_left, an Audit's goal (target_level) and its renewal (renewal: price_cents, opens, closes, open), and a free check's check_state (failed: it didn't finish; retrying: our side stopped it and it runs again by itself; late: it waits longer than usual) with check_reason, why in plain words and what to do.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

orderOrder an audit or a driveInspect

Step 3 of 3: orders for your product (prices before tax; every detail and limit: https://agentdrives.com/pricing.json). Every driven product is listed free. free, the Free check ($0): what an agent sees, private; no domain proof; one per domain every 90 days. audit, an Audit ($499): a new drive with your test account (access), every documented API route, MCP tool and CLI command checked against your docs, a security review (security_ok: true), up to 3 rivals compared privately (rivals), your fix list and a new drive after your fixes for 90 days (followup_drive); from L2 up it ends in a certificate with the level the drives find. target (1 to 5): your goal, never a promise. renewal, the Audit renewal ($199 a year), from 11 months after your audit. Report within 48 hours. monthly or yearly, the Monthly drive ($29 a month, or $290 a year): a listed product with a verified claim, driven every month, its findings and a message when the level changes; cancel_monthly any time. Also stack3 or stack, a Stack check ($490, $1,490), and a data plan, builder ($49 a month) or team ($290 a month). A paid order for your own product needs a verified claim on its domain (403 claim_not_verified says how) and business: true (we sell to businesses). With online payment on, payment.url comes back: the page that takes the payment (the same order again while it waits: that order, reused); an Audit and the Monthly drive also return payment.agent, to pay over HTTP 402 without a person (pay_order). Ordering accepts the terms (https://agentdrives.com/legal/terms). An error comes with its fix.

ParametersJSON Schema
NameRequiredDescriptionDefault
payNoOptional on an Audit, required on a Payment proof (proof): let our agent buy your plan at your own checkout. kind code: your discount code (value) that leaves $0.50 a purchase; our card pays that on this order, at cost, and cancels the plan (send authorise: true with it); sandbox: a login to your checkout's test mode or sandbox (value); seat: no value, we send you our test account's address once our agent has signed up, you upgrade it. Sealed, never shown back, deleted after the drive.
urlNoYour product's address, e.g. https://acme.com
codeNoOptional: a promotion code of ours. Its discount comes off this order, at the card checkout and over HTTP 402 (400 invalid_code when it is unknown, expired or used up)
noteNoOptional: anything our agent should know
planNoThe Audit only: your paid plan. The drive buys it, uses one paid feature, cancels it and asks for the refund your product's own way. choice include: at cost as its own line on this order, the unused part refunded after the drive; self_refund: you refund the drive's purchase, at most $50 a month (above it: plan_needs_person, choose include or write to us); none. name and price_cents (a month, US cents; whoami's claims[].plan_hint suggests one). Above $50 a month add confirm: true; above $500 by arrangement
toolNoYour product's directory slug, if listed
urlsNoStack check: the tools to drive
buyerNoAn Audit paid over HTTP 402 (pay_order): optional, for our invoice. The price includes any VAT; an EU VAT ID that VIES confirms gets our invoice at once, with no VAT outside the Netherlands.
accessNoOptional: a test account, key, sandbox or coupon our agent may use past your sign-up wall
listedNofalse: the drive stays private, never in the directory
rivalsNoaudit (the Audit): up to 3 rival URLs or directory slugs, compared with you privately
targetNoaudit or renewal: the level you aim for. It is your goal, shown on your dashboard, never a promise: the level is the one the drives find
productYesfree: Free check · audit: Audit · renewal: Audit renewal · monthly: Monthly drive, monthly · yearly: Monthly drive, yearly · proof: Payment proof · stack/stack3: Stack check · builder/team: data plans. Older ids that still work: verified_month and verified (Monthly drive). Orders answer with the ids above; whoami's orders keep the stored ones (drive an Audit, a renewal with renewal_of; quick and report: retired Findings and Full report orders)
businessNoPaid orders: true confirms you buy for your business. AgentDrives sells to businesses only (https://agentdrives.com/legal/terms#business); the order records it. Stripe's checkout asks the business name, billing address and VAT ID for the invoice
use_caseNoStack check: what your agents should do with them
authoriseNoWith pay kind code, required: true is your go-ahead, "Our agent may buy and cancel my paid plan with this code." (else 400 authorise_required)
no_offersNoPaid orders: true and we send you no offers for our other products
offers_okNofree: true only if you want the monthly agent access report and offers
processorNoWith pay kind code: your checkout. card: Stripe, Lemon Squeezy, Shopify or another checkout, your code leaves $0.50 and a Payment proof costs $0.87; paddle: Paddle, your code leaves $0.70 and a Payment proof costs $1.09. Default card
security_okNoYour go-ahead for the Audit's security review of the agent surfaces, on our own test account (required for audit)
pay_checkStart a free checkout testAInspect

Test your checkout: Add a 100% off code and our agent buys your plan with it. A short private drive of your product's pay step: our agent signs up, buys your plan with your 100% off code (or in your checkout's test mode), uses one paid feature, cancels and deletes the account; the report comes by email. Free for a product you've proved yours (verify_claim); a product you've added but not proved counts with the free checks. One at a time, 2 per domain (its subdomains included) every 30 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoYour product's address, e.g. https://acme.com (or tool)
kindYescode: a one-use 100% off code; sandbox: a login to your checkout's test mode or sandbox (only for a product you've proved yours)
toolNoYour product's directory slug, if listed
valueYesThe code (6 to 64 letters, digits, dots, dashes or underscores) or the login

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare the generic safety profile (readOnly=false, openWorld=true, idempotent=false, destructive=false), and the description adds substantial context beyond them: the full side-effecting sequence including account cancellation/deletion, cost implications (free vs. counting against free checks), concurrency (one at a time), and a per-domain 30-day rate limit.

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?

Front-loaded with the core purpose, but the prose is dense and somewhat repetitive — the 100% off code purchase step is stated twice — with several stacked parentheticals. Every sentence is informative, but it could be tightened.

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 complex, side-effecting tool with 4 params, no output schema and no nested objects, the description covers process, prerequisites, cost model and rate limits well. It stops short of describing failure modes or what the emailed report contains, but is otherwise complete enough to invoke correctly.

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 100%, so all four parameters (url, kind, tool, value) are already documented, including the kind enum. The description echoes the code/sandbox distinction and code semantics but adds little syntax or meaning the schema does not already carry — baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource — start a private agent-driven checkout test for a product's pay step — and enumerates the exact sequence (sign up, buy with 100% off code, use a paid feature, cancel, delete). An agent can tell it apart from siblings like pay_code, pay_order and verify_claim, which are named in the flow.

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

Usage Guidelines4/5

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

Gives clear conditions: free for a product you've proved yours (verify_claim), otherwise it counts against free checks, plus limits (one at a time, 2 per domain incl. subdomains per 30 days). It names verify_claim as the prerequisite but does not explicitly state when NOT to use it (e.g. vs pay_code/pay_order or drive_stop).

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

pay_codeAdd or remove the code for your orderC
Idempotent
Inspect

Let our agent buy your plan, on an order you placed (an Audit, a Payment proof or a checkout test): add or replace a discount code, a test-mode login or a seat on our test account, until a drive has it; remove: true deletes it. It's sealed, never shown back (whoami and my_orders show its kind, last two characters and status), and deleted after the drive that used it.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
valueNocode: 6 to 64 letters, digits, dots, dashes or underscores; sandbox: the login (up to 2,000 characters)
removeNotrue: delete the code or login on this order now
order_idYesThe order's id, from my_orders

TDQS

C2.9/5.0
Behavior4/5

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

Beyond the annotations, the description discloses real behavioral traits: the value is 'sealed, never shown back' (only kind, last two chars and status are visible via whoami/my_orders), and the code is 'deleted after the drive that used it.' This lifecycle and secrecy context is genuinely useful. Minor tension: it describes a delete while destructiveHint is false, but the deletion is expected/intended so this is not a clear contradiction.

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

Conciseness2/5

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

A single bloated, semicolon-chained sentence mixes several ideas (buying, add/replace kinds, removal, sealing, lifecycle). It is not front-loaded: the concrete action comes after the vague 'our agent buy your plan' preamble, so the reader must work to extract the point.

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

Completeness3/5

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

With no output schema, the description correctly covers the return-adjacent behavior (value is hidden; only kind, last two chars, status shown) and the deletion lifecycle. However, it omits the add-vs-replace semantics and required order_id origin details are left to the schema, leaving the picture only partially complete.

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

Parameters3/5

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

Schema coverage is 75%, so the schema already documents kind, value, remove and order_id. The description loosely maps kind to its options ('a discount code, a test-mode login or a seat') and restates the remove flag, adding little beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose3/5

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

The title ('Add or remove the code for your order') and phrases like 'add or replace a discount code, a test-mode login or a seat' convey a verb+resource, but the description buries this under rambling prose ('Let our agent buy your plan, on an order you placed'). The purpose is recoverable but not cleanly stated, and no sibling (pay_order, pay_check, order) is named for contrast.

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?

'until a drive has it' hints at when the code is consumed and 'remove: true deletes it' covers removal, but there is no explicit when-to-use guidance or routing to alternatives like pay_order or order. The agent must infer the workflow from ambiguous fragments.

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

pay_orderPay for an order
Read-onlyIdempotent
Inspect

How to pay an order that waits for payment, as an agent, over HTTP 402: an Audit (audit) or its renewal (renewal), a Payment proof (proof), or the Monthly drive (monthly or yearly, one period paid ahead, not renewed by itself). It gives the payment URL, the price and the protocols on now (protocols; MPP: a card through a Stripe Shared Payment Token, or USDC on Tempo or Base; x402: USDC on Base). A POST to the URL without a credential answers 402 with the challenges of the rails that are on (WWW-Authenticate for MPP, PAYMENT-REQUIRED for x402); the same request with a credential from an MPP client or x402 wallet answers with the receipt and queues the drive. The price is what the card checkout charges: a renewal's price, an Audit's paid plan and its purchase with your code at cost, less a promotion code of ours given with the order. The price includes any VAT and every payment has a receipt; buyer {vat_id, company, address} as the JSON body of both requests, or with the order, puts the business on our invoice. On a person's account the card checkout works too (payment.url from ordering); an agent's own account has none until a person claims it. test_mode: true means Stripe's test mode, where no real money moves.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesThe order's id, from order or my_orders
recheck_after_fixAsk for a free re-check after a fixInspect

A free re-check of your listed product (a verified claim) after you fixed what stopped our agent: our agent drives it again, at most 2 times in 12 months. Without confirm: whether a free re-check is open now and when the next one opens. An Audit (order audit) checks every fix you make for 90 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNoWhat you fixed, in a line
confirmNotrue: ask for the re-check now; leave out to read
claim_idYesThe claim's id, from whoami
search_toolsSearch the directoryA
Read-onlyIdempotent
Inspect

Searches AgentDrives' tested products by name, domain or what they do, and returns each one's agent level and evidence. Filters: category, minimum agent level (0-5: 0 Read-only, 1 Needs a person, 2 Gets in, 3 Does the work, 4 Runs on its own, 5 Autonomous), how an agent gets in (access: pay per call, no key, a key by API, its own sign-up…), agent-native payment (proven, or the rails it offers) and whether an agent leaves on its own. Returns the level and its name, how an agent gets in (access) and the five outcomes (find, access, use, pay, leave: each yes, part, no, unreached or na), the part scores (holds_up, docs_match, setup: 0-100, null = not measured), where it stopped, the agent-native ways to pay it offers (pays_with) and whether our side proved a payment (paid), the bot check that stopped our agent on a way in (it may have got in another way) and its wall_type (network: It judged where our agent connects from and its browser, not a person. An agent that works on its own from a data center doesn't get through unless the owner lets signed agents in. How agents in a person's own browser fare isn't measured yet. challenge: It asks every visitor to prove they are human. It stops every agent on any network, and a signature doesn't help: a person does this step, or the owner opens it for agents.), who paid for the drive (origin: editorial, or owner with disclosure "Owner-paid drive") and the page URL. Sorted by level, then work done, then minutes to the first call. Up to limit results (default 25, at most 100); none match: an empty list. get_tool returns one product's full result by a slug from here; list_categories gives the category ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNothe most results to return
queryNoName, domain or what the tool does, e.g. 'invoicing', 'stripe.com' or 'postgres'; every word must match (the same search as the directory page)
accessNoonly products an agent gets into this way: keyless (no key needed), local (runs locally), try_first (try first, claim later), pay_per_call, key_by_api, mcp_signin, email_signup, browser_signup, by_name (with a GitHub, Google or platform account), person (a person sets it up)
categoryNoA category id or name from list_categories (e.g. 'crm'); an unknown one is an error that says so
min_levelNoonly products at this agent level or higher (0-5)
pays_withNoonly products that offer this agent-native way to pay (seen or paid), e.g. x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment
agent_can_buyNoonly products an agent paid through an agent-native rail, proven from our side
agent_can_leaveNoonly products an agent leaves on its own

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds behavioral context about sorting ('Sorted by level, then work done, then minutes to the first call'), pagination ('Up to limit results (default 25, at most 100)'), and empty-result behavior ('none match: an empty list'). That is useful, but it is couched in very dense prose and doesn't clarify rate limits, auth, or whether the search index is live.

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

Conciseness2/5

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

This is an extraordinarily long, run-on description - roughly 250+ words in a single paragraph with nested parentheticals. The core purpose (search tested products) and critical usage guidance are front-loaded only if the agent reads the first ten words; the rest is a stream of return-field explanations, filter restatements, and glossary definitions. It is not appropriately sized and forces the reader to parse dense prose to find invocation-relevant details.

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?

There is no output schema, so the description carries the burden of explaining returns, and it does so thoroughly: level and its name, access, the five outcomes, part scores, wall_type, origin, and page URL. It also covers sorting, pagination, empty results, and routes to get_tool and list_categories. The main gap is that it never states when not to use it versus find_tools_for_task, a sibling that likely overlaps.

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 100%, so every parameter is already documented in the schema. The description restates filters and adds the min_level 0-5 meanings (0 Read-only through 5 Autonomous) and access enums, which is additive for a human but largely redundant with the schema. Per the rubric, 100% coverage sets a baseline of 3, and the description does not add syntax or format details beyond what the schema 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 states a specific verb+resource: 'Searches AgentDrives' tested products by name, domain or what they do'. It clearly distinguishes itself from get_tool (which returns one product's full result) and list_categories (which gives category ids). However, the opening sentence is buried under a 250-word run-on that mixes filtering, sorting, and output-field explanations, so an agent must dig to extract the core purpose.

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

Usage Guidelines4/5

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

It names alternatives explicitly: get_tool returns one product's full result by a slug from here; list_categories gives the category ids. It implies this is the directory search and that get_tool is the drill-down. It does not explicitly say when NOT to use it (e.g. if you already have a slug) or when to prefer find_tools_for_task, which is a sibling that may overlap.

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

send_claim_codeMail a claim codeAInspect

Step 2 (mail route): a 6-digit code to an address at the claimed domain. local is the part before the @ (e.g. jane or admin). Not for a mailbox provider's domain (gmail.com, tuta.com …): DNS, the meta tag or the file prove those. verify_claim checks the code.

ParametersJSON Schema
NameRequiredDescriptionDefault
localYesthe part before @, e.g. jane or admin
claim_idYesThe claim's id, from claim_domain or whoami

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the external side effect and non-idempotency are covered. The description adds that a code is emitted and later checked by verify_claim, but says nothing about resend behavior, code expiry, rate limits, or what happens if the address isn't valid for the claim.

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

Conciseness4/5

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

Three short sentences, front-loaded with the route/step context and then the exclusion, with no filler. The telegraphic fragments ('Step 2 (mail route): a 6-digit code…') cost a little readability but not efficiency.

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 two-parameter tool with fully documented schema, no output schema, and annotations covering the safety profile, the description supplies what matters: the route, the exclusion set, and the follow-up verification step. Nothing an agent needs to invoke it correctly is missing.

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 100%, so both parameters are already documented, and the description's 'local is the part before the @ (e.g. jane or admin)' merely restates the schema wording. It adds only the indirect hint that the domain comes from the claim rather than the caller, so baseline 3 is right.

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 resource (a 6-digit claim code) and its delivery channel/scoping (mailed to an address at the claimed domain), and places it as 'Step 2 (mail route)' in a workflow. The precise verb is only implied by the tool name and 'mail route', and the counterpart step-1 tool is not named, so it falls just short of a 5.

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

Usage Guidelines4/5

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

It gives a concrete exclusion ('Not for a mailbox provider's domain (gmail.com, tuta.com …)') and redirects those cases to the DNS, meta-tag or file routes, and it points to verify_claim as the check. It still doesn't state positively when the mail route is the right choice versus the other proof methods for a self-hosted domain.

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

sign_upSign up as an agentAInspect

No key needed: an account for you, the agent, with no person, no email address and no CAPTCHA, and its API key at once (api_key, shown once: it goes in the x-api-key header, here or to the HTTP API). Also a claim link for your person (claim.url, valid 7 days): when they open it, sign in and confirm, the account's orders become theirs, this key stops working and they give you a new one from their dashboard. Until then, or until it pays for an order, the account has the free check (1 a day) and every report and the Monthly drive for a domain it verified, paid over HTTP 402 (pay_order); other orders answer claim_required. email (optional): your person's address, the claim link goes there too. Leaving: POST /api/auth/delete-user with the key answers a confirm token; the same call with {token} within 5 minutes deletes the account.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoYour name as an agent, e.g. claude-code (kept on the account)
emailNoOptional: your person's email address, for the claim link

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare it is a non-read-only, non-idempotent, non-destructive call; the description far exceeds that by disclosing the api_key is shown once and goes in x-api-key, the claim link is valid 7 days, the key stops working on claim, and how the account behaves until claimed (1 free check/day, 402 payment, claim_required). It even documents the separate deletion flow, giving rich lifecycle context the annotations cannot convey.

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 core (account + api_key + claim link) is front-loaded, but the body is a dense wall of parenthetical run-on sentences that mixes lifecycle, pricing, and deletion details. Every fact is relevant, yet the structure makes the critical first-step information harder to extract than a split into short ordered sentences would.

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 signup tool with no output schema, the description fully covers inputs, the returned fields (api_key, claim.url), the claim lifecycle, pre-claim limits, and even the exit path. Nothing an agent needs to call it and understand the result is missing.

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 coverage is already 100%, setting a baseline of 3. The description adds genuine meaning beyond the schema, explaining that the claim link is also sent to the optional email and that the agent name is 'kept on the account', which clarifies each parameter's downstream effect.

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 action (create an agent account) and its immediate output (an api_key plus a claim link), distinguishing it from every other sibling tool, which operate on an already-existing account. An agent can tell this is the bootstrap/entry-point tool without opening any schema.

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

Usage Guidelines4/5

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

'No key needed' clearly frames the use case as the first step before any keyed operation, and it names related paths (pay_order, claim_required) for the pre-claim state. It stops short of explicitly stating when-not-to-use or naming the prerequisites in a crisp condition, so it is strong context but not full routing guidance.

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

suggest_productSuggest a product to driveAInspect

Suggests a product for our agent to drive and list (free, anyone, any product). It is a signal for our planner, never a promise or a place in the queue: we pick by demand and gaps.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe product's address or name
whyNoOptional: why agents need it

TDQS

A3.6/5.0
Behavior4/5

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

Annotations only cover the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false). The description adds genuinely useful context beyond them: the call is advisory rather than an action, carries no queue placement, and selection is by demand and gaps. That is exactly the kind of expectation-setting annotations can't express.

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

Conciseness4/5

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

Two compact sentences with no filler, and the expectation-setting clause is front-loaded with the core action. Minor looseness in the parenthetical, but nothing wasted.

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

Completeness3/5

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

For a simple two-parameter, no-output-schema tool with annotations covering safety, the description explains what the call means and what it does not guarantee. It is still thin on where this fits relative to the many sibling tools, which an agent selecting among 25 options would need.

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 100% — both 'url' and 'why' are documented in the schema, including that 'why' is optional and that 'url' may be an address or a name. The description adds only the scope qualifier ('any product'), so the schema does the heavy lifting and the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource: suggests a product for the agent to drive and list, scoped as 'free, anyone, any product'. It distinguishes itself from transactional siblings like order/pay_order, though 'drive' is domain jargon that isn't defined.

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

Usage Guidelines3/5

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

It implies when to use it ('a signal for our planner') and what it is not ('never a promise or a place in the queue'), which sets expectations. However, it gives no explicit when-to-use-vs-alternative guidance among the ~25 siblings, leaving routing to inference.

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

support_askAsk AgentDrives supportAInspect

Answers a question about AgentDrives: prices, plans, levels, the method, orders, the API and MCP. When our published pages answer it, the answer comes at once, quoted, with each source's id, text and URL (answered: true). With an API key, your own orders and claims are part of the answer. When they don't answer it, a case opens (answered: false, case_id; without a key also a case_token), and the answer comes in writing, in case_status (and comes by mail to an account). A test or a placeholder opens no case (state not_opened), and one agent opens at most 3 cases a day. Never promised here: a level, a refund or a date we don't control. Answers come from our support agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoOptional: the product's domain or directory slug it is about
questionYesThe question, in plain words (up to 2,000 characters)
on_behalfNoOptional: whom you act for (a person or a company), kept on the case

TDQS

A4/5.0
Behavior5/5

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

Goes well beyond the annotations (which only say readOnlyHint=false, idempotentHint=false, openWorldHint=false, destructiveHint=false) by disclosing the real side effect — case creation — plus a concrete rate limit (max 3 cases/day per agent), key-dependent enrichment from the caller's own orders and claims, the not_opened outcome for tests, and an explicit disclaimer about what the tool will never promise. This is exactly the mutation and quota context an agent needs.

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

Conciseness4/5

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

Front-loaded with the core purpose and every clause carries real information — outcomes, rate limit, exclusions. It is information-dense but the long run-on sentences with interleaved field names ('answered: false, case_id; without a key also a case_token') make parsing harder than it needs to be, costing a point.

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?

With no output schema and no annotation detail, the description carries the return-value burden itself and does so: answered/case_id/case_token/case_status/not_opened are all explained, along with auth effects and quotas. Nothing an agent needs to call this correctly is missing.

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 100%, so the schema already documents product, question and on_behalf; the description adds no format or syntactic detail for them. Baseline 3 applies: the description clarifies the conceptual role of API keys in shaping answers but does not extend any individual parameter's meaning.

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

Purpose4/5

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

States a specific verb and resource ('Answers a question about AgentDrives') and even enumerates the covered scope (prices, plans, levels, method, orders, API, MCP), so an agent can judge in-scope questions. It does not, however, differentiate itself from siblings that touch the same territory, such as my_orders or case_status, which it only mentions as a return field.

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

Usage Guidelines3/5

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

Usage is implied by the topic scope, and the description explains the answered/not-answered branching plus the test/placeholder carve-out. But it never says when to prefer this over alternatives, e.g. checking an existing case via case_status or pulling orders via my_orders instead of asking here.

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

switch_monthlySwitch the Monthly drive's billing periodA
DestructiveIdempotent
Inspect

Switches the Monthly drive for one product between monthly ($29) and yearly ($290). A subscription from before 10 October 2026 keeps its price (409 legacy_plan).

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
order_idYesThe Monthly drive's order id, from my_orders

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. Beyond that, the description adds real behavioral value: the price points ($29/month vs $290/year) and the carve-out that pre-10 October 2026 subscriptions retain their price and yield a 409 legacy_plan. It still omits what actually happens on switch (proration, effective date).

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

Conciseness4/5

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

Two front-loaded sentences with no filler. The second sentence is terse to the point of being cryptic, however: "keeps its price (409 legacy_plan)" packs a price-lock rule and an error code into a parenthetical without explaining the relationship.

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 mutation with no output schema, the description covers purpose, pricing, and one important edge case, which is adequate. It leaves gaps an agent would care about: whether the switch takes effect immediately, what happens to in-flight billing, and what a successful or failed call returns.

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 50%: order_id is documented with its source (my_orders), but `to` is only an enum with no prose. The description compensates partially by describing the two states and their prices, but never maps them to the `to` parameter or explains how order_id is validated.

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

Purpose4/5

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

The description names a specific verb (Switches) and a specific resource and scope (the Monthly drive's billing period for one product), with concrete prices distinguishing the two target states. An agent can distinguish it from cancel_monthly or drive_stop, though the tool's internal term "drive" is never reconciled with the clearer title.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: it's clear this is for toggling an existing subscription's billing period, and the order_id lookup path (from my_orders) is supplied by the schema. There is no explicit when-to-use versus cancel_monthly, drive_stop, or followup_drive, and no stated preconditions such as required account state.

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

top_upTop up credit for paid callsB
Read-onlyIdempotent
Inspect

How prepaid credit for paid calls is bought: POST /api/paid/find-tools with your key then takes $0.01 a call from it, with no rate limit, and answers at once. The top-up is paid over HTTP 402, as with pay_order: a POST to the url with body {"amount_usd": 5 | 20 | 50} and no credential answers 402 with the challenges (MPP: a card through a Stripe Shared Payment Token, or USDC on Tempo or Base; x402: USDC on Base), and the same request with the credential pays. The idempotency_key from this answer, as the Idempotency-Key header on both requests, makes a retry never pay twice. With your API key the credit goes onto your account; without one the top-up makes an agent account and returns its key, which holds the credit. A balance holds at most $100 and lasts 12 months from the last top-up. It pays for calls only, not a report or a drive. The price includes any VAT, and every top-up has a receipt. With a key this also gives your balance now, and needed: false while it is above 50 calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
amount_usdNoThe top-up in US dollars: 5, 20, 50. 5 buys 500 calls.

TDQS

B3.4/5.0
Behavior1/5

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

The annotations declare readOnlyHint=true, yet the description describes a payment that debits a key, creates an agent account with a returned key, and stores credit – unmistakably state-changing behavior. The description is otherwise rich (HTTP 402 challenge flow, idempotency_key semantics, $100 cap, 12-month expiry, VAT/receipt), but this direct contradiction with the read-only annotation is disqualifying.

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

Conciseness3/5

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

It is front-loaded with the core action, but the single dense paragraph packs in payment rails, idempotency, balance limits, receipts, and VAT without structural breaks, making it hard to scan. Most sentences carry information, but the wall-of-text form hurts retrieval.

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 complex, no-output-schema payment tool it covers a lot: the 402 challenge flow, the credential/idempotency mechanics, what a keyed vs unkeyed call returns, and the balance ceiling. It is nearly complete, though the account-creation outcome could be stated more explicitly as a return value.

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?

There is a single parameter with full schema description coverage and an enum, and the schema already documents that 5 buys 500 calls. The description restates the 5|20|50 values but adds no syntax or meaning beyond the schema, so the baseline of 3 applies.

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 action and resource: buying prepaid credit for paid calls, and it explicitly frames it as a distinct operation from pay_order ("as with pay_order") and from balance ("this also gives your balance now"). It also scopes the credit to "calls only, not a report or a drive," so an agent can separate it from sibling payment tools without reading schemas.

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

Usage Guidelines4/5

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

Usage context is clear: it is the path for funding call credit, and the note that it "pays for calls only, not a report or a drive" implicitly routes report/drive purchases to pay_order. However, no explicit "use this when / do not use when" rule names the alternative, so the routing is inferable rather than stated.

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

verify_claimVerify a claimA
Idempotent
Inspect

Step 2 of 3: verifies a claim. With code: checks the mailed code (send_claim_code). Without: checks the DNS TXT record, then the meta tag, then the file. A newly verified product gets its free check queued (private: nothing shows in the directory until a drive). Every order but the free check needs a verified claim on the domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNothe 6-digit code from send_claim_code
claim_idYesThe claim's id, from claim_domain or whoami

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, openWorldHint=true and destructiveHint=false. The description adds value beyond those flags: the ordered fallback chain for verification and the side effect that a newly verified product gets a free check while remaining private until a drive. It is consistent with the annotations.

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

Conciseness4/5

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

It is compact and front-loads the key framing ("Step 2 of 3"). Sentences are dense with parentheticals but every clause conveys behavioral or routing information, so little is wasted.

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?

With no output schema, the description carries the burden of explaining mechanics, and it does so well (both verification paths, ordering, side effects, privacy). It stops short of describing what a success/failure response looks like or auth prerequisites, but overall it is nearly complete for an agent to call 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?

Schema coverage is 100%, so the baseline would be 3. The description adds real meaning by explaining what the code parameter does when supplied (checks the mailed code) and what happens in its absence (DNS TXT → meta → file), which the schema does not convey.

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

Purpose4/5

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

The description states a specific verb+resource ("verifies a claim") and frames it in a workflow ("Step 2 of 3"). It distinguishes the two paths (with code vs. without) and names the sibling send_claim_code as the source of the code. The only weakness is that steps 1 and 3 of the workflow are left unnamed.

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 clearly separates the two invocation modes: with a code, use the mailed 6-digit code; without, fall back to DNS TXT, then meta tag, then file. It also gives the business context ("Every order but the free check needs a verified claim") that motivates use. It does not name when NOT to use it or an explicit alternative tool.

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

whoamiYour accountB
Read-onlyIdempotent
Inspect

Your account, claimed domains and orders.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered structurally. The description adds only the content disclosure that claimed domains and orders are included, which is mildly useful but not behavioral depth.

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

Conciseness4/5

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

A single short fragment with no wasted words; it is front-loaded and cheap to read. Its brevity is appropriate for a zero-argument lookup, though the fragment form costs it a point.

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-param read tool with no output schema, the description gives a rough sketch of the returned sections (account, claimed domains, orders), which is adequate but not complete—it never states the tool takes no arguments or that it identifies the current caller.

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 takes zero parameters, so the schema has nothing to document and the baseline is 4. There is no parameter meaning the description could or should add.

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

Purpose3/5

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

The description is a noun phrase that names the data the tool returns (account, claimed domains, orders), which gives some substance beyond the title, but it omits any verb and largely restates the title 'Your account'. It does not clearly distinguish this identity/profile lookup from siblings like my_orders or balance, which cover overlapping data.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as my_orders or balance, despite obvious overlap on the 'orders' data. An agent is left to infer that whoami is the identity entry point.

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

withdraw_orderWithdraw an unpaid orderB
DestructiveIdempotent
Inspect

Withdraws an order that has not been paid yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesThe order's id, from my_orders

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the agent knows this is a destructive, repeatable mutation. The description adds the unpaid-order precondition, which is useful gating context, but says nothing about what withdrawal actually does (void vs. delete), whether it is reversible, or what error occurs if the order is already paid.

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

Conciseness4/5

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

A single short sentence with the precondition front-loaded; nothing is wasted. It is efficient but minimal — there is no second sentence that would carry the behavioral detail the tool needs.

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

Completeness3/5

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

For a destructive mutation with no output schema, the description covers the eligible state but omits outcome and failure semantics (irreversibility, already-paid behavior, what the caller gets back). Annotations carry the safety profile, so this is thin but not unusable.

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 100% and the schema already explains order_id comes from my_orders. The description adds no additional meaning about the identifier's format or sourcing, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb (withdraws) and resource (order) plus a key scope condition: the order must not have been paid yet. That condition meaningfully separates it from pay_order, but the description never names the sibling or the my_orders lookup that supplies order_id.

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 precondition "has not been paid yet" implies when the tool is applicable, but there is no explicit when-to-use/when-not-to-use guidance and no named alternative for orders that are already paid (e.g., a refund or dispute path among the siblings).

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. 1 tool update
    • Changedorder6 fields changed
      • changedInput schema / properties / buyer / description
        Previous value: -"A report or the Monthly drive paid over HTTP 402 (pay_order): optional, for our invoice. The price includes any VAT; an EU VAT ID that VIES confirms gets our invoice at once, with no VAT outside the Netherlands."New value: +"An Audit paid over HTTP 402 (pay_order): optional, for our invoice. The price includes any VAT; an EU VAT ID that VIES confirms gets our invoice at once, with no VAT outside the Netherlands."
      • removedInput schema / properties / fresh
        Removed value: -{
        -  "default": false,
        -  "description": "drive or report: true drives your product first (the report within 48 hours); without it the report of a drive of the last 30 days comes at once",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / product / description
        Previous value: -"free: Free check · drive: Findings · report: Full report · audit: Audit · monthly: Monthly drive, monthly · yearly: Monthly drive, yearly · proof: Payment proof · stack/stack3: Stack check · builder/team: data plans. Older ids still work: findings and quick (Findings), verified_month and verified (Monthly drive). Orders answer with the ids above; whoami's orders keep the stored ones (quick Findings, report a Full report, drive an Audit)"New value: +"free: Free check · audit: Audit · renewal: Audit renewal · monthly: Monthly drive, monthly · yearly: Monthly drive, yearly · proof: Payment proof · stack/stack3: Stack check · builder/team: data plans. Older ids that still work: verified_month and verified (Monthly drive). Orders answer with the ids above; whoami's orders keep the stored ones (drive an Audit, a renewal with renewal_of; quick and report: retired Findings and Full report orders)"
      • changedInput schema / properties / product / enum
        Previous value: -[
        -  "free",
        -  "drive",
        -  "report",
        -  "audit",
        -  "monthly",
        -  "yearly",
        -  "proof",
        -  "stack",
        -  "stack3",
        -  "builder",
        -  "team",
        -  "findings",
        -  "quick",
        -  "verified_month",
        -  "verified"
        -]New value: +[
        +  "free",
        +  "audit",
        +  "renewal",
        +  "monthly",
        +  "yearly",
        +  "proof",
        +  "stack",
        +  "stack3",
        +  "builder",
        +  "team",
        +  "verified_month",
        +  "verified"
        +]
      • addedInput schema / properties / target
        Added value: +{
        +  "description": "audit or renewal: the level you aim for. It is your goal, shown on your dashboard, never a promise: the level is the one the drives find",
        +  "maximum": 5,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • removedInput schema / properties / upgrade_from
        Removed value: -{
        -  "description": "product report or audit: the id of your Findings or Full report order whose report is at most 30 days old; what you paid counts toward the bigger one, once",
        -  "type": "string"
        -}
  2. 1 tool update
    • Changedorder1 field changed
      • addedInput schema / properties / processor
        Added value: +{
        +  "description": "With pay kind code: your checkout. card: Stripe, Lemon Squeezy, Shopify or another checkout, your code leaves $0.50 and a Payment proof costs $0.87; paddle: Paddle, your code leaves $0.70 and a Payment proof costs $1.09. Default card",
        +  "enum": [
        +    "card",
        +    "paddle"
        +  ]
        +}
  3. 1 tool update
    • Changedorder5 fields changed
      • addedInput schema / properties / authorise
        Added value: +{
        +  "description": "With pay kind code, required: true is your go-ahead, \"Our agent may buy and cancel my paid plan with this code.\" (else 400 authorise_required)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / code
        Added value: +{
        +  "description": "Optional: a promotion code of ours. Its discount comes off this order, at the card checkout and over HTTP 402 (400 invalid_code when it is unknown, expired or used up)",
        +  "type": "string"
        +}
      • changedInput schema / properties / pay / description
        Previous value: -"Optional, a Findings, an Audit or the Monthly drive: let our agent buy your plan at your own checkout. kind code: a one-use 100% off code (value); sandbox: a login to your checkout's test mode or sandbox (value); seat: no value, we send you our test account's address once our agent has signed up, you upgrade it. Sealed, never shown back, deleted after the drive."New value: +"Optional on an Audit, required on a Payment proof (proof): let our agent buy your plan at your own checkout. kind code: your discount code (value) that leaves $0.50 a purchase; our card pays that on this order, at cost, and cancels the plan (send authorise: true with it); sandbox: a login to your checkout's test mode or sandbox (value); seat: no value, we send you our test account's address once our agent has signed up, you upgrade it. Sealed, never shown back, deleted after the drive."
      • changedInput schema / properties / product / description
        Previous value: -"free: Free check · drive: Findings · report: Full report · audit: Audit · monthly: Monthly drive, monthly · yearly: Monthly drive, yearly · stack/stack3: Stack check · builder/team: data plans. Older ids still work: findings and quick (Findings), verified_month and verified (Monthly drive). Orders answer with the ids above; whoami's orders keep the stored ones (quick Findings, report a Full report, drive an Audit)"New value: +"free: Free check · drive: Findings · report: Full report · audit: Audit · monthly: Monthly drive, monthly · yearly: Monthly drive, yearly · proof: Payment proof · stack/stack3: Stack check · builder/team: data plans. Older ids still work: findings and quick (Findings), verified_month and verified (Monthly drive). Orders answer with the ids above; whoami's orders keep the stored ones (quick Findings, report a Full report, drive an Audit)"
      • changedInput schema / properties / product / enum
        Previous value: -[
        -  "free",
        -  "drive",
        -  "report",
        -  "audit",
        -  "monthly",
        -  "yearly",
        -  "stack",
        -  "stack3",
        -  "builder",
        -  "team",
        -  "findings",
        -  "quick",
        -  "verified_month",
        -  "verified"
        -]New value: +[
        +  "free",
        +  "drive",
        +  "report",
        +  "audit",
        +  "monthly",
        +  "yearly",
        +  "proof",
        +  "stack",
        +  "stack3",
        +  "builder",
        +  "team",
        +  "findings",
        +  "quick",
        +  "verified_month",
        +  "verified"
        +]
  4. 2 tool updates
    • Changedorder1 field changed
      • changedInput schema / properties / buyer / description
        Previous value: -"drive, paid over HTTP 402 (pay_order): optional, for our invoice. The price includes any VAT; an EU VAT ID that VIES confirms gets our invoice at once, with no VAT outside the Netherlands."New value: +"A report or the Monthly drive paid over HTTP 402 (pay_order): optional, for our invoice. The price includes any VAT; an EU VAT ID that VIES confirms gets our invoice at once, with no VAT outside the Netherlands."
    • Changedpay_order1 field changed
      • changedInput schema / properties / order_id / description
        Previous value: -"The Drive's order id, from order or my_orders"New value: +"The order's id, from order or my_orders"
  5. 1 tool update
    • Changedorder1 field changed
      • changedInput schema / properties / fresh / description
        Previous value: -"drive or report: true drives your product first (the report within 24 hours); without it the report of a drive of the last 30 days comes at once"New value: +"drive or report: true drives your product first (the report within 48 hours); without it the report of a drive of the last 30 days comes at once"
  6. 1 tool update
    • Changedorder5 fields changed
      • addedInput schema / properties / fresh
        Added value: +{
        +  "default": false,
        +  "description": "drive or report: true drives your product first (the report within 24 hours); without it the report of a drive of the last 30 days comes at once",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / pay / description
        Previous value: -"Optional, a Drive, an Audit or the Monthly drive: let our agent buy your plan at your own checkout. kind code: a one-use 100% off code (value); sandbox: a login to your checkout's test mode or sandbox (value); seat: no value, we send you our test account's address once our agent has signed up, you upgrade it. Sealed, never shown back, deleted after the drive."New value: +"Optional, a Findings, an Audit or the Monthly drive: let our agent buy your plan at your own checkout. kind code: a one-use 100% off code (value); sandbox: a login to your checkout's test mode or sandbox (value); seat: no value, we send you our test account's address once our agent has signed up, you upgrade it. Sealed, never shown back, deleted after the drive."
      • changedInput schema / properties / product / description
        Previous value: -"free: Free check · drive: Drive · audit: Audit · monthly: Monthly drive, monthly · yearly: Monthly drive, yearly · stack/stack3: Stack check · builder/team: data plans. Older ids still work: quick (Drive), verified_month and verified (Monthly drive). Orders answer with the ids above; whoami's orders keep the stored ones (quick a Drive, drive an Audit)"New value: +"free: Free check · drive: Findings · report: Full report · audit: Audit · monthly: Monthly drive, monthly · yearly: Monthly drive, yearly · stack/stack3: Stack check · builder/team: data plans. Older ids still work: findings and quick (Findings), verified_month and verified (Monthly drive). Orders answer with the ids above; whoami's orders keep the stored ones (quick Findings, report a Full report, drive an Audit)"
      • changedInput schema / properties / product / enum
        Previous value: -[
        -  "free",
        -  "drive",
        -  "audit",
        -  "monthly",
        -  "yearly",
        -  "stack",
        -  "stack3",
        -  "builder",
        -  "team",
        -  "quick",
        -  "verified_month",
        -  "verified"
        -]New value: +[
        +  "free",
        +  "drive",
        +  "report",
        +  "audit",
        +  "monthly",
        +  "yearly",
        +  "stack",
        +  "stack3",
        +  "builder",
        +  "team",
        +  "findings",
        +  "quick",
        +  "verified_month",
        +  "verified"
        +]
      • changedInput schema / properties / upgrade_from / description
        Previous value: -"product audit: the id of your Drive whose report is at most 30 days old; it counts toward the Audit, once"New value: +"product report or audit: the id of your Findings or Full report order whose report is at most 30 days old; what you paid counts toward the bigger one, once"
  7. 2 tool updates
    • Changedfind_tools_for_task1 field changed
      • changedInput schema / properties / task / description
        Previous value: -"What your agent should get done, in plain words, e.g. 'send an invoice' or 'create a contact'"New value: +"The task in plain words, e.g. 'send an invoice' or 'create a contact'"
    • Addedrecheck_after_fix
  8. 25 tool updates
    • First observedbalance
    • First observedcancel_monthly
    • First observedcase_status
    • First observedclaim_domain
    • First observeddispute_result
    • First observeddrive_stop
    • First observedfind_tools_for_task
    • First observedfollowup_drive
    • First observedget_tool
    • First observedlist_categories
    • First observedmy_orders
    • First observedorder
    • First observedpay_check
    • First observedpay_code
    • First observedpay_order
    • First observedsearch_tools
    • First observedsend_claim_code
    • First observedsign_up
    • First observedsuggest_product
    • First observedsupport_ask
    • First observedswitch_monthly
    • First observedtop_up
    • First observedverify_claim
    • First observedwhoami
    • First observedwithdraw_order

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Certification authority for AI agents. Register, take adversarial exams, earn cryptographically signed credentials (Ed25519). Get paid to examine other agents. 20,000 free credits on registration — no payment needed to start.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Human-as-a-Service for AI agents. When your agent is blocked by a task that requires a real human — accepting ToS, creating accounts, submitting forms, identity verification — it calls NeedHuman. A human completes the task and returns the result with proof.
    3
    20 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources