Skip to main content
Glama

Physical Capability Cloud

Server Details

Discover, hire, and verify real-world physical capability through MCP.

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
Uptime
17.7% over 55 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
LamaSu/physical-capability-cloud
GitHub Stars
1

TDQS

C2.9/5.0

Scored across 256 tools

Disambiguation1/5

With 256 tools, many overlap heavily (e.g., multiple job status updates, escrow readers, evidence archives, telemetry queries). Descriptions often differentiate, but the sheer scale and duplicated verbs (e.g., create_capability vs kernel_announce_capabilities) make selection ambiguous.

Naming Consistency2/5

Tool names mix prefixes (pcc_, marketplace_, near_, protocol_, setup_) with bare verb_noun forms and dotted namespaces (pcc.op.capability.request_quote). Some follow verb_noun, others don't (kernel_heartbeat, operator_heartbeat). Inconsistent conventions.

Tool Count1/5

256 tools is vastly excessive for any single server, even a complex domain like physical capability cloud. Each tool may be justified, but the aggregate is unwieldy and suggests over-decomposition.

Completeness3/5

The surface covers a broad range (onboarding, jobs, escrow, IP, verification, marketplace, telemetry), but notable gaps exist: operator certifications, earnings, and dashboard routes return 501/not available, and some oracle endpoints are stubs. Several lifecycle operations (e.g., update registration, delete registration) are missing.

Available Tools

256 tools
activate_registrationAInspect

Activate an approved registration, making the operator's equipment live on the network and ready to accept jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
registrationIdYesRegistration ID

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the state-changing-but-non-destructive profile is covered. The description usefully specifies the resulting state (equipment live, accepting jobs), but says nothing about idempotency, whether activation is reversible, or permission requirements.

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

Conciseness5/5

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

A single front-loaded sentence that states the action and its consequence with no filler or repetition of the tool name.

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

Completeness4/5

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

For a simple one-parameter mutation with no output schema and annotations covering the safety profile, the description covers the essential effect. It could go further on prerequisites and reversibility, but nothing critical to invoking it is missing.

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

Parameters3/5

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

Only one parameter and schema coverage is 100%, so the schema already fully documents registrationId. The description adds only the implicit constraint that it must reference an approved registration; baseline 3 applies when the schema carries the parameter definition.

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

Purpose4/5

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

Specific verb (activate) plus resource (approved registration) and a concrete outcome — the operator's equipment goes live and can accept jobs. The word 'approved' implicitly separates it from approve_registration and reject_registration, but no sibling is named explicitly.

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

Usage Guidelines3/5

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

The prerequisite that the registration must already be approved is implied by the adjective 'approved', which gives some usage context. There is no explicit when-to-use vs. alternatives guidance, nor any statement of when activation should not be attempted.

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

advance_automationAInspect

Advance the automation level for a transfer pair (manual → teleoperated → pilot_operated → vla_assisted → fully_autonomous). Requires sufficient training episodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNodeIdYesDestination instrument node ID
fromNodeIdYesSource instrument node ID

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false, leaving the description to carry the semantics. It does so by disclosing the ordered state progression (implying a directional, non-destructive state transition) and an entry precondition (sufficient training episodes). It still omits whether the advance is one step or to a target level and behavior on failure.

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

Conciseness5/5

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

Two compact sentences, front-loaded with the action and the state ladder, then the gating condition. No filler or redundancy.

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 mutation tool with no output schema and fully-documented params, the description covers the action, the ordered states, and the precondition. The main residual gap is ambiguity about whether one call advances a single step or transitions to a chosen level, which matters for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so fromNodeId and toNodeId are already documented. The description adds the concept of the automation ladder but never ties it to either parameter (no target-level parameter is mentioned), so it contributes only marginal meaning beyond the schema. 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?

Names a specific verb ('advance') and resource ('automation level for a transfer pair'), and enumerates the full state ladder (manual → ... → fully_autonomous), which strongly disambiguates it from neighbors like get_automation_status. It does not explicitly name or rule out any sibling, but the level ladder makes the operation's identity unmistakable.

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

Usage Guidelines3/5

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

'Requires sufficient training episodes' is a genuine precondition, which implies when the call is appropriate. However, there is no guidance on when to use this versus get_automation_status or list_automation_status, and no statement of what happens if the precondition is unmet.

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

analyze_machine_docsBInspect

AI analysis of machine documentation. Upload docs to get suggested capabilities, extracted specs, materials, and tolerances.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentNoDocument content or reference to analyze

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so safety is partly covered and the description's 'upload docs' wording is consistent with a non-read-only but non-destructive operation. The description adds the returned artifacts, but says nothing about whether an analysis record is persisted, what the document reference format is, or any cost/latency.

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

Conciseness4/5

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

Two short sentences, front-loaded with what the tool is before what it returns. No filler, though the output list is compressed into one comma run.

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, listing the returned artifacts is genuinely useful and partially compensates. However, for a single-parameter tool whose schema marks 'document' as optional (required: []), the description implies upload is necessary without reconciling that, and leaves persistence/return format unspecified.

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% for the single 'document' parameter, so the schema already explains it as 'content or reference'. 'Upload docs' in the description reinforces the intent but adds no syntax, format, or size guidance beyond the schema. 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 resource ('machine documentation') and an analysis action, and enumerates the outputs (suggested capabilities, specs, materials, tolerances), which makes the function concrete. It does not, however, distinguish itself from adjacent siblings like onboard_machine or create_capability, which could plausibly consume similar inputs.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no alternatives are named despite a large sibling set. 'Upload docs to get...' implies the input shape but not the conditions under which this tool is the right choice.

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

approve_registrationAInspect

Approve a submitted machine registration. Moves it from 'submitted' to 'approved' status, enabling the operator to activate and start accepting jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
registrationIdYesRegistration ID (e.g. 'reg-1234567890')

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare it is a non-read-only, non-destructive mutation. The description adds substantive behavioral context beyond that: the precise state machine transition (submitted -> approved) and the downstream consequence (operator can activate and accept jobs). It omits reversibility, permissions, and failure modes, but the transition semantics are genuinely informative.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the action and followed by the state transition and consequence. No filler or redundancy.

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 one-parameter mutation with no output schema and annotations covering the safety profile, the description supplies the key missing context: what state the resource must be in and what approval unlocks. It could optionally note the read counterpart (get_registration) or whether the action is reversible, but nothing essential for calling it is absent.

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 registrationId parameter is already documented with a format example ('reg-1234567890'). The description adds no further meaning about the identifier, 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?

Names a specific verb (approve) and resource (submitted machine registration) and describes the exact state transition from 'submitted' to 'approved'. It also distinguishes itself from the nearby siblings activate_registration and reject_registration by framing approval as the precondition that enables activation.

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?

Clear context for when this applies: the registration must be in 'submitted' state, and the outcome enables the operator to activate. It does not state explicit exclusions (e.g. what to do instead when rejecting or when the registration is already approved), so it stops short of full when/when-not guidance.

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

archive_encrypted_bundleAInspect

Archive an encrypted evidence bundle to IPFS and store the resulting CID in the database. Idempotent — returns existing CID if already archived.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundleIdYesEncrypted evidence bundle ID

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation safety profile is covered. The description adds real behavioral value beyond that: it discloses idempotency and that an existing CID is returned on repeat calls, which prevents redundant archiving.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the primary action and effect, followed by the idempotency behavior. No filler or redundancy.

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

Completeness4/5

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

For a single-parameter mutation tool with annotations covering safety and an inferred CID return value, the description covers action, destination, persistence, and idempotency. Only the absence of prerequisite/auth context keeps it short of 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 description coverage is 100% with a single well-documented bundleId parameter, so baseline 3 applies. The description adds no format or syntax detail beyond what the schema already 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?

States a specific verb (archive) with a specific resource (encrypted evidence bundle), the destination (IPFS), and the side effect (store CID in database). Distinguishes the operation well, though it does not explicitly differentiate from the sibling archive_evidence.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus the many sibling evidence tools (archive_evidence, commit_evidence, register_job_evidence_ip). The idempotency note hints at safe re-invocation but says nothing about prerequisites or alternatives.

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

archive_evidenceAInspect

Archive an evidence bundle to IPFS/Storacha for permanent decentralized storage. Returns the content-addressed CID.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundleYesEvidence bundle object to archive

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description adds that storage is permanent/decentralized and that the operation returns a content-addressed CID, which is useful context beyond the annotations.

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

Conciseness5/5

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

Two tightly written sentences with the action and destination front-loaded. Every clause earns its place.

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

Completeness3/5

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

The description covers the operation, destination, permanence, and return value, but the input schema exposes only an opaque nested object for 'bundle' with no shape guidance. For a write tool with a required nested object, this leaves a meaningful gap for correct invocation.

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

Parameters3/5

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

Schema coverage is 100%, and the single 'bundle' parameter is described in the schema as an evidence bundle object. The description does not add any further parameter meaning, 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?

The description gives a specific verb and resource ('Archive an evidence bundle') plus the destination ('IPFS/Storacha for permanent decentralized storage'). It does not differentiate from the sibling 'archive_encrypted_bundle', so it stops short of a 5.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or alternatives are given. The existence of siblings like 'archive_encrypted_bundle' and 'commit_evidence' makes this gap meaningful.

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

attach_operator_channelAInspect

Attach a notification/dispatch channel to an operator so PCC knows how to ping them when a job lands. The operator's onboarding agent calls this AFTER the conversation that produced the channel record. Transport is a small stable enum (webhook|email|sms|voice|push|mqtt|file|manual) — vendor specifics live in the free-form describe field, written by the operator's agent. PCC the substrate stays neutral. Returns the channel record with a generated id.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesOperator slug (typically the operator's address or unique identifier).
labelYesShort human label shown to the operator and in admin UIs: 'Front counter printer', 'Owner's phone'.
enabledNoWhether the channel is live (defaults to true).
describeYesPlain-English instructions for how PCC should talk to whatever is on the other end. Written by the operator's onboarding agent. Required, ≥4 chars. Example: 'POST JSON with keys order_id, line_items[], deadline_iso. I will POST back {order_id, status} to your reply URL.'
endpointNoTransport-specific routing payload. webhook→{url}, email→{address}, sms/voice→{phoneE164}, push→{token,platform}, mqtt→{brokerUrl,topic}, file→{scheme,path}, manual→{}.
directionNoout=PCC pushes only; in-out=operator's system also replies; in=operator pushes unsolicited.
transportYesWhich wire does the message go over. `manual` = no machine endpoint (dashboard-only).
credentialRefNoReference to a secret in the credential vault (not the secret itself). PCC resolves it at dispatch time.
replyContractNoOptional operator-authored contract describing how the operator's system will respond to evidence requests, status pings, etc.

TDQS

A4/5.0
Behavior4/5

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

Annotations (readOnlyHint=false, destructiveHint=false) already establish a non-destructive write. The description adds real context beyond that: it returns the channel record with a generated id, PCC stays transport-neutral, and vendor specifics belong in the free-form describe field. It does not cover permissions/auth prerequisites, but with annotations present the bar is lower.

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

Conciseness4/5

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

Four tight sentences that lead with the action, then the lifecycle timing, then the transport/describe contract. The only slightly expendable line is 'PCC the substrate stays neutral,' which is flavor more than instruction but still short.

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?

Handles a 9-parameter, nested-object tool well: the caller knows what it does, when to call it, what it returns, and how the enum vs. free-form fields divide responsibility. No output schema exists, yet the return shape (channel record with generated id) is stated; missing only auth/error behavior details.

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 is 3; the description goes beyond it by explaining the design intent of describe (vendor specifics authored by the operator's agent) and the small stable transport enum while explicitly contrasting it with the free-form field. That adds interpretive value the schema text alone does not.

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

Purpose4/5

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

States a specific verb (attach) and resource (notification/dispatch channel to an operator) plus the rationale (so PCC can ping them when a job lands). This clearly separates it from list_operator_channels, update_operator_channel and delete_operator_channel. It never names a sibling explicitly, so it stops just short of the top score.

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

Usage Guidelines4/5

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

Gives concrete timing guidance: 'The operator's onboarding agent calls this AFTER the conversation that produced the channel record.' That tells the agent when in the lifecycle to call it, but there is no explicit when-not or pointer to an alternative (e.g. update_operator_channel for existing records).

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

build_contractBInspect

Build and submit a capability contract with on-chain milestone escrow. Returns job ID and escrow address.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesCapability type
profileIdNoOptional capability profile ID
selectionsYesConfiguration selections
assuranceTierYesAssurance tier 0-3 (0=self-reported, 3=ZK-proven+bonds)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already signal a non-read-only, non-destructive write. The description adds that submission happens and escrow is involved, but omits consequential behavior: whether funds are locked at this step, auth/bond requirements, and irreversibility of the milestone escrow. Some added context, but significant gaps remain for a mutation.

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

Conciseness5/5

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

Two tight sentences with zero filler, front-loading the action and following with the return values. Every clause earns its place.

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

Completeness3/5

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

For a 4-param mutation with a nested 'selections' object and no output schema, the description helpfully states the return values (job ID and escrow address), partially compensating for the missing output schema. However it leaves prerequisites, escrow-funding implications, and the relationship to sibling escrow tools unaddressed.

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 are already documented (including assuranceTier's 0-3 semantics). The description adds no parameter-level 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.

Purpose4/5

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

States a specific compound verb (build and submit) and resource (capability contract) plus the key mechanism (on-chain milestone escrow). It is clear what the tool produces, though it does not explicitly distinguish itself from near siblings like create_capability, protocol_create_escrow, or fund_escrow.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites (e.g. must a capability/profile exist first), and no routing to alternatives such as create_capability or fund_escrow. The agent must infer placement from the name alone.

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

calculate_priceBInspect

Calculate price for a capability configuration. Returns base price, tier premiums, and estimated total cost.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesCapability type
profileIdNoOptional capability profile ID
selectionsYesConfiguration selections (material, dimensions, quantity, etc.)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations declare destructiveHint=false but readOnlyHint=false, which is mildly surprising for a pure calculation and is neither explained nor reconciled. The description does add value by disclosing the returned components (base price, tier premiums, total), which matters since there is no output schema, but it omits side effects, permissions, and caching behavior.

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

Conciseness5/5

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

Two tightly written sentences with the purpose front-loaded and the return contents second; no filler and nothing that could be cut without losing information.

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

Completeness4/5

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

With no output schema, the description appropriately explains what is returned, and the fully documented schema covers the inputs. The main remaining gap is the unresolved readOnlyHint=false signal for what reads like a side-effect-free calculation.

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 type, profileId, and selections (including the nested material/dimensions/quantity fields). The description adds no syntax or format detail beyond what the schema provides, so 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 and resource ('Calculate price for a capability configuration') and is clearly distinct from calculation siblings such as calculate_roi. It does not explicitly differentiate itself from adjacent quote/fee tools like pcc.op.capability.request_quote or protocol_fee, so sibling routing is left to inference.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no named alternative, even though the sibling list contains several pricing/quote/fee tools (calculate_roi, request_quote, protocol_fee, pcc_protocol_fee) that an agent must choose between. Prerequisites for calling it are also unstated.

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

calculate_roiBInspect

Calculate ROI projection for onboarding equipment. Returns month-by-month revenue, cost, and break-even analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
avgJobValueNoAverage revenue per job in USD
monthlyCostNoMonthly operating cost in USD
utilizationNoExpected utilization percentage (0-100)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the safety profile is partly covered, though the non-read-only flag is unexplained for something that reads as a pure computation. The description adds useful behavioral detail by disclosing the response shape (month-by-month revenue, cost, break-even), which matters since there is no output schema.

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

Conciseness4/5

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

Two sentences, both earning their place: the first states purpose, the second states output. Front-loaded and free of filler.

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

Completeness3/5

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

The description compensates for the missing output schema by summarizing returns, and all params are documented in the schema. However, it omits what happens when the optional parameters are omitted (defaults), and gives no usage context, leaving a gap for a projection tool with zero required inputs.

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 three parameters (avgJobValue, monthlyCost, utilization) are already documented in the schema. The description adds no parameter-level meaning, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Calculate ROI projection') plus the domain ('for onboarding equipment'), so the agent knows what the tool produces. It does not explicitly distinguish itself from the nearby sibling calculate_price, 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 Guidelines3/5

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

The phrase 'for onboarding equipment' implies the usage context, but there is no explicit when-to-use statement, no exclusions, and no named alternative (e.g. calculate_price). Usage is only inferable from the domain wording.

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

cancel_protocol_runAInspect

Cancel a protocol run. Cannot be cancelled once completed or already cancelled.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesProtocol run ID to cancel

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so safety is covered, and the description adds real behavioral context by disclosing the terminal-state constraint on cancellation. It stops short of saying whether cancellation is reversible, idempotent, or permission-gated.

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

Conciseness5/5

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

Two short sentences, front-loaded with the action and followed immediately by the constraint. Every clause earns its place with zero filler.

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

Completeness4/5

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

For a single-parameter mutation tool with no output schema, the action and its precondition are sufficient to invoke it correctly. A brief note on the effect of a successful cancellation (state transition, return value) would close the remaining 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?

There is only one parameter and schema coverage is 100%, with the schema describing it as 'Protocol run ID to cancel'. The description adds no format, naming, or sourcing detail beyond that, 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 and resource (cancel a protocol run), which is unambiguous on its own. However, it does nothing to distinguish itself from close siblings like pause_protocol_run, resume_protocol_run, or start_protocol_run that operate on the same resource.

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

Usage Guidelines3/5

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

The second sentence gives a useful precondition (not completed, not already cancelled), which implies when not to call it. But it never names an alternative action or tells the agent how cancellation differs from pausing, so routing between the lifecycle siblings remains guesswork.

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

check_inviteA
Read-only
Inspect

Validate an invite code before redeeming it. Returns whether the code is valid and what it includes.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesInvite code to check

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuine value by disclosing the return shape ('whether the code is valid and what it includes'), which matters since there is no output schema.

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

Conciseness5/5

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

Two tight sentences: the action first, then the return value. No redundancy or filler.

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

Completeness4/5

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

For a single-parameter read-only tool with annotations covering the safety profile and the description covering the return, the definition is nearly complete. The only gap is not naming the redeeming tool as the follow-up alternative.

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?

With a single parameter at 100% schema description coverage, the schema already documents 'code' as the invite code to check. The description adds no format, syntax, or length detail beyond that, so baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb ('Validate') and resource ('invite code') and situates it in a workflow ('before redeeming it'). It clearly signals a pre-redemption check, but does not name the sibling redeem_invite outright.

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

Usage Guidelines3/5

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

The phrase 'before redeeming it' implies when to use this tool versus redeeming directly, which is useful. However, it never explicitly names the alternative tool (redeem_invite) or states when NOT to use it, leaving the routing partly to inference.

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

check_support_repliesA
Read-only
Inspect

Check for admin replies on the operator's support threads. Call this periodically or when the operator asks 'did they respond yet?'. Returns all threads for this kernel and a hasUnreadReplies boolean indicating new admin messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesOperator's kernel ID

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral context: the return payload is all threads for the kernel plus a hasUnreadReplies boolean, which is important for a polling tool with no output schema.

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

Conciseness5/5

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

Three short sentences with no filler: purpose first, then the trigger condition, then the return shape. Every sentence earns its place.

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

Completeness4/5

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

For a single-param read-only poller with no output schema, the description covers purpose, trigger, and the key return fields. It stops short of describing thread structure or ordering, but nothing essential to calling 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?

Only one parameter with 100% schema description coverage ('Operator's kernel ID'), so the schema carries the load. The description reinforces the scoping ('all threads for this kernel') but adds no syntax or format detail beyond the schema, matching the baseline 3.

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 ('Check') and resource ('admin replies on the operator's support threads'), and implicitly scopes to 'this kernel'. An agent can distinguish it from send_support_message and reply_to_support_thread, which are the write-side siblings in the same domain.

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 explicit trigger conditions: 'Call this periodically or when the operator asks did they respond yet?'. This is clear context for invocation, though it names no exclusions or alternative tools (e.g. list_conversations) for related lookups.

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

claim_bountyBInspect

Claim a bounty to onboard a new capability. The operator commits to registering the capability and completing verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
bountyIdYesID of the bounty to claim
operatorIdYesID of the operator claiming the bounty

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare a non-destructive mutation (readOnlyHint=false, destructiveHint=false). The description adds meaningful obligation context, that the operator commits to registering the capability and completing verification, but it doesn't state whether the claim is exclusive, what happens on failure to complete, or what the response signals.

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

Conciseness4/5

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

Two short sentences with the action front-loaded and the commitment detail second. No wasted text, though it could arguably say more given the surrounding ecosystem.

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

Completeness3/5

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

For a mutation tool with no output schema, the description covers what it does and the operator's obligation but omits prerequisites (bounty availability, how to find bountyId via list_bounties) and post-claim state. Annotations cover the safety profile, so this is adequate rather than 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 description coverage is 100%, with both bountyId and operatorId clearly documented, so the schema carries the weight. The description adds no format, ID-source, or constraint detail beyond the schema, making the baseline 3 appropriate.

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

Purpose4/5

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

The description states a specific verb+resource ('claim a bounty') and adds purpose ('to onboard a new capability'), which distinguishes it from read-side siblings like list_bounties. It doesn't explicitly contrast itself with verify_bounty or convert_bounty_to_pool, so it stops short of full sibling differentiation.

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

Usage Guidelines3/5

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

Usage is implied by the stated goal of onboarding a capability, but there is no explicit when-to-use or when-not-to-use guidance, and no prerequisite (e.g. that the bounty must be listed/available, or how this relates to verify_bounty). The agent must infer the trigger conditions.

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

claim_ip_revenueBInspect

Claim earned revenue from an IP asset vault. Returns the claimed amount and transaction hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipIdYesIP asset ID
tokenIdsNoSpecific royalty token IDs to claim (optional — claims all if omitted)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations mark it non-read-only and non-destructive, and the description adds the return shape (claimed amount and transaction hash), which is useful context for a value transfer. But for a revenue-claim mutation it omits important traits: whether the action is on-chain/irreversible, gas or fee implications, and any auth requirements. With annotations covering only the safety flags, a 3 is appropriate.

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

Conciseness5/5

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

Two short sentences, both front-loaded: the action first, then the return value. No filler or redundancy.

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

Completeness3/5

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

For a financial/on-chain claim tool with no output schema, the description sensibly describes the return values in text. However, it is missing the usage routing against get_ip_revenue and any disclosure about irreversibility or fees, leaving an agent under-informed for a value-transfer operation.

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 ipId and tokenIds are already fully documented in the schema, including the 'claims all if omitted' behavior for tokenIds. The description adds no syntax, format, or constraint detail beyond what the schema provides, so 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 ('Claim') and resource ('earned revenue from an IP asset vault'), which clearly separates it from the read-only sibling get_ip_revenue. However, it does not explicitly name get_ip_revenue or pay_ip_royalty, so the differentiation is implied rather than stated.

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

Usage Guidelines2/5

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

No guidance on when to use this versus get_ip_revenue (the read counterpart), pay_ip_royalty, or distribute_royalties. No prerequisites such as ownership, vault state, or timing are mentioned.

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

claim_poolCInspect

Operator claims an investment pool reward after capability verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
poolIdYesPool ID to claim
operatorIdYesOperator ID making the claim

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, indicating a non-destructive mutation. The description adds the precondition 'after capability verification', which is meaningful context beyond annotations. However, it doesn't explain what the claim does (e.g., transfers tokens, marks as claimed), whether it's idempotent, or what authorization is needed. For a mutation tool, this is a significant gap.

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

Conciseness4/5

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

A single, front-loaded sentence that is concise and wastes no words. It efficiently conveys the core action and one precondition. It could arguably be slightly more informative, but it avoids verbosity.

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

Completeness2/5

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

Given the tool is a non-destructive mutation with no output schema and annotations that only cover safety hints, the description is incomplete. It omits what happens on success (e.g., reward transferred, state updated), prerequisites (e.g., verification status), and error conditions. For a claim operation in a complex system with many siblings, this leaves too much unspecified.

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 poolId and operatorId are documented in the schema. The description adds no parameter details beyond what the schema provides. Baseline 3 is appropriate when the schema fully documents parameters and the description doesn't compensate with extra semantics.

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

Purpose4/5

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

The description states a specific verb+resource: 'claims an investment pool reward', which is clear and distinguishable from siblings like claim_bounty, claim_ip_revenue, and stake_in_pool. It doesn't explicitly name those alternatives, but the resource 'investment pool reward' is specific enough to disambiguate.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is provided. It mentions 'after capability verification' as a precondition but doesn't explain how the agent should verify this, or what alternatives exist (e.g., stake_in_pool, get_pool_earnings). An agent would have to infer usage from context alone.

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

close_poolAInspect

Close an investment pool to new stakes. Pool enters sunset phase.

ParametersJSON Schema
NameRequiredDescriptionDefault
poolIdYesPool ID to close

TDQS

A3.5/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the agent already knows this mutates state without destroying data. The description usefully confirms that effect is limited to new stakes and that the pool enters a 'sunset phase,' which resolves the ambiguity about whether existing stakes are wiped. It still omits reversibility, whether the operation can be undone, and any permission requirements, so it adds context but not rich behavioral detail.

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

Conciseness5/5

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

Two short sentences, zero filler, with the core action and its scope front-loaded before the state consequence. Nothing can be removed without losing meaning.

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 one-parameter mutation with annotations present and no output schema, the description covers the essential effect and the resulting state. It is adequate but leaves open what happens to existing stakes and whether the close is reversible, which an agent invoking an irreversible-looking lifecycle change might reasonably 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?

There is a single parameter (poolId) with 100% schema description coverage, so the schema already carries the semantics. The description adds nothing about the parameter, which is the expected baseline when the schema does the work.

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 ('Close an investment pool') with a scope qualifier ('to new stakes'), which clearly distinguishes it from sibling mutations like stake_in_pool, claim_pool, and create_investment_pool. It does not name or contrast with any sibling explicitly, so it lands at 4 rather than 5.

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

Usage Guidelines3/5

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

The phrase 'to new stakes' implies the situation in which this tool applies (stopping new participation), but there is no explicit when-to-use guidance, no prerequisites (e.g., pool owner authority), and no exclusion or alternative named. Usage is inferable but not stated.

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

commit_evidenceAInspect

Create a Merkle commitment for an evidence bundle hash. Used as the first step in ZK proof generation for Tier 3 assurance.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundleHashYesSHA-256 hash of the evidence bundle

TDQS

A3.6/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-destructive write; the description is consistent with that. It adds no detail on side effects, idempotency, or whether reruns produce duplicate commitments.

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

Conciseness5/5

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

Two tight sentences that front-load the action, with the workflow positioning as supporting context. No filler.

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

Completeness4/5

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

For a single-parameter, non-destructive write tool this covers the essentials. With no output schema, it could mention what the commitment returns, but nothing critical to correct invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so bundleHash is fully documented in the schema. The description adds no format or semantic detail beyond what the schema already provides. 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+resource ('Create a Merkle commitment for an evidence bundle hash') and clarifies the input it operates on. It is distinguishable from siblings like submit_evidence_hash and verify_evidence_zk, though it does not name them explicitly.

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

Usage Guidelines3/5

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

The phrase 'first step in ZK proof generation for Tier 3 assurance' implies the workflow context and ordering, but no alternatives, prerequisites, or when-not-to-use conditions are given. Usage is only implied.

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

convert_bounty_to_poolCInspect

Convert an existing bounty into an investment pool. Allows community staking toward the bounty's capability.

ParametersJSON Schema
NameRequiredDescriptionDefault
bountyIdYesBounty ID to convert to a pool

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-destructive write. However, the description says nothing about the most important behavior for a conversion: whether the bounty ceases to exist as a bounty, whether the action is reversible, or what authorization is required.

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

Conciseness4/5

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

Two short sentences with the purpose front-loaded and no padding. The staking clause is slightly extraneous but does not derail the reader.

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

Completeness2/5

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

For a state-mutating conversion tool with no output schema and only weak annotation coverage, the description omits the outcome semantics (what the bounty becomes, what happens to existing claims/stakes) that an agent needs before invoking it.

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% with a single documented parameter, so the baseline is 3. The description adds no format, ID-source, or validation detail beyond what the schema already 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?

States a specific verb+resource ('Convert an existing bounty into an investment pool'), which an agent can distinguish from create_investment_pool / create_pool since this one requires a pre-existing bounty. The trailing clause about community staking is vague but adds scope.

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

Usage Guidelines2/5

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

No explicit when-to-use guidance and no routing to alternatives. The word 'existing' implies a bounty must already be present, but the prerequisites (ownership, bounty state, whether it must be unclaimed/unverified) are left to inference.

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

create_capabilityAInspect

Register a capability instance for a kernel. Required before submitting jobs — the gateway needs at least one capability per kernel. Creates a liquid-handler, fdm, cnc-3axis, or other capability type.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoHuman-readable name for the capability
typeYesCapability type (e.g. liquid-handler, fdm, cnc-3axis, laser-cut, document-printing)
kernelIdYesKernel ID to register capability for
descriptionNoDescription of what this capability does

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so mutability is covered. The description adds useful prerequisite semantics (at least one capability per kernel before job submission) but says nothing about idempotency, permissions, or what is returned after registration.

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

Conciseness4/5

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

Three short sentences, front-loaded with the core action and then the critical prerequisite. The third sentence largely restates the schema's type enum examples, which is slightly redundant but not wasteful enough to hurt.

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 mutation tool with no output schema, the description covers the action, the essential prerequisite, and the nominal types. The notable remaining gap is that it never indicates what the call yields (e.g. a capability ID the agent would need later for job submission), which matters given the stated ordering dependency.

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% with 4 documented parameters, so the schema carries parameter meaning. The description's type examples duplicate the schema's own type description and add no format, constraint, or validation detail beyond it.

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 ('Register') and resource ('a capability instance for a kernel'), and the third sentence enumerates capability types, so the agent knows what gets created. It stops short of explicitly differentiating from near-siblings like register_capability_ip or kernel_announce_capabilities, which could be confused with it.

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?

Explicitly states the precondition and timing: 'Required before submitting jobs — the gateway needs at least one capability per kernel.' That is genuine when-to-use guidance an agent can act on, though it names no alternative tool or when-not-to-use condition.

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

create_investment_poolBInspect

Create an investment pool for a capability bounty. Stakers earn future protocol fees when the capability goes live.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNoCurrency for the pool
descriptionYesDescription of the capability pool
targetAmountNoFunding target amount
capabilityTypeYesType of capability to invest in (e.g. cnc-milling, sla-printing)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the mutation/non-destructive profile is already covered. The description adds meaningful domain behavior—this is a funding vehicle where stakers accrue future protocol fees—but says nothing about permissions, whether the pool is mutable afterward, or what happens when a pool is created twice for the same capability.

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

Conciseness5/5

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

Two short sentences, action first, purpose second. No filler, no redundancy, and the key noun phrase is front-loaded.

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

Completeness3/5

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

For a 4-param mutation with no output schema and only partial behavioral annotation coverage, the description is adequate but thin. It omits prerequisites, duplicate-pool handling, and what a successful call yields; the schema covers parameters at 100% but does not compensate for behavioral 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 all four parameters (currency, description, targetAmount, capabilityType) are already documented in the schema. The description adds no syntax, default, or format detail beyond it, which is the expected baseline 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.

Purpose4/5

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

States a specific verb and resource ('Create an investment pool') plus the domain intent (funding a capability bounty, stakers earn future protocol fees). It is more than a restatement of the name. However, it does not distinguish itself from close cousins like convert_bounty_to_pool, stake_in_pool, or create_capability, so sibling differentiation is missing.

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

Usage Guidelines2/5

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

No guidance on when to create a pool versus converting an existing bounty to a pool or staking into one, and no prerequisites (e.g., whether the capability must exist first). The agent gets domain context but no routing logic.

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

create_kernelAInspect

Register a new Shop Kernel (physical site) on the PCC network. Part of Step 2 in the onboarding flow.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesKernel/site name (e.g. 'BioPunk Lab - Bay A')
configNoKernel configuration JSON
locationNoLocation object with address and geo coordinates
descriptionNoDescription of the site and its capabilities

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare this is a write (readOnlyHint=false) that is non-destructive, so the safety profile is covered. The description adds the onboarding-flow positioning but says nothing about idempotency, required pre-existing state, or what registration produces.

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

Conciseness5/5

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

Two short sentences, zero waste, and the core action is front-loaded before the flow context. Every sentence earns its place.

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

Completeness3/5

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

For a create tool with three nested object parameters and no output schema, the description is minimal but adequate. It leaves unclear how config/location are consumed and what a successful registration returns, which matters more given the nested payloads.

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 the schema already documents name, config, location, and description, and the description adds no syntax or format detail. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb and resource ('Register a new Shop Kernel') and disambiguates the non-obvious term by equating a kernel with a 'physical site'. It clearly differs from the read siblings (get_kernel, list_kernels), though it never names a sibling directly.

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?

Places the tool in a workflow context ('Step 2 in the onboarding flow'), which implies when to reach for it. However, it gives no prerequisites, no ordering details, and no statement of when NOT to use it or which sibling handles follow-up steps.

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

create_protocolBInspect

Create a new protocol template draft. Returns the new template ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProtocol name
tagsNoTags for discovery
stepsNoArray of protocol step objects
transfersNoArray of transfer objects between steps
parametersNoArray of parameter definitions
descriptionNoProtocol description
requiredCapabilitiesNoRequired capability types

TDQS

B3.4/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the mutation/safety profile is already covered. The description usefully adds that the result is a 'draft' and that a template ID is returned, but says nothing about validation, required capabilities, or what happens to the arrays supplied.

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

Conciseness5/5

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

Two tight sentences with the creation action front-loaded and the return value second. Nothing 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?

For a 7-parameter create tool with full schema coverage and no output schema, the description compensates by naming the returned ID. It is adequate to call the tool, though it omits lifecycle context (draft vs published) that would help sequencing.

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 seven parameters are documented in the schema itself. The description adds no syntax or format detail beyond that, 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 and resource ('Create a new protocol template draft') and adds the return value. The word 'draft' signals it is distinct from publish_protocol and update_protocol, though it does not explicitly name any sibling 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?

No when-to-use guidance, no prerequisites, and no alternatives named. The agent is left to infer from 'draft' that a separate publish step follows, but nothing states when to choose this over fork_protocol or create_protocol_run.

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

create_protocol_runCInspect

Instantiate a protocol template as a run on a specific kernel with given parameter values.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProtocol template ID
kernelIdNoKernel ID to run the protocol on
sampleIdsNoSample IDs being processed in this run
parameterValuesNoRuntime parameter values (overrides template defaults)

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare it is a write operation (readOnlyHint=false) that is not destructive, so the safety profile is covered. The description adds nothing beyond that: it does not say what side effects the run triggers, what permissions are needed, or whether the template defaults are mutated versus overridden (only implied via schema).

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

Conciseness4/5

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

A single, front-loaded sentence with no filler or redundancy. It is efficient, though the brevity comes at the cost of the details that would aid invocation.

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

Completeness2/5

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

This is a mutation tool with four parameters, a nested parameterValues object, and no output schema. The description never indicates what is returned (e.g., a run ID to feed into get_protocol_run / pause_protocol_run), nor what state the new run starts in, which is important context for a create-style tool.

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

Parameters3/5

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

Schema description coverage is 100%, so id, kernelId, sampleIds, and parameterValues are already documented in the schema. The description's phrase 'on a specific kernel with given parameter values' mirrors the schema without adding format or constraint detail, 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?

The description gives a specific verb (Instantiate) and resource (a protocol template as a run) plus a scope qualifier (on a specific kernel). It clearly states what is produced, but it does not distinguish itself from close siblings like start_protocol_run, create_protocol, or fork_protocol, leaving the agent to infer the boundary.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. With a sibling literally named start_protocol_run, the absence of any routing rule is a real gap for the agent.

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

create_shipmentCInspect

Create a new equipment shipment with origin, destination, package details, and provider.

ParametersJSON Schema
NameRequiredDescriptionDefault
originNoOrigin location with label, address, geo coordinates
packageNoPackage details (weightKg, dimensions, fragile, etc.)
providerIdNoLogistics provider ID
destinationNoDestination location with label, address, geo coordinates
equipmentDescriptionYesDescription of equipment being shipped

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write/safety profile is covered structurally. The description adds nothing beyond that: no permission requirements, no idempotency or duplicate-handling behavior, no statement of whether a provider must be registered, and no indication of what the call returns.

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 sentence that front-loads the verb and resource and omits filler. It is efficient, though it wastes its brevity on restating parameter names instead of conveying routing or behavioral information.

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

Completeness3/5

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

For a mutation tool with nested objects, one required field, and no output schema, the definition is minimally adequate. It does not say what a successful creation yields (e.g., a shipment ID) or how it relates to the quote tool, which an agent would need for correct sequencing.

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 includes nested object descriptions, so the schema already carries parameter meaning. The description merely echoes the field list (origin, destination, package, provider) without adding format, constraint, or default details. 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?

Specific verb (Create) plus resource (equipment shipment) with an enumeration of the payload fields, which lets an agent distinguish it from read-side siblings like get_shipments and get_shipment_quote. It stops short of explicitly contrasting itself with those siblings.

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

Usage Guidelines2/5

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

No guidance on when to use this versus alternatives. Notably, get_shipment_quote and get_logistics_overview exist nearby, and the description never says whether a quote must be obtained first or when a shipment should be created directly. No prerequisites or preconditions are stated.

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

delete_operator_channelA
Destructive
Inspect

Remove a channel from an operator. Future jobs will not dispatch to it. Use update_operator_channel with enabled=false to silence temporarily without losing the recipe in describe.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesChannel id.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: the downstream consequence ('Future jobs will not dispatch to it') and an implied permanence contrasted against temporary disabling. It stops short of stating irreversibility or auth requirements explicitly.

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

Conciseness5/5

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

Three short sentences, each earning its place: action, consequence, and alternative. The purpose is front-loaded and nothing is padded.

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 single-parameter destructive delete with annotations covering the safety profile and full schema coverage, this is complete: it conveys the effect, the permanence relative to disabling, and the sibling alternative. No output schema is needed.

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% for the single id parameter, so the schema already documents it fully. The description adds no parameter-level detail (format, source, constraints). Baseline 3 is correct when the schema does all the work.

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 (Remove) and resource (channel from an operator), and distinguishes itself from the sibling update_operator_channel by naming it explicitly. An agent can tell what this does and what it is not 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 Guidelines5/5

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

Gives explicit when-to-use and when-not-to-use guidance, naming the alternative (update_operator_channel with enabled=false) and the condition that selects it (temporary silence without losing the recipe). This is exactly the routing information an agent needs.

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

deposit_bondAInspect

Deposit an operator bond for a milestone on-chain. Required for Assurance Tier 3 jobs. Returns transaction hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEscrow contract address (0x...)
milestoneIndexYesMilestone index to post bond for (0-based)

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation/safety profile is partly covered. The description adds that the bond is posted on-chain but omits permissions/token-approval prerequisites, whether the bond is refundable or slashable, and gas considerations — meaningful gaps for a value-transfer operation.

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

Conciseness5/5

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

Three short sentences, front-loaded with the action and the requirement, with no filler. Every sentence carries distinct information (action, condition, return value).

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

Completeness3/5

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

It helpfully states the return value (transaction hash) even though no output schema exists, and the annotations cover the safety profile. Still, for an on-chain mutation tool it leaves out prerequisites and bond lifecycle behavior, leaving the agent incompletely briefed.

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 (address, milestoneIndex) are already documented in the schema. The description adds no format, range, or 0-based indexing detail beyond what the schema already provides, 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 (Deposit) and resource (operator bond for a milestone) and specifies it happens on-chain. It does not, however, distinguish itself from nearby siblings such as fund_escrow, which an agent might reasonably confuse with it.

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

Usage Guidelines4/5

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

Gives a concrete usage condition: 'Required for Assurance Tier 3 jobs.' This tells the agent when the call is mandatory, but it names no alternatives and offers no when-not guidance, so it stops short of full routing clarity.

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

dispute_verificationAInspect

File a dispute against the consensus verdict. Only verifiers who submitted a response can dispute. Requires additional evidence CID.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesReason for disputing the consensus
requestIdYesVerification request ID (hvreq_...)
disputerIdYesVerifier node ID filing the dispute
evidenceCidYesIPFS CID of the counter-evidence

TDQS

A3.6/5.0
Behavior3/5

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

Annotations declare this is a non-read-only, non-destructive mutation, so the safety profile is partly covered. The description adds the significant eligibility restriction and the evidence requirement, but says nothing about what the dispute triggers afterwards (escalation, slashing, reversibility) or whether it is idempotent.

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

Conciseness4/5

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

Three short sentences, purpose front-loaded, no filler. Every sentence carries information, though the middle eligibility sentence could have been folded in without loss.

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

Completeness3/5

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

For a mutation tool with no output schema and fully documented parameters, the definition covers what is needed to call it, but leaves the outcome of a dispute (who resolves it, what happens to the consensus verdict or the disputer) unexplained.

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 (requestId, disputerId, reason, evidenceCid) are already documented. The description only amplifies the evidenceCid requirement with 'additional evidence CID' and adds no format or constraint details beyond the schema.

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

Purpose4/5

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

States a specific verb (file) and a specific resource (dispute against the consensus verdict), which distinguishes it from the other dispute-family siblings like file_escrow_dispute and raise_ip_dispute. It is clear but never names those siblings to route the agent explicitly.

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?

'Only verifiers who submitted a response can dispute' is an explicit eligibility precondition, which is more than most definitions offer. It does not, however, sketch when a dispute is preferable to alternatives such as respond_to_verification or submit_for_human_verification.

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

distribute_royaltiesBInspect

Set revenue splits for an IP asset among stakeholders (designer, operator, verifier, assembler, curator). Splits must sum to 100.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipIdYesIP asset ID
splitsYesRevenue splits — must sum to 100

TDQS

B3.1/5.0
Behavior2/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false, so the mutation semantics are implied but not elaborated. The description does not say whether existing splits are overwritten, who is authorized to set them, whether the operation is reversible, or whether it emits a transaction — significant gaps for a write tool.

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

Conciseness5/5

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

Two short sentences, zero filler, with the core action and the validity constraint front-loaded. Every clause earns its place.

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

Completeness3/5

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

Adequate minimum: the agent knows what to set and the sum constraint, and the schema covers all parameters. But for a mutation with no output schema and only minimal annotations, the description should cover authorization, overwrite behavior, and the effect on existing splits.

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 ipId and the nested split fields are already documented. The description's enumeration of roles and the sum-to-100 rule merely restates what the schema already encodes, adding no syntax or format detail beyond it.

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 ('Set revenue splits for an IP asset') plus the stakeholder roles involved. It is distinguishable from read-side siblings like get_ip_revenue and pay_ip_royalty, though it never explicitly names which sibling it is *not*.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or prerequisite information. The agent cannot tell from the description whether this should be called at registration time, on an existing asset, or how it relates to pay_ip_royalty and claim_ip_revenue.

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

emit_telemetryAInspect

Manually emit a telemetry event for a job pipeline phase. Used by kernels and agents to report execution progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID
levelNoLog level for this event
phaseYesPipeline phase name (e.g. intake, binding, execution, evidence, settlement)
sourceNoSource module or component
statusYesPhase status
metadataNoAdditional event metadata
duration_msNoPhase duration in milliseconds

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-destructive write; the description is consistent with that. It adds that the emission is manual and phase-scoped, but says nothing about persistence, idempotency, duplicate handling, or required authorization — meaningful gaps for a write tool.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core action and no filler; every clause earns its place.

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

Completeness3/5

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

For a 7-parameter write tool with no output schema, the description covers purpose and audience but leaves out what happens on emission (persistence, confirmation, failure behavior) and any note that the optional fields (level, source, metadata, duration_ms) are optional. Adequate but with clear 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% and both enums (level, status) are documented in the schema, so the baseline is 3. The description adds no syntax, default, or semantic detail beyond what the schema already provides.

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+scope: 'Manually emit a telemetry event for a job pipeline phase.' The word 'Manually' cleanly distinguishes it from the read-side siblings (get_job_telemetry, get_active_telemetry, get_telemetry_logs) and from automatic/system telemetry emission, so an agent can tell write-event from read-event 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 Guidelines3/5

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

The second sentence ('Used by kernels and agents to report execution progress') gives implied context on who calls it and why, but there is no explicit when-to-use vs when-not, no mention of alternatives (e.g. system_telemetry or send_diagnostics), and no stated prerequisites.

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

execute_compositionAInspect

Commit a proposed composition: drives the DAG through the workflow engine, each step records a reputation outcome, the composition's reputation is finalized when the run ends. When PCC_COMPOSE_EXECUTE_REAL=true is set on the gateway, steps submit real jobs via JobFacade and the workflow run is durable (@pcc/workflow). When the flag is off, the NOOP runner returns synthetic success — useful in dev/test. Re-executing an already-run composition replays the stored result (idempotent — reputation deltas are applied exactly once).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesComposition id from propose_composition. Must be in `proposed` status and not expired.
idempotencyKeyNoOptional caller-supplied key (≤120 chars) to dedupe execute calls.

TDQS

A3.7/5.0
Behavior5/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, but the description goes far beyond by disclosing flag-controlled real vs NOOP execution, durable workflow via @pcc/workflow, idempotent replay semantics, and exactly-once reputation deltas. This is rich behavioral context that 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?

Four sentences front-load the core action and outcome, then cover flag behavior and idempotency. Every sentence carries relevant information, though some tightening is possible.

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 mutation tool with no output schema, the description covers execution semantics, environment flags, and idempotency well. It stops short of describing the return value (e.g., run id or status), which would be useful given the absence of an output schema.

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 both parameters are documented in the schema (id with status precondition, idempotencyKey with length cap). The description adds no parameter-level syntax or format details beyond what the schema provides; 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+resource (commit a proposed composition) and describes downstream effects (drives DAG, records reputation outcomes, finalizes reputation). It implicitly distinguishes from propose_composition but never names it as an alternative in the description itself.

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

Usage Guidelines2/5

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

No explicit when-to-use guidance or alternatives. 'Commit a proposed composition' implies the context but does not state prerequisites (e.g., must be proposed and not expired), nor does it mention when not to use or what alternative tools exist.

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

file_escrow_disputeBInspect

File a dispute against a milestone on-chain. Challenger must post a bond and provide evidence hash. Returns transaction hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesHuman-readable dispute reason
addressYesEscrow contract address (0x...)
challengerBondYesBond amount in wei (as string)
milestoneIndexYesMilestone index to dispute (0-based)
challengerEvidenceHashYesEvidence hash as 0x-prefixed hex bytes32

TDQS

B3.2/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the write/non-destructive profile is already given. The description adds real value by noting the challenger must post a bond (funds movement) and supply an evidence hash, but omits what happens to the bond on failure, whether the action is reversible, and any authorization requirements.

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

Conciseness4/5

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

Three short sentences that are front-loaded with the action and then the requirements. No filler, though it is terse to the point of omitting useful routing and consequence information.

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

Completeness3/5

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

Five required params, no output schema, and a mutation with financial stake. The return value (transaction hash) is stated, which is helpful, but the description does not cover the dispute lifecycle or bond consequences, leaving gaps for a tool of this complexity.

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

Parameters3/5

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

Schema description coverage is 100% with all five params documented (address, milestoneIndex, challengerBond, challengerEvidenceHash, reason). The description restates bond and evidence hash at a high level but adds no format or unit 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 and resource: 'File a dispute against a milestone on-chain.' This is clear enough to distinguish it from read-side siblings like get_escrow_dispute and other dispute tools such as dispute_verification or raise_ip_dispute, though it does not explicitly contrast with them.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites beyond the implied bond, and no routing to alternatives such as dispute_verification or raise_ip_dispute. The agent must infer context entirely from the name and required params.

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

fork_dashboardAInspect

Fork an existing dashboard into a new artifact you own, preserving lineage back to the original (the social remix verb). Use this to adapt a popular dashboard rather than build from scratch — e.g. fork a 'watch pizza' dashboard and raise the budget or add a receipt window via update_dashboard. Increments the source's fork counter. You can fork any public/unlisted artifact, or a private one you own.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe id (ua_...) of the artifact to fork.
nameNoOptional name for the fork (defaults to '<original> (fork)').
visibilityNoVisibility of the fork (default 'unlisted').

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
slugNo
manifestYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so safety profile is already covered. The description adds real value beyond that: it discloses the source-side effect ('Increments the source's fork counter') and the permission rule (public/unlisted any, private only if owned).

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 verb and lineage semantics, then use case, side effect, and permissions. Slightly dense with the em-dash aside and repeated 'fork' phrasing, but every sentence carries information.

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

Completeness4/5

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

Output schema exists, so return values need not be described. The description covers purpose, context, side effects, and permission constraints; only an explicit alternative/edge case would be needed to be fully 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 description coverage is 100%, and the schema documents all three params including defaults for name and visibility. The description adds no param syntax or format detail beyond that, so it meets the baseline of 3 rather than adding meaning.

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?

'Fork an existing dashboard into a new artifact you own, preserving lineage' gives a specific verb, resource, and outcome. It is clearly distinguishable from siblings like save_dashboard, update_dashboard, and search_dashboards.

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?

Explicitly states the intended context ('adapt a popular dashboard rather than build from scratch') and gives a concrete example, plus names update_dashboard as the follow-up for editing the fork. No explicit 'when not to use' or named alternative to forking, so short of a 5.

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

fork_protocolAInspect

Fork a protocol template to create your own version with parameter overrides. Returns the new fork ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProtocol template ID to fork
nameNoName for the forked protocol
parameterOverridesNoParameter values to override from the source template

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly=false and destructive=false, so the description is not the sole source of the safety profile, and it correctly corroborates a non-destructive write. It adds useful value by disclosing the return value ('Returns the new fork ID') despite no output schema, but says nothing about whether the fork is independent of, or affects, the source template.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the action and followed by the result. No filler or redundancy.

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

Completeness3/5

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

For a 3-parameter mutation tool with no output schema, the description covers the action and the return value, and annotations carry the safety profile. However, it omits fork independence from the source template and any overwrite/duplication behavior, which an agent would want before calling.

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 three parameters (id, name, parameterOverrides) are already documented in the schema. The description repeats the 'parameter overrides' concept without adding format, merge semantics, or conflict-resolution details beyond the schema.

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

Purpose4/5

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

States a specific verb (fork) and resource (protocol template), plus the effect: creating a customized copy with parameter overrides. An agent can distinguish it from list-style siblings like get_protocol_forks, though it never explicitly contrasts with create_protocol or fork_dashboard.

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 by the phrase 'create your own version with parameter overrides' – there is no explicit when-to-use statement, no prerequisites, and no named alternative (e.g. create_protocol vs. fork_protocol). Adequate but leaves routing to inference.

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

fund_escrowAInspect

Fund a protocol-created escrow on-chain. Approval is handled INTERNALLY by the gateway for protocol-created escrows (audit C-03 removed the public approve step) — do NOT call a separate approve first; fund directly. Returns transaction hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEscrow contract address (0x...)

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare the operation is a non-read-only, non-destructive write. The description adds real context beyond that: approval is handled internally by the gateway (citing audit C-03 as the reason the public approve step was removed), and it names the return value (transaction hash). It does not cover failure modes or funding limits.

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

Conciseness4/5

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

Content is front-loaded with the action, then the critical approval caveat, then the return value. The parenthetical audit reference is informative justification rather than padding, though it is the one element an agent could do without.

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

Completeness4/5

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

For a single-parameter mutation with no output schema, the definition covers the action, the surprising internal-approval behavior, and the return shape, which is enough to call it correctly. Gaps are minor: no note on gas, token allowances, or error conditions.

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 for the single address parameter is 100%, so the baseline is 3. The description lifts this slightly by constraining the acceptable input to an escrow address that was created through the protocol, a non-obvious restriction given that generic escrow siblings exist.

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

Purpose5/5

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

States a specific verb (Fund) and resource (protocol-created escrow) plus the execution context (on-chain). The qualifier "protocol-created" separates it from the generic escrow siblings such as protocol_create_escrow and get_escrow, so an agent can identify the right tool 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?

Gives explicit negative guidance: "do NOT call a separate approve first; fund directly," which prevents a common multi-step mistake. It does not, however, spell out prerequisites such as the need for a prior protocol_create_escrow or token/allowance requirements, so the routing guidance is clear but incomplete.

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

get_active_telemetryB
Read-only
Inspect

List currently active jobs with their current pipeline phase and telemetry status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this a safe read (readOnlyHint=true, destructiveHint=false), so the description is not carrying the safety burden. It adds the scoping trait 'currently active jobs' and names the telemetry fields returned, but says nothing about pagination, ordering, or whether results are global or scoped to the caller.

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

Conciseness5/5

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

A single front-loaded sentence with no filler or redundancy. The scope constraint ('currently active') and the payload contents are both stated in the first clause.

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

Completeness3/5

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

With no output schema, the description does the right thing by naming what is returned (pipeline phase, telemetry status), but for a listing endpoint it omits result volume, ordering, and whether the list is bounded. Complexity is low and annotations cover safety, so it is adequate rather than complete.

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 and schema description coverage is 100%, so there is nothing for the description to clarify. The rubric's baseline for a zero-parameter tool 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 (List) and resource (currently active jobs) plus the two fields returned (pipeline phase, telemetry status). The word 'active' implicitly distinguishes it from list_jobs and the historical get_telemetry_logs, but it never names a sibling, so differentiation requires the agent's own inference.

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

Usage Guidelines2/5

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

There is no when-to-use statement and no alternatives named. In a namespace containing get_job_telemetry, get_telemetry_logs, get_telemetry_stats, and system_telemetry, an agent gets no routing signal beyond the adjective 'active'.

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

get_agent_anomaliesB
Read-only
Inspect

Get anomalies involving a specific agent, plus their trust impact score.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesAgent or kernel ID

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this a safe read (readOnlyHint=true, destructiveHint=false), so safety needs no repetition. The description adds one genuinely useful behavioral fact — the result carries a trust impact score — but omits return shape, count limits, or pagination for what could be a list result.

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

Conciseness5/5

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

One sentence, front-loaded with the verb and scope, with the trust-score payload appended. Nothing is wasted and there is no preamble.

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 one-parameter read tool with full schema coverage and safety annotations, the definition covers what to query and hints at the return payload. The only gap is enumeration/pagination behavior, which is minor here and there is no output schema to lean on.

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 single agentId parameter is documented in the schema as 'Agent or kernel ID'. The description's 'a specific agent' adds no syntax or format detail beyond that, 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?

Specific verb+resource with a filter scope: 'Get anomalies involving a specific agent' plus a stated payload ('trust impact score'). It is distinguishable from get_unresolved_anomalies by the agent scoping, but it never names that sibling explicitly, so the differentiation is inferred rather than stated.

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

Usage Guidelines2/5

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

The phrase 'involving a specific agent' implies when it applies, but there is no explicit when-to-use, no when-not condition, and no pointer to get_unresolved_anomalies or get_anomaly_stats as alternatives. An agent must guess which anomaly tool fits.

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

get_anomaly_statsA
Read-only
Inspect

Get aggregate anomaly statistics — total, unresolved, by severity, by category.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that results are pre-aggregated rather than row-level, but says nothing about scope (global vs per-agent), time window, or whether counts are cached/live.

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

Conciseness5/5

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

One sentence, front-loaded with the verb and resource, followed by the exact breakdown categories. No filler and nothing repeated from structured fields.

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

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 enumeration of returned aggregates does useful work. But scope is unresolved: several sibling tools operate per-agent (get_agent_anomalies) or per-state (get_unresolved_anomalies), and this description does not say whether these stats are system-wide or scoped, nor what time range they cover.

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 there is no schema surface to compensate for; baseline 4 applies. The description correctly implies no filtering input is required.

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?

Clear verb+resource ('Get aggregate anomaly statistics') and it enumerates the dimensions returned (total, unresolved, by severity, by category), which distinguishes it from list-style siblings. It never names those siblings explicitly, so the differentiation relies on inference.

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

Usage Guidelines3/5

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

The word 'aggregate' implies this is for summary counts rather than enumerating individual anomalies, which is a real distinction from get_unresolved_anomalies and get_agent_anomalies. However, there is no explicit when-to-use statement, no exclusion, and no named alternative.

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

get_automation_statusB
Read-only
Inspect

Get automation status for a specific instrument-to-instrument transfer pair.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNodeIdYesDestination instrument node ID
fromNodeIdYesSource instrument node ID

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds nothing beyond that: it does not say what an 'automation status' value represents (e.g., states, last run, errors) or any auth/scope requirement, so it contributes no behavioral context of its own.

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

Conciseness4/5

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

A single front-loaded sentence with no filler or redundancy. It is efficiently sized, though the brevity is as much under-specification as economy.

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

Completeness2/5

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

There is no output schema, so the description must carry the meaning of the returned 'status' — but it never explains what status values or fields to expect. For a query tool with no output schema, the definition is too thin to tell an agent what it will actually receive.

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 both parameters carry their own descriptions ('Source/Destination instrument node ID'), so the schema does the work. The description adds no format, ID syntax, or pairing constraints beyond what the schema states, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Get automation status') and scopes it to a single instrument-to-instrument transfer pair, which implicitly distinguishes it from list_automation_status. It stops short of naming that sibling explicitly, so an agent must infer the singular-vs-list split.

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

Usage Guidelines3/5

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

The phrase 'for a specific ... transfer pair' implies a targeted single-pair lookup rather than a bulk listing, which is usable guidance. However, there is no explicit statement of when to prefer this over list_automation_status or what prerequisites (e.g., valid node IDs, existing transfer) apply.

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

get_bounty_leaderboardB
Read-only
Inspect

Get the bounty hunter leaderboard showing top operators by bounties claimed and verified.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of entries to return (default 10)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that results are ranked by claimed and verified bounties, which is genuine ranking context, but it does not disclose ordering direction, tie-breaking, or whether the leaderboard is global or scoped, leaving the behavior only partially characterized.

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

Conciseness5/5

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

One sentence with the verb, resource, and ranking criterion front-loaded. No filler and nothing to trim.

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 read-only, single-optional-parameter tool with no output schema, the description covers what the tool returns and the ranking basis. It does not state the ordering or scope of the leaderboard, which is the only meaningful remaining 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% and the single limit parameter is documented in the schema with its default of 10. The description adds nothing about the parameter, 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 (Get) and resource (bounty hunter leaderboard) and qualifies the content as top operators ranked by bounties claimed and verified, which distinguishes it from list_bounties, claim_bounty, and verify_bounty. It does not explicitly name the sibling it is differentiated from, so it stops short of a 5.

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

Usage Guidelines2/5

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

The description says what the tool returns but gives no when-to-use context, no exclusions, and does not point to alternatives such as get_operator_earnings, get_operator_dashboard, or list_bounties for per-operator or per-bounty data. The agent must infer the usage scenario on its own.

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

get_build_optionsAInspect

Get configuration options for a capability type (materials, dimensions, tolerances, assurance tiers). Use before calling calculate_price.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesCapability type (e.g. fdm, cnc-3axis, hplc)
profileIdNoOptional capability profile ID
selectionsNoCurrent selections to refine available options

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already carry the safety profile (destructiveHint=false), and the description adds the workflow dependency on calculate_price. However, it never reconciles the 'Get' framing with readOnlyHint=false, and it gives no hints about return shape or whether calling it has side effects beyond fetching.

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

Conciseness5/5

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

Two compact sentences with zero filler, and the purpose is front-loaded ahead of the sequencing instruction.

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 three-parameter read tool with no output schema and a nested input object, the description covers purpose and the critical dependency on calculate_price. It is complete enough to invoke correctly, though it leaves the return payload and the readOnly=false behavior undocumented.

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 the baseline is 3. The description enumerates the option groups that come back but adds nothing about the `type`, `profileId`, or nested `selections` parameters beyond what the schema already documents.

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 ('Get configuration options for a capability type') and enumerates the option groups returned, so the agent knows what it retrieves. Sibling differentiation is only implicit via the calculate_price link rather than a named contrast.

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 explicit sequencing ('Use before calling calculate_price'), which tells the agent where this tool sits in the workflow and why it is needed. It does not state when not to use it or name an alternative, so it falls short of a 5.

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

get_bundle_ipfsA
Read-only
Inspect

Get IPFS CIDs for a bundle — returns the primary CID, metadata CID, and Filecoin deal ID if available.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundleIdYesEvidence bundle ID

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare it a safe read (readOnlyHint=true, destructiveHint=false), so the safety burden is covered. The description adds genuinely useful behavioral context beyond that: the tool returns three specific artifacts and notes the Filecoin deal ID is conditional ('if available'). It discloses no auth or rate-limit behavior, but for a simple getter this is solid.

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 efficient sentence, front-loaded with the verb and resource, with the return payload described immediately after the dash. No wasted words.

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 usefully carries the return-value burden by naming the CIDs and deal ID. Combined with annotations covering safety and a fully documented single parameter, an agent has everything needed to invoke it; only the absence of sibling routing keeps it from a 5.

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 only one parameter (bundleId) and schema description coverage is 100%, so the schema fully documents it. The description adds no syntax, format, or scoping detail about the bundle ID. Baseline 3 is appropriate.

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

Purpose4/5

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

The description gives a specific verb (Get) and resource (IPFS CIDs for a bundle) and even enumerates the returned artifacts (primary CID, metadata CID, Filecoin deal ID). It is clear on its own, but it does not distinguish itself from the sibling retrieve_ipfs, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as retrieve_ipfs or get_evidence_bundle. Usage is only implied by the name and resource. No prerequisites or exclusions are given.

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

get_capability_ipC
Read-only
Inspect

Get the Story Protocol IP registration for a capability by its capability ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
capabilityIdYesCapability ID to look up IP registration for

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds no behavioral context beyond that: it does not say what happens if no IP registration exists (null, empty, or error), what the return payload contains, or whether the lookup is chain-backed or cached.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the target resource and lookup key appear immediately. It is efficient, though extremely terse, leaving no room for the routing or edge-case context an agent would benefit from.

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 annotated read with a complete one-parameter schema and no output schema, the description covers the basics but is silent on the not-found case and on how the result relates to sibling IP tools. Adequate but with a clear gap around error/empty behavior.

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% for the single parameter, so the schema already documents 'capabilityId' fully. The description only restates the key relationship ('by its capability ID') without adding format, source, or constraints — baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource (the Story Protocol IP registration for a capability) and specifies the key used ('by its capability ID'). This is unambiguous on its own, though it does not explicitly distinguish itself from nearby siblings like get_registration, get_ip_lineage, or register_capability_ip.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as get_registration or get_ip_lineage, nor any stated preconditions (e.g., the capability must already have a registration). The agent must infer usage entirely from the name and purpose.

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

get_compositionA
Read-only
Inspect

Retrieve a previously-proposed composition by id. Returns 404 if unknown, 410 if the 30-minute proposal window has expired. Use this to inspect a plan before executing, or to recover a plan id after a restart.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesComposition id (returned from propose_composition).

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare a safe read, but the description adds real behavioral context the annotations cannot: a 30-minute proposal TTL and the specific failure codes (404 unknown, 410 expired). The expiry semantics materially change how an agent must sequence calls.

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

Conciseness5/5

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

Three short sentences, front-loaded with what it does, then error semantics, then usage. Every clause carries information; nothing is restated from the schema or annotations.

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?

No output schema exists, so the description carries the burden of return behavior; it fully covers the error cases but never says what a retrieved composition contains. For a read-by-id tool with known error semantics, this is nearly complete, missing only the payload shape.

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 id parameter is already documented as coming from propose_composition; baseline would be 3. The description adds meaning beyond the schema by implying the id is only valid within a 30-minute window, which is a validity constraint on the parameter itself.

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 ('Retrieve a previously-proposed composition by id') and immediately frames the resource as the artifact produced by propose_composition and consumed by execute_composition. An agent can distinguish it from both siblings 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?

Gives two concrete use cases: inspecting a plan before executing and recovering a plan id after a restart. It stops short of naming the alternative tools (propose_composition / execute_composition) explicitly, so the routing is strongly implied rather than spelled out.

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

get_dashboardA
Read-only
Inspect

Recall a saved dashboard by its id or slug. Returns the full artifact (manifest + metadata). Use this to reload a dashboard the user asks for again ('open my pizza dashboard') instead of regenerating it — a saved dashboard reloads with zero regeneration. Public for public/unlisted artifacts; owner-only for private ones. Increments the load counter (a popularity signal).

ParametersJSON Schema
NameRequiredDescriptionDefault
idOrSlugYesThe artifact id (ua_...) or its slug (e.g. 'watch-my-pizza-8k3f', the tail of the /a/<slug> URL).

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
slugNo
manifestYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description adds genuinely non-obvious traits: zero regeneration cost, an access-control rule (public/unlisted accessible to all, private owner-only), and a hidden side effect ('Increments the load counter'). The side effect is notable because a read-only-hinted call still mutates a counter, but it is disclosed rather than hidden. Failure modes (e.g. private artifact not owned) are not described.

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

Conciseness5/5

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

Four short sentences, front-loaded with the action and return value, then usage, then access rules, then side effect. Every sentence carries distinct information with no repetition of the schema.

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?

An output schema exists, so the description need not enumerate returns beyond the brief 'manifest + metadata' summary. It supplies the usage context, access control, and side effect an agent needs, and the parameter is fully documented in the schema.

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 parameter already documents the ua_... id form and the slug tail of /a/<slug>. The description's 'by its id or slug' merely restates that, adding no syntax or constraint beyond the schema. 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 ('Recall a saved dashboard by its id or slug') and immediately says what is returned ('full artifact (manifest + metadata)'). It is easily distinguishable from save_dashboard, update_dashboard, search_dashboards, fork_dashboard, and get_operator_dashboard, and the reload-vs-regenerate framing sharpens the intent.

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

Usage Guidelines4/5

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

Gives a concrete when-to-use with a real user utterance ('open my pizza dashboard') and an explicit when-not (don't regenerate). It never names search_dashboards as the alternative for when the id/slug is unknown, which is the obvious complementary case, so it stops just short of full routing guidance.

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

get_demand_supplyA
Read-only
Inspect

Get network-wide demand vs supply timeline data for capacity planning and market analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds scope ('network-wide') but says nothing about the time window, granularity, or whether the timeline is bounded — notable given the tool accepts no parameters at all.

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

Conciseness5/5

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

A single front-loaded sentence with no filler — the verb, scope, and intended application all appear immediately and nothing is repeated.

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 input schema, no output schema, and no annotations beyond read-only safety, the description carries the full burden of explaining what comes back. It names the data ('demand vs supply timeline') but leaves the return shape, time horizon, and granularity unstated, which is a meaningful gap for a parameterless reporting tool.

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 per the rubric the baseline is 4; there are no parameter semantics for the description to clarify or omit.

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 ('Get') and a specific resource ('network-wide demand vs supply timeline data'), which an agent can distinguish from nearby siblings like get_top_demand or submit_demand. It stops short of explicitly contrasting itself with those siblings, so it is clear but not differentiated.

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

Usage Guidelines3/5

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

The phrase 'for capacity planning and market analysis' implies a use context, but there is no explicit when-to-use/when-not guidance and no named alternative for related queries such as get_top_demand or get_depin_stats. Usage is inferred rather than stated.

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

get_depin_statsB
Read-only
Inspect

DePIN treasury, soulbound capability certificates, and current reward epoch stats.

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 and destructiveHint=false, so the safety profile is covered without the description's help. The description contributes the scope of the payload (three stat categories), which is modestly useful context, but says nothing about freshness, aggregation window, or authorization. Adequate but not rich.

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

Conciseness4/5

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

A single tight sentence fragment with no waste and the three content areas front-loaded. It reads as a label rather than a sentence, but nothing extraneous is present.

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 parameterless read-only stats tool with no output schema, the description is just barely sufficient: it hints at the returned subject matter, but an agent gets no sense of shape or scope of the three payloads it will receive. No return-value explanation is possible since no output schema exists, which limits how complete this can be.

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 there is nothing for the description to disambiguate; the baseline of 4 applies. The description adds no parameter information because none is required.

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 fragment names three concrete data domains (DePIN treasury, soulbound capability certificates, reward epoch stats), which tells an agent roughly what content comes back. But it has no verb and never states that it retrieves or returns anything, so the action is only inferred from the tool name. It is more informative than a tautology yet not a clean verb+resource statement.

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

Usage Guidelines2/5

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

There is no indication of when to call this versus siblings such as get_token_balance, get_operator_earnings, get_settlement_epochs or get_operator_certs, which plausibly overlap with treasury, certificate and epoch data. No preconditions, no exclusions, no alternatives are offered.

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

get_equipment_classesA
Read-only
Inspect

List equipment classes (FDM printers, CNC mills, etc.) with market snapshot data including utilization, demand, and pricing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful content about what the snapshot contains (utilization, demand, pricing), but says nothing about return shape, pagination, or freshness of the market data. Adequate but not rich.

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

Conciseness5/5

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

A single front-loaded sentence that names the resource first and the payload second, with zero filler.

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

Completeness4/5

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

For a zero-param read tool with annotations covering safety and no output schema, the description conveys enough to call it correctly. The only missing piece is any hint about result size or data freshness, which is minor here.

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?

Zero parameters, so there is no schema semantics to compensate for; baseline is 4. The description correctly implies an unfiltered full listing, though it is silent on whether the result set can be scoped.

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

Purpose4/5

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

States a specific verb (List) and resource (equipment classes) with concrete examples (FDM printers, CNC mills) and names the data payload (utilization, demand, pricing). An agent knows what it gets, though the description doesn't distinguish this from near-neighbors like marketplace_categories or pcc_capture_class_registry.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no alternatives named among the many sibling list_/get_ tools. An agent must infer the call context entirely from the name.

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

get_escrowA
Read-only
Inspect

Get escrow details. Pass a DB ID for database record (with milestones and disputes), or an EVM address (0x...) to read directly from the blockchain.

ParametersJSON Schema
NameRequiredDescriptionDefault
escrowIdYesDB escrow ID or on-chain contract address (0x...)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuine value beyond that: the DB path returns milestones and disputes, while the address path reads live from the blockchain. That data-source distinction is exactly the kind of behavioral context annotations don't convey.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose, then the branching input guidance. Nothing wasted and no redundancy.

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

Completeness4/5

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

For a single-parameter read tool with annotations covering safety and no output schema, the description covers input modes and what the DB path returns. It is complete enough to call correctly, though it doesn't mention return shape for the on-chain path or any error behavior for invalid IDs.

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 describes escrowId as 'DB escrow ID or on-chain contract address (0x...)'. The description's dual-mode explanation largely reiterates the schema, adding the parenthetical about milestones/disputes for the DB mode but no new syntax or format detail. Baseline 3 is appropriate when the schema carries the load.

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

Purpose4/5

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

Specific verb+resource ('Get escrow details') that clearly states what the tool does, and it explains the two input modes (DB record vs on-chain). It doesn't explicitly distinguish itself from siblings like get_escrow_chain_state, get_escrow_dispute, and get_escrow_events, so sibling differentiation is implied rather than stated.

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

Usage Guidelines3/5

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

The description gives clear guidance on how to choose between the two input modes (DB ID vs EVM address), which is a form of usage guidance. However, there is no comparison against alternative escrow-reading siblings, so an agent must infer when this tool is preferred over get_escrow_chain_state or get_escrow_dispute.

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

get_escrow_chain_stateA
Read-only
Inspect

Read full on-chain escrow state with all milestone details from the blockchain. More detailed than get_escrow for on-chain contracts.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesOn-chain escrow contract address (0x...)

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that it returns the FULL state including all milestones, but says nothing about auth requirements, return shape, or pagination. With annotations carrying the safety burden, a 3 is appropriate.

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

Conciseness5/5

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

Two tight sentences with zero waste; the "what it does" clause is front-loaded and the comparative routing note follows immediately.

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

Completeness4/5

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

For a single-param, read-only tool with no output schema, the description covers purpose, scope, and sibling routing, which is nearly everything an agent needs. It could mention what the returned milestone data includes, but that gap is minor.

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% for the single address parameter with a clear 0x... description, so the schema does the work. The description adds no format or constraint detail beyond what is already documented, making 3 the correct baseline.

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 (Read) plus resource and scope (full on-chain escrow state with all milestone details from the blockchain), and explicitly distinguishes itself from the sibling get_escrow. An agent can tell the two apart 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 Guidelines4/5

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

"More detailed than get_escrow for on-chain contracts" gives a clear condition for choosing this over get_escrow, effectively naming the alternative. It stops short of stating when NOT to use it (e.g., off-chain or summary-only needs), so it is strong but not fully explicit.

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

get_escrow_disputeB
Read-only
Inspect

Read dispute state for a specific milestone from the blockchain.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEscrow contract address (0x...)
milestoneIndexYesMilestone index (0-based)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered by structured data. The description adds one piece of context beyond that – the data is read 'from the blockchain', implying an on-chain rather than cached/indexed source – but says nothing about latency, freshness, or what happens for an invalid milestone index.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; every word (read, dispute state, milestone, blockchain) carries information. Nothing to trim and nothing important deferred.

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 two-parameter read-only tool whose annotations already cover the safety profile and whose schema fully documents inputs, the description covers the essentials. Output shape is unspecified but no output schema exists, so 'dispute state' is a reasonable, if thin, signal.

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 address and milestoneIndex are already documented with format hints (0x..., 0-based). The phrase 'for a specific milestone' restates the milestoneIndex parameter without adding syntax, bounds, or error behavior, 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 (read), resource (dispute state), and scope (a specific milestone, on-chain). An agent knows what it returns. It does not, however, differentiate itself from close siblings such as get_escrow, get_escrow_chain_state, or get_escrow_events, which is what a 5 would require.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives, even though the sibling list contains several overlapping escrow/dispute readers (get_escrow, get_escrow_chain_state, get_escrow_events, dispute_verification). The agent must infer the selection criterion from the resource name alone.

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

get_escrow_eventsB
Read-only
Inspect

Get on-chain event history for an escrow contract. Returns funding, release, dispute, and bond events.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesOn-chain escrow contract address (0x...)
fromBlockNoStarting block number (optional)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds value by naming the event types returned, but says nothing about pagination, ordering, or how fromBlock scopes the result.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the core action and followed by the return categories. No filler.

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

Completeness4/5

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

With no output schema, the description partially compensates by enumerating the returned event types. Combined with full schema coverage and safety annotations, an agent has enough to call it correctly, though return format and range behavior remain unspecified.

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 address and fromBlock are documented in the schema. The description adds no syntax, format, or default details beyond that, 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?

The description states a specific verb and resource ('Get on-chain event history for an escrow contract') and enumerates the event categories returned. It is clearly distinguishable from get_escrow or get_escrow_chain_state, but it never names those siblings explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus get_escrow, get_escrow_chain_state, or list_escrows. The purpose implies a use case (inspecting events), but no conditions or exclusions are stated.

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

get_evidence_bundleB
Read-only
Inspect

Get an encrypted evidence bundle by its bundle ID. Returns the encrypted payload and key capsules.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundleIdYesEvidence bundle ID

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds return-content context (encrypted payload + key capsules), but omits the downstream implication that decryption requires another tool (e.g., lit_decrypt) and whether access grants are required.

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

Conciseness5/5

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

Two tight sentences, action first and return value second, with no filler. Nothing repeats the name gratuitously beyond the necessary verb-resource pairing.

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 single-parameter read with no output schema, the description does the minimum by naming the returned fields. It stops short of explaining what key capsules enable or how this fits the evidence workflow, leaving the agent to infer the decryption step.

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 single bundleId parameter is already documented there; the description only restates 'by its bundle ID' without adding format, origin, or how the ID is obtained. Baseline 3 is appropriate when the schema carries the parameter burden.

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: retrieves an encrypted evidence bundle identified by bundle ID, and describes the return content (encrypted payload plus key capsules). It does not, however, distinguish itself from close siblings such as get_bundle_ipfs, list_evidence, or verify_evidence_zk.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool rather than the alternatives in a crowded evidence family (get_bundle_ipfs, list_evidence, archive_encrypted_bundle, grant_evidence_access). No prerequisites or preconditions are mentioned.

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

get_installationsB
Read-only
Inspect

List equipment installation orders with step progress and status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by installation status (draft, scheduled, in_progress, completed)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description mentions 'step progress and status' as what is listed, which adds some context about return content, but it does not describe pagination, ordering, or other behavioral traits. With annotations covering safety, a 3 is appropriate.

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

Conciseness4/5

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

The description is a single, efficient sentence that is front-loaded with the main action. It earns its place without waste, though it could be slightly more informative.

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

Completeness3/5

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

For a read-only list tool with one well-documented parameter and no output schema, the description is minimally adequate. It does not explain what 'step progress' entails or the structure of returned orders, which might be helpful. However, given the annotations and schema, it is sufficient to call correctly but leaves gaps in understanding the output.

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%, with the single parameter 'status' fully documented including enum-like values in the schema description. The tool description does not add any parameter details beyond what the schema provides. Baseline 3 is correct when schema does the heavy lifting.

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: 'List equipment installation orders with step progress and status.' This is clear about what the tool does. However, it does not distinguish itself from other list/get tools in the sibling set, such as get_shipments or get_equipment_classes, beyond the resource name itself.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives, nor any conditions or exclusions. The description merely states what it does; it does not help the agent decide between this and similar listing tools like get_shipments or list_jobs.

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

get_ip_lineageB
Read-only
Inspect

Get the full IP lineage chain for an asset — parent capabilities and all derivative job registrations.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipIdYesIP asset ID

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the useful detail that the result is a lineage chain spanning parents and derivative job registrations, but says nothing about depth limits, pagination, or behavior when the IP has no derivations.

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

Conciseness4/5

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

A single tight sentence with the verb front-loaded and no filler. The em-dash clause is informative rather than redundant, though 'derivative job registrations' could be marginally clearer.

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

Completeness4/5

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

For a simple, single-parameter read tool with no output schema, the description gives enough to know what the call returns conceptually. Missing only edge-case behavior (empty lineage, depth) that an agent might want before relying on the result.

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

Parameters3/5

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

With one parameter at 100% schema description coverage ('IP asset ID'), the schema carries the semantics. The description only restates that the lookup is 'for an asset' and adds no format, ID-prefix, or validation detail beyond that.

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 ('Get the full IP lineage chain') and enumerates the chain's components (parent capabilities and derivative job registrations), which distinguishes it from the many other `get_*` IP tools. It does not explicitly name a sibling to contrast with, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to prefer this over adjacent tools like get_capability_ip or get_registration, nor any prerequisite or exclusion stated. The agent must infer the use case from the description alone.

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

get_ip_revenueB
Read-only
Inspect

Get a revenue snapshot for an IP asset — total earned, pending claims, and recent payments.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipIdYesIP asset ID

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description reinforces this by describing a snapshot/read and names the fields returned, which is useful but not rich behavioral context (no auth, freshness, or pagination notes).

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

Conciseness4/5

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

A single em-dash clause that front-loads the core action and then lists the payload. No filler, though it is brief to the point of omitting routing guidance.

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 usefully names the returned figures, and annotations cover the read-only nature. For a one-parameter read tool this is nearly complete, missing only a pointer to the related claim tool.

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

Parameters3/5

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

Schema description coverage is 100% with a single required ipId parameter, so the schema already documents the only input. The description adds no format or identifier guidance beyond the schema, making 3 the appropriate baseline.

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

Purpose4/5

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

States a specific verb (get) and resource (revenue snapshot for an IP asset) and enumerates the returned figures (total earned, pending claims, recent payments). It is distinguishable from the similarly named claim_ip_revenue, though it never names that sibling explicitly.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given. With a sibling named claim_ip_revenue in the toolset, the agent gets no help deciding between reading revenue and claiming it.

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

get_jobB
Read-only
Inspect

Get job details including progress, evidence bundles, and milestones.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description adds only the content categories returned; it says nothing about authorization requirements, whether a missing job errors or returns empty, or pagination. Reasonable but thin given annotations carry the main load.

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

Conciseness4/5

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

A single front-loaded sentence with no filler, and the returned-content list is placed immediately after the verb+resource. It is efficient, though slightly terse for a tool with this many siblings.

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?

A simple read tool with one required parameter, full schema coverage, and annotations covering the safety profile. Since no output schema exists, the enumeration of returned content (progress, evidence bundles, milestones) does useful work, though the missing sibling differentiation is a residual 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% and there is a single required parameter, so the schema already documents jobId fully. The description adds no format or sourcing detail beyond what the schema provides, which matches the baseline 3 for schema-documented parameters.

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

Purpose4/5

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

States a specific verb ('Get') and resource ('job') and enumerates the payload (progress, evidence bundles, milestones), which is more than a tautology. It does not, however, differentiate itself from close siblings such as get_job_telemetry, get_kernel_jobs, or list_jobs, leaving the agent to infer the boundary.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no named alternative. With siblings like get_job_telemetry and list_jobs in the same namespace, the description should say when to prefer this tool over them but offers nothing.

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

get_job_telemetryB
Read-only
Inspect

Get full event timeline for a specific job — all pipeline phase transitions with timings and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID to get pipeline timeline for

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuine value by describing the returned content (all phase transitions with timings and metadata), but it omits scope limits such as pagination, retention window, or whether the timeline is complete for finished jobs.

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

Conciseness5/5

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

One sentence, front-loaded with the verb and resource, and the em-dash clause adds the payload detail without padding. Nothing is wasted.

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

Completeness3/5

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

For a one-param read tool with annotations covering safety and no output schema, the description conveys the return shape adequately. What is missing is differentiation from the many sibling telemetry/job tools, which an agent needs in order to pick 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?

There is a single required param, and schema coverage is 100% ('Job ID to get pipeline timeline for'). The description's 'for a specific job' merely restates 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?

The description names a specific verb and resource ('Get full event timeline for a specific job') and even enumerates the payload's nature ('phase transitions with timings and metadata'). It is clear, but it never distinguishes itself from close siblings such as get_job, get_telemetry_logs, get_active_telemetry, or get_telemetry_stats, leaving the agent to guess which timeline/telemetry tool applies.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives, no prerequisite (e.g. job must exist or be in a terminal state), and no exclusion. With five-plus telemetry- and job-related siblings, the absence of routing guidance is a real gap.

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

get_kernelA
Read-only
Inspect

Get kernel details including full capability objects, devices, and queue.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish this as a safe read (readOnlyHint=true, destructiveHint=false), so the description's main job is disclosing what comes back. It does so by naming the richer contents (full capability objects, devices, queue), which is meaningful since there is no output schema. It stops short of describing pagination, missing-kernel behavior, or payload size.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler. The contents list is placed immediately after the verb-resource pair, so the most useful information is read first.

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

Completeness4/5

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

For a simple single-parameter read with no output schema, naming the returned sections compensates well for the absent return-value documentation. It is only mildly incomplete in not covering edge cases such as an unknown kernel ID or how this relates to the similarly-named kernel sub-resource getters.

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?

Only one parameter, kernelId, and schema description coverage is 100%, so the schema already documents it. The description adds no format hints (e.g., where a kernel ID comes from) beyond what the schema provides, matching the baseline of 3.

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 (get) and resource (kernel) and enumerates what the payload contains: capability objects, devices, and queue. This partially differentiates it from siblings like get_kernel_devices, get_kernel_jobs, and get_kernel_sensors, though it does not explicitly say it supersedes them.

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

Usage Guidelines3/5

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

Usage is only implied: fetch the full detail record for one kernel by ID. There is no explicit guidance on when to prefer this over list_kernels or the narrower get_kernel_devices / get_kernel_sensors calls, and no exclusions or prerequisites given.

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

get_kernel_devicesB
Read-only
Inspect

List all devices registered under a specific kernel, including adapter configs and device types.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds useful content context about what the list includes, but does not disclose other behavioral traits like authentication requirements, pagination, or rate limits.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It conveys the core purpose and extra content efficiently.

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

Completeness4/5

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

For a simple read-only list tool with annotations covering safety, the description is mostly complete: it states the resource and what is included. It does not mention return structure or pagination, but no output schema exists and the tool is straightforward.

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% for the single kernelId parameter, so the schema already documents it. The description mentions 'a specific kernel' but adds no new syntactic or semantic detail beyond what the schema provides, making the baseline of 3 appropriate.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('all devices registered under a specific kernel'), including what extra data is returned ('adapter configs and device types'). It does not explicitly differentiate from siblings like get_kernel_jobs or get_kernel_sensors, so it falls short of a 5.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives such as get_kernel_sensors or get_kernel_jobs. It only describes the output, leaving the agent to infer the appropriate context.

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

get_kernel_jobsB
Read-only
Inspect

List all jobs submitted to a specific kernel, including job status and progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds that returned jobs include status and progress, but says nothing about pagination, ordering, auth, or result limits.

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

Conciseness4/5

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

A single front-loaded sentence with no redundant clauses. It is appropriately sized, though it could have used a second short sentence for routing without becoming bloated.

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 one-parameter, read-only list tool with no output schema, the description covers the core action and return content (status/progress). Pagination and ordering are unaddressed, but the simple schema and annotations carry most of the remaining burden.

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 there is one required kernelId documented as 'Kernel ID'. The description adds no parameter syntax or constraints beyond what the schema already provides, making 3 the baseline.

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

Purpose4/5

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

States a specific verb (List) and resource (jobs submitted to a specific kernel), which distinguishes it from broad list_jobs and single-job get_job. It does not explicitly name siblings, so differentiation is only implicit.

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?

Gives no explicit when-to-use guidance, prerequisites, or alternatives. The agent can infer it is for kernel-scoped job listing, but nothing steers it between this, list_jobs, get_job, or get_job_telemetry.

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

get_kernel_sensorsB
Read-only
Inspect

Get sensor channels for a specific kernel. Returns live channel descriptors.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID to get sensors for

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that it returns 'live channel descriptors', but does not describe pagination, auth needs, freshness semantics, or what 'live' operationally means.

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

Conciseness5/5

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

Two short sentences with no waste: the core operation is front-loaded, and the return-type note adds useful information without padding.

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 read-only lookup, the description covers purpose and a basic return type. However, with no output schema, it leaves the actual shape and meaning of 'live channel descriptors' vague, which is a gap for an agent consuming the result.

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

Parameters3/5

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

Schema description coverage is 100%, so the single kernelId parameter is already fully documented. The description's 'for a specific kernel' repeats the schema rather than adding syntax, format, or constraint detail.

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 ('Get sensor channels') and scopes it to 'a specific kernel', which helps distinguish it from broader sensor or kernel tools. It does not explicitly name an alternative sibling, so it stops short of the highest clarity band.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, prerequisites, or alternative tools. It only implies usage from the required kernelId and the phrase 'for a specific kernel'.

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

get_lit_conditionsA
Read-only
Inspect

Get Lit Protocol access conditions for a Lit-encrypted evidence bundle. Returns the conditions that gate decryption.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundleIdYesEvidence bundle ID (must be Lit-encrypted)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds that the tool returns conditions gating decryption, but says nothing about permissions required, pagination, or error behavior for non-Lit-encrypted bundles.

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

Conciseness5/5

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

Two tightly written sentences with no filler, and the core purpose is front-loaded in the first clause.

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

Completeness4/5

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

For a simple read-only getter with one fully documented parameter and no output schema, the description covers what the tool does and what it returns. Minor omissions (alternatives, prerequisite handling for non-encrypted bundles) keep it from a 5.

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 bundleId parameter is well documented in the schema itself, including the 'must be Lit-encrypted' constraint. The description adds nothing 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?

The description names a specific verb (get), resource (Lit Protocol access conditions), and scope (a Lit-encrypted evidence bundle), and even clarifies the return ('conditions that gate decryption'). This distinguishes it from lit_decrypt and get_evidence_bundle, though it does not name those siblings explicitly.

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

Usage Guidelines3/5

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

Usage is implied: retrieve access conditions when working with a Lit-encrypted bundle. There is no explicit when-to-use/when-not guidance and no reference to alternatives such as lit_decrypt or get_evidence_bundle, 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.

get_logistics_overviewB
Read-only
Inspect

Logistics hub overview: active shipments, pending installations, and upcoming bookings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the useful structural fact that the response aggregates three categories, but says nothing about scope limits, filtering, or freshness of the returned data.

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

Conciseness4/5

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

A single compact sentence, front-loaded with the resource and immediately followed by the content categories. No wasted words, though it is a noun-phrase fragment rather than a full verb statement.

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 no-param read tool with annotations covering safety and no output schema, the description conveys what categories come back, which is the main thing an agent needs. It falls short on any indication of return shape, ordering, or volume limits, leaving some ambiguity about the payload.

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 there is nothing for the description to document. Baseline 4 applies; the description correctly implies a parameterless global overview.

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?

Names a specific resource (logistics hub) and enumerates the three data categories it aggregates: active shipments, pending installations, upcoming bookings. This lets an agent recognize it as a composite/overview tool distinct from the granular get_shipments, get_installations and get_space_bookings siblings, though it doesn't explicitly name them.

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

Usage Guidelines2/5

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

No statement of when to prefer this overview over the dedicated siblings (get_shipments, get_installations, get_space_bookings), nor any exclusions or prerequisites. The agent must infer usage from the word 'overview' alone.

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

get_marketplace_overviewB
Read-only
Inspect

Equipment marketplace overview with demand/supply metrics across all capability types.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds nothing further: no scope (global vs account-scoped), no freshness/cadence of the metrics, no return shape hints. For an aggregate dashboard tool this is a real gap.

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

Conciseness4/5

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

A single front-loaded sentence with no filler, which is appropriate for a no-arg read. It is on the terse side for an aggregation tool, but nothing is wasted.

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

Completeness3/5

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

With no output schema and no params, the description is the only source of information about what the tool returns, and it only gestures at 'demand/supply metrics'. It does not say what breakdowns, time windows, or entity scope the overview covers, nor how it differs from sibling metric tools.

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 and there is nothing for the description to compensate for. It correctly implies a parameterless snapshot call.

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

Purpose4/5

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

States a clear verb+resource ('Equipment marketplace overview') and names the content dimension (demand/supply metrics across capability types). However, it does not distinguish itself from sibling reads like get_demand_supply, get_depin_stats, or get_logistics_overview, which appear to cover overlapping territory.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives such as get_demand_supply despite the obvious overlap. The agent must guess which of the several metrics/dashboard reads is appropriate.

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

get_operator_certsA
Read-only
Inspect

Answers 501 not_available: operator certifications are not recorded on this gateway (there is no certification store; certifications typed at registration are the operator's own claim and are not checked).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior5/5

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

The description discloses the exact runtime behavior (a 501 not_available response) and the backend reason (no certification store), which is far more than a normal read tool would need. This is consistent with readOnlyHint=true/destructiveHint=false and prevents an agent from expecting returned cert records.

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 operative fact ('Answers 501 not_available') followed by the explanation. It is a single dense sentence; the parenthetical is slightly heavy but every clause carries useful information for the caller.

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

Completeness5/5

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

For a zero-parameter stub with no output schema, the description fully accounts for what the caller will get and why, so 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.

Parameters4/5

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

The tool takes zero parameters and the schema is fully empty, so per the rubric the baseline is 4. There is no parameter meaning that the description could add or omit.

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 exactly what the tool does: it answers a 501 not_available and never returns certification data. That is a specific, non-tautological purpose and it implicitly distinguishes this stub from data-bearing siblings like get_operator_status or get_registration, though it does not name any sibling.

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 clarifies that certifications 'typed at registration are the operator's own claim and are not checked', which steers the agent away from treating certs as verified data, but it gives no explicit when-to-use/when-not framing and names no alternative tool for operator provenance.

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

get_operator_dashboardA
Read-only
Inspect

Not available: no route answers GET /api/operator on this gateway. The operator's real kernels, devices and in-flight jobs are at GET /api/agent/me.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already mark it read-only, but the description adds crucial behavioral context: the tool will not work because no route answers. It does not specify the exact error response, but the unavailability notice is a significant disclosure beyond annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the critical unavailability notice followed by the redirect. No wasted words.

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

Completeness4/5

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

For a zero-parameter, non-functional tool with annotations covering the safety profile, the description provides enough to prevent misuse. It could mention the exact error or a sibling tool name for the alternative, but it is largely complete.

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

Parameters4/5

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

There are zero parameters, so the schema baseline is 4. The description adds no parameter information, which is appropriate given the empty schema.

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

Purpose3/5

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

The description states the tool is unavailable ('no route answers GET /api/operator') and points to an alternative endpoint. It is specific about the missing route and distinguishes itself from real-data tools, but it never describes a functional verb+resource action, so it only partially fulfills the purpose-clarity burden.

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?

Explicitly tells the agent not to use this tool ('Not available') and directs to GET /api/agent/me for the real kernels, devices and in-flight jobs. The alternative is an HTTP route rather than a sibling MCP tool name, which slightly reduces actionability.

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

get_operator_earningsA
Read-only
Inspect

Answers 501 not_available: operator earnings history is not recorded on this gateway. Per-job payment state is at GET /api/jobs/:jobId/execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoTime period for earnings data

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true and destructiveHint=false; the description adds the critical behavioral fact that this tool always returns 501 not_available, which no annotation conveys and which prevents wasted calls. It stops short of describing the response body or whether the endpoint may be populated on other gateways.

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

Conciseness5/5

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

Two short sentences, front-loaded with the unavailability fact and followed immediately by the alternative location. No filler.

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

Completeness4/5

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

For a stub with no output schema and one schema-documented parameter, the description supplies what an agent actually needs: that the call fails and where the data lives. It could be stronger by mapping the redirect to concrete sibling tool names or noting that the 'period' argument has no effect.

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 'period' parameter has an enum, so the schema fully documents it. The description never mentions the period parameter or clarifies that it is ignored, which counts against an otherwise schema-complete parameter.

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

Purpose4/5

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

The description states plainly that this tool answers 501 not_available and that operator earnings history is not recorded on this gateway, so an agent immediately knows it is a stub rather than a working earnings endpoint. It does not name a sibling tool for the data, but the purpose is unambiguous.

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

Usage Guidelines4/5

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

It gives a clear redirect: per-job payment state lives at GET /api/jobs/:jobId/execution, which implies the agent should use the job/execution tool instead. It does not cite the sibling tool by name (e.g. get_job / get_job_telemetry), so the routing requires an extra inference step.

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

get_operator_machinesA
Read-only
Inspect

Answers 501 not_available: operator machines with utilization and uptime are not recorded on this gateway. The operator's real kernels, devices and in-flight jobs are at GET /api/agent/me.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With annotations already declaring readOnlyHint=true and destructiveHint=false, the description adds the critical behavioral fact that calls will fail with 501 and that data is not recorded on this gateway. This prevents a wasted invocation and is more than the annotations provide, though it omits details like authentication or exact 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.

Conciseness5/5

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

Two sentences with no wasted words. The 501 failure and unavailability are front-loaded, followed immediately by the redirect to the correct endpoint.

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

Completeness5/5

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

For a zero-parameter endpoint that always returns 501, the description fully explains the status and where to find the actual data. With no output schema or complex inputs, nothing further is needed to call this tool correctly.

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

Parameters4/5

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

The tool takes zero parameters, which establishes a baseline of 4. The description appropriately adds no parameter detail because there are no inputs to document.

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 the effective behavior: this tool answers 501 not_available and does not record operator machine utilization/uptime. It distinguishes itself from a normal data-returning get by explicitly declaring unavailability and pointing to the correct endpoint, though it does not name a sibling MCP tool.

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 tells the agent that operator machines are not available here and directs it to GET /api/agent/me for real kernels, devices, and in-flight jobs. The guidance is explicit about the alternative destination but does not spell out a formal when-to-use/when-not-to-use rule.

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

get_operator_statusA
Read-only
Inspect

Four-slot substrate view for an operator: kernels, capabilities (with sla + availability), notification channels, and the per-kernel A2A agent-card URLs. Returns totals and a missing list naming any of the four onboarding slots that are still empty. Use this from an onboarding agent's wrap-up step to confirm 'are all four slots wired before I go live?' status is ready | partial | unconfigured. Public — operator slug is non-secret and the response carries no credentials (channel credentialRef values are vault references, not secrets).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesOperator slug — typically the operator's wallet address used as `operatorAddress` on their kernels.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely useful context beyond them: callers learn the endpoint is public, that the slug is non-secret, and that channel credentialRef values are vault references rather than credentials — relevant for an agent deciding whether the call is safe. It does not discuss rate limits or pagination.

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 dense sentences, front-loaded with what the tool returns and followed by usage and privacy notes. Nearly every clause earns its place, though the parenthetical about credentialRef is slightly tangential to invoking the tool.

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 adequately: totals, a `missing` list, and status values ready|partial|unconfigured. For a one-parameter read tool this is nearly complete, with only pagination/format detail left unspecified.

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

Parameters4/5

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

Schema coverage is 100% and the single parameter is fully documented, so the baseline is 3. The description adds meaning beyond the schema by characterizing the slug as non-secret (typically a wallet address), which affects an agent's handling decisions.

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?

Names a specific verb+resource ('four-slot substrate view for an operator') and enumerates exactly what the four slots are: kernels, capabilities with sla/availability, notification channels, and per-kernel A2A agent-card URLs. The scope is narrow enough that an agent can distinguish it from get_operator_dashboard, get_operator_certs, and list_operator_channels 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?

Explicitly states the situation for use: 'from an onboarding agent's wrap-up step to confirm are all four slots wired before I go live.' That is a clear context, but no alternative sibling (e.g., a dashboard or certs tool) is named or excluded, so it stops short of full routing guidance.

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

get_poolA
Read-only
Inspect

Get details of a specific investment pool including stakes, status, and revenue share terms.

ParametersJSON Schema
NameRequiredDescriptionDefault
poolIdYesInvestment pool ID

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the useful detail of what data the pool record contains, but says nothing about permissions, visibility restrictions, or behavior for an invalid/missing poolId.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the resource and the payload contents both appear before any trailing words. Nothing could be cut without losing information.

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

Completeness4/5

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

For a single-parameter read-only lookup with full schema coverage and no output schema, the description tells the agent what record it retrieves and roughly what fields come back. The only missing piece is routing against sibling pool tools.

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 there is only one parameter, so the schema fully documents poolId ('Investment pool ID'). Baseline 3 applies; the description adds no format, source, or lookup hints beyond the schema.

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

Purpose4/5

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

Specific verb+resource ('Get details of a specific investment pool') and it enumerates what is returned (stakes, status, revenue share terms). It does not, however, name or contrast itself with the obvious sibling list_pools, so an agent must infer the singular-vs-plural distinction.

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

Usage Guidelines3/5

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

The word 'specific' plus the required poolId implies the usage context (fetch one known pool rather than enumerate), but the description never states when to use this versus list_pools or get_pool_earnings, nor any prerequisites. Usage is implied only.

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

get_pool_earningsB
Read-only
Inspect

Check earnings from capability investment pools for a staker address.

ParametersJSON Schema
NameRequiredDescriptionDefault
stakerYesAddress or DID of the staker

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered and the bar is lower. The description adds the scoping context ('capability investment pools'), but says nothing about aggregation across pools, registration requirements, or result shape.

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

Conciseness4/5

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

A single front-loaded sentence with no wasted words. It is efficient, though its brevity contributes to the gaps in the other dimensions.

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 one-parameter read-only tool with no output schema, the description covers the essentials, and return values need not be explained. However, it omits whether earnings are aggregated across multiple pools and whether the staker must be registered, which an agent would want to know.

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

Parameters3/5

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

The single parameter is fully documented in the schema (100% coverage, 'Address or DID of the staker'), so the baseline is 3. The description only restates that the input is a staker address, adding no format or resolution detail beyond the schema.

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

Purpose4/5

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

The description gives a specific verb+resource ('Check earnings from capability investment pools') scoped to a staker address, which an agent can distinguish from siblings like get_operator_earnings or get_pool. It stops short of explicitly naming or contrasting with those closest alternatives.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or alternatives are given. With siblings such as get_operator_earnings, claim_pool, and get_pool in the same domain, the agent gets no help deciding which to call; usage is only implied by the verb 'check'.

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

get_protocolB
Read-only
Inspect

Get protocol template details by ID. Returns steps, transfers, parameters, and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProtocol template ID

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description usefully discloses what the call returns (steps, transfers, parameters, metadata), but says nothing about permissions, pagination, or behavior on a missing/invalid ID.

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

Conciseness4/5

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

Two short sentences, with the action and lookup key front-loaded and the return contents second. No filler, though the return-value sentence doubles as compensation for the absent output schema rather than pure economy.

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

Completeness4/5

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

For a single-param read tool with no output schema and annotations covering safety, the description discloses the returned payload shape (steps, transfers, parameters, metadata), which is exactly the gap an output schema would otherwise fill. Routing to alternatives is the only missing piece.

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% for the single 'id' parameter, so the schema already documents it fully and the description adds only the 'by ID' framing. Baseline 3 is appropriate when the schema carries the parameter semantics.

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

Purpose4/5

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

States a specific verb (Get) and resource (protocol template) scoped by ID, and enumerates the returned content. It distinguishes itself from list_protocols (plural listing) and get_protocol_run (a run instance), though it never explicitly names those siblings to remove ambiguity with get_protocol_forks or validate_protocol.

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

Usage Guidelines2/5

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

The 'by ID' phrasing implies it is a lookup, but there is no statement of when to use this instead of list_protocols, get_protocol_run, or get_protocol_forks, and no prerequisites or exclusions. Guidance is essentially absent.

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

get_protocol_forksB
Read-only
Inspect

List all forks of a protocol template. Shows who forked it and what parameters they changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProtocol template ID

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful read-behavior context about what the listing contains, but says nothing about pagination, ordering, or behavior when a template has no forks.

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

Conciseness5/5

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

Two short sentences, zero filler, with the core action front-loaded and the return content immediately following. Nothing to trim.

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 helpfully characterizes the return payload (forkers and changed parameters), which is enough for a simple one-parameter read tool. Minor gap: no note on scope limits or empty results.

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 single 'id' parameter is documented as the protocol template ID. The description's phrase 'of a protocol template' is consistent with the schema but adds no syntax or format detail beyond it, so 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 (List) and resource (forks of a protocol template), and adds the returned scope (who forked it, what parameters changed). It is clearly distinguishable from siblings like fork_protocol or get_protocol, though it never names those alternatives explicitly.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of the related fork_protocol (which creates a fork) or get_protocol (which fetches the template itself). The agent must infer that this is the read-side companion to fork_protocol.

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

get_protocol_runA
Read-only
Inspect

Get protocol run status including step progress, transfer status, current phase, and evidence hashes.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesProtocol run ID

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered by structured data. The description adds real value beyond that by disclosing what the response contains — step progress, transfer status, current phase, and evidence hashes — which matters because no output schema exists. It still says nothing about pagination, staleness of status, or how in-flight versus terminal runs differ.

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

Conciseness5/5

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

A single front-loaded sentence with a clear verb-resource opener followed by the returned facets. Every clause earns its place and there is no filler or redundancy.

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 one-parameter read tool with a full schema and read-only annotations, the definition supplies the element that structured data cannot — the content of the returned status. The absence of an output schema makes this enumeration important, and it is present, though run lifecycle states and error behavior for bad or unknown run IDs remain unstated.

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?

With one parameter at 100% schema description coverage, the schema already carries the meaning of runId and the baseline of 3 applies. The description adds no format hints for runId (e.g., where to obtain it, prefix or UUID shape) and does not mention its required nature.

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

Purpose4/5

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

Specific verb ('Get') plus a specific resource ('protocol run status') and an enumeration of the returned facets (step progress, transfer status, current phase, evidence hashes). It does not explicitly contrast itself with list_protocol_runs or get_protocol, so the reader must infer the singular-run scope from the required runId, but the purpose itself is unambiguous.

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

Usage Guidelines3/5

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

Usage is only implied: because a single required runId is the sole input, an agent can infer this is the per-run lookup counterpart to list_protocol_runs. There is no explicit statement of when to use this versus listing runs or fetching the parent protocol, and no prerequisites or preconditions are given.

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

get_registrationA
Read-only
Inspect

Get details of a specific machine registration by ID, including capabilities, pricing, operator info, and current status.

ParametersJSON Schema
NameRequiredDescriptionDefault
registrationIdYesRegistration ID

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare this a safe read (readOnlyHint=true, destructiveHint=false). The description adds value by previewing the returned content areas (capabilities, pricing, operator info, status), but says nothing about authorization requirements, visibility restrictions, or behavior on an unknown/unauthorized ID. With annotations covering safety, a 3 is appropriate.

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

Conciseness5/5

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

One sentence, front-loaded with the verb and resource, followed by a compact preview of the returned fields. No filler or repetition.

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 one-parameter read-only tool with no output schema, the description usefully sketches what is returned (capabilities, pricing, operator info, status). It is essentially complete, though it could note that the ID comes from list_registrations or how missing IDs behave.

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, fully schema-documented parameter (registrationId, 100% coverage). The description repeats that lookup is by ID but adds no format, source, or validity semantics beyond the schema. Baseline 3 for high schema coverage.

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

Purpose4/5

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

States a specific verb (Get) and resource (machine registration) scoped to a single record by ID, and previews the payload contents. It does not explicitly name the sibling list_registrations, but the 'specific ... by ID' framing makes the single-record vs. list distinction inferable.

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

Usage Guidelines3/5

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

Usage context is implied only: the 'by ID' phrasing tells the agent it needs a known registration ID, which is the practical precondition. There is no explicit when/when-not guidance and no reference to alternatives such as list_registrations for discovery.

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

get_sensor_channelsA
Read-only
Inspect

List all registered sensor channels across kernels. Returns channel descriptors with units and ranges.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the return shape (descriptors with units and ranges), which is real added value, but says nothing about pagination, volume, or whether unregistered/dormant channels appear.

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

Conciseness5/5

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

Two sentences, zero filler, with the scope ('across kernels') front-loaded before the return contents. Every clause earns its place.

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

Completeness4/5

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

With no output schema, the description usefully compensates by naming the returned fields (units, ranges). For a read-only, zero-parameter listing tool that is nearly sufficient; only the absence of any result-size or scoping note keeps it below a 5.

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 there is nothing for the description to disambiguate and the baseline for a no-param tool applies. No misleading parameter claims are made.

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

Purpose4/5

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

Specific verb ('List') plus resource ('registered sensor channels across kernels'), which tells the agent this is the cross-kernel view rather than the per-kernel get_kernel_sensors. It does not explicitly name that sibling, so differentiation is implicit rather than stated.

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

Usage Guidelines2/5

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

No when-to-use, no when-not-to-use, and no alternative named despite get_kernel_sensors, get_kernel_sensors and get_sensor_channels sitting adjacent in the tool list. The agent must infer that this is the broad inventory call from the word 'across kernels' alone.

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

get_settlement_epochsB
Read-only
Inspect

Get settlement epoch history showing past batch settlements with timing and operation counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the shape of the payload (timing and operation counts), but says nothing about pagination, ordering, or result limits for a potentially unbounded history endpoint.

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 well-formed sentence, front-loaded with the action and resource. Nothing is wasted, though it is spare even by minimal standards.

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

Completeness3/5

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

For a zero-parameter, read-only history tool the description is nearly sufficient, but it omits any hint about result volume, pagination, or time-ordered output, and there is no output schema to compensate.

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 there is no parameter semantics to explain; the baseline of 4 applies. Schema coverage is 100% and empty.

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

Purpose4/5

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

States a specific verb+resource ('Get settlement epoch history') and adds scope details ('past batch settlements with timing and operation counts'), so the agent knows what it returns. It does not, however, differentiate itself from close siblings like get_settlement_status or list_batches.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus get_settlement_status, list_batches, or the other settlement-related tools. The agent must infer usage from the name alone.

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

get_settlement_statusA
Read-only
Inspect

Get settlement pipeline status including pending operations count, total value queued, and smart account address.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the concrete return fields, which is useful, but discloses no further behavior such as refresh cadence, aggregation semantics, or what 'settlement pipeline' scopes (per-user, per-network, per-account). No contradiction with annotations.

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

Conciseness5/5

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

A single front-loaded sentence that names the resource and then the three returned values. No filler, no redundancy.

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

Completeness4/5

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

For a zero-parameter read tool with no output schema, the description communicates the essential shape of the returned data. It stops short of explaining the settlement domain itself (e.g., what a pending operation means or when settlement completes), which would help an agent interpret the result, but within this tool's scope it is nearly complete.

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. The description correctly implies no input is needed by defining the tool purely in terms of outputs.

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

Purpose5/5

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

States a specific verb (get) and resource (settlement pipeline status), then enumerates exactly what is returned: pending operations count, total value queued, and smart account address. This is far more specific than the many sibling 'get_*' tools and lets an agent distinguish it from get_settlement_epochs and get_write_status at a glance.

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 (check settlement pipeline state) but never states when to choose this over the closely named get_settlement_epochs, nor any precondition or exclusion. The sibling set is enormous, so the absence of routing guidance is a real but moderate gap.

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

get_shipment_quoteCInspect

Get shipping quotes from logistics providers based on origin, destination, weight, and priority.

ParametersJSON Schema
NameRequiredDescriptionDefault
priorityNoShipping priority level
weightKgNoPackage weight in kg
originZipNoOrigin ZIP code
destinationZipNoDestination ZIP code

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the operation is not a pure read and presumably has side effects (external provider calls, possibly cost or a persisted quote), yet the description's read-flavored 'Get' wording discloses none of that, nor rate limits, auth needs, or whether a quote is reserved/locked. It adds no behavioral context beyond the title-level statement.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the resource and driving inputs come first. It is efficient, though it is so terse that the brevity comes at the cost of guidance rather than through tight editing.

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

Completeness3/5

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

There is no output schema and no annotation detail, and the schema marks zero required parameters, which the description never addresses (it reads as if all four inputs are needed). For a quote tool with optional inputs and a non-read-only annotation profile, some additional context on defaults and return shape would be warranted.

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 all four parameters are documented in the schema, so the baseline is 3. The description merely re-lists the same inputs (origin, destination, weight, priority) without adding format, units, or default-value meaning beyond what the schema already 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?

States a specific verb and resource (get shipping quotes) and names the inputs that drive the quote (origin, destination, weight, priority), which separates it from generic pricing siblings such as calculate_price or near_quote. It does not explicitly name an alternative tool or contrast with create_shipment/get_shipments, so it stops short of a 5.

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

Usage Guidelines2/5

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

The description says what the tool returns but never states when to use it versus calculate_price, near_quote, get_logistics_overview, or create_shipment, nor does it give prerequisites or exclusions. An agent must infer the routing decision entirely on its own.

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

get_shipmentsA
Read-only
Inspect

List equipment shipments with tracking status. Optionally filter by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by shipment status (in_transit, delivered, pickup_scheduled, etc.)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that results include tracking status, but it says nothing about pagination, ordering, size limits, or whether the list is scoped to the caller.

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

Conciseness5/5

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

Two short sentences, with the core capability front-loaded and the optional filter trailing. No filler or redundancy.

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

Completeness4/5

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

For a simple read-only list tool with no output schema and full parameter coverage, this is largely sufficient. Only minor gaps remain around result volume/pagination that an agent might want before calling.

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 status parameter is fully documented with example values. The description only restates the optional filter, adding no format or matching semantics 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 (List) and resource (equipment shipments) plus the returned dimension (tracking status). It is clearly distinguishable from create_shipment, but it does not explicitly differentiate itself from nearby read siblings like get_logistics_overview or get_shipment_quote.

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?

"Optionally filter by status" implies when the parameter should be used, but there is no explicit when-to-use framing, no exclusions, and no pointer to alternative tools for related tasks such as quoting or logistics summaries.

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

get_spaceB
Read-only
Inspect

Get detailed information about a hosting space including power, amenities, safety features, and pricing.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSpace ID

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description adds value by naming the returned content areas, which is real behavioral context. It stops short of anything an agent would want on failure modes, whether pricing is live or cached, or whether the payload is expensive — reasonable given the read-only annotation, but not rich.

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

Conciseness5/5

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

A single front-loaded sentence with the verb first and no filler. Every clause (power, amenities, safety features, pricing) earns its place by telling the agent what the response contains, which matters given there is no output schema.

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 one-param read tool with no output schema, the description does the minimum necessary: it names the fields the agent will receive. It omits the relationship to sibling listing/search tools and any note about id provenance, so the agent could still reach for the wrong tool or not know where the id comes from.

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?

Only one parameter exists and schema description coverage is 100% ('Space ID'), so the schema already carries the parameter burden and the baseline is 3. The description adds no format, source, or lookup hints for the id (e.g., whether it comes from search_spaces results).

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

Purpose4/5

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

The description gives a specific verb+resource (get detailed information about a hosting space) and enumerates the facets returned: power, amenities, safety features, pricing. That is well beyond a tautology. It does not, however, distinguish itself from close siblings like search_spaces, match_spaces, or get_space_bookings, which is the only thing keeping it from a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no named alternative. With search_spaces, match_spaces, and get_space_bookings in the sibling list, an agent has to infer that this tool is the single-record detail lookup keyed by id. The single-required-param schema hints at that, but the description itself offers no explicit routing.

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

get_space_bookingsA
Read-only
Inspect

List space bookings for hosting equipment. Optionally filter by status or space.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by booking status
spaceIdNoFilter by space ID

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds only the optional-filtering behavior, which the schema already conveys; it says nothing about return format, pagination, or result volume.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core action and followed by the optional filtering, with zero filler or redundancy.

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 read-only, zero-required-parameter listing tool with full schema coverage and annotations carrying the safety profile, the description is nearly complete. The only minor gap is the absence of any hint about result shape or pagination, which no output schema supplies.

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 in the schema. The description's mention of status and space filters mirrors the schema without adding format, allowed values, or semantic detail, making the baseline 3 correct.

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

Purpose4/5

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

States a specific verb and resource ('List space bookings') plus the domain scope ('for hosting equipment'), which is enough for an agent to distinguish it from generic space tools like get_space or search_spaces. It stops short of explicitly naming the sibling it differs from, so 4 rather than 5.

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

Usage Guidelines3/5

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

'Optionally filter by status or space' implies when the filters are useful but gives no when-to-use versus alternatives, no prerequisites, and no exclusions relative to sibling listing tools. Usage is inferable but not stated.

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

get_subnet_minersA
Read-only
Inspect

List verification subnet miners on the Bittensor network. Returns miner addresses, scores, and leaderboard positions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description adds the return fields (addresses, scores, leaderboard positions), which is useful, but says nothing about pagination, ordering, or data freshness.

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

Conciseness5/5

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

Two short sentences, front-loaded with the action and scope, then the return contents. No filler and nothing redundant.

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

Completeness4/5

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

For a parameterless read tool with annotations covering safety and no output schema, the description does describe what is returned, which carries the missing output-schema burden. Minor gap is the absence of any usage routing against the many similar get_* siblings.

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 per the rubric this is a baseline 4. Nothing in the description needs to compensate for a schema gap.

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

Purpose4/5

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

States a specific verb (List) and resource (verification subnet miners on the Bittensor network), which is clear and distinguishable from nearby siblings like get_subnet_status. It stops short of explicitly differentiating itself from the broader get_*/list_* family, but the purpose is unambiguous.

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

Usage Guidelines2/5

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

There is no indication of when to use this tool, when not to, or which sibling to prefer (e.g. get_subnet_status vs this). The agent must infer usage entirely from the name and purpose statement.

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

get_subnet_statusB
Read-only
Inspect

Get Bittensor verification subnet health, agent bridge status, and network connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the three status facets that will be reported, which partly substitutes for the absent output schema, but says nothing about auth requirements, freshness/caching, or failure behavior.

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

Conciseness5/5

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

A single front-loaded sentence with the verb first and no filler; every word contributes to identifying the resource and its scope.

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

Completeness3/5

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

With no output schema, the description should carry more of the burden of describing what a caller receives, and it only lists three high-level facets without shape or format. For a parameterless read-only status tool this is adequate but leaves a gap.

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 nothing for the description to clarify beyond what an empty schema already implies.

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

Purpose4/5

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

The description gives a specific verb ('Get') and a concrete resource with three named facets: Bittensor verification subnet health, agent bridge status, and network connectivity. It is clear on its own but does not differentiate itself from close siblings like get_verification_status, pcc_verifier_health, or get_operator_status.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus the many other status/health tools (get_verification_status, pcc_verifier_health, get_operator_status, get_automation_status). Usage is only implied by the tool name; no prerequisites or exclusions are stated.

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

get_telemetry_logsB
Read-only
Inspect

Query structured logs with filters for level, source, jobId, kernelId, time range, and full-text search.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoReturn logs after this ISO timestamp
jobIdNoFilter by job ID
levelNoFilter by log level
limitNoMax entries to return (default 200)
beforeNoReturn logs before this ISO timestamp
searchNoFull-text search query
sourceNoFilter by source module
kernelIdNoFilter by kernel ID

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered and the description's added burden is light. It contributes the fact that results are filter-driven and support full-text search, but says nothing about ordering, default window, or pagination beyond the schema's limit default.

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

Conciseness4/5

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

A single front-loaded sentence that leads with the verb and resource before listing filters, with no filler. It could be slightly sharper by grouping the filters rather than dumping them, but nothing is wasted.

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

Completeness3/5

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

With eight optional parameters and no output schema, the description should ideally say what a log entry looks like and how results are ordered or truncated. It covers the input surface adequately but leaves the return shape and default result window unexplained, which is a meaningful gap for a log-query tool.

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

Parameters3/5

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

Schema description coverage is 100%, so each of the eight parameters is already documented inline, establishing the baseline of 3. The description only restates the same filter categories (level, source, jobId, kernelId, time range, search) without adding syntax, combined-filter behaviour, or timezone/range semantics.

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

Purpose4/5

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

States a specific verb (query) and resource (structured logs) and enumerates the filterable dimensions, so the agent knows exactly what the tool retrieves. However, it does nothing to separate itself from near-neighbours like get_job_telemetry, get_active_telemetry, system_telemetry, or get_telemetry_stats, leaving ambiguity in a crowded telemetry family.

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?

Pure capability statement with no guidance on when to prefer this over the sibling telemetry readers or emit_telemetry. No exclusions, prerequisites, or situational triggers are provided, so the agent must infer usage from the name alone.

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

get_telemetry_statsA
Read-only
Inspect

Get aggregate pipeline telemetry statistics including phase timings, success rates, and throughput metrics across all jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds what the read returns (phase timings, success rates, throughput) but says nothing about time-window scoping, aggregation cost, or freshness of the statistics, which are the traits that actually matter for an aggregate stats call.

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

Conciseness5/5

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

A single sentence with the verb, resource, and scope front-loaded; every clause (metrics enumerated) earns its place and nothing is padded.

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 parameters, no output schema, and read-only annotations, the description is nearly sufficient: it tells the agent what the returned statistics cover. It stops short of noting the time window or whether the aggregates are live versus periodically computed, which matters for interpretation.

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 there are no parameter semantics for the description to supplement; the baseline of 4 applies. Note that the lack of any time-range or filter parameter means the aggregation scope is entirely fixed and undocumented.

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

Purpose4/5

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

Specific verb ('Get') plus resource ('aggregate pipeline telemetry statistics') with a clear scope qualifier ('across all jobs'), and it enumerates the metric families returned (phase timings, success rates, throughput). It does not name siblings, but the 'all jobs' aggregate scope implicitly distinguishes it from per-job tools like get_job_telemetry.

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 by the scope phrase 'across all jobs'; there is no explicit statement of when to prefer this over get_job_telemetry, get_active_telemetry, get_telemetry_logs, or system_telemetry. In a sibling list this crowded, that omission is a real gap.

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

get_token_allowanceA
Read-only
Inspect

Read the ERC-20 token allowance granted by an owner to a spender from the blockchain.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesToken owner address (0x...)
spenderYesSpender address (0x...)
tokenAddressYesERC-20 token contract address (0x...)

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 and destructiveHint=false, so safety is covered structurally. 'From the blockchain' adds a useful hint that this is a live on-chain read rather than cached state, but there is no mention of failure behavior for non-contract addresses or of the returned value.

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

Conciseness5/5

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

A single sentence with no filler, front-loaded on the verb and resource, and the qualifying scope (owner to spender) is placed where it disambiguates rather than trails off.

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

Completeness3/5

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

There is no output schema, so the description should ideally state what comes back (a raw allowance amount, likely base units with the token's decimals). For an otherwise simple three-parameter read tool it is close to adequate, but the return semantics are left entirely to inference.

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

Parameters3/5

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

Schema coverage is 100% and each of the three parameters (tokenAddress, owner, spender) is described inline, so the schema carries the load. The description only restates the owner→spender relationship already encoded in those field descriptions, adding no format or validation detail beyond them. 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 (read) plus the precise resource (ERC-20 allowance) and the two roles involved (owner, spender), which separates it in substance from the adjacent get_token_balance. It never names a sibling tool or explicitly contrasts itself with anything, so it falls just short of the 5 benchmark.

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 by the function itself – an agent can infer this is the pre-transfer/pre-approve check for a spender's spending limit. There is no stated when-to-use, no prerequisite (valid on-chain addresses, correct chain), and no pointer to get_token_balance as the alternative for holdings.

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

get_token_balanceB
Read-only
Inspect

Read an ERC-20 token balance for an account address from the blockchain.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountYesAccount address to check balance for (0x...)
tokenAddressYesERC-20 token contract address (0x...)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds only the 'from the blockchain' qualifier, which hints that this is a live on-chain read, but discloses nothing about rate limits, chain selection, or failure modes. With annotations doing the heavy lifting, a 3 is appropriate.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the verb and resource appear immediately. It is efficient but very sparse, leaving no room for the routing or return-format context the tool would benefit from.

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 read-only, two-parameter tool with full schema coverage and existing safety annotations, the description is adequate to invoke correctly. However, with no output schema, it should clarify the return value — ERC-20 balances are returned as integers in the token's smallest unit and chain-agnostic decimals matter — and that gap is left unexplained.

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%, with both tokenAddress and account documented as 0x-prefixed addresses, so the baseline is 3. The description adds no format or constraint details beyond what the schema already states.

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 ('Read'), resource ('ERC-20 token balance'), and scope ('for an account address from the blockchain'), so an agent immediately knows what it returns. It does not, however, name or contrast itself with the obvious sibling get_token_allowance, so sibling differentiation is left to inference.

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

Usage Guidelines3/5

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

Usage is only implied by the phrase 'for an account address'; there is no statement of when to reach for this tool versus get_token_allowance or any other balance/allowance source. No prerequisites (e.g. chain selection, RPC availability) are mentioned.

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

get_top_demandB
Read-only
Inspect

Get top demand signals aggregated by capability type. Shows which capabilities are most wanted on the network.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of top demand entries to return (default 10)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the aggregation dimension ('aggregated by capability type') and the network-wide scope, but does not disclose time window, ordering, or output shape beyond that.

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

Conciseness5/5

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

Two short sentences with no wasted words. The core purpose is front-loaded, and the secondary sentence clarifies the result in a scannable way.

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

Completeness4/5

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

For a simple read-only aggregation tool with a fully documented single parameter and annotations covering safe operation, the description is largely complete. It does not specify the time range or ordering of 'top' demand, which is a minor gap given there is no output schema to rely on.

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 'limit' parameter is fully documented in the schema with its default. The description adds no parameter-level detail beyond that, which is acceptable given the high schema coverage baseline.

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

Purpose4/5

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

The description states a specific verb and resource: get top demand signals aggregated by capability type, and clarifies the result as capabilities most wanted on the network. It is clear, but it does not explicitly differentiate itself from related siblings such as get_demand_supply or search_capabilities.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives, nor any exclusion or prerequisite. The phrase about 'most wanted' implies a discovery use case, but the agent must infer that without the description naming get_demand_supply or another alternative.

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

get_transfer_graphsA
Read-only
Inspect

Get resource transfer graphs showing instrument topology, transfer edges, and mechanisms for all kernels.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, so the safety profile is already covered. The description adds that the tool returns graphs for all kernels, implying no filtering, and describes the graph contents. However, it does not disclose pagination, performance characteristics, or output format details beyond what annotations provide.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that begins with the verb and resource. Every phrase ('showing instrument topology, transfer edges, and mechanisms for all kernels') adds specific detail without redundancy or filler.

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

Completeness4/5

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

With no output schema and no parameters, the description carries the burden of describing what the tool returns. It does so at a high level by naming the graph components and scope. However, it lacks any indication of the return structure or whether the graph is a single object or list, leaving minor gaps for an agent.

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 there are no parameter semantics to document. Per the scoring rules, a 0-parameter tool receives a baseline of 4, and nothing in the description contradicts or undermines that.

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 ('Get') and resource ('resource transfer graphs'), and further specifies the content ('instrument topology, transfer edges, and mechanisms') and scope ('for all kernels'). It implicitly differentiates from siblings like get_kernel or get_kernel_devices by referring to a graph across all kernels, but does not explicitly name or contrast with any alternative.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It does not mention related tools, prerequisites, or conditions under which the transfer graph is needed. The only implicit scope is 'all kernels', which is not enough to qualify as usage guidance.

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

get_unresolved_anomaliesB
Read-only
Inspect

List all unresolved anomalies on the network. Filter by severity, category, or target agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category
severityNoFilter by severity: info, warning, critical
targetIdNoFilter by target agent/kernel ID

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe-read profile is covered. The description adds that results are network-wide and filterable, but says nothing about pagination, result limits, or ordering — modest added value against an already-covered safety profile.

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

Conciseness4/5

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

Two short sentences with the core action front-loaded and the filtering capability second. No filler, though it is sparse enough that it could have carried a bit more useful detail without becoming verbose.

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

Completeness3/5

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

For a read-only list tool with full schema coverage and annotation-provided safety, the description covers essentials. However, it omits pagination/volume expectations and does not route the agent away from look-alike anomaly siblings, so it is adequate rather than 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 100%, so all three parameters are already documented in the schema (with severity's allowed values listed there). The description merely restates the same filter names, adding no syntax or format details beyond the schema. Baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource with scope: 'List all unresolved anomalies on the network.' An agent can distinguish it from report_anomaly and resolve_anomaly by the 'list'/'unresolved' framing, but it doesn't explicitly differentiate from closely related siblings like get_agent_anomalies or get_anomaly_stats.

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

Usage Guidelines2/5

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

The description names the available filters but gives no guidance on when to choose this tool over alternates such as get_agent_anomalies, get_anomaly_stats, or report_anomaly. No conditions, exclusions, or prerequisites are stated.

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

get_verification_assignmentsA
Read-only
Inspect

Get pending verification assignments for a verifier node. Returns requests this verifier has been assigned but not yet responded to.

ParametersJSON Schema
NameRequiredDescriptionDefault
verifierIdYesVerifier node ID

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description does add genuinely useful behavioral scope: the result is filtered to assignments this verifier has been assigned but not yet responded to, which is not derivable from the schema. It omits pagination, ordering, or result size for a queue-style read.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the action, and the second sentence elaborates the return scope without repetition or filler. Nothing 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 partially compensates by describing what comes back (unanswered assigned requests). For a single-parameter read behind readOnlyHint annotations, that is nearly sufficient; only return ordering/size and the relationship to respond_to_verification are left unstated.

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?

Only one parameter exists, and schema description coverage is 100%, so the schema already documents verifierId. The description echoes the 'verifier node' framing but adds no format, ID-source, or lookup semantics beyond what the schema provides. 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 description gives a specific verb and resource ('Get pending verification assignments') and adds a scope qualifier ('for a verifier node'), so an agent can tell it apart from general status tools like get_verification_status. It stops short of naming the sibling that consumes these assignments (respond_to_verification) or otherwise routing between the two.

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

Usage Guidelines3/5

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

Usage is only implied: the phrase 'for a verifier node' signals the caller role, but there is no explicit when-to-use, no exclusions, and no named alternative (e.g. use get_verification_status for completed/resolved items). An agent must infer the retrieval context.

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

get_verification_statusB
Read-only
Inspect

Get verification status for a request. Returns vote tally, consensus state, dispute list, and pending response count.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestIdYesVerification request ID (hvreq_...)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuine value by disclosing the return payload shape (vote tally, consensus state, dispute list, pending response count), but says nothing about polling cadence, staleness, or permissions.

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

Conciseness5/5

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

Two tight sentences, purpose front-loaded followed by the return summary. No filler or redundancy.

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 usefully enumerates the returned fields, which is the key information an agent needs. A simple one-parameter read tool is adequately covered, though routing vs siblings remains ambiguous.

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% with a single required requestId documented as 'Verification request ID (hvreq_...)'. The description adds no format or semantic detail beyond the schema, so the baseline of 3 is correct.

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 ('Get verification status for a request') and enumerates what the status contains. It is clear standing alone, but it does not distinguish itself from siblings like get_verification_assignments or pcc_verifier_health, so an agent must guess which retrieval path applies.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or alternatives are given. The agent is not told whether this is the canonical status endpoint vs get_verification_assignments, nor when status is meaningful (e.g., after submit_for_human_verification).

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

get_workflowB
Read-only
Inspect

Get detailed workflow information including steps, node assignments, and progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowIdYesWorkflow ID

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful content context by naming the detail categories (steps, node assignments, progress), but it does not disclose access requirements, error behavior, or whether the response is paginated.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; every clause (including, and progress) contributes to the agent's understanding of the tool's scope.

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

Completeness4/5

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

For a simple one-parameter read tool with annotations and full schema coverage, the description is nearly sufficient: it identifies the resource and summarizes the return contents despite there being no output schema. It stops short of covering failure modes or lookup semantics, but nothing essential to calling the tool 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 coverage is 100%, and the single workflowId parameter is documented in the schema, so the baseline is 3. The description does not add format or constraint details beyond what the schema already 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 gives a specific verb (Get) and resource (workflow) and enumerates what is returned (steps, node assignments, progress), so the agent knows it is a detail fetch. It does not, however, explicitly contrast itself with the sibling get_workflows, leaving the singular/plural distinction to be inferred.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus get_workflows or any other retrieval tool, and no prerequisites or exclusions are mentioned. The only implied usage is that a workflowId must be supplied, which is already obvious from the required parameter.

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

get_workflowsA
Read-only
Inspect

List active instrument workflows in the orchestrator. Optionally filter by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by workflow status (e.g. running, completed)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the meaningful constraint that only 'active' workflows are returned, but says nothing about pagination, ordering, or result volume for what could be a large collection.

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

Conciseness5/5

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

Two short sentences, scope stated first and the optional filter second. Zero filler, fully front-loaded.

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 read-only, single-optional-parameter list tool with full schema coverage and no output schema, the description is nearly sufficient. Only the missing routing hint versus get_workflow keeps it from being 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 description coverage is 100% and the single parameter is self-documenting with examples (running, completed). The description adds only the word 'optionally', so it neither compensates nor detracts; 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 (List) and resource (instrument workflows) with a scope qualifier (active) and the orchestrator as source. It is distinguishable from the singular get_workflow sibling only by inference, not by explicit contrast.

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

Usage Guidelines3/5

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

The description implies the tool is used to enumerate active workflows and offers an optional status filter, but never states when to prefer it over get_workflow (single lookup) or other list_* siblings. Usage is implied rather than guided.

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

get_write_statusA
Read-only
Inspect

Check if on-chain write operations are enabled (requires PCC_GATEWAY_PRIVATE_KEY to be configured). Returns write status and signer address.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false). The description adds real behavioral context beyond that: the PCC_GATEWAY_PRIVATE_KEY prerequisite and the fact that a signer address is returned, which tells the agent what configuration state is required.

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

Conciseness5/5

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

Two tight sentences, zero waste, and the purpose is front-loaded ahead of the prerequisite and return info.

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 no-arg, no-output-schema read tool whose annotations already declare safety, the description covers purpose, prerequisite, and return shape. Only the explicit relationship to sibling status tools 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?

Zero parameters, so per the rubric the baseline is 4. The description has no parameter surface to document and correctly confines itself to prerequisites and return content.

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 check (whether on-chain write operations are enabled) plus the return payload (write status and signer address). An agent can distinguish it from the many get_* status siblings, though it doesn't explicitly name an alternative.

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

Usage Guidelines3/5

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

Usage is only implied: the tool queries write-readiness, so an agent would call it before attempting a write. There is no explicit when-to-use statement, no when-not, and no named alternative such as setup_status.

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

grant_evidence_accessAInspect

Grant a new recipient access to an encrypted evidence bundle. Creates a re-encrypted key capsule for the recipient.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundleIdYesEvidence bundle ID
accessLevelNoLevel of access to grant (default: full)
recipientAddressYesRecipient EVM address (0x...)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations confirm this is a non-read-only, non-destructive mutation, and the description adds meaningful mechanism detail (a re-encrypted key capsule is produced). It omits revocation/idempotency behavior and any authorization requirements on the caller, which matter for an access-granting operation.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the action and followed by the mechanism. No filler.

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

Completeness3/5

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

For a three-parameter mutation with annotations and full schema coverage, the description covers the core action, but it leaves out usage conditions, caller authorization, and grant lifecycle. Adequate but with clear 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 coverage is 100%, so bundleId, recipientAddress, and the accessLevel enum (full/selective/summary_only) are already documented in the schema. The description adds no parameter-level detail, so it sits at the baseline for full coverage.

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

Purpose5/5

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

States a specific verb ('Grant'), resource ('access to an encrypted evidence bundle'), and the mechanism ('Creates a re-encrypted key capsule'). This clearly distinguishes it from list_evidence_grants and archive_evidence without needing the schema.

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

Usage Guidelines2/5

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

No guidance on when to use this versus alternatives, no prerequisites (e.g. must the caller own the bundle?), and no note on whether granting is reversible or needs recipient consent. An agent gets the what but not the when.

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

kernel_announce_capabilitiesAInspect

Announce capabilities for a kernel. NOTE: the gateway currently acknowledges this call but stores nothing, so it does not put any capability on the network. To publish a capability, use create_capability (POST /api/capabilities).

ParametersJSON Schema
NameRequiredDescriptionDefault
devicesNoDevice IDs that back these capabilities
kernelIdYesKernel ID
signatureNoEd25519 signature of the announcement
capabilitiesYesCapability objects to announce

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only state readOnlyHint=false and destructiveHint=false, which do not convey the crucial fact that the call is currently a no-op. The description discloses that the gateway acknowledges but stores nothing and puts no capability on the network, a behavioral trait no structured field supplies.

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

Conciseness4/5

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

Two tight sentences with zero padding that lead with the purpose and immediately follow with the critical caveat and redirect. It could front-load the warning slightly more, but it is well-sized and efficient.

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 4-parameter tool with no output schema and 100% schema coverage, the description supplies everything an agent needs: what it does, that it currently has no effect, and where to go instead. Nothing material 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 kernelId, capabilities, devices, and signature are already documented in the schema. The description adds no parameter-level syntax, format, or constraint details, so the baseline 3 holds.

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

Purpose4/5

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

The description states a specific verb and resource ('Announce capabilities for a kernel') and directly names the sibling it is not ('To publish a capability, use create_capability'). An agent can distinguish it from create_capability without opening either schema, though the surface verb 'announce' is slightly softened by the no-op caveat.

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

Usage Guidelines5/5

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

It gives explicit when-not guidance ('the gateway currently acknowledges this call but stores nothing') and a concrete alternative with the HTTP route ('use create_capability (POST /api/capabilities)'). This is exactly the routing information an agent needs to avoid a useless call.

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

kernel_heartbeatAInspect

Send a per-kernel heartbeat to keep the kernel marked online. Used by pcc-node daemons as an alternative to the operator relay heartbeat.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoKernel status (online/offline)online
kernelIdYesKernel ID
capabilitiesNoOptional capability announcements

TDQS

A3.8/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a mutating but non-destructive call. The description adds that it is a keep-alive that marks the kernel online, which is useful context. It omits idempotency, expected cadence/rate limits, and what happens on a missed heartbeat, so it adds value but not depth.

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

Conciseness5/5

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

Two short sentences, front-loaded with the action and effect, then the caller and alternative. Every sentence earns its place with no filler.

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

Completeness4/5

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

For a heartbeat tool with full schema coverage and annotations, the description covers what it does, who calls it, and how it relates to the alternative. Missing cadence semantics and failure behavior are minor for a keep-alive, and there is no output schema to explain.

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 kernelId, status, and capabilities are already documented in the schema. The description adds no parameter-level meaning (e.g. status transitions or capability format), 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 (Send) and resource (per-kernel heartbeat) plus the effect (keep the kernel marked online). It distinguishes itself from the operator relay heartbeat concept, which is the relevant sibling (operator_heartbeat). It stops short of naming that sibling tool directly, but the differentiation is clear.

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

Usage Guidelines4/5

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

Identifies the caller (pcc-node daemons) and positions the tool as an alternative to the operator relay heartbeat, which gives an agent a real condition for choosing it. It does not state explicit exclusions or when NOT to use it, but the contextual routing is clear.

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

list_api_keysA
Read-only
Inspect

List all active API keys for the authenticated operator. Returns key IDs, prefixes, scopes, rate limits, usage counts, and creation/expiry timestamps. Requires a valid API key or SIWE session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

With readOnlyHint and destructiveHint already covering the safety profile, the description adds useful behavioral detail: it specifies that only active keys are listed, lists the returned metadata fields, and states the authentication requirement. It does not, however, describe pagination or ordering behavior, so it stops short of exhaustive transparency.

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 sentences are front-loaded with purpose, then return fields, then auth requirement. Every sentence earns its place and there is no redundant or vague filler.

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 simple read-only list operation with no parameters and no output schema, the description covers purpose, return values, filtering to active keys, and authentication. Nothing an agent needs in order to call it correctly is missing.

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

Parameters4/5

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

The tool takes zero parameters, so there are no parameter semantics to clarify. The baseline for a zero-parameter tool is 4, and the description does not need to and does not introduce parameter details.

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

Purpose5/5

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

The description states a specific verb and resource: 'List all active API keys for the authenticated operator.' It scopes the operation to active keys and the authenticated operator, which distinguishes it from sibling tools like provision_api_key and revoke_api_key without needing to name them.

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

Usage Guidelines3/5

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

Usage is implied by the tool name and the description's scope, but no explicit when-to-use guidance or alternatives are named. The only usage-adjacent detail is the authentication requirement, which is a prerequisite rather than a decision rule.

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

list_automation_statusA
Read-only
Inspect

List automation status for all instrument transfer pairs. Shows current automation level, episode count, and training readiness. Filter by kernelId.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdNoFilter by kernel ID

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds return-content transparency (automation level, episode count, training readiness) that annotations do not, which is genuinely useful given there is no output schema.

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

Conciseness5/5

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

Three short sentences, front-loaded with the core purpose and the returned fields, with zero filler. Every sentence contributes information.

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

Completeness4/5

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

With no output schema, the description compensates by naming the observable fields returned, and annotations cover the safe-read profile. The main omission is distinguishing this from get_automation_status, which an agent working in this large sibling set 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% and the single kernelId parameter is documented there as 'Filter by kernel ID.' The description's 'Filter by kernelId' merely restates the schema, so it adds no meaning beyond the structured field.

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

Purpose4/5

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

The description gives a specific verb and resource: 'List automation status for all instrument transfer pairs,' which tells an agent exactly what is returned. It stops short of differentiating from the near-identical sibling get_automation_status, so the agent cannot tell the 'all pairs' vs 'single status' distinction from the description alone.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of get_automation_status, which is the most likely alternative in the sibling list. 'Filter by kernelId' hints at scoping but is not framed as a usage condition, 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.

list_batchesA
Read-only
Inspect

List active and completed settlement batches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds only that both active and completed batches are returned, with no word on pagination, ordering, or result size limits.

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

Conciseness5/5

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

A single sentence with the scope qualifier front-loaded and no filler. Nothing in it is redundant or misplaced.

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

Completeness4/5

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

For a zero-parameter, read-only list tool with no output schema, the description is nearly sufficient — the only omissions are return ordering and pagination behavior, which are minor for a simple enumeration.

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 there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. No parameter-related text is needed or expected.

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

Purpose4/5

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

The description gives a clear verb+resource ('List ... settlement batches') and even bounds the scope to 'active and completed', so an agent knows what set is returned. It does not, however, distinguish this from adjacent siblings such as get_settlement_status or get_settlement_epochs, which also surface settlement state.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus get_settlement_status, get_settlement_epochs, or get_escrow_events, and no stated prerequisites or exclusions. The reader must infer usage from the name alone.

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

list_bountiesA
Read-only
Inspect

List open bounties for capabilities the network needs. Operators can claim these to earn rewards by onboarding new capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by bounty status
capabilityTypeNoFilter by capability type

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 and destructiveHint=false, so safety is covered structurally. The description adds that these are network-needed capabilities with a reward mechanism, which is useful framing, but says nothing about pagination, return shape, or whether the 'open' wording means results are pre-filtered despite the status enum offering other values.

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

Conciseness4/5

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

Two tight sentences with the core purpose front-loaded and no filler. Both sentences earn their place, though the second is more motivational than operational.

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

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full schema coverage and no output schema, the description covers what the tool returns conceptually and who uses it. The only gap is the ambiguity between 'open bounties' in prose and the multi-value status filter, but nothing critical for a correct invocation 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% with a documented status enum and capabilityType field, so the schema carries the parameter burden and baseline 3 applies. The description adds no filter syntax or defaulting behavior beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('List open bounties for capabilities the network needs') and adds a one-line purpose. It is clearly distinguishable from write siblings like claim_bounty or verify_bounty, but it does not name any sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Operators can claim these to earn rewards by onboarding new capabilities' implies the audience and why someone looks at this list, but it never says when to call this versus claim_bounty, verify_bounty, or get_bounty_leaderboard. Usage is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_capability_typesA
Read-only
Inspect

List all capability types registered on the network (FDM, SLA, CNC, HPLC, etc.) with metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that results come 'with metadata' and gives example type codes, but says nothing about pagination, ordering, or auth requirements beyond the read-only nature.

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 well-formed sentence that front-loads the verb and resource, with examples in parentheses. No filler or redundancy, so every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter list tool with no output schema, the description conveys the scope (all registered types) and that metadata is included. The term 'metadata' is left undefined, but the low complexity and read-only annotations make this largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4. The description correctly implies the call is unconditional and returns all registered types, adding no parameter semantics because none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (capability types registered on the network) with examples of the values returned. It distinguishes 'capability types' from plain 'capabilities', but does not explicitly differentiate from siblings such as search_capabilities or create_capability.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no conditions, and names no alternatives. An agent must infer that this is the tool for enumerating type definitions versus searching or creating capabilities.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_conversationsB
Read-only
Inspect

List agent-to-agent conversations showing topic, participants, message count, and status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the shape of what comes back (topic, participants, message count, status), which substitutes for the missing output schema, but says nothing about pagination, ordering, limits, or visibility scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the verb and resource, with the returned fields appended. No filler. It could be slightly tighter, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter listing tool with no output schema, the description usefully enumerates returned fields, which is more than most siblings do. But it omits result volume, ordering, and visibility/scope considerations that an agent needs to decide whether one call is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the rubric the baseline is 4. The description cannot add parameter meaning because there is none, and it does not introduce confusion about inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource: 'List agent-to-agent conversations'. It also names the surfaced fields (topic, participants, message count, status). However, it does nothing to distinguish itself from the many other list_* tools or to define scope (all conversations? the calling agent's?).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives (e.g., a chat-history or message-listing sibling like pcc_chat_history), and no statement of scope or prerequisites. A reader can infer it's a listing endpoint, but nothing routes the agent here versus elsewhere.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_escrowsA
Read-only
Inspect

List escrow contracts with milestones and bonds. Optionally filter by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by escrow status

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds what the records contain (milestones, bonds), which is useful context, but says nothing about pagination, ordering, or volume limits for a list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, with the core purpose front-loaded and the optional filter trailing. Nothing to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only list tool with no output schema, the description plus annotations are nearly sufficient — it even hints at the record shape (milestones, bonds). Only pagination/ordering behavior is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the single 'status' parameter at 100% with its own description, so the description's mention of status filtering is redundant. Baseline 3 applies since the schema does the heavy lifting; no enum values or accepted status strings are added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List escrow contracts') and adds the scope of returned data (milestones and bonds). However it does not differentiate itself from siblings like get_escrow, get_escrow_events, or get_escrow_chain_state, so an agent must infer that this is the collection-level counterpart.

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?

'Optionally filter by status' implies the filtering use case, but no when-to-use guidance or alternatives (e.g., use get_escrow for a single contract, use the dispute/event tools for related data) are given. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_evidenceB
Read-only
Inspect

List encrypted evidence bundles stored in the gateway.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful domain context that bundles are encrypted and stored in the gateway, but it does not disclose pagination, permissions, or return behavior beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It immediately communicates the action and object without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter list tool with annotations covering safety, the description is minimally adequate. However, it does not clarify how the results relate to related tools like list_evidence_grants or get_evidence_bundle, and no output schema exists to explain what the list contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so parameter semantics are not a source of ambiguity. Per the rubric, a tool with no parameters starts at a baseline of 4, and the description correctly does not invent parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('encrypted evidence bundles stored in the gateway'), making the core purpose clear. It does not explicitly distinguish itself from related siblings such as list_evidence_grants or get_evidence_bundle, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like list_evidence_grants or get_evidence_bundle. The listing intent is implied only by the verb 'List' and the tool name, with no exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_evidence_grantsB
Read-only
Inspect

List all evidence access grants for an address. Returns bundles the address has been granted access to.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEVM address to look up grants for (0x...)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful scope context (it returns granted bundles rather than raw evidence), but says nothing about permissions to view grants, pagination, or empty-result behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and scope, and no filler. Every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only lookup with no output schema, the description adequately conveys what is listed and what it resolves to. It would be fully complete with a note on when to prefer it over list_evidence or get_evidence_bundle.

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 address parameter is documented in the schema as an EVM 0x address. The description adds nothing 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 and resource ('List all evidence access grants') with an explicit scope ('for an address'), and the second sentence clarifies that the grants resolve to bundles. It does not name or contrast with the obvious sibling grant_evidence_access, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of the counterpart mutation tool (grant_evidence_access), and no exclusion such as how this differs from list_evidence or get_evidence_bundle. The agent must infer the context from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_jobsB
Read-only
Inspect

List all jobs with status. Optionally filter by kernelId or status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status (pending, queued, in_progress, paused, completed, failed, cancelled)
kernelIdNoFilter by kernel ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds nothing behavioral beyond restating the list-and-filter operation — no pagination, result-size cap, ordering, or default status behavior for an unbounded 'all jobs' query.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the resource and then the optional filters; nothing is redundant or padded. Brevity comes at some cost to information, but there is no wasted text.

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 read-only list tool with annotations and no output schema, the description covers the essentials. The notable gap is the unbounded scope of 'all jobs' with no mention of pagination or limits, and no help picking between this and the kernel-scoped job listing siblings.

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 status property already enumerates all seven valid values, so the schema does the heavy lifting. The description only confirms that both parameters are optional filters, adding no format or syntax detail beyond that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb and resource ('List all jobs') plus the two optional narrowing dimensions, so an agent immediately knows what the call returns at a high level. It does not distinguish this from overlapping siblings such as get_job, get_kernel_jobs, or operator_poll_jobs, which is what keeps it out of the top band.

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?

'Optionally filter by kernelId or status' implies the usage pattern (call unfiltered for all jobs, narrow by kernel or status otherwise), which is genuine but implicit guidance. There is no statement of when to prefer this over get_kernel_jobs or get_job, nor any exclusion or prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_kernelsA
Read-only
Inspect

List all Shop Kernels on the network with status and capability types. Optionally filter by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by kernel status (online, offline, maintenance)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful context about scope and returned content, but does not mention pagination or any other operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with no wasted words. The primary action and optional filter are stated immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple read-only list operation, one optional parameter, and existing annotations, the description is largely complete. It could note pagination or sorting behavior, but no output schema exists and the core scope is clear.

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 status parameter is fully documented in the schema with possible values. The description only restates that it can optionally filter by status, adding no meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all Shop Kernels'), plus scope ('on the network') and returned fields ('status and capability types'). It is clear, though it does not explicitly distinguish itself from siblings like get_kernel or create_kernel.

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?

Mentions the optional status filter, which implies when to use that parameter. However, it gives no explicit when-to-use guidance relative to alternatives such as get_kernel or search_capabilities.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_operator_channelsA
Read-only
Inspect

List every channel attached to an operator. Returns the full channel records (id, transport, direction, endpoint, describe, enabled flags). Useful for an operator's onboarding agent to confirm what is wired up, and for status dashboards.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesOperator slug.

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 and destructiveHint=false, so the safety profile is covered by structured data. The description adds the concrete return shape (id, transport, direction, endpoint, describe, enabled flags), which is genuinely useful given no output schema, but says nothing about pagination, ordering, or behaviour when the operator has no channels.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences; the core action and scope are front-loaded and the field list follows as supporting detail. No filler, though the enumerated field list makes it slightly heavier than strictly needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read with no output schema, the description compensates by disclosing the returned fields and the intended consumers. It leaves only minor gaps around empty results and ordering, which are not critical to calling the tool 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% and the single 'slug' parameter is documented in the schema as 'Operator slug.' The description adds no further meaning about the identifier, 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 and resource ('List every channel attached to an operator') and enumerates the returned fields, so an agent knows exactly what it retrieves. It does not explicitly distinguish itself from near-name siblings such as test_operator_channels or get_sensor_channels, which keeps it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names two usage contexts ('onboarding agent to confirm what is wired up' and 'status dashboards'), which implies when to reach for it. However there is no when-not guidance and no explicit alternative named, so usage is only implied rather than routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_poolsA
Read-only
Inspect

List all investment pools. Optionally filter by status or capability type.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by pool status
capabilityTypeNoFilter by capability type

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds only the enumeration/filter scope and no return format, pagination, or volume characteristics, so it contributes little beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero waste, with the core action front-loaded and the optional filters trailing. Nothing is padding.

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 read-only listing tool with full schema coverage, annotations, and no output schema, the description covers the essentials an agent needs. It stops just short of routing guidance against sibling retrieval tools like get_pool.

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 enum values for status are fully documented in the schema. The description merely restates that status and capability type can be filtered, adding no syntax or semantic detail beyond what the schema already provides. 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 and resource ('List all investment pools') and names the two optional filter dimensions. It does not explicitly distinguish itself from close siblings like get_pool, list_capability_types, or claim_pool/stake_in_pool, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage ('optionally filter by status or capability type') but gives no when-to-use guidance versus get_pool (single pool retrieval) or other pool-related siblings such as claim_pool and stake_in_pool. Adequate but with clear gaps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_protocol_runsB
Read-only
Inspect

List protocol runs. Filter by status or kernelId.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by run status
kernelIdNoFilter by kernel ID

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description adds nothing behavioral beyond that (no pagination, ordering, or result-limit context), which is acceptable but thin for a list endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with no filler; the purpose is stated before the filtering detail. It is efficient, though bordering on under-specified rather than deliberately concise.

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 zero-required-parameter list tool with no output schema, this covers the minimum. It leaves gaps around what is returned, whether results are paginated or scoped to the caller, and how it relates to the other protocol-run tools.

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 status enum is fully enumerated in the schema, so the schema does the heavy lifting. The description merely restates the two filter names without adding format, defaulting, or combination semantics beyond what is already structured.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List protocol runs'), so an agent immediately knows this is a read/list operation on protocol runs. It does not, however, distinguish itself from close siblings like list_protocols, get_protocol_run, or the create/start/cancel run tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence tells how to narrow results but not when to choose this tool over get_protocol_run (single run) or list_protocols (protocol definitions). No when/when-not guidance or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_protocolsA
Read-only
Inspect

List protocol templates in the library. Filter by tags, required capabilities, search query, or status.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoComma-separated tag filter (e.g. 'biotech,protein')
searchNoFull-text search query
statusNoFilter by template status
capabilitiesNoComma-separated required capability filter (e.g. 'hplc,centrifuge')

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 and destructiveHint=false, so the safety profile is covered. The description adds the fact that results are scoped to the library, but says nothing about pagination, result limits, or ordering, so it adds only modest value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the resource and immediately followed by the filter surface. Every clause earns its place with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple all-optional list tool with a full-coverage schema and a read-only annotation, the description is adequate but thin. With no output schema, it does not indicate what a listed template contains or how results are shaped, which an agent would otherwise need to infer.

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 with its own format guidance (comma-separated tags, full-text query, status enum). The description merely restates the filter names and contributes no additional semantics, which is the baseline 3 case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (protocol templates in the library), which is clearly distinct from get_protocol (singular fetch), create_protocol, and list_protocol_runs. However, it does not explicitly differentiate itself from near siblings such as suggest_csd_templates or list_capability_types, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The enumerated filters (tags, capabilities, search, status) imply how the tool is intended to be used, but there is no explicit when-to-use statement and no mention of alternatives like get_protocol for fetching a single template. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_registrationsA
Read-only
Inspect

List all machine registrations on the network. See pending, approved, active, and rejected registrations. Public endpoint — no auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context by stating it is a public endpoint requiring no auth, which the annotations do not convey. It omits return format and pagination behavior for a potentially large list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, zero filler. The core action is front-loaded, followed by scope of results and the auth constraint, each earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only list tool with no output schema, the description covers action, result categories, and authentication needs. Pagination or result-size behavior is the only meaningful gap, so it is nearly but not fully complete.

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. Schema coverage is 100% and there is nothing for the description to compensate for; the listed status categories describe the content of results rather than inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("List all machine registrations") and enumerates the returned categories, so the agent knows exactly what this tool produces. It does not explicitly contrast with the sibling get_registration, which fetches a single registration, so it falls short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The enumeration of statuses implies the use case (broad survey across the registration lifecycle), but there is no explicit when-to-use statement or named alternative such as get_registration for a single record. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_transfer_agentsA
Read-only
Inspect

List all transfer agents (robots and human operators) available for instrument-to-instrument transfers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a definitional detail (agents include robots and human operators), but says nothing about result size, pagination, or freshness for what could be a large roster.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. The scope qualifier is placed immediately after the object it modifies, so the key constraint is visible at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list with no parameters and no output schema, the description is nearly sufficient. Only the shape and scale of the returned list, or any pagination behavior, is left 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 there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4. No parameter meaning is missing or contradicted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all transfer agents') and further qualifies the resource as robots and human operators used for instrument-to-instrument transfers. An agent can tell what is being returned, though it does not explicitly differentiate itself from any similarly named sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance. The phrase 'available for instrument-to-instrument transfers' hints at relevance context but leaves the agent to infer when this list is the right call versus other listing tools like get_transfer_graphs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lit_decryptAInspect

Decrypt a Lit Protocol-encrypted evidence bundle using a Lit auth signature. Returns the decrypted bundle payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
authSigYesLit auth signature object with sig, derivedVia, signedMessage, and address fields
bundleIdYesEvidence bundle ID (must be Lit-encrypted)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=false and destructiveHint=false, so the safety profile is partly covered. The description usefully discloses the auth requirement (a Lit auth signature is needed) and states the return value, but says nothing about failure modes for non-Lit-encrypted bundles or any side effects. Adequate but thin for a cryptographic operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero redundancy; the action, the required input, and the return value are all front-loaded. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

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 correctly states what is returned (the decrypted bundle payload), and both parameters are fully documented in the schema. The remaining gap is that error/edge behavior (e.g. wrong auth signature, non-encrypted bundle) is not addressed, though this is minor for a simple two-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including a detailed nested authSig description, so the schema does the heavy lifting and the baseline is 3. The description only gestures at the two parameters (bundle + Lit auth signature) without adding format or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (Decrypt) and a precise resource (Lit Protocol-encrypted evidence bundle), which distinguishes it from read-style siblings like get_evidence_bundle. It does not explicitly reference any sibling by name, so an agent must infer the difference, keeping it just below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use this when you have a Lit-encrypted bundle and a Lit auth signature. There is no explicit when/when-not guidance, no mention of the alternative get_evidence_bundle for metadata, and no statement of what happens if the bundle is not Lit-encrypted. This is minimum-viable context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_categoriesA
Read-only
Inspect

List all supplies and materials marketplace categories with the count of active listings in each. Categories cover the full spectrum of physical production inputs: raw metals, plastics, lab reagents, consumables, electronics, tooling, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that each category includes a count of active listings and gives examples of category types, which is useful return-content context, but it does not cover pagination, ordering, or other operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste; the core action and return are front-loaded, and the second sentence efficiently expands the category scope with concrete examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only list tool with no output schema, the description supplies the essential return detail (categories with active listing counts) and category domain. Minor gaps like ordering or zero-count behavior remain, but they are unlikely to block correct invocation.

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. The description cannot add parameter meaning beyond the empty schema, but it correctly implies no filtering or input is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb (List) and resource (supplies and materials marketplace categories) with the added detail of active listing counts. It distinguishes itself from sibling tools like marketplace_list_listings by focusing on categories rather than individual listings, though it does not explicitly name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. Usage is only implied by the tool name and the phrase 'List all'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_create_listingBInspect

Create a new supplies/materials listing in the marketplace. Suppliers post available raw materials, lab reagents, tooling, or consumables for other operators to purchase.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProduct name
tagsNoSearch tags
unitYesUnit of sale: kg, L, each, box, plate, etc.
inStockNoWhether the item is currently available
categoryYesCategory: raw-metals, plastics-polymers, lab-reagents, lab-consumables, electronics, chemicals, biologicals, tooling, packaging, calibration, safety, other
locationNoSupplier region or country
maxOrderNoMaximum order quantity
minOrderNoMinimum order quantity
sellerIdNoSupplier entity ID
descriptionNoDetailed product description
leadTimeDaysNoEstimated lead time in business days
pricePerUnitYesPrice per unit in USDC

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, consistent with a create operation. However the description adds no behavior beyond that: no auth/role requirements, no statement of what the created listing returns or where it appears, no side effects such as inventory or seller state changes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste, with the core action front-loaded before the clarifying domain context. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter mutation tool with no output schema, the description is minimally adequate: it says what is created but omits prerequisites, the seller identity requirement, and any post-creation behavior. The rich schema compensates on parameters, but the description leaves real gaps for a write operation.

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 12 parameters (including the category enumeration values) are already fully documented in the schema. The description's mention of material types mirrors the category field but adds no syntax, constraints, or meaning beyond the schema. 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+resource ('Create a new supplies/materials listing in the marketplace') and scopes the domain with concrete examples (raw materials, lab reagents, tooling, consumables). An agent can distinguish this write operation from the marketplace_get/update/delete/list siblings without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (posting supplies for others to purchase) but never names the alternative siblings (marketplace_update_listing, marketplace_place_order) or states prerequisites such as needing a sellerId or registering first. No explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_delete_listingB
Destructive
Inspect

Remove a supplies/materials listing from the marketplace. The listing is immediately hidden from search results.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesListing ID to remove

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral detail: the listing is 'immediately hidden from search results', hinting at a soft-delete visibility effect. It does not say whether this is reversible, permanent, or what happens to existing orders referencing the listing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler, and the destructive action is stated up front. Efficient, though the second sentence could have carried more load (reversibility, ownership) rather than only search visibility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Annotations carry the destructive signal and there is no output schema to explain, so the core is covered. However, for a destructive marketplace mutation the description omits authorization/ownership requirements and the effect on related orders, leaving meaningful gaps for an agent deciding to call it.

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?

One parameter with 100% schema description coverage ('Listing ID to remove'), so the schema fully documents it. The description adds no format, source, or lookup guidance beyond the schema, which matches the baseline 3 for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb + resource + scope ('Remove a supplies/materials listing from the marketplace'), which is far better than a tautology. It does not explicitly distinguish itself from the adjacent marketplace_update_listing or marketplace_get_listing siblings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites such as ownership of the listing or whether it must be un-ordered/un-sold, and no alternatives named (e.g., when to prefer deactivation over deletion). The agent must infer all of this.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_get_listingA
Read-only
Inspect

Get full details of a specific supplies/materials marketplace listing by ID. Returns pricing, availability, lead time, location, and tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesListing ID (e.g. 'lst-al6061-bar')

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context beyond that by enumerating the returned data (pricing, availability, lead time, location, tags), which is not available 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the action and lookup key come first, the return contents second. No filler or repetition of the name.

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, the description compensates by naming the returned fields, and the single-parameter input is fully covered by the schema. Nothing an agent needs to call this read tool 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 coverage is 100% with a single well-documented 'id' parameter including an example, so the schema does the heavy lifting. The description adds nothing about parameter format or constraints beyond what the schema already provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Get full details of a specific supplies/materials marketplace listing by ID'), which is precise and distinguishable from list-style siblings. It doesn't explicitly name a sibling like marketplace_list_listings or marketplace_get_order, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is for retrieving one listing when the ID is known, versus marketplace_list_listings for browsing. There is no explicit when-to-use/when-not or mention of alternatives such as marketplace_get_order.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_get_orderA
Read-only
Inspect

Get details of a specific supply order including the associated listing details, quantity, total price, status, and optional escrow address.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrder ID (e.g. 'ord-demo-001')

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by enumerating what the response contains (listing details, quantity, total price, status, escrow address), which is meaningful given there is no output schema. It does not cover auth or rate-limit behavior, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence stating the verb, resource, and returned fields with zero filler. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-by-id tool with annotations covering safety and only one fully documented parameter, the definition is nearly sufficient; listing the returned fields compensates for the absent output schema. Only the lack of explicit sibling routing keeps it from a 5.

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?

With a single parameter and 100% schema description coverage, the schema already documents the 'id' field including an example ('ord-demo-001'). The description implies identification by id but adds no syntax or format 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?

The description uses a specific verb+resource ('Get details of a specific supply order') and enumerates the fields returned (listing details, quantity, total price, status, escrow address). The word 'specific' plus the required id parameter distinguishes it from marketplace_list_orders, though it never names the sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: 'a specific supply order' signals this is the lookup-by-id path versus the list variant. However, there is no explicit when-to-use statement, no mention of the alternative marketplace_list_orders, and no prerequisites such as needing a valid order id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_list_listingsA
Read-only
Inspect

Search and filter supplies/materials marketplace listings. Operators buy raw materials here to fulfill capability contracts. Filter by category, in-stock status, location, or free-text query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoFull-text search across name, description, and tags
inStockNoFilter to only in-stock listings
categoryNoFilter by category: raw-metals, plastics-polymers, lab-reagents, lab-consumables, electronics, chemicals, biologicals, tooling, packaging, calibration, safety, other
locationNoFilter by region (e.g. 'US-Midwest', 'EU-West', 'Asia-Pacific')

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 and destructiveHint=false, so the safety profile is covered. The description adds useful domain framing about who uses the marketplace and why, but says nothing about pagination, result limits, or sort behavior expected of a listing search endpoint.

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 action, followed by domain context and the filter list. Slight redundancy between 'search and filter' and the trailing 'filter by ...' clause, but nothing 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?

For a simple, fully-optional, read-only list tool with 100% schema coverage and no output schema, the description supplies enough to call it correctly. The only minor gap is absence of pagination/result-limit hints, which is acceptable here.

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%, including the full category enum and location examples, so the schema already carries the parameter detail. The description merely restates the filter dimensions (category, in-stock, location, query) without adding syntax or semantics beyond it. 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 pair (search and filter) and resource (supplies/materials marketplace listings), and the domain sentence clarifies what the listings represent. It clearly reads as the list counterpart to marketplace_get_listing and marketplace_list_orders, though it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The domain context ('operators buy raw materials here to fulfill capability contracts') implies when this tool is relevant, but there is no explicit when-to-use vs alternatives guidance (e.g. use marketplace_get_listing for a single listing, marketplace_categories to enumerate categories). Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_list_ordersB
Read-only
Inspect

List marketplace supply orders. Filter by buyerId, sellerId, or status. Returns order history with pricing and status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by order status
buyerIdNoFilter to orders placed by this buyer
sellerIdNoFilter to orders received by this seller

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the result carries pricing and status fields, which is useful, but says nothing about pagination, ordering, or what happens when no filter is supplied (potentially an unbounded result set).

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 action and then the filters and return shape; nothing is redundant enough to cut. The return-content sentence is the weakest, but it is brief and informative.

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-required-parameter read tool with no output schema, the description conveys the core behavior and return contents. It is incomplete on operational details such as default scope, result limits, and pagination, which matter for a list endpoint with all-optional filters.

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 three parameters and the status enum are already fully documented in the schema. The description merely restates the same filter names without adding format, semantics, or interaction rules, making 3 the correct baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List marketplace supply orders') plus the available filters, which separates it from the singular marketplace_get_order sibling. It stops short of explicitly naming those siblings, so an agent must infer the boundary rather than being told it.

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 filter list: call this when you want many orders narrowed by buyer, seller, or status. There is no explicit when-not guidance and no mention of the alternative single-order retrieval tool, leaving the agent to infer the choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_place_orderAInspect

Place a purchase order for supplies or materials. Calculates total price automatically (quantity × pricePerUnit). Returns an order with 'pending' status. Optionally links to an on-chain escrow for trustless settlement.

ParametersJSON Schema
NameRequiredDescriptionDefault
buyerIdNoBuyer entity ID (operator kernel ID, etc.)
quantityYesQuantity to order (must meet listing minOrder/maxOrder)
listingIdYesListing ID to order from
escrowAddressNoOptional on-chain escrow address for trustless settlement

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false; the description goes further by explaining that total price is computed automatically (quantity × pricePerUnit), that the result carries 'pending' status, and that an on-chain escrow can optionally be linked. It still omits auth/permission requirements, but adds real behavioral value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, the core action front-loaded and each sentence carrying distinct information (action, pricing/return behavior, escrow option). No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers the key outcome (order returned with 'pending' status) and the optional escrow path. Only missing pieces are permission/auth expectations and whether repeated calls create duplicate orders.

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 four parameters. The description adds the quantity×pricePerUnit relationship and frames escrowAddress as optional, but offers no syntax or format detail beyond the schema, 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?

Specific verb (Place) plus resource (purchase order for supplies/materials), clearly distinct from sibling read tools like marketplace_get_order and marketplace_list_orders. An agent can identify it as the order-creation tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this versus marketplace_get_order/marketplace_list_orders, and no prerequisites such as the listing needing to exist or quantity constraints. Usage is only implied by the verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_update_listingAInspect

Update an existing supplies/materials listing (price, stock status, description, etc.). Pass only the fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesListing ID to update
tagsNoUpdated search tags
inStockNoStock availability
descriptionNoUpdated description
leadTimeDaysNoUpdated lead time in days
pricePerUnitNoNew price per unit in USDC

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-destructive mutation. The description adds the partial-update semantic (only changed fields are submitted), which is genuinely useful context beyond the annotations. It does not disclose permission requirements, reversibility, or what happens when a field is omitted, leaving gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler: the first states what is updated, the second states how to call it. The key calling convention is front-loaded and nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers purpose and the partial-update mechanism, and annotations cover the safety profile. It omits who may update a listing, whether updates are reversible, and the response shape, so it is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all six parameters are already documented in the schema, establishing the baseline of 3. The description's "pass only the fields you want to change" clarifies the partial-update contract across all optional parameters, adding modest value beyond the per-field schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (Update), resource (supplies/materials listing), and enumerates the kinds of fields affected (price, stock status, description). It is clearly distinguishable from marketplace_create_listing and marketplace_delete_listing, though it does not explicitly name those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Pass only the fields you want to change" gives useful partial-update guidance, which is implied usage context. However, there is no explicit when-to-use vs. when-not guidance, no mention of prerequisites (e.g., ownership of the listing), and no reference to sibling tools like marketplace_create_listing or marketplace_get_listing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

match_spacesBInspect

Find hosting spaces that match specific machine requirements (voltage, area, etc.). Returns scored matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
minAreaNoMinimum floor area in square feet
voltageNoRequired voltage (e.g. 208, 480)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=false and readOnlyHint=false; the description adds that the result is scored matches, which is return-value context beyond the annotations. However it does not explain scoring, ordering, pagination, whether the match is persisted (relevant given readOnlyHint=false on what reads like a query), or any permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero padding, with the core action front-loaded and the return behavior stated second. The parenthetical '(voltage, area, etc.)' is mildly redundant with the schema but does not bloat the definition.

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, no-required-argument tool with no output schema and annotations covering the safety profile, this is minimum viable: it says what it matches and that results are scored. It omits what a score means, result shape/ordering, and why a 'find' tool is flagged as not read-only, which an agent would benefit from knowing.

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 both parameters (minArea with square feet, voltage with examples) are fully documented in the schema. The description only echoes the same fields ('voltage, area') and adds no syntax, defaults, or combining semantics beyond what the schema already provides, 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 and resource: 'Find hosting spaces that match specific machine requirements.' An agent can tell it is a matching/search tool for spaces, which separates it from mutation siblings. It does not, however, distinguish itself from the nearby search_spaces or get_space siblings, so no sibling differentiation credit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'match specific machine requirements (voltage, area, etc.)' implies the usage context — you call it when you have machine constraints and want candidate spaces. But there is no statement of when NOT to use it and no routing to search_spaces, get_space, or get_space_bookings, leaving the agent to infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mint_certificateAInspect

Mint a soulbound capability certificate (cNFT via Metaplex Core) for a kernel. Proves a verified capability on-chain as an immutable credential. Step 5 of onboarding.

ParametersJSON Schema
NameRequiredDescriptionDefault
metadataNoAdditional metadata (tolerances, materials, calibration proof CID)
kernelDidYesDID of the kernel (e.g. did:pcc:kernel:biolab-01)
assuranceTierNoAssurance tier (0-3)
capabilityTypeYesCapability type (e.g. fdm, cnc-3axis, hplc)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false and destructiveHint=false. The description adds genuinely useful behavioral context: the output is soulbound, on-chain, and immutable, which tells the agent the credential cannot be transferred or undone. It stops short of disclosing cost/gas requirements or authorization needs.

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 tight sentences; the core action and artifact are front-loaded, and each subsequent sentence adds a distinct fact (on-chain proof, onboarding position). No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write tool with no output schema and thin annotations, the description covers the artifact, its immutability, and its onboarding position. It omits what the call returns (e.g., certificate address) and any cost or prerequisite detail, a modest but real 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 all four parameters (kernelDid, capabilityType, assuranceTier, metadata) are already documented, including the nested metadata object. The description adds no syntax, format, or constraint detail beyond the schema, so 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 description gives a specific verb (mint) and a precise resource (soulbound capability certificate, cNFT via Metaplex Core) plus the target object (a kernel). It is clear what the tool produces, though it never distinguishes itself from close siblings like create_capability or register_capability_ip.

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?

"Step 5 of onboarding" implies sequencing context and thus a rough when-to-use signal, but there is no explicit precondition list, no statement of when NOT to use it, and no routing to sibling alternatives such as create_capability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

near_intentAInspect

Submit a cross-chain payment intent to the NEAR 1Click solver network. Creates a signed intent that routes the payment atomically across chains. Call near_quote first to obtain a quoteId. Intents typically settle within 30-60 seconds — poll near_intent_status to track progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteIdYesQuote ID returned from near_quote
recipientNoRecipient address on the destination chain (optional)
workflowIdYesPCC workflow or job ID this payment is for

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false; the description adds genuinely new behavioral context — that the intent is signed, that routing is atomic across chains, and the typical 30-60 second settlement window. It does not cover auth/permission needs or what happens on a failed settlement.

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 tight sentences: what it does, the prerequisite, and the follow-up. The prerequisite is front-loaded before the polling hint, and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema and full schema coverage, the description supplies what an agent needs to sequence correctly: prerequisite quote, cross-chain atomicity, and settlement timing plus the tracking tool. It leaves out failure/refund behavior and permission requirements, which keeps it from being fully 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 description coverage is 100%, so the schema already explains quoteId, recipient, and workflowId. The description only restates the quoteId provenance ('Call near_quote first'), adding no syntax, format, or constraint detail beyond the schema — 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 ('Submit a cross-chain payment intent to the NEAR 1Click solver network') and adds the mechanism ('creates a signed intent that routes the payment atomically'). This clearly separates it from sibling near_quote (which produces the quote) and near_intent_status (which tracks it).

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 an explicit prerequisite ('Call near_quote first to obtain a quoteId') and an explicit follow-up ('poll near_intent_status to track progress'), which is strong routing guidance. It does not state when not to use the tool or what happens if the quote expires, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

near_intent_statusA
Read-only
Inspect

Check the settlement status of a submitted NEAR 1Click cross-chain payment intent. Statuses progress: pending → submitted → settled | failed. Returns txHash and explorerUrl when settled.

ParametersJSON Schema
NameRequiredDescriptionDefault
intentIdYesIntent ID returned from near_intent

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly/no-destructive, so the burden is lower. The description still adds genuine value by disclosing the state machine (pending → submitted → settled | failed) and what is returned on success (txHash, explorerUrl), which no output schema covers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two front-loaded sentences with zero filler: the action and target come first, the status progression and return values follow. Nothing is redundant with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully compensates by naming the return fields and the terminal states. It falls short only on operational guidance such as polling cadence or what to do while pending, which an agent calling a status-check tool would benefit from.

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?

Only one parameter exists and the schema documents it at 100% coverage, including its origin ('returned from near_intent'). The description adds no further parameter meaning, 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 (check) plus the exact resource (settlement status of a submitted NEAR 1Click cross-chain payment intent). This clearly separates it from siblings like near_intent, near_quote, and near_status, since it names the specific 1Click intent lifecycle it operates on.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'submitted' implies the tool is used after near_intent, but the description never names near_intent as a prerequisite or states when to prefer this over near_status or get_settlement_status. Usage is inferable but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

near_quoteAInspect

Get a cross-chain payment quote from the NEAR 1Click solver network (chaindefuser.com). Provides optimal routing and fee estimates for funding PCC escrow contracts using any source asset on any supported chain. Call near_status first to confirm available chains/assets.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount as an integer string in the smallest denomination (e.g. '1000000' for 1 USDC with 6 decimals)
toAssetYesDestination asset symbol (e.g. 'USDC')
toChainYesDestination chain (e.g. 'base', 'eth')
fromAssetYesSource asset symbol (e.g. 'USDC', 'ETH', 'NEAR')
fromChainYesSource chain (e.g. 'eth', 'base', 'near', 'arbitrum')
recipientNoRecipient address on the destination chain (optional)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations are essentially defaults (readOnlyHint=false, destructiveHint=false), so they carry little; the description usefully adds the solver-network dependency and the near_status prerequisite. However, it says nothing about whether the quote is binding, how long it is valid, whether calling it has side effects on the destination chains, or what the response contains. Note: readOnlyHint=false is mildly at odds with the retrieval framing ("Get a quote"), but since false is the non-asserting default it is not a genuine contradiction.

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 resource and provider, then use case, then prerequisite. No filler or repetition. It could arguably be even tighter, but every sentence contributes.

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?

Covers what the tool is, what it is for (funding PCC escrow contracts), and the prerequisite call. With no output schema, it would help to state what a quote returns (route, fee, expected amount), and it omits what to do with the quote afterwards (near_intent). For a single-purpose retrieval tool the core context is otherwise present.

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% (amount denomination, chain/asset symbols, optional recipient are all documented in the schema), so the baseline is 3. The description adds conceptual scope ("any source asset on any supported chain") but no syntax, constraint, or default information beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ("Get a cross-chain payment quote") and identifies the provider (NEAR 1Click solver network / chaindefuser.com), so the agent knows exactly what it produces. It does not explicitly differentiate itself from the nearest siblings near_intent / near_intent_status, which an agent must infer (quote vs. execute vs. poll).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete precondition: "Call near_status first to confirm available chains/assets." That is clear sequencing guidance for a multi-step cross-chain flow. It stops short of naming the execution alternative (near_intent) or stating when not to use a quote, so it is context without exclusions rather than full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

near_statusA
Read-only
Inspect

Get NEAR Protocol chain-abstraction integration status. Returns supported chains (near, eth, base, arbitrum, optimism, polygon), supported assets (USDC, USDT, NEAR, ETH, WBTC), and capability flags. Use this to confirm cross-chain settlement is available before requesting quotes.

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 readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuine value beyond that by disclosing the payload contents (six supported chains, five assets, capability flags), which matters because there is no output schema. It stops short of noting error modes or staleness of the status data.

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 sentences, each earning its place: what it returns, the exact contents, and the intended use. Front-loaded with the verb+resource and no filler or restatement of the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only status probe with annotations covering the safety hints and no output schema, the description carries the necessary burden by enumerating return contents and the intended pre-quote use. An agent can call this correctly without further information.

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 there is no parameter semantics to describe; baseline for a no-arg tool is 4. Nothing in the description misleads about inputs, and 'confirm before requesting quotes' correctly signals that the call is argument-free and cheap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (NEAR Protocol chain-abstraction integration status), and enumerates the returned data (chains, assets, capability flags). This is distinguishable from the other NEAR-prefixed siblings (near_quote, near_intent, near_intent_status), which concern quoting and intent flows rather than integration availability.

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?

Explicitly gives the triggering condition: 'Use this to confirm cross-chain settlement is available before requesting quotes.' That pins down when to call it and implies the sequencing relative to quote requests, though it doesn't name the sibling tool (near_quote) directly or state when the tool is unnecessary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onboard_machineAInspect

Register a new machine on the PCC network. Provide machine details to create a registration record. Include operator ({walletAddress, displayName, email}): without it the registration is recorded as operator 0x0000000000000000000000000000000000000000 / "Unknown", and prove cannot match it to you.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesMachine name
modelNoModel identifier
categoryYesMachine category (e.g. fdm, cnc, laser-cut, hplc)
operatorNoWho owns this machine. prove and activate match the caller against operator.walletAddress (or operator.email).
descriptionNoMachine description
capabilitiesNoArray of capability objects
manufacturerNoManufacturer name

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false. The description goes beyond that by disclosing what happens when `operator` is omitted (recorded as the zero address / 'Unknown') and the downstream consequence that prove cannot match the caller. This is genuine behavioral context an agent could not get from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, with the core action front-loaded and the operator caveat as the payoff. The trailing clause 'and prove cannot match it to you' is slightly awkward but carries real information, so the length is justified.

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 7-parameter write tool with a nested operator object and no output schema, the description covers the action, the critical optional parameter, and its failure mode. It omits what a successful registration returns and how it relates to the subsequent prove/activate steps, which would round it out.

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 baseline is 3, but the description adds value beyond the schema by explaining the practical effect of the optional `operator` object (zero-address fallback and proof-matching failure), which the schema only hints at. The remaining six parameters get no description-level treatment, so it is not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Register a new machine on the PCC network.' This is clearly distinct from the read sibling 'get_registration' and the follow-up 'prove_registration'/'activate_registration'. It doesn't explicitly name those siblings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the entry point of the registration flow and gives conditional guidance on the `operator` field, but it never states when to use this tool versus the adjacent registration steps (prove_registration, activate_registration, list_registrations). Usage is implied rather than spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

operator_heartbeatCInspect

Operator sends heartbeat with capability re-announcement. Keeps the kernel alive on the network and updates available capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYes
capabilitiesNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations supply the safety profile (readOnlyHint=false, destructiveHint=false), so the description only needs to add operational context. It does say the call keeps the kernel alive and updates capabilities, but omits frequency expectations, idempotency, and any auth/registration prerequisite tying it to operator status.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences that front-load the core action. A little more specificity would fit without bloat, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutating heartbeat with no output schema, 0% parameter documentation, and no stated return behavior leaves the agent guessing about what a successful response means and what shape capabilities must take. The description should do more given the missing schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% across two parameters, so the schema documents nothing. The description hints that the 'capability re-announcement' maps to the capabilities array and that kernel liveness maps to kernelId, but gives no expected structure for the capability objects or format constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ("Operator sends heartbeat") and adds the effect of keeping the kernel alive and refreshing capabilities. It does not explicitly distinguish itself from the sibling kernel_heartbeat or kernel_announce_capabilities, so an agent must infer the operator-side role rather than read it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description never says when to call this versus kernel_heartbeat, kernel_announce_capabilities, or get_operator_status. No timing, frequency, or context guidance is given; the agent must infer that this is a periodic liveness call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

operator_poll_jobsA
Read-only
Inspect

Operator polls for pending jobs assigned to their kernel. Returns queued jobs ready for execution. The pcc-node 0.1.1 daemon does not call it: it takes no jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID to poll jobs for

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that it returns 'queued jobs ready for execution' and notes the daemon exclusion, but says nothing about polling cadence, side effects on returned jobs, or pagination—modest added context over annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences with no filler. The purpose leads, the return value follows, and the daemon caveat is a deliberate, earned exception note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only poll tool with no output schema, the description covers purpose, return semantics, and a key caller exclusion. It lacks return shape/pagination detail, but the read-only annotation and the low complexity keep this adequate near the top of the scale.

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 100% schema description coverage ('Kernel ID to poll jobs for'), so the schema already documents it. The description adds no format, sourcing, or validation detail beyond what the schema provides, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource ('polls for pending jobs assigned to their kernel') with explicit scope and a named non-caller ('pcc-node 0.1.1 daemon does not call it'), which distinguishes it from siblings like get_kernel_jobs and list_jobs.

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?

Implies the operator/kernel-execution context and explicitly excludes the pcc-node 0.1.1 daemon ('it takes no jobs'), which is useful negative guidance. It does not name an alternative poll tool or state preconditions, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

operator_push_evidenceAInspect

Operator pushes evidence bundle from a completed job execution. Contains device ID, execution timestamp, result payload, and event timeline. Success is a receipt with stored: true naming this jobId. HTTP 200 with stored: false means nothing was stored: never follow it with status completed.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes
evidenceYes
kernelIdYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly=false and destructive=false, so the description carries most of the burden and does so well: it defines the success receipt (stored: true plus jobId) and warns that HTTP 200 with stored: false means nothing was stored and must not be followed by a 'completed' status. That failure-mode disclosure is real value beyond the annotations, though auth/prerequisites are unmentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the action and payload, then the success and failure semantics. No filler, though the success/failure conditions could be slightly tighter.

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 mutating tool with no output schema and a nested evidence object, the description covers action, payload, return receipt, and the critical failure interpretation, which is the important missing piece an agent would otherwise get wrong. It remains thin on parameter-level detail and sibling disambiguation, but is otherwise 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 description coverage is 0% and the schema only types the nested evidence object as generic 'object', so the description meaningfully clarifies the bundle's fields (device ID, execution timestamp, result payload, event timeline). It still leaves jobId and kernelId unexplained, so it compensates only partially for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('pushes evidence bundle') and describes the payload contents, so an agent understands what is being transmitted. However, it never distinguishes this tool from nearby siblings like commit_evidence, submit_evidence_hash, or register_job_evidence_ip, leaving the agent to guess which evidence-writing path applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'from a completed job execution' implies the context (a finished job's evidence must be pushed), which is genuine if minimal guidance. There is no explicit when-not-to-use or named alternative among the many evidence-related siblings, so usage is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

operator_update_job_statusAInspect

Operator reports a job's status (in_progress, completed, failed). The node path finishes a job in two calls: submit its evidence (POST /api/operator/evidence; pcc-node does this), and only if that receipt says stored: true for this jobId, set status completed here. HTTP 200 alone is not enough: the relay answers 200 with stored: false when it could not store the evidence (an unknown job, a storage failure); then set failed with the reason evidence_not_stored. On the current gateway, completed marks the job done and its timeline then says settled, but the escrow is not released yet (board G1). Do not call pcc_job_complete after this: it answers 409.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes
statusYes
kernelIdYes
metadataNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover safety (readOnlyHint false, destructiveHint false). The description reveals non-obvious behavior: HTTP 200 does not imply success because the relay returns stored:false on storage failure, and 'completed' sets the timeline to 'settled' without releasing escrow. This is exactly the behavioral context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the core action and status values, then layers the workflow and failure semantics. Dense but every sentence adds operational information. Slightly long for a tool description, though not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and a mutation tool with only safety annotations, the description covers the critical decision path (evidence receipt → status), failure handling, and settlement caveats. It omits parameter-level detail (jobId, kernelId, metadata), which is the main gap for a 4-parameter tool with 0% schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and there are 4 parameters (jobId, kernelId, status enum, metadata object). The description gives meaning to the status values (in_progress, completed, failed) and ties 'completed' to the stored:true precondition, but it says nothing about jobId, kernelId, or the metadata object. With 0% schema coverage, the description should have compensated more for the undocumented required identifiers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource ('reports a job's status') and enumerates the valid status values. It distinguishes itself from the generic sibling update_job_status by naming the operator role and a distinct workflow, and explicitly warns against calling pcc_job_complete afterward.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It prescribes a full two-step protocol: submit evidence, check stored:true, then set completed; otherwise set failed with evidence_not_stored. It also lists an explicit exclusion ('Do not call pcc_job_complete after this: it answers 409'). This is the strongest form of when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pause_protocol_runAInspect

Pause a running protocol run. Use resume_protocol_run to continue.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesProtocol run ID to pause

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this mutates state non-destructively, and nothing in the description contradicts that. The description adds no further behavioral context — no reversibility, idempotency, or state-retention details — so it does not exceed the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the action is front-loaded and the sibling reference follows immediately. No filler whatsoever.

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 one-parameter state-mutation tool with no output schema, the action plus continuation path is essentially sufficient. Minor gaps remain around failure behavior and required run state, but nothing essential 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 coverage is 100% with a single self-explanatory runId parameter, so the schema does the work. The description adds no format or sourcing guidance beyond it, giving the standard baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Pause) and resource (protocol run), scoped to a 'running' run, which is more precise than the bare name. It does not distinguish itself from the adjacent cancel_protocol_run sibling, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names resume_protocol_run as the way to continue, giving one explicit routing cue. However, it never says when to pause versus cancel_protocol_run or what prerequisites (ownership, run state) apply, leaving the main selection logic to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pay_ip_royaltyBInspect

Pay royalties to an IP asset vault. The payer sends tokens that flow to stakeholders via the royalty splits.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipIdYesIP asset ID
amountYesAmount to pay in wei (as string)
payerAddressYesEVM address of the payer

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish it is a non-read-only, non-destructive mutation. The description adds genuine value by disclosing the split-based distribution flow, but omits whether a token approval is required, whether the payment is reversible, gas implications, or any permission requirements for the payer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, with the core action front-loaded and the flow mechanic second. No filler, though there is room for one clause of routing guidance without bloat.

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 3-parameter mutation with no output schema and no return-value expectations needed, the description is adequate but incomplete: it doesn't say what the caller observes on success, whether approval is a prerequisite, or how it differs from the royalty-distribution siblings.

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 the schema already documents ipId, amount (wei as string), and payerAddress. The description adds no format, range, or unit details beyond what the schema provides, so 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?

It states a specific verb and resource ('Pay royalties to an IP asset vault') and even sketches the fund flow. However, it never names or distinguishes itself from close siblings such as distribute_royalties, claim_ip_revenue, or get_ip_revenue, so the agent cannot route between them from the text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the mechanism ('tokens flow to stakeholders via royalty splits') but gives no when-to-use condition, no preconditions, and no mention of alternatives like distribute_royalties or claim_ip_revenue. Usage is only weakly implied by the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_assign_node_operatorBInspect

Assign an operator to a specific capability node within a request. The node status changes to 'assigned'. Operators claim nodes to indicate they will execute that capability.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdYesCapability node ID
requestIdYesRequest ID
operatorIdYesOperator kernel ID or wallet address

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations establish the safety profile (readOnlyHint=false, destructiveHint=false), so the mutation nature is already covered. The description does add one genuine behavioral fact beyond the annotations: the node status transitions to 'assigned'. However, it omits what happens if the node is already assigned, whether the change is reversible, and any permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and resource, followed by the observable side effect and the rationale. No filler, though the third sentence is more motivational color than operational guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a non-destructive mutation tool with no output schema and fully documented parameters, the description covers purpose and the resulting state change. It leaves gaps around conflict handling, authorization, and the response shape, but these are not severe given the annotation coverage.

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 nodeId, requestId, and operatorId are already fully documented in the schema, including the note that operatorId can be a kernel ID or wallet address. The description adds no parameter-level detail beyond that, which is the expected baseline 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.

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 pairing: assigning an operator to a capability node within a request. This is unambiguous and clearly distinct from read/query siblings like pcc_get_request. It stops short of differentiating itself from the nearby pcc_update_node_status, which also mutates node state.

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 conveys the intent behind the operation ('Operators claim nodes to indicate they will execute that capability'), which implies when it's used, but gives no explicit when-not conditions, prerequisites, or named alternatives such as pcc_update_node_status.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_camera_latestA
Read-only
Inspect

Get the latest camera frame from a kernel as a JSON snapshot (base64 JPEG + metadata). For raw JPEG image, use GET /api/ot2/camera/latest directly.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID to get camera frame from

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely useful behavior context beyond that: the payload is a JSON envelope containing base64 JPEG data plus metadata, which tells the agent how to parse the result. No auth or rate-limit notes, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler. The core action and payload are front-loaded, and the alternative-method routing is a tight follow-up sentence.

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 usefully describes the return payload, and the single required param is covered by the schema. Complete enough to invoke correctly; only auth/error behavior is unaddressed, which is minor for a read-only snapshot tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and kernelId is fully documented in the schema, so the description adds no parameter meaning beyond it. Baseline 3 is appropriate; the description's value lies in the return format, not the input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource ('Get the latest camera frame from a kernel') plus the exact return shape (JSON snapshot with base64 JPEG + metadata). It also distinguishes this tool from the raw-JPEG path, so an agent can tell what it will receive without opening anything else.

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?

Explicitly states the alternative for the raw JPEG case ('use GET /api/ot2/camera/latest directly'), which is a real routing decision. It lacks any exclusions relative to sibling tools, but the format-choice guidance is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_cancel_requestA
Destructive
Inspect

Cancel a capability request. Cancelled requests cannot be updated, decomposed, or published. This is a soft delete — the request remains visible with status 'cancelled'.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestIdYesRequest ID to cancel

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds genuinely useful context that annotations cannot: this is a soft delete, the request stays visible with status 'cancelled', and downstream operations (update, decompose, publish) are blocked. That materially refines the meaning of 'destructive' for the caller. It does not disclose permissions or idempotency behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, action first, consequences second, semantic clarification third. No filler, and the most important information (what the tool does) is front-loaded.

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 one-parameter, no-output-schema tool with destructive annotations, the description covers purpose, irreversibility of downstream actions, and the soft-delete semantics. Only minor gaps remain, such as required request status or whether cancel is idempotent, which an agent could reasonably 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?

There is a single parameter with 100% schema description coverage ('Request ID to cancel'), so the schema fully documents the input. The description adds no format, sourcing, or validation guidance beyond it. 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 (Cancel) and resource (capability request) in the first sentence, and the second sentence implicitly distinguishes it from the sibling mutation tools pcc_update_request, pcc_decompose_request, and pcc_publish_request by naming the operations that become impossible. It stops just short of explicitly naming an alternative tool or the trigger condition for choosing it.

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: an agent can infer this is for terminal withdrawal of a request, and that update/decompose/publish are no longer options afterward. However, there is no explicit 'use this when X, instead of Y' guidance, no prerequisites (e.g. must the request be in a particular status?), and no statement about whether cancellation can be repeated or undone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_capture_anchorAInspect

Anchor a PASS + anchor-candidate capture verdict to CaptureClassRegistry on-chain (Base Sepolia by default). Rejects FAIL/PARTIAL verdicts. Idempotent — re-submitting the same verdictId returns the existing anchor row. Returns 202 {status:'deferred'} if CaptureClassRegistry is not yet deployed (CAPTURE_REGISTRY_ADDRESS unset).

ParametersJSON Schema
NameRequiredDescriptionDefault
verdictIdYesThe verdictId returned by pcc_capture_upload. Must be a PASS verdict with anchorCandidate=true.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly=false, destructive=false), and the description goes well beyond: it discloses idempotency semantics, the rejection rule for FAIL/PARTIAL, and the 202 deferred fallback when CAPTURE_REGISTRY_ADDRESS is unset. These are exactly the runtime behaviors an agent cannot infer from 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, front-loaded with the action and target, followed by the acceptance rule, then the idempotency and fallback behaviors. No filler.

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 single-parameter write tool with no output schema, the description covers the success path, the rejection path, the idempotent replay case, and the not-deployed 202 case — leaving nothing material unspecified for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter with 100% schema description coverage, so the schema already carries verdictId's meaning and its PASS/anchorCandidate constraint. The description reinforces but does not extend that, 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?

Names a specific verb (anchor) and resource (PASS capture verdict → CaptureClassRegistry), states the accepting condition (PASS + anchorCandidate) and the target chain. This is clearly distinct from sibling pcc_capture_upload (which produces the verdictId) and pcc_capture_class_registry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear preconditions: the verdict must be PASS with anchorCandidate=true, and the verdictId comes from pcc_capture_upload. It also states that FAIL/PARTIAL verdicts are rejected. It does not explicitly route the agent between this and the registry/upload siblings, but 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.

pcc_capture_challengeAInspect

Issue a fresh block-anchored CaptureNonceChallenge for a job. The operator's device must render this nonce into the captured media (QR code, audio tone, etc.) before calling pcc_capture_upload. The nonce is derived from (challengeId, latest blockHash, workOutputRoot) so captures cannot be pre-computed. Returns challengeId, 64-char hex nonce, blockNumber, maxAgeSeconds (clamped to 120).

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesPCC job ID the capture belongs to
declaredClassYesCapture class the operator plans to claim. Determines which gates the verifier will run.
requestedTtlSecondsNoRequested challenge lifetime in seconds. Clamped to 120 server-side.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so this is a non-destructive write. The description adds meaningful behavior beyond that: the nonce is block-anchored and derived from (challengeId, latest blockHash, workOutputRoot) to prevent pre-computation, and TTL is clamped to 120 seconds. It omits auth needs or rate limits, but the added cryptographic and lifetime context is substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly packed sentences: purpose, required workflow step, then derivation and return shape. No wasted words and key constraints are front-loaded.

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, the description usefully lists the return fields (challengeId, nonce, blockNumber, maxAgeSeconds). It covers the challenge's role in the capture workflow and its anti-precomputation guarantee, so an agent has enough to call it 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 the schema already documents jobId, declaredClass, and requestedTtlSeconds. The description only repeats that maxAgeSeconds/requestedTtlSeconds is clamped to 120, adding no new syntax or constraint information beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Issue a fresh block-anchored CaptureNonceChallenge for a job.' This clearly distinguishes it from sibling capture tools like pcc_capture_upload and pcc_capture_anchor.

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?

Explicitly says the operator's device must render the nonce into captured media before calling pcc_capture_upload, which gives clear sequencing and names the next tool. It does not say when not to use this tool or list alternative challenge mechanisms, but the context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_capture_class_registryA
Read-only
Inspect

Look up a capture's on-chain anchor record in CaptureClassRegistry by its 32-byte captureHash. Returns the registry address, captureHash, and decoded anchor tuple (declaredClass, verifiedClass, manifestHash, submittedBy, jobId, challengeId, blockAnchor, capturedAt, attestationsRoot, attesterCount). onchain is null if the capture was never anchored. Returns 202 deferred when CaptureClassRegistry is not yet deployed.

ParametersJSON Schema
NameRequiredDescriptionDefault
captureHashYesCapture hash (32-byte). Accepts 0x-prefixed or unprefixed hex, or sha256:<hex> format. Padded server-side to bytes32.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and destructiveHint=false, so safety is covered. The description adds real behavioral context beyond that: onchain is null when the capture was never anchored, and a 202 deferred response when the registry is undeployed. It stops short of describing retry/polling behavior for the deferred case.

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 compact sentences: what it looks up, what it returns, and the two edge-case behaviors. Front-loaded with the core purpose and no wasted words.

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?

Despite having no output schema, the description enumerates the return shape (registry address, captureHash, decoded anchor tuple fields) and the two special states (null onchain, 202 deferred). An agent has everything needed to call and interpret this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single captureHash parameter is fully documented (hex, 0x-prefix, sha256: format, server-side bytes32 padding). The description only restates '32-byte captureHash', adding nothing the schema doesn't already say, 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 (look up), resource (a capture's on-chain anchor record in CaptureClassRegistry), and key (32-byte captureHash). This clearly separates it from the write-side sibling pcc_capture_anchor and from status/upload tools.

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 this is the read path for an existing capture's anchor, but it never states when to prefer it over pcc_capture_status, pcc_capture_anchor, or pcc_get_request. No explicit exclusions or routing guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_capture_statusA
Read-only
Inspect

Fetch the combined verdict + on-chain anchor view for a single capture. Mirrors the verifier's DB shape plus the anchor tx metadata (txHash, blockNumber, gasUsed, explorerUrl). Anchor is null if the verdict was never anchored.

ParametersJSON Schema
NameRequiredDescriptionDefault
verdictIdYesCapture verdict UUID (from pcc_capture_upload).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish this as a safe read (readOnlyHint=true, destructiveHint=false). The description adds real behavioral value beyond that: it enumerates the returned anchor metadata fields (txHash, blockNumber, gasUsed, explorerUrl) and explains the null-anchor edge case. It stops short of covering auth requirements or any rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the primary purpose front-loaded and the null-anchor edge case appended. No filler or redundant restatement of the tool name.

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 usefully sketches the return payload and the null case, and the read-only annotations cover the safety profile. For a single-parameter read tool this is largely sufficient, though chain/context and auth expectations are left unstated.

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 single parameter's schema description even points to its origin (pcc_capture_upload), so the schema carries the load. The description adds no parameter-level detail beyond this, which is the expected baseline when schema documentation is complete.

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 ('Fetch') and resource ('combined verdict + on-chain anchor view for a single capture'), which clearly distinguishes it from list-style siblings like pcc_list_verdicts and the anchor-only pcc_capture_anchor. It is clear what the tool returns, though it does not explicitly name the sibling tools it should be chosen over.

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 by 'for a single capture'; there is no explicit when-to-use guidance or routing to alternatives such as pcc_capture_anchor or pcc_list_verdicts. The mention that the anchor is null when unanchored hints at a use case but is not framed as selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_capture_uploadAInspect

Upload a capture (photo / video / audio / sensor clip) with its CaptureManifest for G1..G6 verification. Bytes are base64-encoded inline; optional base64 C2PA manifest bytes can be supplied for CC3+ claims. The server runs the 6-gate CaptureVerifier and persists a PASS/PARTIAL/FAIL verdict. Returns {verdictId, verdict, verifiedClass, gatesPassed, gatesFailed, warnings, anchorCandidate, captureHash, manifestHash}.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdNoJob ID for telemetry binding. Falls back to manifest.jobId if omitted.
manifestYesCaptureManifest — ALCOA+-ready metadata: class, declaredAt (ISO-8601), deviceFingerprint, mediaHash (sha256:<hex>), optional challengeId. See CaptureManifestSchema in @pcc/spec.
operatorIdNoExplicit operator ID. Falls back to the authenticated session userId.
challengeIdNoChallenge UUID to re-bind to the in-memory challenge cache (G3 freshness gate).
submittedAtNoClient-submitted timestamp (epoch ms). Used in drift detection.
visualNonceEchoNoThe visual nonce value the operator rendered in-scene (QR payload, audio tone id, etc.).
c2paManifestBase64NoOptional base64-encoded C2PA manifest JUMBF bytes. Required when manifest.class >= CC3.
captureBytesBase64YesBase64-encoded capture bytes (image / video / audio / sensor clip). Hash must match manifest.mediaHash.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only state readOnlyHint=false and destructiveHint=false; the description adds meaningful process detail by explaining that the server runs the 6-gate CaptureVerifier and persists a PASS/PARTIAL/FAIL verdict. It also lists the response fields, giving the agent visibility into the post-upload behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four tightly written sentences: purpose first, then encoding details, then verification behavior, then return shape. Every sentence adds useful information and nothing 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?

Given the absence of an output schema, the description usefully names the returned fields and explains the verification workflow. It stops short of covering authentication fallbacks, error cases, or idempotency, but the schema handles parameter-level details and annotations cover the write profile.

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 input schema already documents all eight parameters thoroughly. The description adds only light context about base64 inline bytes and optional C2PA bytes for CC3+ claims, which largely repeats what the schema already says.

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?

Specifies the exact verb (Upload) and resource (capture) along with the verification scope (G1..G6) and supported media types. This distinguishes it operationally from nearby siblings like pcc_capture_challenge and pcc_capture_status without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does but gives no explicit when-to-use guidance or alternatives to pcc_capture_anchor, pcc_capture_challenge, or pcc_list_verdicts. The CC3+ C2PA note is a conditional parameter requirement, not usage guidance for selecting this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_chat_historyB
Read-only
Inspect

Get chat history with a kernel. Returns messages between agents, operators, and users for a specific kernel.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum messages to return (default 50)
kernelIdYesKernel ID to get chat history for

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that results are scoped to a single kernel and include multiple participant types, but says nothing about ordering, pagination, or whether history is truncated beyond the default limit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core action front-loaded and no filler. The second sentence is mildly redundant with the first but does usefully enumerate the participant types.

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-param read tool with an output schema absent but trivial return semantics, the definition is adequate but leaves open result ordering and pagination behavior. Nothing an agent needs to invoke it is missing, but nothing extra is provided either.

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 both parameters (kernelId, limit with default 50) are documented in the schema. The description adds kernel scoping context but no syntax or behavioral detail beyond what the schema already provides, so 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 ('Get') and resource ('chat history with a kernel') and clarifies the returned content is messages between agents, operators, and users for a specific kernel. It does not name or differentiate itself from the sibling pcc_chat_send, which is the closest alternative, so it lands 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the read-oriented framing and the presence of pcc_chat_send as a sibling, but the description never states when to use this versus sending or listing conversations (e.g. list_conversations). No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_chat_sendAInspect

Send a chat message to a kernel's operator or agent. Used for human-in-the-loop communication during job execution, troubleshooting, and escalation.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoSender role (default: user)
messageYesMessage content
kernelIdYesKernel ID to send the message to

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 and destructiveHint=false, so the agent knows this is a non-destructive write. The description adds useful context that the message is for human-in-the-loop communication, but it does not disclose delivery behavior, persistence, recipient routing, or authentication requirements. With annotations covering the safety profile, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action, followed by concise usage context. Every phrase earns its place with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple send-message tool with full schema coverage and annotations that cover safety, the description is nearly complete. It explains purpose and usage contexts. The main missing element is explicit routing against sibling pcc_chat_history, but that is a minor gap for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema documents all three parameters including the role enum and its default. The description adds no additional parameter-level semantics beyond identifying the recipient as an operator or agent. Baseline 3 is appropriate when the schema already carries the parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Send a chat message to a kernel's operator or agent.' It clearly conveys the action and target. However, it does not distinguish this tool from sibling pcc_chat_history, which likely handles the read side of the same conversation domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit usage contexts: human-in-the-loop communication during job execution, troubleshooting, and escalation. This is clear guidance on when to use it. It stops short of naming alternatives or stating when not to use it, such as reading existing chat history instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_contributor_listA
Read-only
Inspect

List all contributor profiles for an address across roles. Returns an array of {id, address, role, scheduleHash, ipId, contributorNftTokenId, metadataUri, registeredAt}. Returns empty array when no profiles exist for the address.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address (0x + 40 hex chars)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a read-only, non-destructive operation. The description adds useful behavior beyond annotations by specifying the returned array structure and the empty-array case when no profiles exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the purpose and followed by the return behavior. Every sentence earns its place by clarifying output shape and the empty-result case.

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 helpfully lists the return object fields and the empty-array case. It is complete enough for an agent to call and interpret the response, though it omits ordering or pagination details.

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 single address parameter is already fully documented in the schema. The description adds only that profiles are looked up for that address across roles, which is meaningful but does not go beyond the baseline 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb+resource: 'List all contributor profiles for an address across roles.' It clearly states what the tool returns, though it does not explicitly differentiate from the related sibling pcc_contributor_register.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied: use this to retrieve contributor profiles for a given address. However, there is no explicit when-to-use or when-not-to-use guidance, and no alternative such as pcc_contributor_register is named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_contributor_registerAInspect

Register a contributor profile binding a wallet address to a role and a published RateSchedule. Body: address (0x40hex), role (10 ContributorRole values from ADR-12 §2.1 + legacy 'designer'), scheduleHash (0x64hex of a previously published schedule), optional ipId, metadataUri, contributorNftTokenId. Returns the persisted profile (composite id is address:role:tail). Idempotent on the composite id — re-posting the same (address, role, contributorNftTokenId) replaces the prior profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipIdNoOptional Story Protocol IP Asset ID
roleYesContributorRole — 10 ADR-12 roles + deprecated 'designer'
addressYesWallet address (0x + 40 hex chars)
metadataUriNoOptional ipfs:// or https:// URI
scheduleHashYes0x + 64 hex sha256 of a published RateSchedule
contributorNftTokenIdNoOptional ContributorNFT tokenId once minted on-chain

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false. The description adds real behavioral context beyond that: the idempotency key (composite id address:role:tail), the fact that matching re-posts overwrite the prior profile, and the shape of the returned persisted record. Auth requirements and failure modes on an unpublished scheduleHash remain undisclosed.

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?

Dense but front-loaded: identity and core binding first, then the field list, then return/idempotency semantics. Nearly every clause carries information, though the hex-format repetition of the schema costs some space.

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 6-param mutation tool with no output schema, the description covers the return value, the composite id, and overwrite behavior. It is close to complete for calling it correctly, missing only permission/validation error behavior and what happens when scheduleHash references an unpublished schedule.

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 each field including the role enum and hex formats. The description largely restates the same hex lengths and role provenance, adding only the 'previously published schedule' dependency, so the 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?

The description opens with a specific verb+resource: 'Register a contributor profile binding a wallet address to a role and a published RateSchedule.' That is unambiguous and clearly separable from the sibling pcc_contributor_list, which reads rather than writes.

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: an agent can infer this is the write path for contributor profiles. The idempotency note ('re-posting the same (address, role, contributorNftTokenId) replaces the prior profile') is genuinely decision-relevant, but there is no explicit when-to-use/when-not or named alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_create_scopeAInspect

Create an execution scope for a job. Scopes define exactly which tool calls are allowed on a kernel during a job, with command budgets, retry limits, and time-to-live. Required before issuing SCOPED WRITE operations (protocol upload, run create, run action).

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdNoJob ID this scope is bound to (optional)
kernelIdYesKernel ID to create the scope for
maxRetriesNoMaximum retries allowed (default 3)
ttlMinutesNoScope duration in minutes (default 30)
maxCommandsNoMaximum tool calls allowed in this scope (default 100)
allowedSlotsNoWhich deck slots may be accessed (e.g. [1, 2, 3, 9])
allowedToolsYesList of tool names allowed in this scope (e.g. ['ot2_protocol_upload', 'ot2_run_create', 'ot2_run_action'])
protocolHashNoSHA-256 hash of the approved protocol content. If set, protocol uploads are hash-verified.
allowedPipettesNoWhich pipettes may be used (e.g. ['left'])

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-read-only, non-destructive operation. The description adds meaningful context beyond that: it explains that the created scope gates which tool calls are allowed and includes budgets, retry limits, and TTL. It stops short of covering auth requirements or reversibility, but the annotations carry that baseline.

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 sentences, front-loaded with the core action, followed by a definitional elaboration and then a prerequisite. Every sentence earns its place with no redundancy.

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 9-parameter mutation tool with full schema coverage and annotations, the description is nearly complete: it covers purpose, scope semantics, and the critical prerequisite. It could route to related sibling tools (revoke_scope, scope_audit) to be fully 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 description coverage is 100%, so every parameter is documented in the schema. The description adds only high-level grouping (command budgets, retry limits, time-to-live, allowed tool calls) without syntax or format details beyond what the schema already 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?

The description uses a specific verb and resource ('Create an execution scope for a job') and immediately elaborates what a scope is ('exactly which tool calls are allowed on a kernel... with command budgets, retry limits, and time-to-live'). This distinguishes it from siblings like pcc_revoke_scope or pcc_scope_audit without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a clear prerequisite: 'Required before issuing SCOPED WRITE operations (protocol upload, run create, run action).' This tells the agent when to call it, but it does not name alternatives or state when not to use it (e.g., if a scope already exists).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_decompose_requestAInspect

Re-trigger decomposition of an existing capability request. Overwrites the existing capability DAG with a fresh decomposition. Useful after updating the description or budget.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestIdYesRequest ID to decompose

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=false already covering the write nature, the description adds the crucial consequence that the existing capability DAG is overwritten and replaced with a fresh one — an effect the agent could not infer from annotations. There is mild tension with destructiveHint=false since prior decomposition output is discarded, but the operation is a regenerable recompute rather than an irreversible deletion, so this is not a true contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action, then the effect, then the motivating scenario. No redundancy and nothing that fails to earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, no-output-schema mutation, the definition covers action, side effect, and motivation, which is enough to invoke it correctly. It could say slightly more about what the fresh decomposition replaces or whether it is asynchronous, but nothing essential 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?

Only one parameter and schema description coverage is 100% ('Request ID to decompose'), so the schema already carries the semantics. The description never mentions requestId or what constitutes a valid/re-decomposable request, adding nothing beyond the schema — 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+resource ('Re-trigger decomposition of an existing capability request') and the qualifier 'existing' plus 'Re-trigger' cleanly separates it from creation siblings like pcc_submit_request and read siblings like pcc_get_request_dag. An agent can pick this 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?

Gives a concrete trigger condition ('Useful after updating the description or budget'), which is real when-to-use guidance rather than generic filler. It stops short of naming alternatives or stating when NOT to re-decompose (e.g. while a decomposition is already running).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_dht_announceAInspect

Announce capabilities to the DHT network. Signs the announcement with your node's Ed25519 key and broadcasts to connected peers.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID announcing capabilities
ttlSecondsNoHow long the announcement is valid (default 300)
capabilitiesYesArray of capability summaries to announce

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint=false and destructiveHint=false; the description adds real behavioral value by disclosing that the announcement is signed with the node's Ed25519 key and broadcast to connected peers. It still omits auth requirements, idempotency, or rate-limit behavior, so it stops short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly packed sentences with the action front-loaded and the signing/broadcast mechanics second. No wasted words or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-parameter announcement tool with no output schema and annotations already carrying the safety profile, the description covers the essential mechanics. The remaining gap is the undisclosed overlap with kernel_announce_capabilities rather than missing return or param detail.

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 kernelId, ttlSeconds, and capabilities are already documented in the schema. The description adds no syntax, default, or constraint detail beyond it, which matches the baseline 3 when the schema does the work.

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: 'Announce capabilities to the DHT network,' which is clear on its own. However, it does not distinguish itself from the sibling kernel_announce_capabilities, leaving ambiguity about which announcement tool to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use context, no prerequisites, and no exclusions. It never acknowledges the closely related sibling kernel_announce_capabilities, so the agent gets no routing guidance between the two.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_dht_metricsA
Read-only
Inspect

Get a snapshot of DHT telemetry counters and recent events. Returns message counts, peer connection stats, query/announce rates, and a list of the last 50 metric events. Use for monitoring network health.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral detail: what the snapshot contains (message counts, peer connection stats, query/announce rates) and that the event list is capped at the last 50 — a bounded-return disclosure the annotations do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the operation and return contents front-loaded; the closing usage hint is short and additive. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter, no-output-schema snapshot tool, the description covers what is returned and the event-list cap. It leaves out refresh/freshness semantics and the exact shape of the counter fields, but nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

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. The description correctly implies a parameter-free snapshot and does not fabricate arguments.

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 (Get) and resource (DHT telemetry counters and recent events), and enumerates the returned metrics. It distinguishes the tool from pcc_dht_peers/pcc_dht_query/pcc_dht_announce by content, though it does not explicitly name those siblings or get_telemetry_stats, which also reports telemetry.

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?

"Use for monitoring network health" implies a context but gives no when-not guidance and names no alternative among the many telemetry tools (get_active_telemetry, get_telemetry_stats, get_telemetry_logs). Usage is inferable but not routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_dht_peersB
Read-only
Inspect

List known DHT peers and their connection status. Shows which nodes are currently connected to the gossip network.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a useful scope clarification (peers currently connected to the gossip network) but says nothing about result size, pagination, freshness of the snapshot, or what 'connection status' values look like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and resource. The second sentence is somewhat redundant with 'connection status' in the first, costing a little efficiency but not enough to be a real defect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only tool this is close to adequate, but with no output schema the description should carry the return shape (peer identity fields, status values, whether the view is local or global), and it does not.

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 nothing for the schema to describe and nothing the description must compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List known DHT peers') plus the key attribute returned ('connection status'), and the second sentence clarifies the scope as nodes on the gossip network. It does not, however, explicitly distinguish itself from the closely-named siblings pcc_dht_announce, pcc_dht_query, or pcc_dht_metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance and no alternative routing. An agent cannot tell from the text whether this is the right call versus pcc_dht_metrics (peer/graph statistics) or pcc_dht_query (lookup a key), which are plausible substitutes for inspecting the DHT.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_dht_queryCInspect

Query the DHT for capabilities matching your requirements. Returns announcements from operators whose equipment matches the type, materials, and price range you specify.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoCapability type to search for (e.g. 'fdm_print', 'liquid-handler', 'cnc-3axis')
limitNoMaximum results to return (default 10)
maxPriceNoMaximum price per job — matches operators whose min price is at or below this
materialsNoMaterials you need (matches if operator supports ANY of these)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations supply readOnlyHint=false and destructiveHint=false, yet the description frames this purely as retrieval ('Query... Returns announcements') and never discloses what the non-read-only side effects actually are. No rate limits, timeout, stale-cache, or result-freshness behavior is mentioned, so the description adds essentially no behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the purpose front-loaded and no filler. The second sentence mostly restates the first from the return side, so there is a small amount of redundancy but nothing costly.

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 4-param, all-optional query with full schema coverage and no output schema, the description does cover what comes back ('announcements from operators'). What is missing is the behavioral side: why the server marks it non-read-only, and how result volume/freshness works. Adequate but with a clear 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 type, limit, maxPrice, and materials are already fully documented in the schema. The description merely restates the same filters (type, materials, price range) and omits 'limit' entirely, adding no semantics beyond structured data. 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?

Specific verb+resource: 'Query the DHT for capabilities' with the matching criteria (type, materials, price range) spelled out. It does not, however, differentiate itself from siblings like search_capabilities, pcc_orchestrator_match_capabilities, or pcc_dht_announce, which an agent must choose between.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance and no alternatives named. An agent has to guess whether this or search_capabilities / pcc_orchestrator_match_capabilities is the right entry point for capability discovery, and whether pcc_dht_announce is the write-side counterpart.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_get_requestB
Read-only
Inspect

Get a capability request by ID with the full decomposed DAG — all capability nodes, their dependencies, estimated costs/hours, assigned operators, and linked bounty IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestIdYesRequest ID

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful content about the returned payload (full decomposed DAG, operators, bounty links), but says nothing about response size, pagination, or truncation for what is likely a large nested graph.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with no filler; the dash-list of returned fields is dense but each item is informative. Slightly long, but every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully sketches the return payload, which is the right move. It falls short on the one thing an agent in this crowded request-tool family needs most: how it differs from pcc_get_request_dag and pcc_get_request_critical_path.

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?

Single required requestId parameter with 100% schema description coverage, so the schema already documents the input. The description's 'by ID' adds no syntax or format detail beyond that; 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 (Get) and resource (capability request) and enumerates the payload: capability nodes, dependencies, costs/hours, operators, bounty IDs. However, it does not distinguish this from the sibling pcc_get_request_dag, which appears to serve a very similar DAG-retrieval purpose, leaving overlap unresolved.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus pcc_get_request_dag, pcc_get_request_critical_path, or pcc_list_requests. The agent must infer from names alone which of several near-identical request-read tools applies.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_get_request_critical_pathA
Read-only
Inspect

Get the critical path (longest dependency chain) for a capability request. The critical path determines the minimum calendar time to complete the request. Returns node IDs in order, the full node details, and total hours on the critical path.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestIdYesRequest ID

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral substance by disclosing what is returned (ordered node IDs, full node details, total hours), which matters since there is no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and no filler. Minor redundancy in restating 'critical path' across sentences, but overall tight and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema, the description covers the purpose, the meaning of the result, and the return shape. The only real gap is sibling routing against pcc_get_request_dag, which is a minor omission.

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 there is a single requestId parameter, so the schema carries the load. The description adds no parameter syntax or format detail beyond what is already in the schema, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get the critical path... for a capability request') and even defines the term parenthetically as the longest dependency chain, so the agent knows exactly what is fetched. It does not, however, distinguish itself from the closely related sibling pcc_get_request_dag, which an agent selecting between them would need.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains why the critical path matters ('determines the minimum calendar time') but gives no explicit when-to-use guidance and names no alternatives. With siblings like pcc_get_request and pcc_get_request_dag, the agent gets no routing signal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_get_request_dagA
Read-only
Inspect

Get the capability DAG (directed acyclic graph) for a request as adjacency data — nodes with all fields plus explicit edges showing dependency relationships. Useful for visualization or workflow planning.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestIdYesRequest ID

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuine value beyond that by disclosing the return structure ('nodes with all fields plus explicit edges showing dependency relationships') — important since no output schema exists. It stops short of noting size limits or pagination, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler, with the core action and the distinguishing output shape front-loaded. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

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 the return value and does so adequately by naming nodes and edges. It is slightly under-complete on error behavior and whether the graph can be partial or large, but nothing critical to invocation 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?

Only one parameter (requestId) with 100% schema description coverage, so the baseline is 3. The description adds no meaning about the identifier's origin or format beyond what the schema already states.

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 ('Get the capability DAG for a request') and goes further by describing the returned shape as adjacency data with nodes and explicit edges. It does not, however, differentiate itself from close siblings like pcc_get_request or pcc_get_request_critical_path, so an agent must guess which graph view it wants.

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?

'Useful for visualization or workflow planning' implies a context of use but gives no explicit when-to-use versus alternatives and no exclusions. The agent is left to infer that the critical-path sibling is the narrower option.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_get_tool_manifestA
Read-only
Inspect

Get the tool manifest for a kernel's device type. Lists all available tools with their safety classification (read, safe_control, scoped_write, privileged) and input schemas. Use to understand what tools are available before making tool calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a safe read (readOnlyHint=true, destructiveHint=false), and the description is consistent with that. It adds real value by disclosing what the response contains: the union of available tools, their safety classifications, and their input schemas. It stops short of noting pagination or scoping limits, which is minor for a discovery call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the purpose and followed by the return contents and the usage cue. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description reasonably covers the return shape (tool list, safety classes, schemas) and the rationale for calling it. For a single-parameter read tool with annotations handling the safety profile, nothing essential 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?

One parameter with 100% schema description coverage, so the schema carries the load. The description adds only a framing note that the manifest is keyed to a kernel's device type, which slightly clarifies what kernelId selects but adds no format or constraint detail.

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?

Names a specific verb ('Get') and resource ('tool manifest'), scopes it ('for a kernel's device type'), and states exactly what the payload contains (tool list, safety classification, input schemas). This distinguishes it from relay/execution siblings like pcc_relay_tool_call, which invoke tools rather than enumerate them.

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?

Explicitly states when to use it: 'Use to understand what tools are available before making tool calls.' This gives clear context but names no alternative (e.g., a per-tool lookup or pcc_get_tool_result) and sets no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_get_tool_resultA
Read-only
Inspect

Get the result of a previously relayed tool call. Poll this endpoint until the executor has processed the call and posted results.

ParametersJSON Schema
NameRequiredDescriptionDefault
callIdYesTool call ID returned from pcc_relay_tool_call

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral context: the operation is asynchronous and results may not be ready, so the agent must poll rather than expect an immediate value. It says nothing about return shape or error states for an unknown/expired callId, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action and followed by the operational instruction. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description is the only place a return-value shape could be explained, and it does not describe what a completed result looks like or what a not-yet-ready response returns. For a simple single-param read tool this is adequate but leaves a clear gap for polling logic.

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?

One required parameter with 100% schema coverage; the schema already documents callId as the ID returned from pcc_relay_tool_call. The description adds no format, lifecycle, or expiry semantics for the ID, so this is the baseline 3.

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: retrieves the result of a previously relayed tool call, which cleanly distinguishes it as the retrieval counterpart to pcc_relay_tool_call. It doesn't explicitly name which relay sibling it pairs with in the description body, but the pairing is unambiguous from context.

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?

"Poll this endpoint until the executor has processed the call and posted results" gives a concrete usage pattern for an async workflow, telling the agent this is a post-relay retrieval step. It stops short of stating when not to use it, e.g. that a call that was never relayed has no result.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_job_completeAInspect

Complete a job: gathers tool call audit trail from execution scopes, builds evidence bundle with SHA-256 hash, stores evidence, revokes scopes, and settles escrow (mock or real). This is how a job run through execution scopes is finished. A node that submitted its evidence and set status completed (operator_update_job_status) must not call it: it then answers 409 ("Job already completed or completion in progress").

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID to complete
messageNoCompletion message or notes

TDQS

A4.3/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, destructiveHint=false); the description carries the real behavioral burden by disclosing the multi-step side effects (evidence hashing/storage, scope revocation, escrow settlement) and the 409 failure mode. It does not cover idempotency or what a successful completion returns, and 'revokes scopes' sits in mild tension with destructiveHint=false, though that flag plausibly refers to data destruction rather than access revocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the action and its effects, then the routing rule and error case. Dense but every clause carries information; only the parenthetical '(mock or real)' and repeated 'completed' phrasing are mildly redundant.

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 multi-step mutating job-lifecycle tool with no output schema, the description covers triggers, effects, and the key error path. It stops short of describing the settlement result or partial-failure behavior, which an agent might want before committing.

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 jobId and message are already documented in the schema; the description adds no syntax, format, or constraints for either. 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource ('Complete a job') and enumerates the concrete lifecycle it performs: gather audit trail, build SHA-256 evidence bundle, store evidence, revoke scopes, settle escrow. It clearly distinguishes the tool from siblings like operator_update_job_status and pcc_job_settlement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States both the primary when-to-use ('This is how a job run through execution scopes is finished') and an explicit when-NOT-to-use, naming the sibling (operator_update_job_status) and the resulting 409 response. An agent cannot misroute this call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_job_settlementA
Read-only
Inspect

Get a job's settlement status from its own escrow records: status (settled only when a settlement read confirms the release; reported_released when the milestone record says released but nothing confirms it; simulated for a mock escrow; awaiting_settlement, no_settlement_record, unknown or unavailable otherwise), settled, payout, paidAmount (confirmed releases only), reportedReleasedAmount, quotedAmount, currency (recorded or null), escrow, milestones, the negotiation session, notices and asOf.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe read, so the bar is lower, yet the description still adds real value: it explains the provenance of the data and, critically, the confidence semantics of each status value (settled only when a settlement read confirms release; reported_released when only the milestone record claims it; simulated for a mock escrow). That is exactly the kind of interpretation guidance 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and the status-semantics parenthetical are front-loaded, and every listed field earns its place because there is no output schema. It is, however, a single run-on sentence enumerating a dozen fields without grouping, which slightly hurts scannability.

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, enumerating return fields and defining status values is essential, and the description does this thoroughly, including the nullable-currency caveat and the asOf timestamp. Minor gaps remain on what container fields like escrow, milestones, and notices actually hold.

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?

A single jobId parameter is fully documented (100% schema coverage) and the description adds nothing about it, which is the expected baseline. No enum, format, or lookup hints are given beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a job's settlement status') and even narrows the source ('from its own escrow records'), which helps distinguish it from get_escrow/get_settlement_status. It never explicitly routes against those siblings, so an agent still has to infer which settlement-related getter to call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not guidance, and the sibling set contains several close alternatives (get_settlement_status, get_escrow, get_settlement_epochs, get_job) that go unmentioned. The agent must guess based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_list_requestsA
Read-only
Inspect

List all capability requests with optional filtering. Shows status, decomposed DAG summary, estimated costs, and timelines.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status
urgencyNoFilter by urgency
requesterEmailNoFilter by requester email

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds meaningful value beyond that by disclosing the returned fields (status, DAG summary, estimated costs, timelines), which is useful since there is no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero waste; the purpose is front-loaded and the return-content detail follows economically.

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 read-only list tool with no output schema, the description adequately covers both the filtering behavior and the shape of returned data. Minor gaps (pagination, sorting) remain but are not critical.

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 both enums are documented in the schema, so the description's 'optional filtering' adds no syntax or format detail. Baseline 3 is appropriate when the schema carries the parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all capability requests'), clearly distinguishing this bulk-listing operation from the singular pcc_get_request sibling. It does not name siblings explicitly, but 'all' signals the listing scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'with optional filtering' implies the tool is for browsing/scanning requests, but there is no explicit guidance on when to use this versus pcc_get_request or pcc_list_verdicts. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_list_verdictsA
Read-only
Inspect

List recent capture verdicts, newest first. Optionally filter by jobId. Default limit is 50, capped at 200 server-side. Returns {verdicts, count, limit, jobId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdNoFilter by job ID. Omit for all verdicts across jobs.
limitNoMaximum rows returned (default 50, hard cap 200).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely useful behavior beyond the schema: default 50, hard server-side cap of 200, and newest-first ordering, which tells the agent how to interpret result size and recency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, zero filler, with the scoping filter and ordering stated before the limit/return details. Every sentence 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 supplies the return shape ({verdicts, count, limit, jobId}) and the key size constraints, which is enough to call it correctly. It stops short of defining what a 'verdict' contains or how truncated results should be paged, but nothing critical 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 there. The description restates the default/cap for limit rather than adding new semantics (e.g., whether limit can exceed the cap silently or errors), 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 and resource ('List recent capture verdicts') plus ordering ('newest first'), so the agent knows exactly what it gets. It does not name or contrast any sibling tool, so it falls short of the 5 bar, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Optionally filter by jobId' implies the filtering use case and the schema repeats that omitting it returns all jobs. There is no explicit when-to-use/when-not, no mention of pagination strategy when the 200 cap is hit, and no named alternative for narrower queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_onboard_session_build_agentAInspect

Finalise a physical-operator onboarding session: registers the operator on PCC, mints a wallet, writes the SEO mirror, returns the publication payload (capabilities, operator_id, discovery_url). Idempotent — safe to retry inside the same session_id. Auth-required.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSession id returned by pcc_onboard_session_start.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false and destructiveHint=false. The description adds genuinely useful context beyond that: idempotency scoped to the same session_id, retry safety, and an auth requirement. It is missing only the failure/partial-success semantics of a multi-effect operation (e.g. what happens if the wallet mint succeeds but the SEO mirror write fails).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler, front-loaded action and effects before the idempotency and auth notes. Every clause carries information the agent needs.

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?

There is no output schema, and the description compensates by naming the return payload fields (capabilities, operator_id, discovery_url). Combined with the auth-required and idempotency notes, an agent has enough to invoke this 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?

With one parameter at 100% schema coverage the baseline is 3, but the description adds meaning by tying the session_id to pcc_onboard_session_start and by scoping idempotency ('safe to retry inside the same session_id'), telling the agent what reuse of the same id does.

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 ('finalise') with the resource (physical-operator onboarding session) and enumerates the concrete effects: registers the operator on PCC, mints a wallet, writes the SEO mirror, and returns the publication payload. This clearly separates it from siblings like pcc_onboard_session_start, _status, _ingest_docs, and _scrape.

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?

'Finalise' plus the session_id parameter documented as 'returned by pcc_onboard_session_start' makes it clear this is the terminal step of the onboarding sequence. It gives no explicit when-not-to-use or alternative guidance, but the position in the flow is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_onboard_session_ingest_docsAInspect

Queue documents (datasheets, SOPs, MOPs, certifications) for ingestion into a physical-operator onboarding session. Document URLs may be local:// for files dropped in the chat console or full https:// URLs. Auth-required.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSession id returned by pcc_onboard_session_start.
doc_urlsYesURLs of documents to ingest. Mix of local:// and https:// is fine.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context that the operation is authentication-required and that URLs may be local:// or https://, but it does not disclose what happens after queueing, whether ingestion is asynchronous, or how errors are surfaced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two tight sentences plus an auth note. It front-loads the core purpose, then clarifies URL formats and the auth requirement without wasted words.

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 queueing/mutation tool with no output schema and only two required parameters, the description covers purpose, input URL forms, and auth. It still omits what the tool returns, whether queued documents are processed asynchronously, and how to check ingestion progress via the related status tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in the schema. The description reinforces the accepted URL forms but adds no new semantic detail beyond what the schema already provides, making 3 the appropriate baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (queue/ingest) and resource (documents) scoped to a physical-operator onboarding session. Clear enough for an agent to know what the tool does, but it does not explicitly distinguish itself from sibling tools such as pcc_onboard_session_scrape or pcc_onboard_session_build_agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by tying ingestion to a physical-operator onboarding session and by requiring a session id. However, it does not state when to use this tool versus other onboarding-session tools, nor does it name alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_onboard_session_live_dataA
Read-only
Inspect

Full event log for a physical-operator onboarding session — feeds the chat console's activity sidebar. Supports incremental polling via ?since=. Returns the next cursor on every response. Auth-required.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSession id returned by pcc_onboard_session_start.
sinceNoUnix milliseconds cursor — returns only events with t > since. Use the 'cursor' field of the previous response for incremental polling.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true/destructiveHint=false, and the description adds genuinely useful behavior an agent needs: auth is required, every response carries the next cursor, and polling is supported via a since cursor. It stops short of describing event shape or rate limits, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with what the tool returns and who consumes it, with no filler. Could be tightened slightly but every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the right thing by stating the return payload (event log plus a cursor per response) and the auth requirement. Event-level structure remains unspecified, but for a 2-param read tool that is a minor 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 coverage is 100% and the schema already documents both id and since, including the note to reuse the previous response's cursor. The description restates the cursor mechanism and adds the ?since=<unix-millis> format hint, but adds little meaning beyond what the schema already provides, 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 resource ('full event log for a physical-operator onboarding session') and its consumer (the chat console activity sidebar), so the agent knows exactly what it retrieves. It is not confused with pcc_onboard_session_status or pcc_chat_history, but it never names a sibling to differentiate explicitly, which keeps it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'supports incremental polling via ?since' sentence implies the polling use case, and 'feeds the activity sidebar' implies context, but there is no explicit when-to-use guidance versus pcc_onboard_session_status or pcc_chat_history. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_onboard_session_scrapeAInspect

Scrape a URL into the running physical-operator onboarding session. Triggers a stealth fetch + structured extraction (machines, hours, services, certifications). Returns a small JSON summary; full extraction is appended to the session's running profile and visible via /live-data. Auth-required.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSession id returned by pcc_onboard_session_start.
urlYesURL to scrape (e.g. company About page).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide readOnlyHint=false, destructiveHint=false. The description goes beyond: it discloses the auth requirement, the stealth-fetch mechanism, the append-to-running-profile side effect, and the /live-data visibility path. That is solid behavioral context for a mutation-shaped tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences front-loaded with the action, then mechanism, then return profile. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description correctly notes the return shape ('small JSON summary') and that the full extraction persists elsewhere. Covers the key unknowns for this mutation tool; only missing explicit prerequisites beyond 'Auth-required.'

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 both params are described there. The description only hints at the 'id' linkage ('running session') and example URL source ('company About page') without adding format/semantics beyond the schema. Baseline 3.

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 (scrape) and resource (URL/auth-required onboarding session). The parenthetical 'stealth fetch + structured extraction' clarifies what kind of scrape. Missing sibling disambiguation versus pcc_onboard_session_ingest_docs, which is a closely related session-data ingestion tool.

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?

Fits within an obvious session-scraping family, but does not say when to use this vs. pcc_onboard_session_ingest_docs or pcc_onboard_session_build_agent. Usage is only implied by name and training context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_onboard_session_startAInspect

Start a new physical-operator onboarding session. Returns a session_id used by every subsequent /api/onboard/* call. Auth-required.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional company website. If supplied, the orchestrator scrapes it on the next /scrape call.
nameYesOperator / company name (e.g. 'Oakland Titanium Mills').

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false (a non-destructive write); the description goes beyond them by disclosing the auth requirement and the returned session_id that other calls depend on. It doesn't state the response shape or failure modes, but for a write tool with annotations, this adds real value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero waste; the action is front-loaded and the dependency/auth facts follow immediately.

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 session-initiation tool with no output schema, the description covers what an agent needs: the action, the returned session_id, and the auth requirement. Minor omission is any note on session lifetime or errors, but nothing essential 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 coverage is 100%, so both parameters (name, url) are already fully documented in the schema, including the url scrape behavior. The description adds no additional parameter meaning, 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 and resource: 'Start a new physical-operator onboarding session.' The scope ('physical-operator onboarding') is specific enough to place it within the pcc_onboard_session_* family, though it doesn't name sibling tools like pcc_onboard_session_status to distinguish itself explicitly.

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?

Clear context: it returns a session_id 'used by every subsequent /api/onboard/* call,' which tells the agent this must be invoked first. There are no explicit exclusions or named alternatives, but the sequencing requirement is effectively conveyed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_onboard_session_statusA
Read-only
Inspect

Coarse status snapshot for a physical-operator onboarding session: current state, 0-100 progress, scraped_count, ingested_count, last_event, publication payload (if built). Cheap — designed for polling from the chat header. Auth-required.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSession id returned by pcc_onboard_session_start.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds that the endpoint is auth-required, cheap, and intended for header polling. It also discloses conditional 'publication payload (if built)' but does not detail rate limits or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It front-loads the purpose, lists return fields compactly because no output schema exists, and closes with concise usage and auth notes. Every element serves the caller.

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 read-only, single-parameter status snapshot, the description supplies the missing output context (key return fields), auth requirement, and polling guidance. Nothing essential for invocation is absent.

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 only parameter, id, is fully documented by the schema as a session id from pcc_onboard_session_start. The description adds no parameter syntax or constraint beyond that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource — a physical-operator onboarding session — and a specific operation, coarse status snapshot, so an agent can distinguish it from onboarding siblings like start, scrape, or build_agent. The listed return fields reinforce the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the intended use context: 'designed for polling from the chat header' and notes it is cheap and auth-required. It does not name alternatives or when-not conditions, but the polling context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc.op.capability.request_quoteA
Read-only
Inspect

Price a configured PCC capability (typed operation). Returns the itemized quote for the given capability type + selections. Pure calculation — no funds move and nothing is created. Maps to POST /api/build/price.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesCapability type, e.g. 'fdm'.
profileIdNo
selectionsYesParameter selections.
capabilityIdNo

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds domain-specific assurance ('no funds move and nothing is created') plus the backing endpoint POST /api/build/price, which goes beyond a bare restatement of the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences with no padding; the core purpose leads and the endpoint mapping closes. The endpoint line is marginally decorative but not enough to be wasteful.

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 4-parameter tool with a nested object and no output schema, the description covers the intent but leaves gaps: valid capability types, what profileId/capabilityId select, and what the quote response contains beyond 'itemized' are all unaddressed.

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 50%: only `type` and `selections` are documented, and the description names exactly those two ('capability type + selections'). It adds no meaning for the undocumented `profileId` and `capabilityId`, nor any hint about the shape of the nested `selections` object.

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: 'Price a configured PCC capability', and clarifies it returns an itemized quote for a given capability type plus selections. Clear on its own, but it never distinguishes itself from adjacent pricing siblings such as calculate_price or get_shipment_quote.

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: 'a configured PCC capability' and 'given capability type + selections' hint that configuration must precede the call, but there is no explicit when-to-use, when-not-to-use, or named alternative among the many quote/price siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_oracle_statusA
Read-only
Inspect

Not served by the PCC gateway: GET /api/oracle/health returns 404 there. PCC's verification oracle runs as a separate service, and this route answers only where a deployment fronts it. Agents never call the oracle to settle a job: settlement is the gateway's step after pcc_job_complete. Where it is served, it returns the oracle's EIP-712 signing address and chain ID.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/destructiveHint=false, so safety is covered. The description adds non-obvious behavioral context: this endpoint 404s on the PCC gateway, runs as a separate service, and returns signing address plus chain ID. That is meaningful disclosure beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each contributing distinct information (not-gateway-served, separate service, do-not-use-for-settlement, return payload). It is front-loaded with the surprising constraint, though the negative framing 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?

No output schema exists, so the description correctly compensates by naming the return values (EIP-712 signing address, chain ID). For a zero-parameter read tool it covers the deployment caveat and the settlement anti-pattern. Marginally could have stated the positive use case, but it is complete enough to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, and the rule sets the baseline at 4 when there are no parameters to document. Nothing further is required or expected here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete resource and return payload: the oracle's EIP-712 signing address and chain ID. It is specific enough to distinguish this from pcc_oracle_verify and pcc_verifier_health, though the heavy 'what it is not' framing slightly muddies the primary 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 gives explicit when-not-to-use guidance: agents never call the oracle to settle a job, and settlement belongs to the gateway after pcc_job_complete. It also warns the route only answers where a deployment fronts it (404 elsewhere). It stops short of stating the positive trigger condition for calling it, but the exclusion and alternative are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_oracle_verifyAInspect

Not served by the PCC gateway: POST /api/oracle/verify returns 404 there. PCC's verification oracle runs as a separate service, and this route answers only where a deployment fronts it. Agents never call it to settle a job: settlement is the gateway's step after pcc_job_complete. Where it is served, it checks that the evidence exists, its hash matches, tier requirements are met, there is no replay and the operator identity is valid, and it returns a signed EIP-712 attestation.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesPCC job ID
kernelIdYesOperator kernel ID
evidenceHashYesSHA-256 hash of evidence bundle
assuranceTierNoEvidence tier (0=none, 1=basic, 2=full, 3=ZK)
escrowAddressYesEscrow contract address

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the 404 behavior, that the oracle runs as a separate service, that this route only answers where a deployment fronts it, and the exact checks performed plus the EIP-712 attestation output. Annotations (readOnlyHint=false, destructiveHint=false) are consistent with a POST that produces an attestation, and the description adds meaningful context beyond them.

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-loading the 'not served by the gateway' caveat is the right call, but the first three sentences restate the same point (404, separate service, only served where fronted) with redundancy. The validation and attestation content is dense and useful, but the definition is longer than it needs to be.

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 route that is largely unreachable in the primary deployment, the description covers the important context: availability, the separate-service model, what it validates, and its signed output. No output schema exists, so explaining the attestation return is appropriate. It could go one step further and name the in-deployment alternative for verification.

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 five parameters (jobId, kernelId, evidenceHash, assuranceTier, escrowAddress) are already documented with their tiers and semantics. The description adds no parameter-level detail, 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 concrete verb+resource: it verifies evidence (hash match, tier, replay, operator identity) and returns a signed EIP-712 attestation. It also distinguishes itself from the settlement path (pcc_job_complete / pcc_job_settlement), which is the key sibling. The heavy 'not served here / 404' framing muddies the primary purpose, keeping it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when NOT to use it: agents never call it to settle a job, and it returns 404 on the PCC gateway; the alternative for settlement is named. It stops short of telling the agent what (if anything) it should call instead for verification in this deployment, e.g. pcc_oracle_status or verify_evidence_zk.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_orchestrator_list_templatesA
Read-only
Inspect

List the orchestrator templates the dashboard's chat console can drive. Each entry includes slug, display_name, description, produces_kind, capability_class (physical | digital), greeting, and api_base (the route prefix that serves the six session-driver routes for that template). Public — no auth required.

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 readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds value beyond them: it discloses that no authentication is required and that each api_base is the route prefix serving six session-driver routes, which is meaningful behavioral context an agent could not derive from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the purpose and followed by the returned fields. The field enumeration is dense but every item earns its place given there is no output schema. Slightly list-heavy but not 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 correctly compensates by enumerating the entry fields (slug, display_name, description, produces_kind, capability_class, greeting, api_base) plus the auth posture. The main residual gap is the absence of any contrast with pcc_orchestrator_match_capabilities, but for a simple list tool this is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero input parameters, so the description cannot document any; per the baseline this scores 4. It does not waste words on nonexistent inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: listing orchestrator templates that the dashboard's chat console can drive. An agent can identify the object of the operation without opening the schema. It does not explicitly differentiate itself from the similarly named sibling pcc_orchestrator_match_capabilities, which keeps it out of 5 territory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'the dashboard's chat console can drive' implies the context of use, and 'Public — no auth required' tells the agent it is safe to call without credentials. However, there is no explicit when-to-use/when-not guidance and no routing to an alternative sibling, so usage must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_orchestrator_match_capabilitiesAInspect

Heuristic template matcher. Pass a free-text description of what you want to onboard (e.g. 'I run a CNC milling shop' or 'I have a Postgres database with a GraphQL endpoint') and the matcher returns all templates ranked by keyword score with a 'reason' string per match. Public — no auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesFree-text description of what you want to onboard.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds useful non-schema context: it is heuristic/keyword-based, returns a ranked list with a per-match 'reason' string, and is public with no auth required. It does not explain the readOnlyHint=false annotation, which is notable for what reads as a pure query/matching operation — but it never explicitly claims a non-mutating read, so this is a gap rather than a contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with what the tool is, followed by how to call it and the auth note. No filler, though the example list is slightly long relative to the rest.

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 one-parameter, no-output-schema tool, the description covers behavior (heuristic ranking), input shape, return shape (matched templates + reason strings), and access requirements. The only omission is guidance relative to the sibling listing/suggestion/matching tools.

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?

With one parameter at 100% schema coverage the schema already names and documents 'input'. The description goes beyond it by illustrating the expected free-text phrasing ('I run a CNC milling shop', 'I have a Postgres database with a GraphQL endpoint'), which meaningfully guides how to populate the single argument.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('template matcher' that returns templates ranked by keyword score) and clarifies the input contract with concrete examples. It is distinguishable from list_templates/suggest_csd_templates in practice, though it never explicitly names those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage ('pass a free-text description of what you want to onboard') with two realistic example inputs, which gives helpful context. However it never says when to prefer this over pcc_orchestrator_list_templates, suggest_csd_templates, or search_capabilities, so the routing decision is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_protocol_feeA
Read-only
Inspect

Get the current protocol fee rate (2.35%, immutable) and fee recipient address. The fee is hardcoded in the PCCProtocol smart contract — no admin, no governance, no upgrade can change it.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely useful context beyond that: the fee is hardcoded, immutable, and unchangeable by admin, governance, or upgrade, which tells the agent the returned value is stable and requires no auth or write path.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with what is returned and followed by the immutability guarantee. Every clause earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return burden and does so by naming both return values (fee rate and recipient address). It is complete for invocation, though it leaves the sibling-selection question unanswered.

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; schema coverage is also 100%. There is no parameter semantics to explain, and the description correctly adds nothing extraneous on that axis.

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 (Get) and resource (protocol fee rate plus fee recipient address), and even pins the value at 2.35% with its immutability property. However, it does not distinguish itself from near-identical siblings like protocol_fee, protocol_escrow_fees, and protocol_token_fees, which an agent could easily confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no mention of alternatives, despite siblings such as protocol_fee, protocol_escrow_fees, protocol_token_fees, protocol_state, and get_protocol that overlap in topic. The agent must infer selection from names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_publish_requestBInspect

Publish all pending capability nodes in a request as bounties. Each node becomes a bidding opportunity for operators. Returns the list of created bounty IDs linked to each capability node.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestIdYesRequest ID to publish

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish this is a non-read-only (write) but non-destructive operation, matching the 'publish... as bounties' wording. The description usefully discloses the side effect (creating bidding opportunities) and the return value, but says nothing about required permissions, idempotency, or whether already-published nodes are re-published.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with the core action front-loaded and no filler. The middle sentence explaining the bidding opportunity is mildly explanatory but still earns its place by describing the side effect.

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 one-parameter mutation tool with no output schema, the description covers the action, side effect, and return shape adequately. It lacks state prerequisites or error/edge-case guidance, but nothing critical to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

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 parameter requestId is fully documented in the schema. The description adds no format, source, or lookup guidance beyond the schema's 'Request ID to publish,' 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?

The description states a specific verb and resource ('Publish all pending capability nodes in a request as bounties') and clarifies the downstream effect (nodes become bidding opportunities). It is clearly distinguishable from read/sibling tools, though it never explicitly contrasts itself with near-neighbors like pcc_decompose_request or convert_bounty_to_pool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use, when-not-to-use, or named alternative guidance. The precondition (pending capability nodes must exist) is only implied by the verb 'publish pending,' and no routing advice to siblings is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_relay_generic_tool_callAInspect

Relay a tool call to any kernel's device executor via the generic relay (not OT-2 specific). Works with any device type. Safe tools (read/safe_control) don't need a scope. Scoped write tools require an active execution scope. Returns a call ID — poll pcc_get_tool_result for the response.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoTool arguments
scopeIdNoExecution scope ID (required for write operations)
kernelIdYesTarget kernel ID
toolNameYesTool name from the device manifest

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the mutation/safety profile is mostly covered structurally. The description still adds real behavioral context the annotations cannot convey: the scope prerequisite for writes and the asynchronous call-ID/poll pattern.

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?

Four tight sentences, each carrying distinct information (scope distinction, device generality, scope rules, return/poll pattern), with the core purpose front-loaded and zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a generic relay with an opaque nested args object and no output schema, the description covers the essential call lifecycle: scope requirement, async return, and where to fetch the result. Minor gaps remain, e.g. how to discover valid toolName values beyond the schema's 'device manifest' note.

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 scopeId schema text already states 'required for write operations', so the description's scope remark largely duplicates structured data. The args and kernelId parameters get no added semantic detail, 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?

Specific verb (relay) plus resource (tool call to a kernel's device executor), and it explicitly demarcates scope with '(not OT-2 specific)' and 'works with any device type', which routes the agent away from the OT-2-specific sibling pcc_relay_tool_call.

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 conditional guidance: safe tools need no scope, scoped write tools require an active execution scope. It also names the follow-up tool (pcc_get_tool_result) for retrieving the response. It stops short of an explicit when-not-to-use clause beyond the OT-2 distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_relay_tool_callBInspect

Relay a tool call to a device executor. The brain (LLM) posts tool calls here; the executor (on the device) polls for them and executes locally. Used for the brain/executor split architecture.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeIdNoExecution scope ID (required for SCOPED WRITE tools)
kernelIdYesKernel ID of the target device
toolArgsYesArguments for the tool call
toolNameYesTool to execute (e.g. 'ot2_health', 'ot2_run_create')

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the safety profile is already covered. The description adds genuinely useful context that the call is asynchronous relayed to a polling executor, but it omits how the caller retrieves results (e.g. pcc_get_tool_result) or what happens on failure, which matters for a relay tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action in the first sentence, followed by two short clarifying sentences. The final sentence about the brain/executor split is slightly redundant given the second sentence already conveys it, but the text is tight overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description never tells the agent how the relayed call's result comes back or that a separate retrieval step is needed. For an async relay in a large tool surface, that is a meaningful gap even though the core mechanics are explained.

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 kernelId, toolName, toolArgs and scopeId are all documented in the schema. The description adds no parameter-level detail beyond that, which is the expected baseline 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Relay a tool call to a device executor,' which is concrete and actionable. However, it never distinguishes itself from the near-identical sibling pcc_relay_generic_tool_call, so an agent cannot tell which relay to pick without guessing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the architectural context (brain posts, executor polls and runs locally), which implies when the tool is relevant, but it gives no explicit when-to-use or when-not-to-use guidance and does not name the alternative relay tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_reportAInspect

Report a bug, friction, or dead-end you hit while using PCC. Call this the moment you get stuck and cannot recover: a 5xx (its response carries a report_hint with pre-filled fields), a 4xx you cannot fix from its message, the same step failing twice, or a misleading tool/description. PUBLIC — works before you provision an API key (cold agents are exactly who this is for). Persisted durably and reviewed by the PCC team. Report each distinct failure ONCE; never include an API key, token, or wallet secret. Rate-limited per IP.

ParametersJSON Schema
NameRequiredDescriptionDefault
logsNoOptional but valuable: your last few steps as SUMMARIES (never full request/response bodies) — the sequence that led to the failure. Secrets are never allowed in a note.
typeNobug = something is broken/wrong; friction = it works but was confusing/harder than it should be; idea = a suggestion or missing capability. Defaults to bug.
detailNoMulti-line context: the full error body, what you tried, what you expected. Optional but recommended.
methodNoThe HTTP method you used. From `report_hint.send.method`. Example: 'POST'.
statusNoThe HTTP status you got. From `report_hint.send.status`. Example: 500.
agentIdNoWhich model/agent you are. Example: 'claude', 'gpt-4o', 'gemini'. Optional.
summaryYes1-line description of what you were doing and what went wrong. Example: 'POST /api/build/contract returned 500 with no hint about the missing field.'
traceIdNoYour journey ID — returned by provision_api_key and on every response as `x-pcc-trace-id` (also in a 5xx `report_hint.traceId`). Lets PCC replay your full run.
endpointNoThe route you were on when you got stuck. From a 5xx `report_hint.send.endpoint`. Example: '/api/build/contract'.
severityNoHow badly this blocked you. Optional.
errorCodeNoThe machine error code from the response body, if any. From `report_hint.send.errorCode`.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false, so the description carries the rest and does so richly: it is PUBLIC and works before API-key provisioning, reports are persisted durably and reviewed by the PCC team, and the endpoint is rate-limited per IP. It also points to the report_hint payload that pre-fills fields from a 5xx.

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-loads the purpose, then the trigger conditions, then operational constraints in a compact block with zero filler. It is dense — a few clauses could be split for readability — but every sentence carries load.

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 an 11-parameter write tool with no output schema, the description covers when to use it, the security constraints, dedupe behavior, and rate limiting. It does not say what the call returns (e.g. a report ID) or confirm the minimum viable submission, which is a minor gap given no output schema exists to explain the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3, but the description adds real value: it explains that endpoint/method/status/errorCode come from the `report_hint.send.*` fields of a 5xx or from `x-pcc-trace-id` for traceId, which the schema alone does not tie together. The secrets prohibition also constrains the logs/note parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Report a bug, friction, or dead-end') and clearly scopes it to failures encountered while using PCC. It does not explicitly differentiate itself from nearby siblings like report_anomaly, report_protocol_failure, submit_feedback, or send_diagnostics, so it falls short of the top tier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Enumerates concrete trigger conditions — a 5xx, an unfixable 4xx, the same failure twice, or a misleading tool/description — plus a dedupe rule ('report each distinct failure ONCE') and a prohibition (never include secrets). An agent knows exactly when to call this and when to stop.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_report_attemptAInspect

Report one phase of an onboarding attempt, success or failure (attempt reporting contract v1). Send one report when each runbook phase ends, and a final report with phase "session" (with the phases roll-up), also when you stop early (outcome abandoned or budget_stop). Generate sessionId (UUID v4) once per attempt and increment seq with every report; a retried report with the same sessionId and seq is collapsed. Never guess: send null for what you do not know (tokens: source "unknown"). Redact keys, tokens, emails and wallet secrets before sending. Always include summary: contract v1 makes it optional, but until the gateway's attempt support lands it is the only field kept, and today's server refuses a report without it. The schema is contract v1: an unknown phase, outcome or harness name is accepted (the server stores it as other or unknown, with the raw value as a label), and budget-stop is a spelling of budget_stop. Never send a transcript; consent.transcript stays false until the operator decides. Unauthenticated.

ParametersJSON Schema
NameRequiredDescriptionDefault
envNo
idsNoOnly the ids known so far: each at most 200 characters of [A-Za-z0-9:._/-], or null
seqYesPer-session report counter
kindYes
logsNoThe phase's step timeline, summaries only
packNo
phaseYes
detailNo
deviceNo
phasesNoOnly on phase "session": the roll-up
tokensNoNever guess: send null with source "unknown"
consentNo
harnessNo
outcomeYes
summaryNoOne line, e.g. "register: failed, POST /api/kernels 400"
traceIdNox-pcc-trace-id of the last PCC call
contractNo
proposalNoOne improvement idea
sessionIdYesUUID v4, generated once at the start of the attempt
durationMsNoThe phase's wall time; on session, the whole attempt

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false and destructiveHint=false; the description goes well beyond by disclosing idempotent collapse of retried reports, the 'never guess / send null with source "unknown"' rule, mandatory redaction of keys/tokens/emails/wallet secrets, the currently-mandatory summary field, and that the endpoint is unauthenticated.

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?

Dense but mostly front-loaded: the purpose and cadence come first, followed by mechanics and constraints. Sentences are long and occasionally cram multiple rules, but nearly every clause carries actionable contract detail rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 20-param, 5-required write tool with no output schema, the description covers the contract semantics, idempotency, submission cadence, redaction, and auth. It does not describe the response or failure modes of the call itself, which is the main remaining gap.

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?

With 50% schema description coverage and 20 params, the description compensates substantially: how to generate sessionId (UUID v4, once per attempt), how seq increments, that phases roll-up belongs only on phase 'session', and that unknown phase/outcome/harness values are stored as other/unknown. It still leaves fields like env, ids, logs, pack, device, and proposal unexplained beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Report one phase of an onboarding attempt, success or failure,' naming the contract version. It is scoped clearly enough to separate from generic siblings, though it never explicitly contrasts itself with the near-named sibling pcc_report, leaving that differentiation to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit trigger conditions: 'Send one report when each runbook phase ends, and a final report with phase "session"... also when you stop early (outcome abandoned or budget_stop).' It also states the idempotency rule (same sessionId and seq collapses) that governs whether to resend.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_revoke_scopeAInspect

Revoke an execution scope immediately (emergency stop). All pending tool calls under this scope are rejected. The kernel enters a stopped state. A new scope must be created to resume.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeIdYesScope ID to revoke

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses the concrete consequences: pending tool calls are rejected and the kernel enters a stopped state. It also explains the recovery requirement, which is the operationally important behavioral detail. It does not address authorization requirements or whether the revoke itself is reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the action and its emergency framing, then consequences, then recovery. There is no filler and every sentence carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter mutation tool with no output schema, the description covers action, effect on in-flight work, resulting state, and recovery. Authorization and error behavior are unstated, but annotations and schema cover most remaining ground.

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 100% schema description coverage, so the schema already carries the semantics. The description adds no format or constraint detail about scopeId, 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 verb and resource ('Revoke an execution scope') and sharpens it with the parenthetical 'emergency stop', making the intent unambiguous. It is clearly distinguishable from siblings like pcc_create_scope or pcc_scope_audit 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?

It establishes the usage context as an emergency stop and points to the recovery path ('a new scope must be created to resume'), effectively routing the agent to pcc_create_scope. It stops short of an explicit when-not condition (e.g., prefer pause for non-emergency stops).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_schedule_evaluateAInspect

Evaluate a published RateSchedule at a moment, returning the effective bps. Inputs: scheduleHash + now (unix seconds) + optional jobValueCents (piecewise-value) + optional jobsPerDay (adoption-indexed). Returns {scheduleHash, bps, segmentKind, segmentIndex}. segmentIndex=-1 + bps=0 when no segment covers the moment (silent gap).

ParametersJSON Schema
NameRequiredDescriptionDefault
nowYesUnix seconds at evaluation moment
jobsPerDayNoRolling 24h job count (adoption-indexed segments)
scheduleHashYes0x + 64 hex schedule hash
jobValueCentsNoJob value in cents (piecewise-value segments)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=false and destructiveHint=false, the annotations only partially frame behavior; the description usefully adds the silent-gap semantics (segmentIndex=-1 + bps=0 when no segment covers the moment), which an agent would otherwise misread as an error. It does not explain why an evaluation is flagged non-read-only.

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 purpose and return value, then inputs, then the gap edge case; every clause carries information. The telegraphic parentheticals are dense but not 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?

No output schema exists, and the description compensates by naming the returned fields and the sentinel gap case. It is a bit terse on what 'bps' resolves to and on any prerequisite checks, but it is sufficient for correct invocation.

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%, so the baseline is 3, but the description groups the options by meaning ('jobValueCents (piecewise-value)' and 'jobsPerDay (adoption-indexed)'), telling the agent when each optional input is relevant — value beyond the per-field schema text.

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 ('Evaluate a published RateSchedule at a moment') and names the concrete return ('the effective bps'), which distinguishes it from siblings pcc_schedule_get and pcc_schedule_publish.

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: the word 'published' hints the schedule must first exist via pcc_schedule_publish, and the optional piecewise/adoption parameters imply which schedule kinds need them. There is no explicit when-to-use-vs-alternative guidance or exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_schedule_getA
Read-only
Inspect

Fetch a published RateSchedule by its content hash. Returns {schedule, publishedBy} with segments re-validated via Zod, or 404 if not found.

ParametersJSON Schema
NameRequiredDescriptionDefault
scheduleHashYes0x + 64 hex sha256 of the schedule

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the return shape {schedule, publishedBy}, Zod re-validation of segments, and a 404 miss case.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the action first, then the return/error contract. No filler, nothing repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read with no output schema, the description covers the essential contract: what comes back, that it is re-validated, and the not-found case. It does not mention caching, pagination, or authorization, but none are strongly implied for a hash-keyed lookup.

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 documents scheduleHash as '0x + 64 hex sha256'. The description only echoes 'content hash' without adding format or validation detail, 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 (Fetch) and resource (a published RateSchedule) plus the lookup key (content hash), so an agent can tell it retrieves rather than mutates or evaluates. It does not explicitly differentiate itself from the sibling pcc_schedule_publish / pcc_schedule_evaluate tools, but 'published' and the read framing make the role clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this versus pcc_schedule_evaluate or pcc_schedule_publish, and no prerequisites. The only usage signal is implicit in 'by its content hash', which is a mechanical detail rather than routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_schedule_publishAInspect

Publish a sealed off-chain RateSchedule. Computes scheduleHash server-side via the canonical sha256-over-canonical-JSON algorithm (matching the on-chain RateScheduleRegistry.publish() invariant). Idempotent: re-publishing the same content returns alreadyPublished:true. Returns {scheduleHash, alreadyPublished}.

ParametersJSON Schema
NameRequiredDescriptionDefault
scheduleYesRateSchedule body — version, segments (constant/step/linear-decay/exponential-decay/adoption-indexed/piecewise-value), and optional notes
publishedByYesAddress that publishes (0x + 40 hex chars)

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only tell the agent this is non-read-only and non-destructive. The description goes well beyond that: it specifies server-side hash computation via a canonical sha256 algorithm matching the on-chain registry invariant, declares idempotent behavior, and states the exact return shape. With no output schema present, this return disclosure is especially valuable.

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 tight sentences: what it does, why the hash is trustworthy, and what happens on re-publish plus return keys. The core action is front-loaded and every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter nested-object tool with no output schema, the description covers the key behavioral facts (server-side hashing, idempotency, return values). It leaves some terms ("sealed", segment semantics) to the schema, which is a minor gap but not blocking.

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%, with the nested schedule object (version, segments, notes) and publishedBy already documented in the schema. The description adds no per-parameter syntax or format details beyond what the schema provides, 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 description states a specific verb and resource ("Publish a sealed off-chain RateSchedule") and clarifies that the hash is computed server-side. An agent can distinguish it from read-oriented siblings like pcc_schedule_get or pcc_schedule_evaluate, though it does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by "publish" and the idempotency note (re-publishing returns alreadyPublished:true), which helps an agent understand repeat calls. However, there is no explicit when-to-use/when-not guidance or routing against sibling tools such as pcc_schedule_get or publish_protocol.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_scope_auditB
Read-only
Inspect

Get the audit trail for an execution scope — every tool call made under this scope, with validation results, timestamps, and outcomes.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeIdYesScope ID to audit

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful content about what the trail contains, but says nothing about volume, pagination, retention, or whether scopeId must be active/existing — gaps that matter for an audit-log tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; the resource and payload contents come immediately after the verb.

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 usefully enumerates the returned fields (validation results, timestamps, outcomes), which is exactly what the agent lacks elsewhere. It falls short only on practicalities like result volume or pagination for what may be a long audit trail.

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 single parameter is fully documented in the schema. The description's phrase 'under this scope' only restates the parameter's role, adding no format, ownership, or validity detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get the audit trail for an execution scope') and enumerates the payload contents (tool calls, validation results, timestamps, outcomes). It is clear, but it makes no effort to distinguish itself from nearby read tools such as pcc_list_verdicts or pcc_list_requests.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no named alternative. The word 'audit' hints at a post-hoc inspection context, but the agent must infer when this tool is the right choice versus other scope-related reads.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_submit_paid_jobAInspect

Fast-track paid job: one call from DHT discovery to funded escrow + active scope. Auto-negotiates, quotes, creates escrow with milestones, creates execution scope. Returns jobId, scopeId, escrowId, quote with pricing adjustments, contract terms. For testnet, escrow is mock-funded automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesTarget kernel ID (from DHT query)
parametersNoJob parameters (protocolType, volume, materials, etc.)
userAgentIdYesYour agent/user ID
paymentMethodNoPayment method (testnet-mock for demo)
capabilityTypeYese.g. 'liquid-handler', 'fdm', 'cnc-3axis'

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations establish mutation-without-destruction (readOnlyHint=false, destructiveHint=false), and the description adds real behavioral context beyond them: it auto-negotiates, auto-quotes, auto-creates milestones/scope, and mock-funds escrow on testnet. It stops short of stating auth requirements or failure/rollback behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with no filler: purpose first, then side effects, then outputs, then the testnet caveat. Slightly overloaded but every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-step orchestration tool with no output schema, the description compensates by enumerating return values (jobId, scopeId, escrowId, quote, contract terms). The nested 'parameters' object remains vague, but overall an agent has enough to invoke it 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 the five parameters are already documented in the schema. The description's only added parameter meaning is that testnet escrow is mock-funded, which loosely maps to the paymentMethod enum; 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 description names a specific composite verb-set ('fast-track paid job') and enumerates exactly what the single call accomplishes: negotiation, quote, escrow with milestones, and execution scope. It is clearly distinguishable from the step-by-step siblings (pcc_publish_request, fund_escrow, pcc_create_scope), though it never names one explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Fast-track' and 'one call from DHT discovery to funded escrow' imply the when: use this instead of chaining the individual escrow/scope/quote tools. However no explicit when-not, no prerequisites, and no named alternative are given, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_submit_requestBInspect

Submit a high-level capability request in natural language. The system automatically decomposes it into a capability DAG with dependencies, timelines, and budget allocation across fabrication, design, assembly, electronics, software, logistics, and verification nodes. Returns the request with full decomposed DAG. Example: 'Build a cute animatronic plush desk robot with servo-driven animations'.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesShort title for the request
budgetNoTotal budget in USDC (default: 1000)
urgencyNoUrgency level — affects cost multipliers (emergency: 2x cost, 0.5x time)
currencyNoCurrency (default: USDC)
deadlineNoISO 8601 deadline (default: 7 days from now)
descriptionYesFull natural language description of what needs to be built or done
requesterEmailNoRequester email for notifications
requesterWalletNoRequester wallet address for payments

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations mark it as a non-read-only, non-destructive mutation, and the description usefully adds that the system automatically decomposes the input and returns the request with the full DAG. It stops short of stating side effects, whether the request is persisted/published, or any auth/payment requirements, leaving meaningful behavioral gaps for a write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three focused sentences plus a concrete example. The decomposition behavior is front-loaded and the example ('animatronic plush desk robot') efficiently conveys the expected input style. Little waste, though the node list is slightly verbose.

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 an 8-parameter mutation tool with no output schema, the description adequately explains what happens (decomposition into a DAG) and what is returned (the request with its DAG). The main missing piece is how this relates to sibling request-lifecycle tools, but the core call semantics are covered.

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 8 parameters (budget, urgency, currency, deadline, requesterEmail, requesterWallet, etc.) are already documented in the schema. The description only reinforces that the description field is natural language and provides an example, which is helpful but marginal. 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 ('Submit') and resource ('high-level capability request in natural language'), and goes further to explain the automatic decomposition into a capability DAG. However, it never differentiates itself from closely related siblings like pcc_decompose_request or pcc_publish_request, so the agent must infer which entry point to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance, prerequisites, or alternatives are given. With siblings such as pcc_decompose_request, pcc_publish_request, pcc_update_request, and pcc.op.capability.request_quote present, the absence of routing guidance is a real gap – the agent cannot tell whether this is the initial submission step or a downstream one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_training_manifest_getA
Read-only
Inspect

Fetch the TrainingManifest for a model IP. Returns the parsed datasets array + manifestHash + createdAt, or 404 if no manifest has been set.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelIpIdYesStory IP Asset ID for the model

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful non-obvious behavior: the 404 failure mode when no manifest exists. It does not cover auth requirements beyond that.

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 tight sentence front-loads the verb+resource, then enumerates the return payload and the 404 branch. Every clause earns its place with zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-param read tool with annotations and no output schema, the description covers purpose, return shape, and the key failure mode. It is largely complete, though it omits auth/pagination context and sibling routing.

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% (modelIpId is documented as 'Story IP Asset ID for the model'), so the schema carries the parameter burden. The description adds no syntax or format detail beyond the schema. 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 ('Fetch') and resource ('TrainingManifest for a model IP'), which is clear. It does not explicitly differentiate from its obvious sibling pcc_training_manifest_set, though the get/set pairing is fairly self-evident.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (retrieve a manifest that has been set) but there is no explicit when-to-use guidance or naming of alternatives. The pairing with pcc_training_manifest_set is left for the agent to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_training_manifest_setAInspect

Set (insert-or-replace) the TrainingManifest for a model IP — the dataset weight map the LicensingEngine walks when distributing payouts to a 'model-author' entry in a CompositionManifest. Dataset weightBps must sum to ≤ 10000 (gateway accepts partial mixes; on-chain enforces exact 10000). Returns {modelIpId, manifestHash}.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelIpIdYesStory IP Asset ID for the model
baseModelIpIdNoOptional parent ModelNFT IP if this was fine-tuned
datasetWeightsYesDatasetIP entries with weightBps (sum ≤ 10000)
methodologyHashNoOptional 0x + 64 hex reproducibility hash

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing the insert-or-replace semantics, the ≤10000 weightBps invariant, the critical gateway-vs-on-chain enforcement difference (partial mixes accepted here, exact 10000 enforced on-chain), and the return shape. Annotations only say it is a non-read-only, non-destructive write, so this text carries real operational weight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the action and the invariant, then the return value. Slightly jargon-heavy ('LicensingEngine', 'CompositionManifest') but every clause earns its place; nothing 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?

For a 4-param write tool with no output schema, it covers mutation semantics, the key domain invariant, enforcement divergence, and the return fields {modelIpId, manifestHash}. The one gap is failure behavior when the gateway rejects or when the sum is invalid.

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 four parameters, their optionality, and the weightBps range. The description reinforces the summation constraint in prose but adds no new parameter-level detail (e.g., what happens if the sum exceeds 10000). 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 ('Set (insert-or-replace) the TrainingManifest for a model IP') and explains the domain role: it is the dataset weight map the LicensingEngine walks when distributing payouts. The paired sibling pcc_training_manifest_get makes the get/set distinction explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when you'd need it (to define payout distribution for a model-author entry), but gives no explicit when-to-use framing or exclusions. It never names pcc_training_manifest_get or warns about overwriting an existing manifest, which is the main alternative/risk an agent must weigh.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_trilobio_build_configAInspect

Generate a complete KERNEL_CONFIG JSON for a Trilobio (tcode-api) fleet controller. Wraps buildTrilobioConfig() from the @pcc/trilobio npm package. Returns a TrilobioKernelConfig with sensible defaults (pollIntervalMs=3000, maxScriptTimeoutSec=3600, allowArbitraryScripts=false). The result can be passed to pcc-node start via the KERNEL_CONFIG env var, or handed to setup_generate_config / setup_register_device for direct API-driven registration. Note: this is a TypeScript package helper (no HTTP call). For programmatic use, import { buildTrilobioConfig } from "@pcc/trilobio".

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFleet-controller URL on the LAN (host[:port], no trailing slash, no path) — e.g. http://192.168.1.50
apiKeyNoTrilobio fleet-controller API key (from the trilobot admin UI). Either apiKey OR username+password is required unless mockMode=true.
deviceIdNoLogical device ID within the kernel (default: trilobio-fleet-01)
kernelIdNoKernel ID this device belongs to (auto-generated as kernel_trilobio_<timestamp> if omitted)
mockModeNoBypass real HTTP and simulate runs. Use for CI / floor demos. Default: false.
passwordNoFleet-controller account password (basic-auth mode only)
usernameNoFleet-controller account username (basic-auth mode only)
pollIntervalMsNoPoll interval in ms for run status (range 500-60000). Default: 3000.
tcodeApiVersionNoPinned tcode-api version on the fleet controller. Format: 'latest' or semver (e.g. 1.25.1). Default: latest. Surfaces in evidence bundles for reproducibility.
mockRunDurationMsNoMock-mode simulated run duration in ms. Default: 2000.
maxScriptTimeoutSecNoMaximum allowed wall-clock seconds for a single tcode script (range 30-86400). Default: 3600.
allowArbitraryScriptsNoPermit customer-supplied tcode-api Python scripts (true) or only curated protocol IDs (false). Default: false. Set true only for trusted-counterparty deployments.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=false and destructiveHint=false already set, the description adds meaningful behavioral context beyond the annotations: it is a pure TypeScript package helper that makes no HTTP call, and it discloses the default values it emits (pollIntervalMs, maxScriptTimeoutSec, allowArbitraryScripts). That goes beyond what the annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose in the first sentence, followed by return shape, downstream usage, and the programmatic-import note. The import snippet is slightly gratuitous but not wasteful overall.

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?

No output schema exists, and the description compensates by describing the returned TrilobioKernelConfig and its defaults. It also covers the auth alternatives and mock mode via the schema. Complete enough for an agent to call it correctly, with only minor room to state when to prefer it over setup_generate_config.

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 each parameter including required-vs-optional auth rules and defaults is already documented in the schema. The description restates a few defaults but adds no syntax or format detail the schema lacks. 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: 'Generate a complete KERNEL_CONFIG JSON for a Trilobio (tcode-api) fleet controller', and names the underlying function buildTrilobioConfig(). This clearly distinguishes it from siblings like pcc_trilobio_validate_options and pcc_trilobio_validate_script, which validate rather than build.

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?

Explains downstream usage precisely: pass the result to `pcc-node start` via KERNEL_CONFIG, or hand it to setup_generate_config / setup_register_device. It also clarifies this is a package helper with no HTTP call. It lacks an explicit 'use this when...' vs alternative construct, but the surrounding context makes intent clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_trilobio_capability_templateA
Read-only
Inspect

Return the TRILOBIO_CAPABILITY constant from @pcc/trilobio — a default capability template for a Trilobio fleet controller. Pass to POST /api/capabilities to publish a baseline liquid-handling capability for a kernel hosting a trilobot. Operators can extend the materials and capabilities arrays to advertise instrument-specific features (custom labware libraries, sample types). Notable: includes tcode-script-execution as an advertised capability, which is unique to Trilobio — operators who set allowArbitraryScripts: true can accept jobs that ship a full tcode-api Python script as the protocol payload. Note: TypeScript package helper (no HTTP call); for programmatic use, import { TRILOBIO_CAPABILITY } from "@pcc/trilobio".

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value beyond that by clarifying this is a TypeScript package helper with no HTTP call, and by disclosing the notable payload content (tcode-script-execution plus the allowArbitraryScripts gate). It stops short of describing the shape of the returned constant in detail, which the absence of an output schema leaves partially unspecified.

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 action and resource, then layers usage and caveats. Every sentence carries meaning, though the tcode-script-execution and allowArbitraryScripts detail is somewhat extended for a constant-returning helper.

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 no-parameter helper with no output schema, the description supplies what is needed: what is returned, how to use it, and a key caveat about the advertised tcode-script-execution capability. It is largely complete, with only the exact structure of the returned constant left to the reader.

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. The description correctly adds nothing about inputs because there are none, and instead spends its budget on return-value meaning, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Return the TRILOBIO_CAPABILITY constant from @pcc/trilobio — a default capability template for a Trilobio fleet controller.' This clearly distinguishes it from adjacent siblings like pcc_trilobio_build_config or pcc_trilobio_validate_options, which transform or validate rather than return a template.

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?

Explicitly states the intended downstream use ('Pass to POST /api/capabilities to publish a baseline liquid-handling capability') and the programmatic path ('import { TRILOBIO_CAPABILITY }'). It gives clear usage context but never names a sibling alternative or a condition for choosing a different tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_trilobio_validate_optionsAInspect

Sanity-check operator-supplied Trilobio options before generating a KERNEL_CONFIG. Wraps validateTrilobioOptions() from @pcc/trilobio. Catches the common mistakes (malformed URL, missing creds, out-of-range timeouts, invalid tcodeApiVersion semver) before they hit the gateway or the device. Returns { valid: boolean, errors: string[], warnings?: string[] }. Note: this is a TypeScript package helper (no HTTP call); for programmatic use, import { validateTrilobioOptions } from "@pcc/trilobio".

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoFleet-controller URL
apiKeyNoFleet-controller API key
deviceIdNo
kernelIdNo
mockModeNo
passwordNoBasic-auth password
usernameNoBasic-auth username
pollIntervalMsNo
tcodeApiVersionNo'latest' or semver string
mockRunDurationMsNo
maxScriptTimeoutSecNo
allowArbitraryScriptsNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavior beyond the annotations: the fact it wraps a TypeScript helper with no HTTP call, the exact mistake classes it detects, and the return shape. This usefully clarifies a pure-validation tool whose readOnlyHint=false is otherwise ambiguous. It doesn't mention side effects or performance, keeping it at 4.

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-loads the purpose and error coverage, then adds the return shape and import note. Dense but all sentences carry information; the programmatic-import note is slightly tangential for an MCP caller but still earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-param validator with no output schema, the description supplies the return shape and the failure semantics an agent needs. The individual parameter semantics gap (58% undocumented) is the only notable shortfall.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 42% across 12 params, so the description must compensate. It partially does by naming validated categories (URL, creds, timeouts, semver) that map to url, apiKey/password, pollIntervalMs/maxScriptTimeoutSec, and tcodeApiVersion, but it never explains the remaining params (deviceId, kernelId, mockMode, allowArbitraryScripts).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource (validate Trilobio options) with clear scope and timing ('before generating a KERNEL_CONFIG'). Easily distinguished from siblings like pcc_trilobio_validate_script and pcc_trilobio_build_config.

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?

States when to run it (pre-flight, before options hit the gateway or device), which implies its place relative to build_config. It does not explicitly name an alternative tool or state when NOT to use it, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_trilobio_validate_scriptAInspect

Quick lint of a tcode-api Python script before submission to a Trilobio fleet controller. Wraps validateTcodeScript() from @pcc/trilobio. Surface check only — NOT a sandbox or sanitizer. Looks for: imports of tcode_api (presence required), obviously dangerous statements (subprocess, os.system, eval, exec, import, socket, urllib, requests, file writes), empty scripts, and missing top-level tcode commands. Returns { valid: boolean, errors: string[], warnings?: string[] }. Operators with allowArbitraryScripts=true should treat results as a hint — the fleet controller is the source of truth on safety. Note: TypeScript package helper (no HTTP call); for programmatic use, import { validateTcodeScript } from "@pcc/trilobio".

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesFull Python source of the tcode-api script to lint

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond annotations: the exact classes of issues checked, that it makes no HTTP call, the return shape, and its authority limits versus the fleet controller. Minor tension with readOnlyHint=false given it claims to be a pure helper with no side effects, though this is likely the default annotation rather than a true contradiction.

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?

Dense but fully front-loaded: purpose first, then scope limits, checks performed, return shape, and caveats. Every sentence carries actionable information with no filler.

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, the description inlines the return shape ({ valid, errors, warnings? }), explains the safety authority model, and covers the lint's limitations. An agent has everything needed to call and interpret it 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?

Single parameter with 100% schema description coverage, so the schema already documents 'source'. The description implies the input is full Python source but adds no format or syntax detail beyond what the schema provides, 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?

States a specific verb (lint/validate) and resource (tcode-api Python script) and its purpose (pre-submission check for a Trilobio fleet controller). It also names what it wraps and clarifies it is a TypeScript package helper, distinguishing it cleanly from pcc_trilobio_build_config, pcc_trilobio_capability_template, and pcc_trilobio_validate_options.

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?

Explicitly frames the use case (before submission to the fleet controller) and sets boundaries ('Surface check only — NOT a sandbox or sanitizer'; results are a hint when allowArbitraryScripts=true). It does not name sibling alternatives directly, but 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.

pcc_update_node_statusAInspect

Update the status of a capability node within a request. Valid transitions: pending → bidding → assigned → in_progress → completed (or failed). When all nodes complete, the request automatically moves to completed.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdYesCapability node ID
statusYesNew status for the node
requestIdYesRequest ID

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false, and the description goes beyond them: it discloses the side effect that the parent request auto-completes once all nodes complete, plus the enforced state machine. It leaves out permission requirements and error behavior on illegal transitions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the action is front-loaded, the transition rule and the cascade side effect follow with no filler. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter mutation with no output schema, the description covers the action, valid values, and the cascade effect on the request. It is nearly complete; only auth/error semantics for invalid transitions are absent.

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 baseline is 3, but the description adds meaning beyond the raw enum by specifying the permitted transition order, telling the agent which enum values are valid from a given current state. requestId and nodeId semantics still come only from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Update the status of a capability node within a request'), clearly distinct from sibling mutations like pcc_assign_node_operator or update_job_status. It does not name an alternative sibling explicitly, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The valid transition chain (pending → bidding → assigned → in_progress → completed/failed) implicitly tells the agent when an update is legal, which is useful. However, there is no explicit when-to-use guidance, no mention of who may perform transitions, and no routing to alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_update_requestAInspect

Update a capability request's title, description, budget, deadline, urgency, or contact info. Does not re-decompose — call pcc_decompose_request afterwards if you want a fresh DAG.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
budgetNo
urgencyNo
deadlineNo
requestIdYesRequest ID
descriptionNo
requesterEmailNo
requesterWalletNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-destructive mutation. The description adds one behavioral fact beyond that — it does not re-decompose the request — but omits whether the update is partial or full-replace, whether omitted fields are left untouched, and any auth/ownership requirement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The mutable-field list is front-loaded and the decompose caveat follows immediately as the actionable next step.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter mutation with no output schema, the description covers the field surface and the decompose relationship, but leaves patch-vs-replace semantics and permission requirements unstated — meaningful gaps for a write tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 13% (only requestId documented), so the description must compensate, and it largely does: it names title, description, budget, deadline, urgency, and 'contact info' (covering requesterEmail/requesterWallet). It still adds no format hints for deadline or the meaning of the urgency enum values.

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 (update) and resource (capability request) and enumerates the mutable fields, so the agent knows exactly what the tool touches. It explicitly distinguishes itself from pcc_decompose_request ('does not re-decompose'), but does not differentiate from other request siblings like pcc_submit_request or pcc_publish_request.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives one concrete routing cue: call pcc_decompose_request afterwards if a fresh DAG is wanted. That is genuinely useful sequencing guidance, but there is no statement of when to use this over alternatives or any prerequisites (e.g. ownership, request state) required to update.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcc_verifier_healthA
Read-only
Inspect

Report CaptureVerifier health: which adapters are loaded (c2pa, webauthn, appattest, playintegrity), their staleness status, in-memory challenge cache size, whether CaptureClassRegistry is deployed, and the active PCC_NETWORK. Use this to diagnose why a capture class is being rejected or degraded.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds substantive behavioral context by enumerating the diagnostics returned (adapter staleness, cache size, registry deployment, active network), which is the kind of detail an agent needs and annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the purpose followed by the payload enumeration and the diagnostic use case. The long parenthetical adapter list is dense but each item carries real information; little waste.

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 takes on the burden of describing returns and does so thoroughly across five diagnostic dimensions, plus a stated diagnostic purpose. It does not mention auth/permission prerequisites, a minor gap for a read-only health probe.

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 there is nothing to disambiguate; baseline for a 0-param tool is 4. The description correctly implies no input is required.

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 ('Report CaptureVerifier health') and then enumerates exactly what is reported: loaded adapters, staleness, challenge cache size, CaptureClassRegistry deployment, and active PCC_NETWORK. This clearly distinguishes it from siblings like pcc_capture_status or pcc_capture_class_registry.

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?

Explicitly gives a use case: 'Use this to diagnose why a capture class is being rejected or degraded.' That is a clear triggering context, but it names no alternative diagnostic tools and gives no exclusions (e.g., when to prefer pcc_capture_status).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

propose_compositionAInspect

Propose a composition — a sequenced DAG of capability instances to satisfy a multi-step outcome under a budget + assurance tier. Accepts either a flat steps list or an outcome chain. Returns a candidate plan ranked by optimizeFor (price | speed | quality) with per-step assignments. The composition is persisted for ~30 minutes (proposed status) and can be executed once via execute_composition.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsNoOrdered list of capability types this composition needs (1..20). Use this OR `outcomeChain`.
locationNoGeographic constraint (lat/lng + radius, or country, etc).
budgetUSDYesTotal budget the user is willing to spend across all steps.
requesterNo{agentId, did?} — the agent submitting the request.
descriptionNoFree-form natural-language description (≤4000 chars).
optimizeForNoRanking objective (default `price`).
outcomeTypeYesHigh-level outcome label, ≤120 chars. Example: 'desk-robot-prototype'.
outcomeChainNoAlternative to `steps`: chain of named sub-outcomes. The planner expands each into capability types.
minAssuranceTierYesMinimum acceptable assurance tier on every step.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint/destructiveHint, and the description adds critical lifecycle context beyond them: the composition persists for ~30 minutes in 'proposed' status and can be executed once. This persistence and single-use semantics are exactly what an agent needs to avoid stale or duplicate plans.

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 dense sentences, front-loaded with the core action and scope, then inputs, then return shape and lifecycle in descending priority. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter mutation with nested objects and no output schema, the description covers the return shape, optimization ranking, and persistence/execution lifecycle well. It leaves secondary parameter semantics (location, requester) to the schema, which is acceptable at 100% coverage.

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 nine parameters (including the steps/outcomeChain alternative and optimizeFor enum) are already documented in the schema. The description restates optimizeFor values and the steps/outcomeChain duality without adding syntax or format detail, 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+resource ('Propose a composition') and immediately defines it as a sequenced DAG of capability instances for a multi-step outcome, distinguishing it plainly from execute_composition. An agent knows exactly what it builds and what it returns.

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?

Routes the agent to the follow-up tool by naming execute_composition and the single-execution constraint, and clarifies the steps-vs-outcomeChain choice. It stops short of explicit when-not guidance (e.g. when to skip proposing and use a search/planner tool instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protocol_create_escrowAInspect

Create a new MilestoneEscrow contract via the PCCProtocol factory on-chain. Protocol-deployed escrows have fee collection and registry tracking built in. Requires PCC_GATEWAY_PRIVATE_KEY write access.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwmIdYesCapability Work Module ID as a 32-byte hex string (0x + 64 chars)
payerYesPayer EVM address (0x...)
tokenYesERC-20 token address for payment (0x...)
arbiterYesArbiter EVM address (0x...) — resolves disputes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only give readOnlyHint=false and destructiveHint=false, so the description usefully adds on-chain execution, built-in fee collection/registry tracking, and the PCC_GATEWAY_PRIVATE_KEY auth requirement. It does not disclose what is deployed/returned (e.g., escrow address) or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action, then the value proposition, then the prerequisite. Nothing is redundant and every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write tool with no output schema, the description covers purpose, mechanism, built-in behavior, and auth needs. It omits what a caller gets back (e.g., deployed escrow address/ID) and any link to follow-up tools like fund_escrow, leaving 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% and all four required parameters (payer, arbiter, token, cwmId) are documented there, so the baseline is 3. The description adds no parameter-level detail such as token/arbiter constraints or cwmId usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (create a MilestoneEscrow contract) and the mechanism (PCCProtocol factory, on-chain). It is clearly distinguishable from read-side siblings like get_escrow or list_escrows, though it does not explicitly name a competing creation path.

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?

Implies when to use it: 'Protocol-deployed escrows have fee collection and registry tracking built in' signals choosing this over a plain/bare escrow when those features matter, and it names the required write credential. No explicit alternative or when-not condition is given, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protocol_escrow_feesA
Read-only
Inspect

Get protocol fees collected from a specific escrow contract. Also returns whether the escrow was deployed via the protocol factory. Useful for auditing fee flows.

ParametersJSON Schema
NameRequiredDescriptionDefault
escrowAddressYesEscrow contract address (0x...)

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), so the description earns credit for disclosing a return-value trait beyond the schema: that it also returns whether the escrow was deployed via the protocol factory. With no output schema, this extra disclosure is genuinely useful; it stops short of describing fee format, units, or aggregation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the primary action, then the secondary return value, then the use case. No filler, though the third sentence is more motivational than operational.

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 read-only, single-parameter tool with no output schema, the description covers the action, a notable extra return field, and a motivation. It is nearly sufficient; minor gaps remain around fee units/format and whether values are per-escrow or cumulative.

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% for the single escrowAddress parameter, so the schema already carries its meaning. The description adds nothing beyond restating that the address identifies 'a specific escrow contract', which is the baseline case for a fully documented single-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get protocol fees collected from a specific escrow contract'), clearly differentiated from the protocol-wide siblings like protocol_fee and protocol_token_fees by its escrow-scoped framing. It doesn't explicitly name those siblings, so an agent must infer the distinction rather than being told it.

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?

'Useful for auditing fee flows' implies a usage context but gives no when-to-use/when-not guidance and does not route the agent to alternatives such as protocol_fee or get_escrow. The condition that selects this tool over its siblings is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protocol_feeA
Read-only
Inspect

Calculate the protocol fee for a given USDC amount (6-decimal units). Returns the fee, the net amount after fee, and formatted versions of both. Use this before building escrow contracts to understand the true cost.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount as a BigInt string in USDC 6-decimal units (e.g. '1000000000' = 1000 USDC)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond the annotations: it is a pure calculation with no side effects and it enumerates what comes back (fee, net amount, formatted versions), which matters since no output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: what it computes first, then when to use it. Minor redundancy with the schema on units, but nothing 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?

For a single-parameter read-only calculator with no output schema, the description covers the computation, the units, the return shape, and the intended usage. It leaves open the fee rate/basis, but an agent has enough to call it 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%, and the schema already documents the BigInt string and the 6-decimal example. The description restates "6-decimal units" without adding format or edge-case detail, so 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?

Specific verb+resource: it calculates the protocol fee for a USDC amount and states the units (6-decimal). However, it does not distinguish itself from close siblings like protocol_escrow_fees, protocol_token_fees, or pcc_protocol_fee, so an agent cannot route between fee tools from this description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use this before building escrow contracts to understand the true cost" gives a clear usage context and sequencing cue. It stops short of naming alternatives or stating when another fee tool would be the right pick, so it lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protocol_stateA
Read-only
Inspect

Read the PCCProtocol root contract state: current fee rate, total protocol fees collected, total escrow count, and registry addresses. Requires PCC_PROTOCOL_ADDRESS to be configured on the gateway.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuine extra context: the gateway-level configuration prerequisite and the fact that no arguments are needed because the contract address is resolved externally. It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the return payload, followed by the prerequisite. No filler and nothing that could be trimmed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing return values and does so explicitly. It also states the configuration prerequisite. Only the absence of guidance on when to prefer a more targeted sibling keeps it short of a 5.

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 is the baseline-4 case. The description correctly signals that no input is required and instead names the environment variable that supplies the target contract, which is useful even though it is not a schema field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Read) and resource (PCCProtocol root contract state) and enumerates exactly what fields are returned: fee rate, total fees collected, escrow count, registry addresses. It is distinguishable from narrower siblings like protocol_fee or protocol_token_fees, though it never names an alternative it is not, which keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

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 this is a read-only state inspection, and the description adds a precondition (PCC_PROTOCOL_ADDRESS must be configured). There is no explicit when-to-call-this-vs-siblings guidance, so it sits at the minimum-viable level.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protocol_token_feesA
Read-only
Inspect

Get total protocol fees collected for a specific ERC-20 token address across all escrows. Returns raw wei amount and human-readable formatted value.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenAddressYesERC-20 token contract address (0x...)

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful return-format context by stating it returns a raw wei amount and a human-readable formatted value, which goes beyond the annotations. It does not cover auth, rate limits, or edge cases, but for a simple read tool this is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences with no filler. The purpose and scope are front-loaded, and the return format follows immediately without wasted words.

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 one-parameter, read-only query with annotations and no output schema, the description is nearly complete: it states what the tool returns and the scope of the aggregation. It could be stronger by clarifying how it differs from sibling fee-related tools, but no critical invocation detail 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%, and the single parameter is fully documented in the schema as an ERC-20 token contract address. The description reinforces the token scope but adds no new syntax or format details beyond what the schema already provides, 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 and resource: getting total protocol fees for a specific ERC-20 token address across all escrows. It also names the return content (raw wei and formatted value). However, it does not explicitly differentiate itself from related siblings such as protocol_fee, protocol_escrow_fees, or pcc_protocol_fee.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to look up aggregate fees for one token, but it provides no explicit when-to-use guidance, prerequisites, or alternatives. It never says when to prefer this over protocol_fee or protocol_escrow_fees.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prove_registrationAInspect

Fast-track: submit evidence that your device works and get auto-approved + activated immediately. No manual review needed. Submit a photo of test output, device health snapshot, or a full evidence bundle with completion events. If evidence meets requirements, registration jumps straight to 'active'.

ParametersJSON Schema
NameRequiredDescriptionDefault
evidenceYesEvidence proving the device works. Include at least one of: bundleHash+events, photoBase64, or deviceHealth.
registrationIdYesRegistration ID to prove

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say the tool is non-read-only and non-destructive; the description adds the key behavioral fact that successful evidence bypasses manual review and transitions the registration straight to 'active'. It does not mention failure handling (what happens if evidence is rejected) or any auth/permission requirement, keeping it below 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the outcome and then the accepted evidence forms; nothing is padded. Slightly redundant in that the outcome ('auto-approved + activated') is stated twice in different words.

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 two-parameter mutation tool with a fully described nested schema and no output schema, the description covers purpose, accepted inputs, and the resulting state transition. It omits only the failure path (rejection behavior) and any prerequisites on the registration's current state.

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 evidence, events, ipfsCid, bundleHash, photoBase64, deviceHealth, and registrationId. The description restates the accepted evidence forms ('photo of test output, device health snapshot, or a full evidence bundle with completion events') but adds no format or constraint detail beyond the schema's own 'include at least one of' note, 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 action (submit evidence that the device works) and the concrete outcome (auto-approved and activated immediately, no manual review). This clearly separates it from the approval/verification siblings such as approve_registration and submit_for_human_verification without needing to open 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 'fast-track ... no manual review needed' framing tells the agent when this path is appropriate and implicitly contrasts it with the manual/human-verification route. It does not name an alternative tool explicitly or state when NOT to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

provision_api_keyAInspect

CALL THIS FIRST. Provisions an API key for the operator. Returns a pcc_live_* key that must be included as 'Authorization: Bearer ' on all subsequent requests. Accepts either email OR walletAddress. The key is shown once — save it. Without it, all other endpoints return 401.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOperator display name (optional)
emailNoOperator email address (use this OR walletAddress)
capabilityNoWhat the operator does — e.g. 'FDM 3D printing', 'CNC milling', 'HPLC analysis'
walletAddressNoEVM wallet address (use this OR email)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as a non-read-only, non-destructive write. The description adds critical behavior beyond annotations: it returns a pcc_live_* key, the key must be sent as 'Authorization: Bearer <key>', the key is shown only once, and all other endpoints fail with 401 without it. These are exactly the behavioral details 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly front-loaded with the most important instruction first. Every sentence adds necessary operational detail without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a provisioning tool with no output schema, the description fully covers the return value, one-time visibility, required downstream auth usage, and consequence of omission. Parameter semantics are covered by the schema, so nothing critical 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 all four parameters. The description only restates the email-or-walletAddress choice already present in the schema, and does not explain 'capability' or 'name' 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?

The description uses a specific verb+resource: 'Provisions an API key for the operator.' It clearly distinguishes this tool from siblings such as list_api_keys and revoke_api_key. 'CALL THIS FIRST' makes the intended role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use it ('CALL THIS FIRST') and why ('Without it, all other endpoints return 401'). It also clarifies accepted identity inputs ('email OR walletAddress'). This is strong, actionable usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

publish_protocolAInspect

Publish a draft protocol template, making it visible in the protocol library for others to discover and use.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProtocol template ID to publish

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description usefully adds the state effect (draft becomes publicly discoverable), but says nothing about whether publishing is reversible, whether re-publishing is idempotent, or what permissions/validation are required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that names the action first and the consequence second, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter state-transition tool with annotations present and no output schema, the description covers what is needed to call it. It is thin on the surrounding workflow, however: no mention of draft/validation prerequisites, error conditions, or reversibility, which matters for a publish action.

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% for the single 'id' parameter, so the schema carries the meaning. The description adds no format, sourcing, or lookup detail beyond what the schema's 'Protocol template ID to publish' already states, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('publish a draft protocol template') and adds the observable outcome (visible in the protocol library for discovery). It is clearly distinct from get_protocol/list_protocols/create_protocol, though it never names an alternative sibling, so it falls short of the top mark.

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 by the word 'draft' — the agent can infer this applies to an unpublished template, but there is no explicit when-to-use guidance versus update_protocol or validate_protocol, and no stated precondition (e.g. must be validated first, must currently be in draft state).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

raise_ip_disputeBInspect

Raise a Story Protocol IP dispute against an asset. Provide evidence hash and reason.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipIdYesIP asset ID to dispute
reasonYesReason for the dispute
evidenceHashYesHash of the dispute evidence

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-read mutation that is not destructive; the description's 'raise' wording is consistent with that. However, for an on-chain dispute it discloses nothing about costs, bonds/staking, reversibility, or what happens after the dispute is filed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the action front-loaded and no filler. The second sentence is largely redundant with the schema, keeping it shy of a 5.

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 three-required-parameter mutation with no output schema, the description is minimally adequate: it identifies the target chain and the required inputs. It omits the dispute lifecycle, prerequisites, and consequences, which an agent needs to invoke this correctly alongside sibling evidence and dispute tools.

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 all three parameters (ipId, evidenceHash, reason) are documented in the schema itself. The description merely echoes two of them, adding no format or constraint detail beyond the structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: raising a Story Protocol IP dispute against an asset. This clearly separates it from lookups and read tools, though it does not name the closest siblings (dispute_verification, file_escrow_dispute) to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence is a parameter instruction ('Provide evidence hash and reason'), not usage guidance. There is no statement of when to raise a dispute versus file an escrow dispute or a verification dispute, nor any prerequisite such as evidence having been committed first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

record_episodeBInspect

Record a transfer episode for a node pair. Increments episode count toward VLA training threshold.

ParametersJSON Schema
NameRequiredDescriptionDefault
successNoWhether the episode succeeded
toNodeIdYesDestination instrument node ID
episodeIdNoEpisode ID (optional)
fromNodeIdYesSource instrument node ID

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description usefully adds the state side effect (increments an episode count toward a training threshold), but omits whether calls are idempotent, what happens once the threshold is reached, and any auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core action front-loaded and the side effect second. No filler, though the second sentence could be folded in or expanded to carry more guidance.

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 write tool with no output schema, the description covers the primary effect but leaves open what the threshold triggers, what the response contains, and how errors are surfaced. Adequate but with noticeable gaps given the mutation semantics.

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 all four parameters including 'success' and 'episodeId' are already documented in the schema. The description only restates the node-pair concept ('for a node pair'), adding no syntax or format meaning beyond the schema, which matches the baseline 3.

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 ('Record a transfer episode') plus the scoping unit ('for a node pair'), and adds the downstream effect. It is clear on its own, but it does not name or contrast with any sibling such as get_transfer_graphs or the other transfer/telemetry tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use, prerequisites, or alternatives. The mention of a 'VLA training threshold' hints at context but never says when an agent should call this versus emitting telemetry or advancing automation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

redeem_inviteAInspect

One-click agent onboarding with an invite code. Provisions wallet, identity, LLM access, and PCC tools in a single call.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name (optional)
emailYesEmail address for the account
passwordYesPassword for the account
inviteCodeYesInvite code to redeem

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false, so the description carries most of the weight; it meaningfully expands on this by disclosing that the call provisions a wallet, identity, LLM access and PCC tooling in one shot, which is far more informative than the generic write hint. It still omits whether the invite code is single-use, whether the action is reversible, and what account state is created from the email/password.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero filler; the action and its scope are front-loaded in the first sentence and the provisioning effects follow immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-parameter provisioning mutation with no output schema and no annotations beyond the write hint, the description omits what the caller gets back (account ID, wallet address, API key) and any failure modes. It covers the purpose and effects adequately but leaves the agent without return-value expectations.

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 all four parameters (inviteCode, email, password, name) are documented in the schema, so the baseline is 3. The description adds no extra meaning such as invite-code format, password constraints, or whether name is required for provisioning.

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 action and resource ('agent onboarding with an invite code') and enumerates the side effects (wallet, identity, LLM access, PCC tools), which separates it from the many registration/provisioning siblings. It does not explicitly name the nearest alternative (check_invite), so sibling differentiation is only partly achieved.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'onboarding with an invite code' implies the trigger condition, but there is no explicit when-to-use statement, no mention that check_invite should be called first to validate the code, and no statement about prerequisites or what happens if the code is invalid or already redeemed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_capability_ipAInspect

Register a capability as a Story Protocol IP Asset. Returns an ipId and NFT token. The designer earns royalties whenever this capability is used.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipfsCidNoIPFS CID of the capability spec document (optional)
capabilityYesCapability object
designerNameYesDisplay name of the designer
designerAddressYesEVM address of the capability designer
commercialRevShareNoRevenue share percentage for commercial use (0-100)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only establish that this is a non-read, non-destructive write. The description adds real behavioral context beyond that: the call mints an on-chain NFT/IP asset and creates an ongoing royalty stream for the designer, which an agent needs to know before invoking. It omits permanence/irreversibility and any auth or gas considerations, so it stops short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each earning its place: what it does, what it returns, and the economic consequence. The key action is front-loaded and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by naming the returned ipId and NFT token, and it explains the royalty side effect. It leaves a few gaps for a write tool with a nested object payload (preconditions, whether re-registration is rejected, any approval/auth step), but it covers what an agent most needs.

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 the nested capability object and commercialRevShare range. The description adds no parameter-level meaning (e.g., how commercialRevShare interacts with the royalty claim), 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?

The description states a specific verb and resource ('Register a capability as a Story Protocol IP Asset') and even names the outputs (ipId, NFT token), so an agent knows exactly what this produces. It does not, however, distinguish itself from nearby siblings such as create_capability, register_job_evidence_ip, or get_capability_ip, leaving the agent to infer the difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the royalty sentence hints that you register when you want the designer to monetize a capability, but there is no explicit when-to-use, no prerequisites (e.g., must the capability already exist?), and no named alternative tool. An agent can guess the context but gets no routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_job_evidence_ipBInspect

Register job evidence as a derivative IP asset on Story Protocol, linking it to the parent capability's IP. Operators earn royalties from derivative use.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID whose evidence is being registered
ipfsCidNoIPFS CID of the evidence bundle (optional)
parentIpIdYesIP ID of the parent capability
operatorNameYesDisplay name of the operator
operatorAddressYesEVM address of the operator
evidenceBundleHashYesHash of the evidence bundle

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a mutation (readOnlyHint=false) with destructiveHint=false, so the safety profile is partly covered. The description adds useful context that registration is on Story Protocol and creates a royalty-bearing derivative, but omits auth requirements, idempotency, gas/irreversibility, and behavior when the evidence or parent IP is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero filler, and the core action is front-loaded before the royalty incentive. Efficient and readable, though it could be marginally improved by naming the counterpart capability-registration tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter on-chain mutation with no output schema, the description covers purpose and the royalty incentive but leaves the agent without return-value expectations, confirmation behavior, or prerequisite (parent IP must exist) details. Adequate but with clear 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 all six parameters (including required parentIpId, jobId, evidenceBundleHash, operatorAddress, operatorName) are already documented in the schema. The description adds no parameter-level syntax or format detail beyond what the schema provides, so 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?

Names a specific verb+resource ('Register job evidence as a derivative IP asset') and adds the crucial linkage detail ('linking it to the parent capability's IP'). This distinguishes it from register_capability_ip, though it doesn't explicitly differentiate from the other evidence-writing siblings like commit_evidence or submit_evidence_hash.

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?

Implies usage (operators register a job's evidence bundle under a capability to earn royalties) but gives no explicit when-to-use/when-not guidance or named alternatives. The agent must infer how this differs from the many other evidence tools in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reject_registrationAInspect

Reject a machine registration with a reason. The operator can see the rejection reason and resubmit.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoReason for rejection
registrationIdYesRegistration ID

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false and destructiveHint=false, so the description usefully adds that the rejection is visible to the operator and can be resubmitted, i.e. a reversible state change with operator notification. It stops short of stating auth/permission requirements or what happens to the registration record itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and followed by the consequence. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation with annotations covering safety and no output schema, the description covers the action and the operator-facing outcome well. It could state what the caller gets back or any status transition, but nothing essential 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 coverage is 100% and both parameters are documented, so the schema carries the load and baseline is 3. The description's phrase 'with a reason' adds mild emphasis but also slightly overstates it, since only registrationId is required in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Reject') and resource ('machine registration'), and mentions the reason input. It is clearly distinct from approve_registration/activate_registration by implication, though it never names the sibling it replaces.

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: the description implies this is the counterpart to approving a registration and notes the operator can resubmit, but it gives no explicit when-to-use/when-not-to-use or prerequisite conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

release_milestoneAInspect

Release a milestone payment on-chain after the challenge window has expired. Returns transaction hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEscrow contract address (0x...)
milestoneIndexYesMilestone index to release (0-based)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, and the description is consistent with those signals. It adds useful behavioral context by specifying the challenge-window prerequisite and that the call returns a transaction hash, though it does not cover gas, permissions, or finality beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action and prerequisite, and no wasted words. The return value is included compactly without diluting the core instruction.

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 mutation tool with no output schema and fully specified inputs, the description supplies the essential context: what it does, when it can be called, and what it returns. Nothing critical is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both required parameters are fully documented in the input schema. The description adds no parameter-level syntax, formatting, or constraint details beyond what the schema already provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: release a milestone payment on-chain, with the key precondition that the challenge window has expired. It clearly distinguishes this action from sibling escrow tools such as get_escrow, fund_escrow, and dispute_verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear usage context: the tool should be called after the challenge window has expired. However, it does not explicitly name alternatives for when the window has not expired or when the caller lacks permission, so it stops short of full when/when-not routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_pcc_dashboardB
Read-onlyIdempotent
Inspect

Compose a live PCC dashboard for a physical-capability task — pass a DashboardManifest (windows + live data bindings + actions) and it renders as an interactive MCP App.

ParametersJSON Schema
NameRequiredDescriptionDefault
csdYesThe builtin CSD URI this manifest conforms to.
themeNo
titleYes
api_baseNoGateway base URL. Default https://capability.network.
sectionsYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
manifestYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the bar is lower. The description adds that the output is an interactive MCP App and that the manifest carries windows, live bindings, and actions, but says nothing about persistence, side effects, or whether rendering triggers any server writes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that leads with the verb and resource and then qualifies the manifest shape. Dense but free of filler, though it packs three concepts (compose, manifest parts, MCP App) into one clause.

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?

An output schema exists, so return values need not be explained, and the description gives a workable high-level framing of a complex nested manifest. What it lacks is invocation context — when this is the right tool among the many dashboard-related siblings — leaving the definition minimally adequate.

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 33%, below the 50% mark, so the description should compensate and instead only names the manifest's main parts (windows, live bindings, actions). The nested schema is rich in its own definitions, but the top-level fields (csd, theme, title, api_base, sections, description) get no additional meaning from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action on a specific resource: composing a live PCC dashboard and rendering it as an interactive MCP App from a DashboardManifest. It is clear what the tool does, but it never names or distinguishes itself from close siblings like get_dashboard, save_dashboard, update_dashboard, or pcc_generate_ui.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no routing against alternatives. An agent cannot tell from the description whether this persists a dashboard (as save_dashboard might) or merely renders one, nor when to reach for it versus fork_dashboard or get_dashboard.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_pcc_dashboard_irB
Read-onlyIdempotent
Inspect

Compose a live PCC dashboard rendered through the closed, PCC-owned IR (read-only). Pass a DashboardManifest; it renders as an interactive MCP App via the audited closed-IR render path.

ParametersJSON Schema
NameRequiredDescriptionDefault
csdYesThe builtin CSD URI this manifest conforms to.
themeNo
titleYes
api_baseNoGateway base URL. Default https://capability.network.
sectionsYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
manifestYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and closed-world, so the safety profile is covered. The description adds that rendering flows through an 'audited closed-IR render path' and produces an 'interactive MCP App', which is useful context, but it omits the behavioral constraints that actually bite: the 256KB manifest cap and the no-credential refine enforced only by gateway Zod.

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 the core action first and the render path second. Slight redundancy in repeating the 'closed ... IR' / 'closed-IR render path' idea twice, but no wasted sentences.

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?

An output schema exists, so return values needn't be explained. But for a tool whose input is a 256KB-capped, credential-refined manifest validated by an authoritative Zod schema, the description says nothing about validation failure modes, the no-API-key rule, or that Zod (not this JSON-Schema) is the final gate. Adequate but thin relative to task complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% and the description adds essentially nothing beyond 'Pass a DashboardManifest', which merely restates the schema's own type. The offsetting factor is that the schema itself is extremely rich (nested const/enum/description on csd, api_base, Binding, Action, ComposeRequest), so the heavy lifting is done there, leaving this at the baseline 3.

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 ('Compose a live PCC dashboard') and identifies the render path ('closed, PCC-owned IR'), which meaningfully distinguishes it from the near-identical sibling render_pcc_dashboard. However, it never names that sibling explicitly, so the agent must infer the closed-IR-vs-other-IR 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?

No guidance on when to choose this over render_pcc_dashboard, no prerequisites, and no mention of the manifest validation gate the caller must satisfy. The agent is left to infer usage entirely from the name suffix and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reply_to_support_threadAInspect

Reply to an existing support thread. Use when the operator wants to add information to a thread started earlier. Needs the threadId from check_support_replies or the original send_support_message response.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesReply message
threadIdYesThread ID to reply to
retrievalCodeNoOptional diagnostic retrieval code to attach

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the mutation and safety profile are already known. The description adds the useful prerequisite of where to obtain threadId, but it does not disclose permissions, visibility, rate limits, or what the reply affects beyond creating a message. With annotations covering safety, this is adequate context but not rich behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action, followed by usage guidance and the key prerequisite. There is no filler; every sentence contributes directly to correct invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-parameter mutation tool with annotations and no output schema, the description covers purpose, usage context, and how to obtain the required threadId. It omits return behavior or visibility details, but given the tool's simplicity and the annotations, it is largely complete for correct selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema for threadId by specifying it must come from check_support_replies or the original send_support_message response, which is useful semantic guidance for a required parameter. The other parameters (message, retrievalCode) receive no extra explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Reply to an existing support thread.' It distinguishes from siblings by naming check_support_replies and send_support_message as sources for the required threadId, so an agent can tell it apart from tools that start or read threads.

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 clear condition for use: 'Use when the operator wants to add information to a thread started earlier,' and specifies that the threadId must come from check_support_replies or the original send_support_message response. However, it does not explicitly state when not to use it or route to an alternative for starting a new thread.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

report_anomalyBInspect

Report a detected anomaly — protocol failure, evidence mismatch, stuck job, or suspicious behavior. All agents on the network are notified.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdNoRelated job ID (optional)
categoryYesAnomaly category
severityYesAnomaly severity
descriptionYesHuman-readable description of what went wrong
targetAgentIdNoAgent or kernel ID being reported (optional)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, and the description adds that all agents on the network are notified, a meaningful broadcast side effect. It does not describe permissions, rate limits, notification persistence, or whether the report can be retracted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste, front-loading the verb and resource. The example list efficiently scopes the tool without bloating the definition.

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 five-parameter report tool with full schema coverage and safety annotations, the description covers the core purpose and the network-wide notification effect. It leaves sibling differentiation and detailed severity/category semantics to the schema, which is mostly adequate but not fully 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 description coverage is 100%, so the schema already documents all five parameters and both enums. The description names some anomaly types but omits several enum values and adds no additional syntax or meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Report a detected anomaly') and gives examples that clarify scope. It does not explicitly distinguish itself from the sibling report_protocol_failure, which overlaps with one listed example category.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides only implied usage from 'Report a detected anomaly.' It gives no explicit when-to-use guidance, no exclusions, and does not mention alternatives such as report_protocol_failure, get_unresolved_anomalies, or resolve_anomaly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

report_protocol_failureAInspect

Report a protocol failure — when a step in the evidence/escrow/verification pipeline breaks. System may auto-recover.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdNoRelated job ID
protocolYesWhich protocol failed: evidence_submission, escrow_release, verification_consensus, settlement
errorCodeYesError code
errorMessageYesError description
involvedAgentsYesAgent IDs involved
recoveryActionNoSuggested recovery

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so safety is partly covered. The description adds a genuinely non-obvious behavioral fact — "System may auto-recover" — telling the agent that filing a report does not guarantee human/agent intervention. It stops short of describing idempotency, required authorization, or what happens after submission.

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 compact sentence pair with the core action front-loaded and the qualifying scope immediately after. No filler, no restatement of the tool name.

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 write tool with no output schema and six fully documented parameters, the description covers the essential trigger. It is missing what happens to the report (auto-recovery path, escalation), whether calls are idempotent, and how it differs from report_anomaly — gaps that matter for a failure-reporting tool in a crowded sibling set.

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%, with all six parameters documented including the protocol enum values and the recoveryAction enum. The description adds no parameter-level meaning 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 and resource ("Report a protocol failure") and scopes it to failures "when a step in the evidence/escrow/verification pipeline breaks." That is enough to separate it from generic telemetry tools, but it never distinguishes it from the close sibling report_anomaly, which an agent could easily confuse with it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an implied trigger condition (a broken pipeline step), which is more than nothing, but it offers no when-not guidance and no routing between this tool and alternatives like report_anomaly, send_diagnostics, or dispute_verification.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_anomalyBInspect

Mark an anomaly as resolved with a resolution note.

ParametersJSON Schema
NameRequiredDescriptionDefault
anomalyIdYesAnomaly ID to resolve
resolutionYesHow the anomaly was resolved

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the agent already knows this is a non-destructive write. The description adds that a resolution note accompanies the state change, but says nothing about reversibility, idempotency, required permissions, or whether re-resolving an already-resolved anomaly is allowed – reasonable context gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single ten-word sentence with no filler; the mutation and its accompanying input are front-loaded. It is efficient, though it is so short that it leaves no room for the usage/behavioral context a mutation tool benefits from.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter mutation with a fully documented schema, no output schema, and annotations covering the safety profile, the description covers what the agent needs to invoke it. Minor gaps (irreversibility, permission requirements, post-resolution effects) are not fatal at this complexity level.

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 both parameters (anomalyId, resolution) are documented in the schema itself. The description's phrase 'resolution note' adds slight framing but no format, length, or required-ness detail beyond what the schema already provides. 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+resource: 'Mark an anomaly as resolved with a resolution note.' An agent can tell this mutates a specific anomaly's state. It does not, however, explicitly distinguish itself from siblings like get_unresolved_anomalies, report_anomaly, or get_anomaly_stats, which is the only thing keeping it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no alternatives named. The natural pairing with get_unresolved_anomalies (fetch unresolved, then resolve) and the boundary with report_anomaly are left entirely for the agent to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

respond_to_verificationBInspect

Submit a verifier's verdict for a verification request. Returns consensus state after this vote.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoOptional notes explaining the verdict
verdictYesVerifier's verdict
requestIdYesVerification request ID (hvreq_...)
signatureYesCryptographic signature of the verdict
verifierIdYesVerifier node ID

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=false and destructiveHint=false, so the mutation profile is known. The description adds the useful behavioral fact that the call returns consensus state after the vote, but omits whether the verdict is final, whether a signature is required for authorization, and whether re-submission is possible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences with no filler; the action is front-loaded and the return-value note follows. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description partly compensates by naming the returned consensus state, but it does not enumerate possible consensus outcomes or describe authorization expectations for a signed write. Adequate but with clear gaps for a state-mutating verification tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with required fields requestId, verifierId, verdict (enum), and signature all documented in-schema, so baseline is 3. The description adds no parameter-level meaning beyond noting that a verdict is submitted.

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 and resource ('Submit a verifier's verdict for a verification request'), which clearly distinguishes it from read-side siblings like get_verification_status and get_verification_assignments. It does not explicitly differentiate from dispute_verification or submit_for_human_verification, but the core action is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent must infer from the name that this is the step following get_verification_assignments, and nothing tells it when this is inappropriate versus disputing or escalating to human verification.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resume_protocol_runAInspect

Resume a paused protocol run from where it stopped.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesProtocol run ID to resume

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, non-destructive mutation, so the safety profile is covered externally. The description adds the meaningful behavioral detail that execution continues from the stop point rather than restarting, but says nothing about failure modes, whether the run must be paused, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence with zero filler, front-loading the verb and resource and immediately qualifying the target state. Nothing could be trimmed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one required, fully described parameter, annotations covering the safety profile, and no output schema to explain, the description is nearly sufficient for correct invocation. It could be more complete by stating what happens if the run is not in a paused state, but no critical information 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?

There is a single parameter with 100% schema description coverage ('Protocol run ID to resume'), and the description adds no syntax, format, or sourcing detail beyond that. Per the rubric, a fully documented single-parameter schema establishes a baseline of 3.

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 (resume) and resource (protocol run) plus the key precondition scoping (a paused run) and the point of resumption (from where it stopped). It is meaningfully distinct from pause_protocol_run/cancel_protocol_run/start_protocol_run, though it never names those siblings to disambiguate choice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'paused protocol run' implies the condition under which this tool applies, which is useful implicit guidance. However, there is no explicit when-to-use vs. when-not (e.g. what to do if the run is not paused or already completed) and no mention of alternatives like start_protocol_run.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retrieve_ipfsA
Read-only
Inspect

Retrieve raw data from IPFS by CID. Used to fetch archived evidence bundles from decentralized storage.

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesIPFS content identifier (CID)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe-read profile is covered. The description adds only that the data is raw and stored decentrally; it says nothing about response size, latency/timeouts, missing-CID failure behavior, or whether retrieval is pinned/cached.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, the core action front-loaded, and not a word of filler. Everything present earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only retrieval tool with full schema coverage and annotations, the description is close to sufficient. The main remaining gap is ambiguity versus bundle-oriented siblings, but nothing essential for correct invocation 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% and the single parameter (cid) is already documented as 'IPFS content identifier (CID)'. The description adds an implied 'by CID' but no format, encoding, or CIDv0/CIDv1 detail beyond the schema, so 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+resource: 'Retrieve raw data from IPFS by CID', which is unmistakably a fetch-by-identifier operation. It does not, however, differentiate itself from siblings like get_bundle_ipfs or get_evidence_bundle, which sound like overlapping retrieval paths.

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?

'Used to fetch archived evidence bundles from decentralized storage' implies the intended context, but there is no statement of when to prefer this over get_bundle_ipfs or other bundle-retrieval siblings, and no exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

revoke_api_keyA
Destructive
Inspect

Revoke an API key permanently. The key will immediately stop working. You must own the key. Use list_api_keys to find the key ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyIdYesKey ID to revoke (from list_api_keys)

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructive=true, and the description adds detail beyond that: 'permanently' and 'the key will immediately stop working' quantify the blast radius and timing. It also adds an authorization constraint ('You must own the key') that annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, no filler. Effect is front-loaded ('permanently', 'immediately stop working') before the prerequisites and discovery hint.

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 single-parameter destructive tool with no output schema, the description covers effect, permanence, ownership requirement, and how to obtain the input. Nothing an agent needs in order to call it safely 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?

Only one parameter, and the schema already documents it (keyId, from list_api_keys) at 100% coverage. The description reinforces the provenance of the ID and the ownership requirement, adding marginal value on top of the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (revoke) plus resource (API key) plus scope qualifier ('permanently'). An agent can distinguish this from provision_api_key or list_api_keys without opening the schema. No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit prerequisites ('You must own the key') and explicit discovery route ('Use list_api_keys to find the key ID'). Names the sibling that supplies the required input, which is exactly the routing an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_dashboardAInspect

Save a generated dashboard to the network so the user gets a live, shareable URL: https://capability.network/a/. Pass a manifest — a small declarative DashboardManifest (windows + live-data bindings + actions) conforming to the schema at https://capability.network/ui-kit/v1/manifest.schema.json; the shipped pcc-ui kit renders it identically everywhere (you compose the manifest, the kit renders it — never hand-rolled HTML). WHEN to call this: only when the task needs a surface to watch/approve/compare/reuse (a live job, a value chain, a settlement trail, a recurring order) — never for a one-line answer. RECALL FIRST: call search_dashboards before generating; reload or fork a match instead of duplicating. The manifest MUST NOT contain an API key (a shared artifact travels with its contents — the network rejects one that does). Returns the stored artifact incl. its slug. Defaults visibility to 'unlisted' (link-shareable, not listed).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesShort human name for the dashboard, e.g. 'Watch my pizza + courier'. Used to mint the slug.
manifestYesThe DashboardManifest (2-6KB JSON) conforming to https://capability.network/ui-kit/v1/manifest.schema.json. Required top-level keys: `csd` (must be 'pcc://artifacts/dashboard/v1'), `title`, and `sections[]` (each section has `windows[]`). Window kinds: note, metric, capability, list, form, run, approval, receipt, chain, actions. Bindings point at live routes you already use (/api/jobs/:id, /api/escrow/:id, /sse/stream/job/:id). No API key anywhere in the manifest.
visibilityNoWho can load it. Default 'unlisted' (anyone with the link; not in listings). 'public' appears in search_dashboards; 'private' is owner-only.
composeRefsNoOptional pinned, re-plannable ComposeRequest objects (value chains). Pin the request, never a compositionId (those expire in 30 min).
descriptionNoOne-line description of what the dashboard shows.
renderedCidNoOptional CID of a rendered-HTML export saved via /api/storage.
capabilityTypesNoCapability types this dashboard is about, e.g. ['pizza.order','courier.dispatch']. This is the discovery join — it's how search_dashboards finds this artifact later.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
slugNo
manifestYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare a non-destructive write; the description adds real behavior beyond that: the network rejects manifests containing an API key, visibility defaults to 'unlisted', and the response includes the stored artifact with its slug. It does not cover rate limits or what happens on name collisions when minting the slug.

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?

Purpose and URL format are front-loaded, then WHEN, then RECALL FIRST, then constraints and defaults. Dense but every clause carries guidance; only minor overlap with the schema descriptions on the manifest.

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?

Complete for a 7-parameter creation tool: an output schema exists so return-value detail is unnecessary, yet the description still notes the artifact/slug return, plus default visibility, key-handling constraint, and workflow ordering. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; however the description adds meaning beyond the schema by stating the manifest is composed by the agent and rendered by the pcc-ui kit ('never hand-rolled HTML') and that the manifest must never contain an API key. The remaining parameters are largely left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (save) and resource (dashboard) plus outcome: a live shareable URL of form https://capability.network/a/<slug>. It distinguishes itself from siblings by naming search_dashboards for recall and fork_dashboard implicitly via 'reload or fork a match instead of duplicating'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit WHEN to call (tasks needing a surface to watch/approve/compare/reuse) with an explicit exclusion ('never for a one-line answer'). Also mandates a recall-first workflow and names the alternative tool (search_dashboards) plus fork/reload as substitutes for duplication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_capabilitiesA
Read-only
Inspect

Search capability templates by type or keyword. Returns templates with pricing, assurance tiers, and availability.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (type name, material, process, etc.)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description goes beyond that by disclosing what comes back (pricing, assurance tiers, availability), which helps the agent judge result usefulness. It still omits pagination or result-count behavior, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, no filler. The action is front-loaded and the return-payload note follows logically. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only search with no output schema, the description covers both what to send and what comes back, which is most of what an agent needs. Minor gaps remain around result volume/pagination and whether the search domain is global or scoped.

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?

With 100% schema description coverage on a single 'query' parameter, the schema already documents the argument. The description adds only the loose hint that queries may be a type name, material, or process, which overlaps almost entirely with the schema's own text. 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 and resource ('Search capability templates') and narrows the scope with 'by type or keyword'. It does not explicitly differentiate itself from near-neighbors like list_capability_types or pcc_orchestrator_match_capabilities, so an agent must infer the boundary, but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the phrasing ('search ... by type or keyword'), which tells the agent the acceptable lookup modes. There is no explicit when-to-use vs. when-not, no mention of list_capability_types as the alternative for enumeration, and no prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_dashboardsA
Read-only
Inspect

Discover existing public dashboards before you generate a new one (recall-first — the library accrues; adopt > extend > build for UIs too). Filter by capabilityType (e.g. 'pizza.order'), free-text q over name/description/types, and sort by popularity or recency. Returns { entries, total, offset, limit }. Only public artifacts are listed; unlisted ones load by slug via get_dashboard but never appear here.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search over name, description, and capability types.
sortNoRanking: 'popular' (by use+load+fork counts) or 'recent' (default).
limitNoMax results (1..100, default 20).
offsetNoPagination offset (default 0).
capabilityTypeNoFilter to dashboards tagged with this capability type, e.g. 'pizza.order'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalNo
entriesYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely new behavior: only public artifacts are listed, and unlisted ones never appear here but load via get_dashboard — a scoping constraint the agent needs. It also discloses the return envelope, though pagination defaults are left to the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose and the recall-first rationale, then the filters and return shape. Dense but nearly all of it earns its place; the parenthetical marketing-ish phrasing ('adopt > extend > build for UIs too') is slightly self-indulgent but still conveys usage intent.

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?

An output schema exists, so return-value explanation is not required, and the description's brief '{ entries, total, offset, limit }' note is a bonus. The public-only scope and get_dashboard fallback round out what an agent needs; only pagination behavior is left entirely to the schema.

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 every parameter is already documented in the schema, including the capabilityType example and sort enum. The description restates the same filters and adds no syntax or format detail beyond what the schema provides, 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 (search/discover) and resource (existing public dashboards), and clearly differentiates from siblings: it points to get_dashboard for unlisted artifacts and contrasts with the generate/save/fork flow. An agent can distinguish it from get_dashboard or save_dashboard 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly frames when to use it ('before you generate a new one', recall-first, 'adopt > extend > build') and names the alternative path for the unlisted case (load by slug via get_dashboard). Both the when and the when-not are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_spacesB
Read-only
Inspect

Search for lab/workshop hosting spaces. Filter by size, access schedule, and other requirements.

ParametersJSON Schema
NameRequiredDescriptionDefault
accessNoAccess schedule (24/7, business-hours, all)
maxSqftNoMaximum square footage

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe-read profile is covered. The description adds only the domain (lab/workshop hosting) and that filtering is possible; it discloses nothing about result limits, pagination, or empty-result behavior, so it adds minimal value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler, and the core purpose is front-loaded. It is efficient, though it spends half its length restating filter facets already implied by the schema.

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-param read-only search with full schema coverage and clear annotations, the definition is adequate. It is incomplete only in omitting any note about result count, sorting, or pagination behavior, which for a search tool would be the one piece of context an agent could not derive elsewhere.

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 fully documented, and the description's mention of 'size' and 'access schedule' only loosely maps to maxSqft and access. 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Search for lab/workshop hosting spaces') and identifies the filterable facets. It is clear on its own, but it never distinguishes itself from the sibling match_spaces or get_space, so an agent must infer the routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this over match_spaces or get_space, nor any prerequisites. The reader must guess that this is a broad listing/filter operation while match_spaces is a pairing operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_diagnosticsAInspect

Upload an encrypted diagnostic bundle when the operator's node has problems. The bundle is encrypted client-side with a retrieval code the operator must share with support before logs can be read. Use this when the operator reports errors, crashes, or misbehavior. The pcc-node CLI runs pcc-node logs --send locally to collect+encrypt; prefer that path when available. This tool is for agent-driven uploads when the bundle is already prepared.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID the diagnostics came from
encryptedYesEncrypted bundle payload
bundleHashNosha256 of plaintext bundle
bundleSizeNoSize of encrypted payload in bytes
collectedAtNoISO timestamp when bundle was collected
logLineCountNoHow many log lines are in the bundle
systemPlatformNoe.g. Linux-5.15, Darwin-23, Windows-10

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false and destructiveHint=false, so the description earns real credit by disclosing that encryption is client-side, that the operator must share a retrieval code before logs are readable, and that this tool expects an already-prepared bundle. It does not mention size limits, upload failure behavior, or what the call returns, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each load-bearing: purpose first, encryption constraint second, trigger condition third, preferred CLI path and scope restriction last. No filler and the most decision-relevant information leads.

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?

Covers purpose, trigger, encryption semantics, and routing guidance for a 7-parameter nested-object tool with no output schema. The only omission is what happens after upload (bundle ID, confirmation, or subsequent retrieval step), which an agent-driven flow would benefit from knowing.

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 (kernelId, encrypted plus its nested ciphertext/iv/tag/salt fields, bundleHash, bundleSize, collectedAt, etc.) is already documented in the schema. The description references the node and encryption concept but adds no format, unit, or syntax detail beyond that, 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 ('Upload an encrypted diagnostic bundle') plus the triggering condition ('when the operator's node has problems'). This distinguishes it from near-neighbors like archive_encrypted_bundle and pcc_capture_upload 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('operator reports errors, crashes, or misbehavior'), an explicit preferred alternative ('the pcc-node CLI runs `pcc-node logs --send` locally... prefer that path when available'), and an explicit when-not ('agent-driven uploads when the bundle is already prepared'). This is the full when/when-not/alternative triad.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_support_messageAInspect

Send an operator support message to the PCC team. Creates a new support thread or appends to the operator's existing open thread. Can optionally attach a diagnostic retrieval code (from send_diagnostics) so support staff can decrypt logs. Discord webhook fires on every new message, so expect fast response. Use this whenever the operator says something is broken, confusing, or not behaving as expected.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe support message text — describe the problem concretely
subjectNoOptional thread subject (auto-generated from message if omitted)
kernelIdYesOperator's kernel ID
kernelNameNoHuman-readable kernel name
systemInfoNoOptional system context (platform, nodeVersion, daemonRunning, gatewayReachable)
retrievalCodeNoOptional diagnostic retrieval code to attach (from send_diagnostics)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a non-read-only, non-destructive write operation. The description adds useful behavioral context: new-thread vs. append semantics, an external Discord webhook notification on every message, and the fact that an attached retrieval code lets support decrypt logs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and remains reasonably concise across five sentences. Each sentence contributes some context, though the fast-response note is less essential than the thread and retrieval-code 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?

For a support-messaging tool with no output schema, the description covers purpose, thread behavior, optional diagnostic attachment, and expected response speed. It could mention follow-up mechanisms such as check_support_replies, but it is otherwise complete enough to invoke the tool 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 coverage is 100%, so the schema already documents all six parameters, including the retrievalCode source and message purpose. The description adds marginal value for retrievalCode by explaining that support staff can use it to decrypt logs, but it does not add meaningful semantics for the other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: sending an operator support message to the PCC team. It also clarifies the thread behavior (creates a new thread or appends to an existing open thread), which distinguishes it from sibling tools like reply_to_support_thread and check_support_replies.

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 clear triggering guidance: use whenever the operator says something is broken, confusing, or not behaving as expected. It also names send_diagnostics as the source of an optional retrieval code, but it does not explicitly mention alternatives such as check_support_replies for reading replies or reply_to_support_thread for responding in-thread.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_detectA
Read-only
Inspect

Auto-detect current setup state: env vars, database, adapters, chain connectivity, storage, identity. Use this to see what's configured and what's missing before onboarding.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the non-mutating safety profile is covered. The description adds value by specifying the six things it inspects, but says nothing about permissions/auth needs, whether detection triggers network calls to the chain, or side effects. Adequate with annotations, but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences, front-loaded with the primary action and a compact enumeration of the detected domains, followed by a single usage cue. No filler, no repetition of the name. Efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameters, the description carries the burden of describing what a caller gets back. "See what's configured and what's missing" gestures at the result but does not characterize the return shape (e.g., per-domain status object, boolean flags). Sufficient to call it correctly, but thin on result expectations.

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 there is nothing for the description to disambiguate beyond what the empty schema conveys. Baseline of 4 applies; there is no param-level meaning the description could usefully add.

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 (auto-detect) and resource (current setup state), then enumerates the exact domains checked: env vars, database, adapters, chain connectivity, storage, identity. An agent immediately understands the scope. It does not explicitly distinguish itself from adjacent siblings like setup_status or setup_validate, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use this to see what's configured and what's missing before onboarding" gives clear timing/context for when to reach for it. However, it names no alternatives (e.g., setup_status for a read-only summary vs setup_validate for verifying correctness) and provides no when-not guidance, so routing between the setup_* siblings is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_generate_configBInspect

Generate a KERNEL_CONFIG JSON from device descriptions. Tell it what machines you have and it produces the config ready to paste into your environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
devicesYesArray of device descriptions with type, model, and connection info

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the safety profile is known. The description adds that the output is a paste-ready config, but doesn't clarify whether anything is persisted server-side or what happens on malformed device input. Partial context beyond the annotations, hence a middling score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, purpose front-loaded with the artifact named first. Slight conversational filler ('Tell it what machines you have') but nothing 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?

For a one-parameter generation tool with full schema coverage and no output schema, the description covers the input intent and the produced artifact. Minor gap: no mention of the config's expected shape or whether invalid device entries fail the call.

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% for the single 'devices' parameter, and the schema already documents it as an array of device descriptions with type, model, and connection info. The description adds only a colloquial restatement ('what machines you have'), so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (generate) and a concrete artifact (KERNEL_CONFIG JSON) from device descriptions. An agent can tell what it produces, though it doesn't explicitly distinguish itself from nearby setup siblings like setup_register_device or create_kernel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence implies usage ('Tell it what machines you have'), but there is no when-to-use guidance relative to the many setup_* and kernel_* siblings, and no stated prerequisites or ordering constraints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_register_deviceAInspect

Register a device in the database with adapter config and capabilities. Part of Step 3 in the onboarding flow. Required: kernelId, deviceId, type and adapterType (400 missing_required_fields otherwise).

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesDevice role: machine, sensor or camera (the values setup_generate_config and setup_validate accept)
modelNoDevice model identifier (optional; stored as "unknown" if absent)
deviceIdYesYour ID for this device, unique within the kernel
kernelIdYesKernel ID to register the device under
adapterTypeYesOne of octoprint, modbus, opcua, sila, ipp, generic-http or mock; the route refuses anything else (including opentrons)
capabilitiesNoCapability types this device serves
adapterConfigNoAdapter-specific configuration (host, port, auth, etc.)

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 and destructiveHint=false, so the mutation/safety profile is known. The description adds error behavior for missing required fields ("400 missing_required_fields"), but does not cover auth requirements, duplicate deviceId handling, or idempotency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with purpose, then onboarding context, then required fields. No redundant or filler content.

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 7-parameter nested registration tool with annotations and no output schema, the description supplies purpose, onboarding step, and required-field error behavior. It could mention downstream activation/approval or duplicate handling, but it is largely complete for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each property documented, including allowed adapterType values. The description only repeats required parameter names and the missing-fields error, adding no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb and resource ("Register a device in the database") plus scope (adapter config and capabilities). It does not explicitly distinguish itself from setup_validate, setup_generate_config, or other registration siblings, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear onboarding context ("Part of Step 3 in the onboarding flow"), but no explicit when-not guidance or alternatives among the setup_* and registration tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_statusA
Read-only
Inspect

Comprehensive setup status across 6 categories: gateway, database, adapters, chain, storage, identity. Use to confirm everything is green before going live.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds the six category scope and go-live intent, but does not describe return structure, freshness, or failure modes; thus it provides some but not 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences: the first specifies the tool's output scope, the second its use case. No redundant or filler content; structure is optimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema) and annotations covering safety, the description supplies sufficient context: which categories are checked and when to use it. It stops short of describing the return format (e.g., per-category pass/fail) or freshness, but that is a minor 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?

The tool has zero parameters, so there are no parameter semantics to clarify. The description appropriately does not discuss parameters, but neither does it need to; a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it provides comprehensive setup status across six named categories and its purpose (pre-launch confirmation). However, it does not differentiate itself from sibling setup_validate or setup_detect, leaving ambiguity about when to choose this over those.

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?

Provides a clear usage context: confirming all systems are green before launch. No explicit exclusions or comparisons to sibling setup tools like setup_validate, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_test_jobAInspect

Submit a test job to verify the full pipeline works end-to-end (Step 4 of onboarding). Returns job ID and result.

ParametersJSON Schema
NameRequiredDescriptionDefault
deviceIdNoSpecific device ID to test (optional)
kernelIdYesKernel ID to test

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write-but-safe profile is covered. The description adds the return content (job ID and result) but does not disclose whether the test job consumes quota/cost or has side effects on the pipeline state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action and goal, and the second sentence usefully covers the return value. Nothing extraneous.

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 two-parameter, non-destructive mutation tool with full schema coverage and no output schema, the description gives the essential action, onboarding position, and a return summary. It is nearly complete, missing only side-effect/cost context.

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 both parameters (kernelId, deviceId) are already documented in the schema, including the optionality of deviceId. The description adds no syntax or format 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 (Submit) and resource (test job) plus the pipeline-verification goal, and anchors it as 'Step 4 of onboarding', which distinguishes it from get_job/list_jobs. It does not explicitly contrast with the other setup_* siblings, but the purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The '(Step 4 of onboarding)' note implies when in the sequence this is called, giving usable context. However, it never states prerequisites or when NOT to use it versus setup_validate/setup_detect/setup_status, leaving the agent to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_validateBInspect

Validate a kernel config (20+ checks: JSON structure, device connectivity, adapter compatibility). Returns validation errors and warnings.

ParametersJSON Schema
NameRequiredDescriptionDefault
configYesKernel config JSON to validate

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so safety is covered, and the description adds that the call returns errors and warnings plus the breadth of checks (20+). Notably it does not explain why a validation tool is flagged non-read-only (e.g., live device connectivity probing), leaving a small behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the action and check scope front-loaded. Nothing is wasted, though it is thin rather than deliberately minimal.

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 nested-object input with no output schema, the description helpfully states the return shape (errors and warnings), which compensates for the missing output schema. It still omits any linkage to how the config is produced or what a passing result means before registration, so an agent must infer the workflow position.

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% for the single nested config parameter, so the schema already carries the semantics; the description adds no format or shape detail beyond calling it a 'kernel config JSON'. 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (Validate) and resource (kernel config) and enumerates the check categories covered (JSON structure, device connectivity, adapter compatibility). It does not, however, distinguish itself from setup_detect, setup_test_job, or setup_status, which sit in the same setup_* family.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus siblings such as setup_generate_config, setup_test_job, or setup_register_device. Usage is only inferable from the tool name, which is the bare minimum an agent could guess without a description at all.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stake_in_poolCInspect

Stake USDC or credits into a capability investment pool.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to stake
poolIdYesInvestment pool ID
stakerYesAddress or DID of the staker

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false and destructiveHint=false. The description adds the accepted asset types but says nothing about whether the stake is locked, whether it is reversible, whether a token allowance/approval is required first (a get_token_allowance sibling exists), or what the caller gets back. For a fund-moving mutation this leaves important behavior undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though its brevity comes at the cost of the behavioral and usage detail noted elsewhere rather than being a deliberate compression of richer content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutation tool that moves funds with no output schema and thin annotations should do more work in the description. It omits lockup/unstake semantics, approval requirements, and any note about the resulting position, leaving the agent under-informed for a value-transferring call.

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 poolId, staker, and amount are already documented, giving a baseline of 3. The description's 'USDC or credits' marginally clarifies the unit/asset of the amount parameter, but adds no format, bound, or approval details.

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 (Stake) and resource (capability investment pool) and names the accepted asset types (USDC or credits). It does not, however, distinguish itself from adjacent money-movement siblings such as deposit_bond, fund_escrow, or claim_pool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of alternatives such as funding an escrow or depositing a bond instead. An agent must infer from the name alone when staking is the right call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_protocol_runAInspect

Start execution of a protocol run that is in 'ready' or 'binding' state.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesProtocol run ID to start

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 and destructiveHint=false, so the safety profile is covered. The description adds the important precondition that the run must be in a specific state, which is useful behavioral context, but it does not disclose side effects, idempotency, or what happens after start.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that communicates the action and its precondition with zero waste. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter mutation tool with annotations covering safety, the description covers the action and critical precondition. It lacks details about asynchronous behavior or return format, but no output schema exists and the essential invocation criteria are present.

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%, with runId documented as 'Protocol run ID to start'. The description adds no further meaning beyond what the schema provides. 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Start execution') and resource ('protocol run'), and adds a state constraint ('ready' or 'binding'). It does not explicitly name or distinguish itself from siblings like resume_protocol_run or cancel_protocol_run, but the action is clear enough for an agent to identify the tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides an explicit precondition for use: the run must be in 'ready' or 'binding' state. This is clear usage context, though it does not name alternatives or state when not to use the tool (e.g., paused or running runs), so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_attestationAInspect

Submit a verifier attestation for a milestone on-chain. Used by third-party verifiers (Bittensor subnet) to confirm evidence quality. Returns transaction hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEscrow contract address (0x...)
milestoneIndexYesMilestone index (0-based)
attestationHashYesAttestation hash as 0x-prefixed hex bytes32

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 and destructiveHint=false, so the write-but-not-destructive profile is covered. The description adds that the submission is on-chain and returns a transaction hash, but omits prerequisites such as verifier assignment/authorization and whether an attestation can be replaced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each front-loading a distinct fact: the action, the authorized actor, and the return value. No filler or redundancy.

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?

Covers action, actor, scope and return value, which is most of what an agent needs for a 3-param on-chain write, and no output schema exists to carry return details. It could still be stronger on authorization prerequisites for verifiers.

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 all three parameters are individually documented (escrow address, 0-based milestone index, bytes32 attestation hash). The description adds no parameter 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (submit a verifier attestation for a milestone), scopes it on-chain, and names the actor (third-party Bittensor-subnet verifiers). It is distinguishable from sibling writes like submit_evidence_hash or respond_to_verification, though it doesn't explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context is given: it is used by third-party verifiers to confirm evidence quality, which tells an agent whether it is the right caller. No explicit when-not or named alternative is provided, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_demandAInspect

Signal that you want a capability that doesn't exist on the network yet. Creates a demand signal and may auto-create a bounty if enough demand accumulates.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesDescription of what you need
requesterIdYesID of the requester
assuranceTierNoRequired assurance tier (0-3)
capabilityTypeYesType of capability wanted (e.g. electron-beam-welding, cryo-em)
estimatedJobValueNoEstimated payment per job in USD
estimatedFrequencyNoHow often you would use this capability

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare this is a non-read-only, non-destructive write. The description adds a valuable behavioral side-effect: it 'may auto-create a bounty if enough demand accumulates,' which the agent cannot infer from annotations alone. It omits auth/permission requirements and rate behavior, keeping it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the purpose before the side-effect caveat. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers purpose and the auto-bounty side-effect but says nothing about what the caller receives (e.g. confirmation, demand ID, or threshold status). Adequate but with a clear gap around outcomes and the accumulation threshold.

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% with 6 well-described parameters, so the schema already carries the parameter burden. The description adds no parameter-level detail (e.g. how assuranceTier or estimatedFrequency influence auto-bounty creation), 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 (signal/submit) and resource (a demand for a capability that doesn't exist), which is a distinct concept from create_capability or search_capabilities. It does not explicitly name a sibling to differentiate against, 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?

The phrase 'a capability that doesn't exist on the network yet' gives a clear condition for when this tool applies, implicitly distinguishing it from searching existing capabilities. It does not name explicit alternatives or exclusions, so a 4 rather than 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_evidence_hashAInspect

Submit an evidence bundle hash for a milestone on-chain. Links the physical evidence to the on-chain settlement record. Returns transaction hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEscrow contract address (0x...)
milestoneIndexYesMilestone index (0-based)
evidenceBundleHashYesEvidence bundle hash as 0x-prefixed hex bytes32

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare a non-read, non-destructive write. The description adds real context beyond that: the operation is on-chain, it links physical evidence to the settlement record, and it returns a transaction hash. It still omits reversibility and permission requirements, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action, then the effect, then the return. No filler; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-required-param write tool with annotations and no output schema, it covers the action, effect, and return value, which is most of what is needed. It omits prerequisites and failure conditions (already-submitted milestone, invalid hash), leaving a gap for a settlement-critical mutation.

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 address, milestoneIndex, and evidenceBundleHash are fully documented in the schema. The description adds no syntax or format detail beyond it, which is the expected baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: submits an evidence bundle hash tied to a milestone on-chain. The 'on-chain settlement record' linkage makes the effect concrete. It does not explicitly distinguish itself from near-neighbors such as commit_evidence or register_job_evidence_ip, so it stops short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the purpose (attach an evidence hash to a milestone's settlement) but there is no explicit when-to-use, prerequisite (e.g., milestone must be active/unfunded), or named alternative among the many evidence-related siblings. Minimum viable guidance only.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_feedbackCInspect

Submit a bug report, suggestion, or general feedback about the PCC network.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage or feature the feedback relates to
typeNoFeedback type
messageYesFeedback message (max 5000 chars)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write-but-non-destructive profile is covered. The description adds nothing beyond that - no mention of authentication needs, rate limits, whether submissions are public, or what happens after submission. For a mutation tool it should disclose more.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the purpose is stated immediately. It is efficient, though minimal relative to what the tool could usefully explain.

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 three-parameter tool with a required message, full schema coverage, and annotations covering the safety profile, the description is minimally sufficient. It is missing any routing guidance against sibling reporting tools, which is the main contextual 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 page, type, and message including the enum values and the 5000-char cap. The description loosely mirrors the type enum ('bug report, suggestion, general feedback') but adds no syntax, format, or constraint detail 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Submit) and resource (feedback about the PCC network) and enumerates the kinds of feedback accepted (bug report, suggestion, general feedback). It is clear what the tool does, but it does not differentiate itself from nearby siblings such as pcc_report or send_support_message that could also carry user-submitted reports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this tool over alternatives like pcc_report, send_support_message, or report_anomaly, and no stated preconditions. The agent must infer usage purely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_for_human_verificationAInspect

Submit an evidence bundle for human verification. Selects a panel of verifiers from the network and returns assigned verifier IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
photoRefYesReference to the photo evidence (CID or URL)
bundleHashYesSHA-256 hash of the evidence bundle
referenceRefYesReference to the reference/spec document
verifierCountNoNumber of verifiers to assign (default 5)
comparisonScoreNoPre-computed comparison score 0-1 (optional)

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations mark it as non-read-only and non-destructive, and the description adds substantive behavior beyond that: submission triggers selection of a real verifier panel from the network and returns assigned verifier IDs. It stops short of disclosing cost, whether the submission is final/irreversible, or timing expectations for verification.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, zero filler, and the action plus its consequence are front-loaded. Nothing is repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

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 usefully states the return value (assigned verifier IDs), and it covers the side effect of network-side panel selection for a mutation tool. Missing prerequisites, cost, and finality keep it from being fully 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 description coverage is 100% with five well-documented parameters, so the schema already carries the parameter burden. The description adds no format, constraint, or interpretation detail beyond what the schema states, which is the expected baseline when coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Submit an evidence bundle') and goes further with the second sentence describing the panel-selection effect, which distinguishes it from evidence-storage siblings like submit_evidence_hash. It never names a sibling tool explicitly, so differentiation is inferential rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when this tool should be used versus respond_to_verification, dispute_verification, verify_evidence_zk, or commit_evidence. No prerequisites are stated either (e.g. whether the bundle must already be committed or the photo already uploaded), leaving the agent to infer the workflow position.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_csd_templatesA
Read-only
Inspect

Bidirectional onboarding: the registry talks back. Describe in plain English what you are trying to set up — 'wood-fired pizza shop in SF', 'Opentrons OT-2 liquid handler', 'same-day SF courier' — and the registry returns N candidate Capability StructureDefinition (CSD) templates ranked by keyword-overlap relevance (name×3, tags×2, description×1; tie-break on usage). Empty query falls back to popularity-ordered top picks. After picking one, pass the chosen type to pcc-author-integration. Score-zero results are dropped.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoPlain-English description of the capability the user is trying to set up. Optional — empty falls back to popularity.
kindNoFilter by CSD kind.
limitNoMax results (1..20, default 5).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly true, non-destructive), so the description can spend its budget on behavior — and it does: ranking weights, tie-break rule, score-zero dropping, and popularity fallback for empty input. It stops short of return-shape/pagination detail, but the added ranking semantics are genuinely non-obvious.

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, but the opener 'Bidirectional onboarding: the registry talks back' is tonal filler rather than specification, and the description is long for three optional parameters. The ranking-weight parenthetical is the one dense detail that earns its place; the rest 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?

With no output schema, the description carries the return burden and does disclose the ranked candidate list, tie-break, and dropped zero-score results, which is adequate for a search tool. Missing only item-level field detail or result-count/limit interaction, a minor gap for a read-only discoverer.

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 is 3, and the description earns an extra point by explaining that q is matched against name (×3), tags (×2), and description (×1) — meaning the agent knows what kind of text will actually match. It also clarifies that empty q falls back to popularity, which the schema hints at but doesn't fully explain.

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 — suggest candidate CSD templates from a plain-English query — and gives concrete example queries. An agent can distinguish it from sibling lookups like get_popular_csd_templates or search_capabilities 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?

Explains the intended context (onboarding, describe what you're trying to set up) and the fallback for an empty query, and routes the agent forward ('pass the chosen type to pcc-author-integration'). It does not explicitly contrast itself with the sibling get_popular_csd_templates, which is implied only via the empty-query fallback.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

system_telemetryB
Read-only
Inspect

Raw system state dump — actual DB rows for kernels, devices, jobs, evidence, registrations, capabilities, agent conversations, audit log. No fake numbers, no summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context that the output is raw, unsummarized DB rows rather than aggregates, but says nothing about the volume of a full-system dump, pagination, filtering, permissions, or cost — meaningful gaps for a tool that returns broad system state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with what the dump contains and ending with the 'no fake numbers' qualifier. Efficient, though the second sentence leans slightly promotional rather than informational.

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 bears some burden for describing return content; it enumerates the entity types returned, which is helpful. However, it omits return format, size/volume expectations, and whether the dump is paginated or bounded, which matters for a whole-system read.

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 and schema description coverage is 100%, so there are no parameter semantics to explain. Baseline 4 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 resource and scope ('raw system state dump — actual DB rows for kernels, devices, jobs, evidence, registrations, capabilities, agent conversations, audit log'), which tells an agent precisely what data this returns. It does not, however, name or differentiate itself from the many sibling readers (get_telemetry_logs, get_active_telemetry, get_telemetry_stats, emit_telemetry), so an agent cannot infer routing from the text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to choose this tool over the sibling telemetry/stats readers, nor any prerequisites or exclusions. The phrase 'No fake numbers, no summaries' only vaguely implies a preference for raw data over summarized tools without naming any alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test_operator_channelsAInspect

Fire a synthetic job at every enabled channel for an operator so the onboarding agent (and the human watching) can confirm the integration end-to-end before a real job lands. Returns per-channel dispatch results (delivered, ref, warnings).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesOperator slug.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false (it writes/dispatches) and destructiveHint=false (non-destructive). The description adds valuable behavioral context: it fires synthetic jobs at *every enabled channel* and returns per-channel dispatch results (delivered, ref, warnings). However, it doesn't disclose side effects on external systems, rate limits, or whether synthetic jobs appear in production logs — details an agent might need. With annotations covering the safety profile, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action. The second sentence efficiently lists return values. No redundancy or filler. Could arguably be slightly more concise, but it earns its length by conveying purpose, timing, and output shape.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with annotations and no output schema, the description covers purpose, usage context, and return structure (delivered, ref, warnings). This is close to complete. A minor gap is the lack of detail on what 'delivered' vs 'warnings' means or whether failures are per-channel or global, but overall the definition is sufficient 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?

Only one parameter (slug), and the schema already documents it completely ('Operator slug.') at 100% coverage. The description reinforces that the tool operates on a single operator's channels, which implicitly scopes the slug. No syntax or format details are added beyond what the schema provides, but with a single fully-documented parameter, the baseline is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Fire a synthetic job at every enabled channel for an operator'. The purpose — end-to-end integration testing before a real job — is unambiguous and clearly distinguishable from sibling tools like setup_test_job or list_operator_channels.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: 'so the onboarding agent (and the human watching) can confirm the integration end-to-end before a real job lands'. This establishes when to use it ('before a real job lands', during onboarding). It does not name explicit alternatives or when-not-to-use conditions, but the timing constraint is strong guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_dashboardAInspect

Modify a dashboard you own (owner-only). Replace the manifest or any metadata field; the version increments. Use this to edit a saved surface meaningfully — 'raise budgetUSD to 40', 'add a receipt window', 'make it public'. A replaced manifest must still conform to the schema and must not contain an API key. Only send the fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe id (ua_...) of the artifact to update.
nameNoNew name.
manifestNoReplacement DashboardManifest (must conform to the schema; no API key). Omit to leave the manifest unchanged.
visibilityNoNew visibility (e.g. flip 'unlisted' -> 'public' to list it).
composeRefsNoReplacement pinned ComposeRequest objects.
descriptionNoNew description.
renderedCidNoNew rendered-HTML export CID.
capabilityTypesNoReplacement capability-type tags.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
slugNo
manifestYes

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false; the description adds owner-only authorization, the version-increment side effect, manifest schema conformance plus the no-API-key constraint, and partial-update semantics ('Only send the fields you want to change'). This is exactly the behavioral context structured fields don't carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core scope and constraint, and the examples efficiently convey intent. Slight redundancy with the manifest constraint restated in the schema keeps it from a 5, but nothing 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?

For an 8-param mutation tool with nested objects and an output schema, the description covers ownership, side effects, constraints and the partial-update contract. Return values are covered by the output schema, so the remaining gap is minor.

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 every parameter. The description's manifest-conformance and API-key notes largely duplicate the schema text, and it adds no new syntax or format detail, 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?

'Modify a dashboard you own' gives a specific verb+resource plus an ownership scope, and the follow-up sentence specifies that it replaces the manifest or any metadata field and bumps the version. An agent can distinguish this from save_dashboard/fork_dashboard without opening 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?

'Use this to edit a saved surface meaningfully' with three concrete examples ('raise budgetUSD to 40', 'add a receipt window', 'make it public') clearly signals the intended context. It lacks an explicit when-not or a named sibling alternative, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_job_statusAInspect

Update a job's status and optional progress percentage. Used by kernels to report job progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID
statusYesNew status (pending, queued, in_progress, paused, completed, failed, cancelled). 'running' is accepted as a legacy alias for in_progress.
progressNoProgress percentage 0-100 (optional)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, non-destructive mutation, so the safety profile is covered. The description adds useful actor context ('kernels'), but does not disclose state-transition rules, permissions, side effects, or return behavior beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the operation and scope, with no filler. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-parameter mutation with full schema coverage and annotations covering safety, the description gives enough purpose and usage context to invoke it correctly. Minor gaps remain around state transitions and permissions, but they are not critical for this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents jobId, status values (including the legacy alias), and progress range. The description only repeats status and progress without adding format or constraint details beyond the schema, matching the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Update a job's status and optional progress percentage') and adds who uses it ('Used by kernels'), which helps separate it from operator-facing siblings. However, it does not explicitly name or contrast with the close sibling operator_update_job_status, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Used by kernels to report job progress' gives a clear context for when this tool is appropriate. It does not include exclusions or named alternatives, but that is consistent with a 4 under the rubric.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_operator_channelAInspect

Update an existing channel — toggle enabled, rewrite the describe contract, change the endpoint payload, etc. Merges into the existing record. The operator slug, id, and createdAt are immutable.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesChannel id (returned from attach_operator_channel).
labelNo
enabledNo
describeNo
endpointNo
directionNo
credentialRefNo
replyContractNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly=false, destructive=false). The description adds genuinely useful behavior: it is a merge/partial update, and operator slug, id, and createdAt are immutable. It omits auth requirements and error behavior, but the merge + immutability disclosure goes meaningfully beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action, then the merge semantics and immutability constraint. No filler; each clause carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-param mutation tool with no output schema and 13% schema coverage, the description covers the mutation model and immutable fields but leaves half the parameters, return behavior, and auth context unaddressed. Adequate but with clear 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 coverage is only 13% (just the id param documented), so the description must compensate. It does partially by naming enabled, describe, and endpoint as updatable and flagging slug/id/createdAt as immutable, but leaves label, direction, credentialRef, and replyContract undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Update an existing channel') and enumerates concrete editable fields (enabled, describe contract, endpoint payload), so the agent knows exactly what the tool mutates. It does not explicitly name its siblings (attach_/delete_/list_operator_channels) for differentiation, so it lands just below the top.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'existing channel' and the schema note that id comes from attach_operator_channel imply the precondition of a pre-existing channel, but the description never states when to use this vs attach/delete/test_operator_channels. Usage is inferable rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_protocolAInspect

Update an existing protocol template (must be in draft status). Returns updated name and version.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProtocol template ID
nameNoUpdated name
stepsNoUpdated steps array
versionNoNew version string (semver)
parametersNoUpdated parameters array
descriptionNoUpdated description

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the mutation/non-destructive profile is covered structurally. The description adds meaningful context beyond that: the draft-status precondition and the fact that the response returns the updated name and version, which helps the agent understand the operation's effect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the precondition front-loaded and the return value appended. No redundant or wasted text.

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 mutation tool with no output schema, the description covers the key precondition and summarizes the return values, and the schema fully documents parameters. It is nearly complete, with only minor gaps such as whether updates are partial or full-replacement.

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 six parameters (id, name, steps, version, parameters, description) are already documented in the schema itself. The description adds no syntax or format 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 and resource ('Update an existing protocol template') with the added precondition of draft status. It is clear what the tool does, though it does not explicitly differentiate itself from siblings like create_protocol, fork_protocol, or validate_protocol.

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 parenthetical '(must be in draft status)' gives a real precondition for use, which is valuable guidance. However, it offers no explicit when-not guidance or routing to alternatives such as publish_protocol or create_protocol for non-draft cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_protocolBInspect

Validate a protocol template against a specific kernel — checks capability availability, transfer compatibility, and automation level feasibility.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProtocol template ID
kernelIdNoKernel ID to validate against (optional)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, which is unusual for a 'validate' operation and suggests the server may record state. The description describes what is inspected but not whether the call mutates anything, what permissions are required, or what the result contains. With annotations covering the safety profile, a 3 is fair, but the odd readOnlyHint=false deserves explanation the description does not give.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with a compact dash list of the three checks; no filler. It could be marginally tighter, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description would ideally indicate what a validation result looks like (pass/fail per dimension, diagnostics). It covers the input intent well but leaves the return contract unaddressed for a tool whose whole value is a verdict.

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 both parameters are documented there, so the schema does the heavy lifting. The description says validation happens 'against a specific kernel,' yet the schema marks kernelId optional, which slightly muddies whether the kernel argument is required and adds no syntax detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (validate) and a precise resource (protocol template against a kernel), then enumerates the three dimensions checked: capability availability, transfer compatibility, and automation level feasibility. This is enough to distinguish it from nearby siblings like pcc_trilobio_validate_script or setup_validate, which validate other artifacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No indication of when to call this versus alternatives, and no prerequisites (e.g., whether a kernelId must come from a prior list_kernels or create_kernel call). The only usage cue is implied by the subject matter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_bountyCInspect

Verify bounty completion by scoring the delivered capability against requirements.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID that fulfilled the bounty
scoreYesVerification score (0-1)
bountyIdYesBounty ID to verify

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, telling the agent this is a non-destructive write. The description adds nothing beyond that: it doesn't say what the score triggers downstream (payout release, certificate mint, milestone release) or whether verification is final and irrevocable, which are the things an agent most needs for a write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the verb-and-resource framing arrives immediately. It is efficiently sized, though the brevity leaves the guideline and behavioral gaps noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write tool that records a verification outcome, with no output schema and no annotation detail about side effects, the description should explain what verification actually does. It omits consequences, authorization, and the relationship to dispute or human-verification paths, leaving the agent under-informed.

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 bountyId, jobId, and score are already documented in the schema. The description restates the scoring concept but adds no format, range, or interpretation detail beyond what the schema provides, so 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 ('verify'), resource ('bounty completion'), and mechanism ('scoring the delivered capability against requirements'), so the operation is unambiguous. It does not, however, contrast itself with adjacent siblings like dispute_verification, respond_to_verification, or submit_for_human_verification, so an agent cannot tell from the text alone which verification path applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when this tool should be invoked versus the many other verification-related siblings (dispute_verification, submit_for_human_verification, get_verification_status), nor any prerequisites such as who is authorized to verify or whether a job must first be in a completed state.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_evidence_zkBInspect

Verify a ZK proof by its proof ID. Checks the proof against its verification key and public inputs.

ParametersJSON Schema
NameRequiredDescriptionDefault
proofIdYesID of the ZK proof to verify

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the bar is lower. The description adds that it checks the proof against its verification key and public inputs, which is useful context beyond the name. However, it does not disclose what side effects occur despite not being read-only (e.g., whether verification records state, consumes the proof, or requires specific permissions), leaving a transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. The purpose is front-loaded in the first sentence, and the second sentence adds precise mechanical detail. Every sentence earns its place without redundancy or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description covers the core action and what is verified. However, because annotations indicate the operation is not read-only, the description should at least hint at potential side effects or what a successful verification does (e.g., records a result). This gap keeps it from being fully complete, though the simple shape of the tool limits the severity.

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 there is only one parameter, whose schema description already states it is the ID of the ZK proof to verify. The description adds no additional syntax, format, or constraint details beyond what the schema provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Verify) and resource (ZK proof) with the key identifier (proof ID), and the second sentence clarifies the verification mechanism (verification key and public inputs). It does not explicitly differentiate from siblings like verify_bounty or pcc_oracle_verify, but the ZK-proof resource is distinct enough that an agent can identify the tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, prerequisites, or alternatives are provided. The description only states what the tool does, leaving the agent to infer when to select this tool over other verification-related siblings. There is no mention of when not to use it or what conditions make it appropriate.

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. 5 tool updates
    • Changedonboard_machine1 field changed
      • addedInput schema / properties / operator
        Added value: +{
        +  "description": "Who owns this machine. prove and activate match the caller against operator.walletAddress (or operator.email).",
        +  "properties": {
        +    "displayName": {
        +      "type": "string"
        +    },
        +    "email": {
        +      "type": "string"
        +    },
        +    "walletAddress": {
        +      "description": "0x… address",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Removedpcc_generate_ui
    • Addedpcc_report_attempt
    • Addedrender_pcc_dashboard_ir
    • Changedsetup_register_device6 fields changed
      • changedInput schema / properties / adapterType / description
        Previous value: -"Adapter type: octoprint, modbus, opcua, sila, opentrons, generic-http"New value: +"One of octoprint, modbus, opcua, sila, ipp, generic-http or mock; the route refuses anything else (including opentrons)"
      • addedInput schema / properties / capabilities
        Added value: +{
        +  "description": "Capability types this device serves",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / deviceId
        Added value: +{
        +  "description": "Your ID for this device, unique within the kernel",
        +  "type": "string"
        +}
      • changedInput schema / properties / model / description
        Previous value: -"Device model identifier"New value: +"Device model identifier (optional; stored as \"unknown\" if absent)"
      • changedInput schema / properties / type / description
        Previous value: -"Device type (e.g. fdm-printer, cnc-mill, hplc)"New value: +"Device role: machine, sensor or camera (the values setup_generate_config and setup_validate accept)"
      • changedInput schema / required
        Previous value: -[
        -  "kernelId",
        -  "type",
        -  "model"
        -]New value: +[
        +  "kernelId",
        +  "deviceId",
        +  "type",
        +  "adapterType"
        +]
  2. 9 tool updates
    • Removedapprove_token
    • Changedfork_dashboard1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "manifest": {
        +      "type": "object"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "slug": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "manifest"
        +  ],
        +  "type": "object"
        +}
    • Changedget_dashboard1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "manifest": {
        +      "type": "object"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "slug": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "manifest"
        +  ],
        +  "type": "object"
        +}
    • Changedpcc_report18 fields changed
      • addedInput schema / properties / agentId
        Added value: +{
        +  "description": "Which model/agent you are. Example: 'claude', 'gpt-4o', 'gemini'. Optional.",
        +  "type": "string"
        +}
      • removedInput schema / properties / agent_kind
        Removed value: -{
        -  "description": "Which model / agent you are. Example: 'claude', 'gpt-4o', 'gemini', 'canary'.",
        -  "maxLength": 200,
        -  "type": "string"
        -}
      • removedInput schema / properties / confused_about
        Removed value: -{
        -  "description": "Free-form category — which onboarding stage tripped you up. Example: 'auth', 'discovery', 'build', 'fund', 'submit', 'settle'.",
        -  "maxLength": 200,
        -  "type": "string"
        -}
      • changedInput schema / properties / detail / description
        Previous value: -"Multi-line context: full error code, what you tried, what you expected. Optional but recommended."New value: +"Multi-line context: the full error body, what you tried, what you expected. Optional but recommended."
      • changedInput schema / properties / detail / maxLength
        Previous value: -4000New value: +20000
      • addedInput schema / properties / endpoint
        Added value: +{
        +  "description": "The route you were on when you got stuck. From a 5xx `report_hint.send.endpoint`. Example: '/api/build/contract'.",
        +  "type": "string"
        +}
      • addedInput schema / properties / errorCode
        Added value: +{
        +  "description": "The machine error code from the response body, if any. From `report_hint.send.errorCode`.",
        +  "type": "string"
        +}
      • removedInput schema / properties / last_endpoint
        Removed value: -{
        -  "description": "The route you were on when you got stuck. Example: '/api/build/contract'.",
        -  "maxLength": 200,
        -  "type": "string"
        -}
      • removedInput schema / properties / last_error_code
        Removed value: -{
        -  "description": "The error code from the Result<T> envelope you received, if any. Example: 'BAD_REQUEST', 'CAPABILITY_NOT_FOUND'.",
        -  "maxLength": 200,
        -  "type": "string"
        -}
      • addedInput schema / properties / logs
        Added value: +{
        +  "description": "Optional but valuable: your last few steps as SUMMARIES (never full request/response bodies) — the sequence that led to the failure. Secrets are never allowed in a note.",
        +  "items": {
        +    "properties": {
        +      "method": {
        +        "description": "HTTP method, e.g. POST.",
        +        "type": "string"
        +      },
        +      "note": {
        +        "description": "One line on what happened at this step.",
        +        "maxLength": 500,
        +        "type": "string"
        +      },
        +      "path": {
        +        "description": "Route, e.g. /api/build/price.",
        +        "type": "string"
        +      },
        +      "status": {
        +        "description": "HTTP status you got.",
        +        "type": "integer"
        +      },
        +      "step": {
        +        "description": "1-based step index.",
        +        "type": "integer"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 20,
        +  "type": "array"
        +}
      • addedInput schema / properties / method
        Added value: +{
        +  "description": "The HTTP method you used. From `report_hint.send.method`. Example: 'POST'.",
        +  "type": "string"
        +}
      • addedInput schema / properties / severity
        Added value: +{
        +  "description": "How badly this blocked you. Optional.",
        +  "enum": [
        +    "low",
        +    "medium",
        +    "high",
        +    "critical"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / status
        Added value: +{
        +  "description": "The HTTP status you got. From `report_hint.send.status`. Example: 500.",
        +  "type": "integer"
        +}
      • changedInput schema / properties / summary / description
        Previous value: -"1-line description of what went wrong. Example: 'Build options endpoint returned 500 with no hint about what was missing.'"New value: +"1-line description of what you were doing and what went wrong. Example: 'POST /api/build/contract returned 500 with no hint about the missing field.'"
      • changedInput schema / properties / summary / maxLength
        Previous value: -280New value: +5000
      • addedInput schema / properties / traceId
        Added value: +{
        +  "description": "Your journey ID — returned by provision_api_key and on every response as `x-pcc-trace-id` (also in a 5xx `report_hint.traceId`). Lets PCC replay your full run.",
        +  "type": "string"
        +}
      • removedInput schema / properties / trace_id
        Removed value: -{
        -  "description": "Your onboarding journey ID. Returned by provision_api_key (body field) and present on every response as the `x-pcc-trace-id` header.",
        -  "pattern": "^tr_[0-9a-f]{16,32}$",
        -  "type": "string"
        -}
      • addedInput schema / properties / type
        Added value: +{
        +  "description": "bug = something is broken/wrong; friction = it works but was confusing/harder than it should be; idea = a suggestion or missing capability. Defaults to bug.",
        +  "enum": [
        +    "bug",
        +    "friction",
        +    "idea"
        +  ],
        +  "type": "string"
        +}
    • Addedpcc.op.capability.request_quote
    • Changedrender_pcc_dashboard12 fields changed
      • addedInput schema / definitions / Action / properties / arguments
        Added value: +{
        +  "description": "Bounded arguments for the typed operation (host mode only).",
        +  "type": "object"
        +}
      • addedInput schema / definitions / Action / properties / operation_id
        Added value: +{
        +  "description": "R4 PR2 — typed host-mediated operation id. In an MCP-App host view the click routes to the registered pcc.op.<operation_id> tool via tools/call (server-authorized); the raw kind/path is inert in host mode. Standalone rendering ignores this.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / definitions / Binding / properties / pollMs / description
        Previous value: -"Poll cadence in ms (default ~30000)."New value: +"Poll cadence in ms (default ~30000; Zod floors at MIN_POLL_MS=2000 so a shared dashboard can't fast-poll authenticated endpoints)."
      • removedInput schema / definitions / Binding / properties / pollMs / exclusiveMinimum
        Removed value: -0
      • addedInput schema / definitions / Binding / properties / pollMs / minimum
        Added value: +2000
      • changedInput schema / definitions / ListItem / properties / meta / description
        Previous value: -"Dot-path fields for the row's meta line."New value: +"Dot-path fields for the row's meta line (capped at 12 — meta selectors loop per rendered row)."
      • addedInput schema / definitions / ListItem / properties / meta / maxItems
        Added value: +12
      • addedInput schema / definitions / Section / properties / windows / maxItems
        Added value: +24
      • changedInput schema / definitions / Window / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "kind": {
        -        "const": "note"
        -      },
        -      "text": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "text"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "binding": {
        -        "$ref": "#/definitions/Binding"
        -      },
        -      "format": {
        -        "enum": [
        -          "usd",
        -          "int",
        -          "pct",
        -          "ts"
        -        ]
        -      },
        -      "kind": {
        -        "const": "metric"
        -      },
        -      "label": {
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "select": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "label",
        -      "binding"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "binding": {
        -        "$ref": "#/definitions/Binding"
        -      },
        -      "kind": {
        -        "const": "capability"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "binding"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "binding": {
        -        "$ref": "#/definitions/Binding"
        -      },
        -      "item": {
        -        "$ref": "#/definitions/ListItem"
        -      },
        -      "kind": {
        -        "const": "list"
        -      },
        -      "limit": {
        -        "exclusiveMinimum": 0,
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "binding",
        -      "item"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "kind": {
        -        "const": "form"
        -      },
        -      "schema": {
        -        "description": "A JSON Schema whose properties become form fields.",
        -        "type": "object"
        -      },
        -      "submit": {
        -        "$ref": "#/definitions/Action"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "schema",
        -      "submit"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "binding": {
        -        "$ref": "#/definitions/Binding"
        -      },
        -      "kind": {
        -        "const": "run"
        -      },
        -      "latestFrom": {
        -        "type": "string"
        -      },
        -      "statusFrom": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "binding",
        -      "statusFrom",
        -      "latestFrom"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "approve": {
        -        "$ref": "#/definitions/Action"
        -      },
        -      "binding": {
        -        "$ref": "#/definitions/Binding"
        -      },
        -      "deny": {
        -        "$ref": "#/definitions/Action"
        -      },
        -      "kind": {
        -        "const": "approval"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "binding",
        -      "approve"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "binding": {
        -        "$ref": "#/definitions/Binding"
        -      },
        -      "kind": {
        -        "const": "receipt"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "binding"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "composeRef": {
        -        "$ref": "#/definitions/ComposeRequest"
        -      },
        -      "execute": {
        -        "$ref": "#/definitions/Action"
        -      },
        -      "kind": {
        -        "const": "chain"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "composeRef"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "actions": {
        -        "items": {
        -          "$ref": "#/definitions/Action"
        -        },
        -        "minItems": 1,
        -        "type": "array"
        -      },
        -      "kind": {
        -        "const": "actions"
        -      }
        -    },
        -    "required": [
        -      "kind",
        -      "actions"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kind": {
        +        "const": "note"
        +      },
        +      "text": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "text"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "binding": {
        +        "$ref": "#/definitions/Binding"
        +      },
        +      "format": {
        +        "enum": [
        +          "usd",
        +          "int",
        +          "pct",
        +          "ts"
        +        ]
        +      },
        +      "kind": {
        +        "const": "metric"
        +      },
        +      "label": {
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "select": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "label",
        +      "binding"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "binding": {
        +        "$ref": "#/definitions/Binding"
        +      },
        +      "kind": {
        +        "const": "capability"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "binding"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "binding": {
        +        "$ref": "#/definitions/Binding"
        +      },
        +      "item": {
        +        "$ref": "#/definitions/ListItem"
        +      },
        +      "kind": {
        +        "const": "list"
        +      },
        +      "limit": {
        +        "exclusiveMinimum": 0,
        +        "maximum": 200,
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "binding",
        +      "item"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kind": {
        +        "const": "form"
        +      },
        +      "schema": {
        +        "description": "A JSON Schema whose properties become form fields.",
        +        "type": "object"
        +      },
        +      "submit": {
        +        "$ref": "#/definitions/Action"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "schema",
        +      "submit"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "binding": {
        +        "$ref": "#/definitions/Binding"
        +      },
        +      "kind": {
        +        "const": "run"
        +      },
        +      "latestFrom": {
        +        "type": "string"
        +      },
        +      "statusFrom": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "binding",
        +      "statusFrom",
        +      "latestFrom"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "approve": {
        +        "$ref": "#/definitions/Action"
        +      },
        +      "binding": {
        +        "$ref": "#/definitions/Binding"
        +      },
        +      "deny": {
        +        "$ref": "#/definitions/Action"
        +      },
        +      "kind": {
        +        "const": "approval"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "binding",
        +      "approve"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "binding": {
        +        "$ref": "#/definitions/Binding"
        +      },
        +      "kind": {
        +        "const": "receipt"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "binding"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "composeRef": {
        +        "$ref": "#/definitions/ComposeRequest"
        +      },
        +      "execute": {
        +        "$ref": "#/definitions/Action"
        +      },
        +      "kind": {
        +        "const": "chain"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "composeRef"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "actions": {
        +        "items": {
        +          "$ref": "#/definitions/Action"
        +        },
        +        "maxItems": 24,
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "kind": {
        +        "const": "actions"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "actions"
        +    ],
        +    "type": "object"
        +  }
        +]
      • changedInput schema / description
        Previous value: -"JSON-Schema mirror of @pcc/spec DashboardManifestSchema (packages/spec/src/types/ui-artifact.ts). The small declarative dashboard a person's LLM emits; the pcc-ui kit renders it. Windows are a closed set rendered textContent-only. Actions never carry confirm:\"none\" (a human click is the confirm step). A manifest must NOT contain an API key (pcc_live_/pcc_test_) anywhere — a shared artifact travels with its contents."New value: +"JSON-Schema mirror of @pcc/spec DashboardManifestSchema (packages/spec/src/types/ui-artifact.ts). The small declarative dashboard a person's LLM emits; the pcc-ui kit renders it. Windows are a closed set rendered textContent-only. Actions never carry confirm:\"none\" (a human click is the confirm step). A manifest must NOT contain an API key (pcc_live_/pcc_test_) anywhere — a shared artifact travels with its contents. This mirror now carries the Zod RESOURCE CAPS (sections/windows/actions maxItems 24, list.limit max 200, meta maxItems 12, pollMs minimum 2000) so a generator validating only against this schema does not emit manifests the gateway then rejects. TWO Zod guards are not expressible as JSON-Schema validation and are enforced only by the gateway's Zod (the authoritative gate): the 256KB byte cap (MAX_MANIFEST_BYTES) and the recursive no-credential refine (containsApiKey — rejects a baked pcc key / Bearer / JWT, raw, percent-encoded, or base64). Validate against the Zod DashboardManifestSchema for the full gate."
      • addedInput schema / properties / sections / maxItems
        Added value: +24
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "manifest": {
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "manifest"
        +  ],
        +  "type": "object"
        +}
    • Changedsave_dashboard1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "manifest": {
        +      "type": "object"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "slug": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "manifest"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_dashboards1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "entries": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "name": {
        +            "type": "string"
        +          },
        +          "slug": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "entries"
        +  ],
        +  "type": "object"
        +}
    • Changedupdate_dashboard1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "manifest": {
        +      "type": "object"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "slug": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "manifest"
        +  ],
        +  "type": "object"
        +}
  3. 255 tool updates
    • First observedactivate_registration
    • First observedadvance_automation
    • First observedanalyze_machine_docs
    • First observedapprove_registration
    • First observedapprove_token
    • First observedarchive_encrypted_bundle
    • First observedarchive_evidence
    • First observedattach_operator_channel
    • First observedbuild_contract
    • First observedcalculate_price
    • First observedcalculate_roi
    • First observedcancel_protocol_run
    • First observedcheck_invite
    • First observedcheck_support_replies
    • First observedclaim_bounty
    • First observedclaim_ip_revenue
    • First observedclaim_pool
    • First observedclose_pool
    • First observedcommit_evidence
    • First observedconvert_bounty_to_pool
    • First observedcreate_capability
    • First observedcreate_investment_pool
    • First observedcreate_kernel
    • First observedcreate_protocol
    • First observedcreate_protocol_run
    • First observedcreate_shipment
    • First observeddelete_operator_channel
    • First observeddeposit_bond
    • First observeddispute_verification
    • First observeddistribute_royalties
    • First observedemit_telemetry
    • First observedexecute_composition
    • First observedfile_escrow_dispute
    • First observedfork_dashboard
    • First observedfork_protocol
    • First observedfund_escrow
    • First observedget_active_telemetry
    • First observedget_agent_anomalies
    • First observedget_anomaly_stats
    • First observedget_automation_status
    • First observedget_bounty_leaderboard
    • First observedget_build_options
    • First observedget_bundle_ipfs
    • First observedget_capability_ip
    • First observedget_composition
    • First observedget_dashboard
    • First observedget_demand_supply
    • First observedget_depin_stats
    • First observedget_equipment_classes
    • First observedget_escrow
    • First observedget_escrow_chain_state
    • First observedget_escrow_dispute
    • First observedget_escrow_events
    • First observedget_evidence_bundle
    • First observedget_installations
    • First observedget_ip_lineage
    • First observedget_ip_revenue
    • First observedget_job
    • First observedget_job_telemetry
    • First observedget_kernel
    • First observedget_kernel_devices
    • First observedget_kernel_jobs
    • First observedget_kernel_sensors
    • First observedget_lit_conditions
    • First observedget_logistics_overview
    • First observedget_marketplace_overview
    • First observedget_operator_certs
    • First observedget_operator_dashboard
    • First observedget_operator_earnings
    • First observedget_operator_machines
    • First observedget_operator_status
    • First observedget_pool
    • First observedget_pool_earnings
    • First observedget_popular_csd_templates
    • First observedget_protocol
    • First observedget_protocol_forks
    • First observedget_protocol_run
    • First observedget_registration
    • First observedget_sensor_channels
    • First observedget_settlement_epochs
    • First observedget_settlement_status
    • First observedget_shipment_quote
    • First observedget_shipments
    • First observedget_space
    • First observedget_space_bookings
    • First observedget_subnet_miners
    • First observedget_subnet_status
    • First observedget_telemetry_logs
    • First observedget_telemetry_stats
    • First observedget_token_allowance
    • First observedget_token_balance
    • First observedget_top_demand
    • First observedget_transfer_graphs
    • First observedget_unresolved_anomalies
    • First observedget_verification_assignments
    • First observedget_verification_status
    • First observedget_workflow
    • First observedget_workflows
    • First observedget_write_status
    • First observedgrant_evidence_access
    • First observedkernel_announce_capabilities
    • First observedkernel_heartbeat
    • First observedlist_api_keys
    • First observedlist_automation_status
    • First observedlist_batches
    • First observedlist_bounties
    • First observedlist_capability_types
    • First observedlist_conversations
    • First observedlist_escrows
    • First observedlist_evidence
    • First observedlist_evidence_grants
    • First observedlist_jobs
    • First observedlist_kernels
    • First observedlist_operator_channels
    • First observedlist_pools
    • First observedlist_protocol_runs
    • First observedlist_protocols
    • First observedlist_registrations
    • First observedlist_transfer_agents
    • First observedlit_decrypt
    • First observedmarketplace_categories
    • First observedmarketplace_create_listing
    • First observedmarketplace_delete_listing
    • First observedmarketplace_get_listing
    • First observedmarketplace_get_order
    • First observedmarketplace_list_listings
    • First observedmarketplace_list_orders
    • First observedmarketplace_place_order
    • First observedmarketplace_update_listing
    • First observedmatch_spaces
    • First observedmint_certificate
    • First observednear_intent
    • First observednear_intent_status
    • First observednear_quote
    • First observednear_status
    • First observedonboard_machine
    • First observedoperator_heartbeat
    • First observedoperator_poll_jobs
    • First observedoperator_push_evidence
    • First observedoperator_update_job_status
    • First observedpause_protocol_run
    • First observedpay_ip_royalty
    • First observedpcc_assign_node_operator
    • First observedpcc_camera_latest
    • First observedpcc_cancel_request
    • First observedpcc_capture_anchor
    • First observedpcc_capture_challenge
    • First observedpcc_capture_class_registry
    • First observedpcc_capture_status
    • First observedpcc_capture_upload
    • First observedpcc_chat_history
    • First observedpcc_chat_send
    • First observedpcc_contributor_list
    • First observedpcc_contributor_register
    • First observedpcc_create_scope
    • First observedpcc_decompose_request
    • First observedpcc_dht_announce
    • First observedpcc_dht_metrics
    • First observedpcc_dht_peers
    • First observedpcc_dht_query
    • First observedpcc_generate_ui
    • First observedpcc_get_request
    • First observedpcc_get_request_critical_path
    • First observedpcc_get_request_dag
    • First observedpcc_get_tool_manifest
    • First observedpcc_get_tool_result
    • First observedpcc_job_complete
    • First observedpcc_job_settlement
    • First observedpcc_list_requests
    • First observedpcc_list_verdicts
    • First observedpcc_onboard_session_build_agent
    • First observedpcc_onboard_session_ingest_docs
    • First observedpcc_onboard_session_live_data
    • First observedpcc_onboard_session_scrape
    • First observedpcc_onboard_session_start
    • First observedpcc_onboard_session_status
    • First observedpcc_oracle_status
    • First observedpcc_oracle_verify
    • First observedpcc_orchestrator_list_templates
    • First observedpcc_orchestrator_match_capabilities
    • First observedpcc_protocol_fee
    • First observedpcc_publish_request
    • First observedpcc_relay_generic_tool_call
    • First observedpcc_relay_tool_call
    • First observedpcc_report
    • First observedpcc_revoke_scope
    • First observedpcc_schedule_evaluate
    • First observedpcc_schedule_get
    • First observedpcc_schedule_publish
    • First observedpcc_scope_audit
    • First observedpcc_submit_paid_job
    • First observedpcc_submit_request
    • First observedpcc_training_manifest_get
    • First observedpcc_training_manifest_set
    • First observedpcc_trilobio_build_config
    • First observedpcc_trilobio_capability_template
    • First observedpcc_trilobio_validate_options
    • First observedpcc_trilobio_validate_script
    • First observedpcc_update_node_status
    • First observedpcc_update_request
    • First observedpcc_verifier_health
    • First observedpropose_composition
    • First observedprotocol_create_escrow
    • First observedprotocol_escrow_fees
    • First observedprotocol_fee
    • First observedprotocol_state
    • First observedprotocol_token_fees
    • First observedprove_registration
    • First observedprovision_api_key
    • First observedpublish_protocol
    • First observedraise_ip_dispute
    • First observedrecord_episode
    • First observedredeem_invite
    • First observedregister_capability_ip
    • First observedregister_job_evidence_ip
    • First observedreject_registration
    • First observedrelease_milestone
    • First observedrender_pcc_dashboard
    • First observedreply_to_support_thread
    • First observedreport_anomaly
    • First observedreport_protocol_failure
    • First observedresolve_anomaly
    • First observedrespond_to_verification
    • First observedresume_protocol_run
    • First observedretrieve_ipfs
    • First observedrevoke_api_key
    • First observedsave_dashboard
    • First observedsearch_capabilities
    • First observedsearch_dashboards
    • First observedsearch_spaces
    • First observedsend_diagnostics
    • First observedsend_support_message
    • First observedsetup_detect
    • First observedsetup_generate_config
    • First observedsetup_register_device
    • First observedsetup_status
    • First observedsetup_test_job
    • First observedsetup_validate
    • First observedstake_in_pool
    • First observedstart_protocol_run
    • First observedsubmit_attestation
    • First observedsubmit_demand
    • First observedsubmit_evidence_hash
    • First observedsubmit_feedback
    • First observedsubmit_for_human_verification
    • First observedsuggest_csd_templates
    • First observedsystem_telemetry
    • First observedtest_operator_channels
    • First observedupdate_dashboard
    • First observedupdate_job_status
    • First observedupdate_operator_channel
    • First observedupdate_protocol
    • First observedvalidate_protocol
    • First observedverify_bounty
    • First observedverify_evidence_zk

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that lets AI agents dispatch physical tasks to robot executors and track the task -> proof -> verify -> settle workflow, enabling task creation, executor discovery, proof submission, and verification status checks.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Your AI finds the right people for you. Agent-to-agent networking via MCP. Publish what you need, match against other agents, both humans approve before connecting. Ed25519 signed, hosted API.
    7
    115 npm
    7
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP-capable agents to join Guildbook, search for members by capability, connect, message, post, and consult a free house C-suite and professional challengers.
    61 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.