Skip to main content
Glama

Physical Capability Cloud

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 3.9/5 across 255 of 255 tools scored. Lowest: 2.9/5.

Server CoherenceA
Disambiguation4/5

Most tools have specific names that clearly distinguish their purpose, e.g., get_kernel vs get_kernel_devices. However, some generic verbs like report_anomaly and report_protocol_failure could cause confusion, and there are many get_/list_ variants.

Naming Consistency4/5

The naming convention is predominantly snake_case verb_noun, which is consistent. However, some tools use the pcc_ prefix while most do not, and there is minor mixing of get_ vs list_ patterns, but overall it is predictable.

Tool Count2/5

With 255 tools, the count is excessively high even for a broad domain. It overwhelms agents and makes selection costly. The server would benefit from consolidation or modularization.

Completeness4/5

The tool surface is remarkably comprehensive, covering registration, job lifecycle, escrow, verification, onboarding, logistics, marketplace, IP, and more. Minor gaps exist (e.g., no tool for deleting a kernel or user management beyond API keys), but overall it is well-covered.

Available Tools

255 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
Behavior4/5

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

Describes the effect (equipment live, ready for jobs) and does not contradict annotations (read-only=false, destructive=false). Could be more explicit about prerequisites like requiring prior approval.

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

Conciseness5/5

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

Single sentence, front-loaded with verb, no wasted words. Every word contributes to understanding.

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 and effect well for a simple tool. Lacks mention of error conditions or explicit prerequisites, but adequate given no 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 coverage is 100% with a single parameter (registrationId). The description does not add any additional meaning beyond the schema's own description.

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

Purpose5/5

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

The description clearly states the action (activate), resource (registration), and outcome (equipment live, ready for jobs). It distinguishes from siblings like approve_registration and reject_registration.

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 after approval ('Activate an approved registration') but does not explicitly state when not to use or provide direct comparisons to sibling tools.

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

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

Annotations already indicate readOnlyHint=false and destructiveHint=false; the description adds the behavioral detail of the progression order and the training episode requirement. It does not contradict annotations and provides useful 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.

Conciseness5/5

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

Two concise sentences, front-loaded with action and progression. Every word adds value without 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 a defined progression and precondition, the description covers the essential behavior. It does not elaborate on return values (no output schema) or error conditions, but it is sufficient for 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%, with parameters described as source and destination instrument node IDs. The description adds value by referring to them as a 'transfer pair,' implying the automation level applies jointly to that pair.

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

Purpose5/5

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

The description clearly states the action ('Advance the automation level') and the resource ('transfer pair'), with a specific progression (manual → ... → fully_autonomous). This distinguishes it from sibling read-only tools like get_automation_status and list_automation_status.

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

Usage Guidelines4/5

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

The description explicitly notes when to use the tool (to advance automation level) and includes a precondition ('Requires sufficient training episodes'). While it doesn't list alternatives or exclusions, the context among siblings makes the usage clear.

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

analyze_machine_docsAInspect

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
Behavior3/5

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

Annotations set readOnlyHint=false and destructiveHint=false, indicating the tool is not read-only but also not destructive. The description adds that it performs 'AI analysis' and returns outputs, but does not clarify if it modifies any system state (e.g., storing results). Beyond the annotations, the description provides limited 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 sentences efficiently convey the tool's action and outputs. No superfluous information; every phrase adds value.

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 (one parameter, no output schema), the description adequately covers the action, input, and expected outputs. It lists return values, which is essential without an output schema. Minor gaps exist (e.g., prerequisites or side effects), but overall it 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 input schema has one parameter with 100% description coverage, so baseline is 3. The description adds value by explaining the purpose of the document ('to get suggested capabilities, extracted specs, materials, and tolerances'), which hints at expected output beyond the schema, earning an extra point.

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

Purpose5/5

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

The description clearly states the tool's function: 'AI analysis of machine documentation.' It specifies the verb ('analyze'/'Upload') and resource ('machine documentation'), and lists specific outputs ('suggested capabilities, extracted specs, materials, and tolerances'), distinguishing it from siblings like pcc_onboard_session_ingest_docs.

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 implies when to use the tool: when you have machine documentation and need extracted information. However, it does not explicitly state when not to use it or mention alternatives, leaving some ambiguity. The clarity of purpose compensates somewhat.

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')
Behavior3/5

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

Annotations indicate a non-read-only, non-destructive operation. The description adds context about the status change and enabling activation, which is useful but does not disclose additional traits like permissions or error conditions.

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

Conciseness5/5

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

Two concise sentences front-load the action and state the purpose. 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?

For a simple mutation tool with one parameter and no output schema, the description covers the necessary context: what it does, the state change, and the benefit. No gaps identified.

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 one parameter adequately described in the schema. The description does not add further parameter details, so 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 clearly states the action ('approve a submitted machine registration'), identifies the resource, and explains the state transition and consequence. It distinguishes from siblings like reject_registration.

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 implies the tool should be used for submitted registrations by specifying the state transition from 'submitted' to 'approved'. It does not explicitly state when not to use or compare to alternatives, but the context is clear.

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

approve_tokenAInspect

Approve ERC-20 token spending for an escrow contract on-chain. Call this before fund_escrow. Returns transaction hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to approve in wei (as string to avoid precision loss)
addressYesEscrow contract address (0x...) to approve as spender
tokenAddressNoERC-20 token address to approve (optional, uses default if omitted)
Behavior4/5

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

The description adds context beyond annotations by stating it is an on-chain transaction and returns a transaction hash. Annotations indicate it is not read-only (write) and not destructive, which is consistent. The description reinforces the behavioral traits without contradicting the structurals.

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

Conciseness5/5

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

The description is extremely concise with just two sentences, containing no filler or redundancy. The first sentence states the core action, and the second provides ordering and output. 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?

Given the schema covers all parameters and there is no output schema, the description sufficiently covers the tool's purpose and place in the workflow (before fund_escrow). It mentions the return hash. It does not explicitly mention that tokenAddress is optional, but the schema already indicates that. Overall, the context is complete for a blockchain approval 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?

The input schema covers 100% of parameters with descriptions, so the baseline is 3. The tool description does not add any additional parameter meaning or examples beyond what the schema already provides. For example, it doesn't explain the optional tokenAddress further.

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

Purpose5/5

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

The description clearly states the action ('Approve ERC-20 token spending') and the resource ('escrow contract on-chain'), distinguishing it from sibling tools like fund_escrow. It also specifies the return value ('transaction hash'), making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description provides explicit sequential guidance: 'Call this before fund_escrow.' This tells the agent when to use this tool relative to others. While it doesn't list alternatives or when-not-to-use, the prerequisite is clearly stated, which is strong guidance for a workflow.

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

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

Annotations already indicate this is a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds the idempotent behavior and the exact storage location (IPFS + database), which is useful context 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?

Two sentences, no redundant words. The action is front-loaded, and key behavior (idempotency) is mentioned in the second sentence. Every part 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?

Given the simple input (one required string, no output schema, no nested objects), the description covers the essential purpose and behavior. It could optionally mention that the function returns the CID, but the description implies this. Overall sufficient.

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% (parameter 'bundleId' described in input schema). The tool description does not add additional semantic detail about the parameter; it only restates its role in the overall action. 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?

The description clearly states the verb 'Archive' and the resource 'encrypted evidence bundle', and specifies the outcome ('store the resulting CID in the database'). It distinguishes from sibling tools like 'archive_evidence' by specifying 'encrypted bundle' and 'IPFS'.

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 notes idempotency ('returns existing CID if already archived'), which guides repeated use. It does not explicitly differentiate from alternatives like 'archive_evidence' or 'commit_evidence', but the specificity of 'encrypted bundle' implies when to use this tool.

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
Behavior3/5

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

Annotations indicate not readonly and not destructive, which matches the write-but-non-destructive nature of archiving. However, the description does not disclose potential side effects (e.g., whether the original bundle is removed) or authorization needs, leaving some behavioral gaps.

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

Conciseness5/5

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

The description is extremely concise with two sentences, no redundant information, and clearly front-loaded with the core action and result.

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 single parameter with full schema coverage and no output schema, the description includes the return of a CID, which is helpful. However, it could provide more context on the bundle object structure or response format, but it remains fairly complete overall.

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 parameter 'bundle' described as 'Evidence bundle object to archive'. The tool description adds no further meaning beyond the schema, so a baseline score of 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 clearly states the action (archive), destination (IPFS/Storacha), and result (returns CID). It distinguishes from siblings like archive_encrypted_bundle (encrypted variant) and commit_evidence (different action).

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 for archiving evidence to decentralized storage but does not provide explicit when-to-use or when-not-to-use guidance, nor mentions alternatives like archive_encrypted_bundle. It lacks context on prerequisites or scenarios.

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

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

Annotations already indicate this is a write operation (readOnlyHint=false) but not destructive (destructiveHint=false). The description adds that it 'Returns the channel record with a generated id' and hints at the transport enum shape, but doesn't disclose additional behavioral traits like side effects or auth requirements. The description is consistent with annotations; no 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 concise sentences, front-loaded with the core purpose. Every sentence adds value: purpose, usage context, key parameter details, return value. 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?

Given 9 parameters and no output schema, the description provides sufficient context for an agent to understand the tool's role (creating a channel), key parameters (transport, describe), and return value. However, it could briefly mention that other parameters like endpoint and credentialRef are optional and described 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 coverage is 100%, so each parameter already has a description. The description echoes the transport enum and describe field but doesn't add new semantic meaning beyond what's in the schema. 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 clearly states the action ('Attach a notification/dispatch channel to an operator') and the resource, distinguishing it from sibling tools like list_operator_channels and delete_operator_channels. It provides specific purpose: 'so PCC knows how to ping them when a job lands.'

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 specifies the caller ('operator's onboarding agent') and timing ('AFTER the conversation that produced the channel record'), giving concrete context. However, it does not explicitly exclude alternatives or state when not to use this tool versus update_operator_channel or test_operator_channels.

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

build_contractAInspect

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)
Behavior3/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 operation. The description adds the context that it submits something on-chain and returns identifiers, but does not disclose other behavioral details like side effects regarding escrow locking, gas costs, 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?

The description is extremely concise, consisting of two sentences. The first sentence captures the primary action and object, and the second succinctly states the return values. No unnecessary words or repetition.

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?

While the description covers the core purpose and returns, it lacks details about the output structure (no output schema) and does not explain essential context such as the effects of the nested 'selections' object, the meaning of the assuranceTier in practical terms, or any post-submission workflow. For a complex contract-building tool, more context would be beneficial.

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 input schema has 100% description coverage, establishing a baseline of 3. The description does not add extra meaning to the parameters beyond what is in the schema. For example, it does not explain how 'selections' or 'assuranceTier' affect the contract or escrow behavior.

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 directly states the action (build and submit), the specific resource (capability contract with on-chain milestone escrow), and the return values (job ID and escrow address). This clearly distinguishes it from sibling tools that create other resources like capabilities or protocols.

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 guidance on when to use this tool versus alternatives is provided. There is no mention of prerequisites, conditions, or situations where another tool would be more appropriate, leaving the agent to infer usage from context.

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

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

The description does not disclose side effects, auth requirements, or idempotency. Annotations set readOnlyHint to false, implying potential write operations, but the description suggests it is purely computational, creating ambiguity.

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

Conciseness5/5

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

The description is a single sentence that conveys the essential purpose and outputs without unnecessary words, making it both concise and 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?

Given the lack of output schema, the description mentions returned items but not their structure. The nested 'selections' parameter is not elaborated, and the tool's complexity (pricing calculation) would benefit from more detail on required selection fields.

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 parameters are already documented. The description adds no additional meaning to parameters beyond what the schema provides, so baseline score 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 clearly states the verb 'Calculate price' and the resource 'capability configuration', and specifies the outputs (base price, tier premiums, estimated total cost). It distinguishes the tool from siblings like 'calculate_roi' which deals with return on investment.

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 alternatives, nor when not to use it. The description only states what it does without context for invocation.

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

calculate_roiAInspect

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)
Behavior3/5

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

Annotations indicate not read-only and not destructive. Description adds return structure context (month-by-month breakdown) but no additional behavioral traits. Consistent 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?

Two sentences, front-loaded with purpose and output description. No unnecessary 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 3-parameter tool with no output schema, description adequately states return type but lacks detail on structure of 'month-by-month analysis' or assumptions. Could be more 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 baseline is 3. Tool description does not add meaning beyond schema parameter descriptions (avgJobValue, monthlyCost, utilization). No examples or additional context.

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 the verb 'Calculate' and specific resource 'ROI projection for onboarding equipment', and mentions return value (month-by-month revenue, cost, break-even analysis). Clearly distinguishes from sibling like 'calculate_price'.

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?

Description provides clear context for use (onboarding equipment) but does not explicitly state when to avoid or mention alternatives. No exclusion guidance given.

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
Behavior3/5

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

Annotations (readOnlyHint=false, destructiveHint=false) already indicate mutation but not destruction. The description adds the state-limitation behavior but does not disclose other effects (e.g., impact on related resources, notifications). With annotations present, this is acceptable but not exceptional.

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: first sentence states purpose, second adds a key constraint. No redundant words; every sentence contributes value.

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 tool with one parameter and no output schema, the description covers the core behavior and a critical condition. It could mention the resulting state or side effects, but as is, it is fairly 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% with one parameter (runId) documented fully in the schema. The description does not add any additional meaning or examples beyond what the schema provides.

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

Purpose4/5

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

Description clearly states the action ('Cancel a protocol run') and adds a constraint ('Cannot be cancelled once completed or already cancelled'), making the purpose specific. However, it does not explicitly differentiate from sibling tools like 'pause_protocol_run', which have different semantics.

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 a condition for when not to use the tool (completed or already cancelled), which is helpful. But it does not provide guidance on when to use this tool versus alternatives like pausing, nor does it mention prerequisites or consequences.

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

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

Annotations already indicate read-only and non-destructive. Description adds that it returns validity and what the code includes, enriching the behavioral understanding without contradicting 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?

Single sentence, front-loaded with action and result. 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 simple validation tool with no output schema, describing the return value (validity and contents) is sufficient. No missing critical information.

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 baseline is 3. Description does not add new meaning beyond the schema's 'Invite code to check', but the parameter is simple and self-explanatory.

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?

Clearly states it validates an invite code and returns validity and contents. Differentiates from 'redeem_invite' which is a separate action.

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 'before redeeming it', providing context to use this tool prior to redemption. Does not state when not to use, but sibling 'redeem_invite' is implied as the follow-up.

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

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

Annotations already indicate readOnlyHint=true, and the description adds that it returns all threads and a hasUnreadReplies boolean, which is valuable 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 concise sentences that front-load the purpose and usage, with 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?

For a simple read-only tool with one parameter and no output schema, the description covers purpose, usage, and return structure adequately.

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 description does not add extra meaning beyond the schema's 'Operator's kernel ID'.

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?

Clearly states 'Check for admin replies on the operator's support threads' with specific verb and resource, and distinguishes from sibling tools like reply_to_support_thread.

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 advises periodic polling or when operator asks for updates, providing clear usage context. Does not explicitly exclude other scenarios but is sufficient.

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

claim_bountyAInspect

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
Behavior3/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, meaning it is a write operation without destruction. The description adds that the operator commits to registering and completing verification, which is useful behavioral context, but does not disclose potential side effects (e.g., what happens if verification 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?

A single, clear sentence that conveys purpose and commitment without redundancy or fluff.

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 mutation with two parameters and no output schema, the description adequately covers the action and commitment. It could be slightly more detailed (e.g., prerequisites), but is largely 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% with descriptions for both parameters (bountyId, operatorId). The description does not add significant extra meaning beyond the schema, so baseline of 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 clearly states the verb 'claim', the resource 'bounty', and the purpose 'to onboard a new capability'. It also explains the operator's commitment to registration and verification, distinguishing it from related tools like verify_bounty and list_bounties.

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 implies usage when an operator wants to claim a bounty for onboarding, but it does not explicitly state when not to use it or compare it with alternatives like convert_bounty_to_pool. The context is clear, but exclusions are missing.

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

claim_ip_revenueAInspect

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)
Behavior3/5

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

Annotations already indicate this is a non-destructive mutation. The description adds return values (claimed amount, tx hash) but does not disclose prerequisites (e.g., unclaimed revenue), side effects, or potential failures.

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 action and return value. 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 2-parameter tool with no output schema, the description covers the core action and return. However, it could mention that revenue must be available for the claim to succeed.

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 clear descriptions for both parameters (ipId and tokenIds). The description adds no additional meaning 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?

The description clearly states the action ('Claim earned revenue') and the resource ('from an IP asset vault'), with the return values specified. It distinguishes from siblings like get_ip_revenue (read-only) and pay_ip_royalty (pay out).

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

Usage Guidelines3/5

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

The description implies the tool is for claiming earned revenue, but it provides no explicit guidance on when to use it versus alternatives (e.g., get_ip_revenue, claim_bounty). No when-not or sibling differentiation.

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

claim_poolAInspect

Operator claims an investment pool reward after capability verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
poolIdYesPool ID to claim
operatorIdYesOperator ID making the claim
Behavior3/5

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

Annotations indicate write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). Description adds prerequisite of capability verification but does not disclose what happens upon claiming (e.g., reward distribution, pool balance 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?

Single sentence, to the point, no redundancy. 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 claim action, description covers main action and precondition. No output schema needed. Adequately differentiates from other claim tools (claim_bounty, claim_ip_revenue) by specifying 'investment pool reward'. Minor lack of post-claim behavior 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 coverage is 100%, so parameters are already described in schema. Description does not add extra meaning beyond param names (poolId, operatorId). 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?

Description uses specific verb 'claims' and resource 'investment pool reward', with precondition 'after capability verification'. Clearly distinguishes from sibling tools like stake_in_pool or close_pool.

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 after capability verification but does not explicitly state when to use versus alternatives like get_pool, stake_in_pool, or claim_bounty. No when-not-to-use guidance.

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
Behavior3/5

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

The description indicates a write operation (close) and mentions the sunset phase, adding context beyond annotations (readOnlyHint=false, destructiveHint=false). However, it lacks details on what happens to existing stakes, reversibility, or return value, which would help the agent understand the full impact.

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

Conciseness5/5

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

The description is extremely concise: two short sentences. It is front-loaded with the action and efficiently conveys the necessary information without redundancy.

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

Completeness3/5

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

Given the complexity of pool operations and the absence of an output schema, the description is minimal. It states the action and sunset phase but does not explain implications (e.g., whether the pool can be reopened, if existing stakers are affected). This may leave the agent with unanswered questions.

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 parameter description ('Pool ID to close') is clear. The tool description does not add extra meaning or context beyond what the schema already provides, so a baseline score of 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 clearly states the action ('close an investment pool') and the consequence ('enters sunset phase'). It uses a specific verb and resource, and it distinguishes the tool from siblings like create_investment_pool or stake_in_pool.

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 (when you want to stop new stakes), but it provides no explicit guidance on when to use this tool, when not to, or alternatives among the many sibling tools.

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
Behavior3/5

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

Annotations already indicate a non-destructive write operation. The description adds context about ZK proof generation and Tier 3 assurance, but does not disclose further behavioral details (e.g., side effects, permissions, or output format). This is adequate but not exceptional.

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

Conciseness5/5

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

The description is extremely concise (two sentences, 16 words), front-loads the primary action, and provides essential context without any fluff. 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?

Given the tool's simplicity (one parameter, no output schema), the description provides sufficient context about its role in the broader ZK proof workflow. It could briefly mention the expected return value (e.g., commitment hash), but it is not critical for selection.

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 already has 100% coverage with a clear description of bundleHash as 'SHA-256 hash of the evidence bundle'. The tool description adds no additional parameter meaning, so a baseline of 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 ('Create') and resource ('Merkle commitment for an evidence bundle hash'), and distinguishes itself from sibling tools by stating it's the first step in ZK proof generation for Tier 3 assurance, which is unique among related tools.

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

Usage Guidelines4/5

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

The description explicitly states it is used as the first step in ZK proof generation for Tier 3 assurance, providing clear context. However, it does not mention when not to use it or directly reference alternative tools like submit_evidence_hash, so it could be more precise.

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

convert_bounty_to_poolAInspect

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
Behavior2/5

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

Annotations set readOnlyHint=false and destructiveHint=false, but the description does not add context beyond stating the conversion. It fails to disclose whether the original bounty is modified or destroyed, any permission requirements, or side effects such as community staking.

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

Conciseness5/5

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

The description is a single sentence that efficiently conveys the action and its purpose. Every word adds value with no redundancy or 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?

Given the simplicity (one required parameter, no output schema), the description is minimally adequate. However, it lacks details about the outcome (e.g., what happens to the original bounty) and does not mention any return value or confirmation, which might leave the agent uncertain post-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?

The input schema has 100% coverage for the single parameter 'bountyId' with a clear description. The tool description does not add any additional meaning to the parameter beyond what is already in the schema.

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

Purpose5/5

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

The description uses a specific verb 'convert' and clearly identifies the resource 'existing bounty' and the result 'investment pool'. It distinguishes from sibling 'create_investment_pool' by specifying it operates on an existing bounty.

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 when you have a bounty to convert, but does not explicitly state when to use this versus other pool-related tools like 'create_investment_pool' or 'stake_in_pool'. No prerequisites or exclusions are provided.

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

create_capabilityBInspect

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
Behavior2/5

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

Annotations provide minimal behavioral hints (readOnlyHint false, destructiveHint false). Description adds no further behavioral context such as side effects, permissions, idempotency, or error conditions. Only states that it creates capability types, which is already implied by 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.

Conciseness5/5

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

Two sentences, well-structured. First sentence gives primary action, second adds context and examples. No redundancy or fluff.

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?

Missing output description: tool does not specify what is returned (e.g., created capability ID, success status). Without output schema, description should clarify outcomes. Also lacks info about idempotency or existing capabilities.

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 covers 100% of parameters with descriptions. Description adds type examples and prerequisite context, but these are also partially covered by schema. Baseline 3 is appropriate as description does not significantly enhance 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?

Description clearly states 'Register a capability instance for a kernel' with specific verb (register) and resource. Provides examples of types (liquid-handler, fdm, cnc-3axis) but does not explicitly differentiate from sibling tools like 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 Guidelines4/5

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

Explicitly states that this is required before submitting jobs and that the gateway needs at least one capability per kernel. Provides clear context for when to use, but no exclusions or alternatives.

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

create_investment_poolAInspect

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)
Behavior3/5

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

Annotations already indicate non-read-only and non-destructive. The description adds that stakers earn future fees, providing context beyond annotations but does not detail side effects or prerequisites.

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 succinct sentences with no wasted words. The purpose and benefit are 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?

The description explains the core concept adequately. It could mention optional parameters like targetAmount and currency, but the schema already handles that. Suitable for agents familiar with the domain.

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 baseline is 3. The description adds no extra meaning to parameters 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?

The description clearly states the tool creates an investment pool for a capability bounty and explains the staker incentive. It effectively distinguishes from sibling tools like create_capability or list_pools.

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 implies when to use (for capability bounty pools) but does not explicitly mention when not to use or provide alternatives. Still, the context is clear.

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

create_kernelBInspect

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
Behavior2/5

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

Annotations already indicate destructiveHint=false and readOnlyHint=false (write, not destructive). Description confirms mutation (register a new kernel) but adds no additional behavioral traits such as side effects, permissions, or constraints. With annotations, the bar is lower, but the description still offers minimal extra 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 sentences, no redundant information. First sentence states the core action, second sentence provides onboarding context. Extremely concise and well-structured.

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?

No output schema is provided, and the description does not explain return values, error handling, or details of the nested parameters (config, location). For a creation tool, an agent would benefit from knowing what the response contains (e.g., kernel ID) and potential failure modes. The description is too minimal for complete understanding.

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%; all parameters have descriptions in the input schema. The tool description does not add any further semantic information beyond what is already in the schema, so 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?

Description clearly states it registers a new Shop Kernel (physical site) on the PCC network, with the verb 'Register' and specific resource. The phrase 'Part of Step 2 in the onboarding flow' adds process context, distinguishing it from other registration tools like 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?

Only contextual hint is 'Part of Step 2 in the onboarding flow', but no explicit guidance on when to use versus when not to use, nor mentions of alternatives. No exclusions provided.

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

create_protocolAInspect

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
Behavior3/5

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

Annotations (readOnlyHint: false, destructiveHint: false) indicate a non-destructive mutation. Description adds that it returns a template ID, but lacks details on side effects, permissions, 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?

Extremely concise: one sentence with action and result. No redundant 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?

Despite having 7 parameters and no output schema, the description does not elaborate on the draft nature, tags, or steps. It is minimally complete but could provide more context for a tool with such 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%, so the description adds no additional parameter meaning beyond the schema. Baseline score of 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?

Description clearly states the action ('Create'), the resource ('protocol template draft'), and the return value ('Returns the new template ID'). It effectively differentiates from sibling tools like create_protocol_run and update_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?

No guidance on when to use this tool vs alternatives (e.g., update_protocol or publish_protocol). No prerequisites or context provided.

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

create_protocol_runBInspect

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)
Behavior3/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, consistent with creation being non-read-only and not destructive. The description accurately describes instantiation, but doesn't elaborate on side effects (e.g., whether the run is immediately started), permissions required, or any irreversible changes. It adds minimal behavioral context 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?

A single sentence that is front-loaded with the action ('Instantiate') and includes all key aspects. No unnecessary words; every word contributes meaning.

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

Completeness2/5

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

Given the tool has 4 parameters, no output schema, and moderate complexity, the description is insufficient. It does not mention the expected return value (e.g., run ID) or error conditions. It also lacks contextual prerequisites like existence of the protocol template or kernel, and does not clarify whether the run is started immediately or created in a paused 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 description adds little new meaning. It confirms that 'parameterValues' override template defaults, which is also in the schema. No additional semantics are provided for 'id', 'kernelId', or 'sampleIds' beyond their schema descriptions.

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

Purpose5/5

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

The description clearly states the purpose: 'Instantiate a protocol template as a run on a specific kernel with given parameter values.' It uses a specific verb ('Instantiate') and identifies resources (protocol template, run, kernel), distinguishing it from siblings like 'start_protocol_run' or 'pause_protocol_run'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., start_protocol_run, cancel_protocol_run). It does not mention prerequisites, such as whether the protocol template must exist or the kernel must be available, nor does it state any context where this tool is inappropriate.

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

create_shipmentAInspect

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
Behavior3/5

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

Annotations indicate mutation (readOnlyHint=false). Description states 'Create', consistent with annotations. But adds no further behavioral context (e.g., auth requirements, side effects, or confirmations).

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

Conciseness5/5

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

Single, clear sentence with no unnecessary words. Efficiently communicates the tool's function.

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?

No output schema; description does not hint at return value (e.g., shipment ID). For a creation tool with 5 params (4 optional), more context on dependencies or defaults would improve completeness.

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 covers 100% of parameters with descriptions. Description lists the same fields but adds no new meaning 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?

Clearly states verb 'Create' and resource 'shipment', listing key fields (origin, destination, package details, provider). Distinguishable from sibling tools like get_shipments 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 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 alternatives (e.g., get_shipment_quote first). No prerequisites or conditions mentioned.

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

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

Annotations already indicate destructiveness, but the description adds behavioral context: permanent removal and loss of the recipe in `describe`. This adds value beyond annotations, though it could further clarify permissions 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?

The description is two sentences, front-loaded with the main action, and no wasted words. It efficiently conveys the purpose, effect, and alternative, 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 simple destructive tool with one parameter and no output schema, the description adequately covers purpose, effect, and alternative. It is complete enough for an agent to decide on invocation, though it could mention potential error conditions or confirmation requirements.

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 input schema already fully documents the single parameter 'id' with a description. The tool description does not add any additional semantic context for the parameter, so it does not improve upon the schema. Baseline 3 is appropriate given 100% schema coverage.

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

Purpose5/5

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

The description clearly states the action 'Remove a channel from an operator' and distinguishes itself from the sibling tool update_operator_channel by explaining the difference in effect (permanent vs temporary). The verb and resource are specific.

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?

The description explicitly provides guidance on when to use this tool (permanent removal) and recommends an alternative (update_operator_channel with enabled=false) for temporary silencing, making the usage context clear.

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)
Behavior4/5

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

Annotations indicate readOnlyHint=false (mutation) and destructiveHint=false (non-destructive). Description adds that the operation is on-chain and returns a transaction hash, giving adequate context beyond annotations. It does not detail potential failures or gas costs, but overall transparency is good.

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 concise sentences with no redundant information. First sentence states the action and context, second adds requirement and output. Every word earns its place.

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?

Description is complete for a simple deposit operation: it explains the requirement context, the on-chain nature, and the return value (transaction hash). No output schema exists, but the description covers what the agent needs 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?

Schema coverage is 100% with both parameters well-described. The tool description adds no further semantic value beyond what is already in the input schema, so 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?

Description clearly states the action (deposit an operator bond), the context (for a milestone on-chain), and the requirement (for Assurance Tier 3 jobs). It distinguishes from sibling tools like stake_in_pool or fund_escrow by being specific to operator bond for milestones.

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: 'Required for Assurance Tier 3 jobs.' Provides clear context but does not explicitly mention when not to use or list alternatives.

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
Behavior3/5

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

Description adds behavioral context beyond annotations: eligibility constraint and requirement for evidence CID. However, it does not describe what happens after filing (e.g., status change, review process) or any side effects.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no wasted words. Highly efficient and easy to parse.

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

Completeness3/5

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

No output schema exists, and the description does not explain what the agent should expect after filing a dispute (e.g., return value, outcome). While it covers prerequisites, it lacks post-invocation 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% with clear parameter descriptions. The description reinforces the need for evidence CID but adds little new meaning 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?

Description clearly states 'File a dispute against the consensus verdict' with a specific verb and resource. It distinguishes from siblings by specifying eligibility: 'Only verifiers who submitted a response can dispute.'

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?

Description tells when to use (dispute a consensus verdict), who can use (verifiers who responded), and a prerequisite (requires additional evidence CID). It implicitly excludes non-verifiers but does not list alternative tools.

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

distribute_royaltiesAInspect

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
Behavior3/5

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

Discloses the sum=100 constraint, which is not in annotations. However, does not explain whether splits overwrite or merge with existing ones, required permissions, or effects on subsequent payments.

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 concise sentences with no fluff. Front-loads purpose and constraint. Efficient for an AI agent to parse.

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?

No output schema and description does not mention return value, error cases, or post-conditions. For a tool with two required params (one nested array), more context on consequences would aid 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%, so the description adds little beyond schema. The 'must sum to 100' repeats schema info. No additional parameter context provided.

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?

Clearly states it sets revenue splits for an IP asset, listing the five stakeholder roles and the sum constraint. Distinguishes from siblings like pay_ip_royalty and claim_ip_revenue by focusing on split configuration.

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 use before revenue distribution but does not explicitly state when to use vs. alternatives (e.g., pay_ip_royalty, claim_ip_revenue). No prerequisites or edge cases mentioned.

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
Behavior3/5

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

Annotations indicate non-read-only and non-destructive; description adds that emission is manual for progress reporting but no further behavioral details (e.g., event persistence, side effects). No 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?

Two sentences, front-loaded with action and purpose, no unnecessary 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?

Adequate for a simple emit action but lacks details on event behavior, response format, or prerequisites. 7 parameters with enums and nested object but no output schema – description could elaborate on intended use of optional fields.

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%; description adds no parameter-specific details beyond schema. Baseline 3 applies as description does not need to compensate.

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?

Clear verb 'Manually emit' with specific resource 'telemetry event for job pipeline phase'. Specifies target users 'kernels and agents'. Distinct from sibling tools that query 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?

States usage context 'Used by kernels and agents to report execution progress' but does not explicitly exclude alternatives or provide when-to-use vs. get_telemetry tools.

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.
Behavior5/5

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

Beyond annotations (readOnlyHint=false, destructiveHint=false), the description provides rich behavioral details: it drives a DAG, records reputation, finalizes on run end, explains the flag behavior for real/NOOP execution, and describes idempotent replay. This fully informs the agent of the tool's effects.

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 paragraph that efficiently covers purpose, behavior, and usage context. It front-loads the main action. While it is moderately long, every sentence adds value. Could be slightly more structured (e.g., separate sentences for different modes), but it remains clear and 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?

The tool is complex (drives a DAG) and has no output schema. The description explains execution but does not mention what the agent receives as a result (e.g., success/error, final reputation, workflow ID). This omission leaves the agent uncertain about post-invocation behavior. Given complexity, more completeness is warranted.

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. The description adds meaning: for 'id' it specifies 'Composition id from propose_composition. Must be in `proposed` status and not expired.' For 'idempotencyKey' it notes 'Optional caller-supplied key (≤120 chars) to dedupe execute calls.' These details go beyond schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: '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.' The verb 'execute' and resource 'composition' are specific, and the description distinguishes it from sibling tools like 'propose_composition' by focusing on execution and finalization.

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 explains when to use the tool (after proposing a composition) and contrasts real vs dev/test modes using a flag. It also notes re-execution is idempotent. However, it lacks explicit guidance on when not to use it, such as prerequisites like composition status or expiration, though these are covered in parameter semantics.

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
Behavior2/5

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

Annotations only indicate not read-only and not destructive, but description does not elaborate on side effects (e.g., bond handling, dispute resolution process, irreversibility). Minimal transparency for an on-chain action.

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 succinct sentences, front-loaded with action and prerequisites, no extraneous 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?

Covers key aspects: what it does, required inputs (bond, evidence), and output (transaction hash). Lacks explanation of address purpose (though schema fills that) and potential outcomes, but sufficient for a single-action 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 covers all parameters with descriptions. Description reinforces purpose of bond and evidence hash but adds no new semantic detail beyond 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?

Clearly states it files a dispute against a milestone on-chain, with bond and evidence hash. Distinguishes from other dispute tools by specifying 'against a milestone' and 'on-chain'.

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 alternatives (e.g., raise_ip_dispute, commit_evidence). Does not specify prerequisites or context for usage.

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').
Behavior5/5

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

Annotations indicate non-readonly and non-destructive, but description adds details: increments source's fork counter, ownership transfer, and usable on public/unlisted/private dashboards. This goes beyond annotations and provides full behavioral context.

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

Conciseness4/5

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

Three sentences effectively convey core purpose, usage context, and a side effect. Front-loaded with key action. Slightly verbose with 'social remix verb' but still 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?

Given 3 parameters, no output schema, and annotations present, the description covers ownership, visibility defaults, side effect (fork counter), and an example scenario. No gaps for a mutation tool of this complexity.

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 covers all parameters with descriptions, and description adds defaults for 'name' and 'visibility' ('(fork)' suffix and 'unlisted'). This adds value beyond schema alone. One minor redundancy: 'social remix verb' is fluff but not harmful.

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

Purpose5/5

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

Description clearly defines the tool as forking a dashboard into a new artifact with lineage preservation, using specific verb 'fork' and resource 'dashboard'. It distinguishes from sibling tools like 'fork_protocol' and 'save_dashboard' by its unique purpose.

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: to adapt a popular dashboard instead of building from scratch, with a concrete example. Also suggests alternative 'update_dashboard' for modifications after forking. No exclusions needed.

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

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

Annotations already indicate it is not read-only and not destructive. The description adds that parameter overrides are possible and that a new fork ID is returned, providing 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?

The description is two sentences, front-loaded with the action and outcome, and no redundant information. Every sentence contributes meaning.

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 no output schema, the description clearly states the return value (new fork ID). Combined with the comprehensive input schema, the description provides all necessary context for correct tool use.

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 describes each parameter fully. The description adds minimal value, only mentioning 'parameter overrides' and the return ID, which are already implied. 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 the specific verb 'Fork' and resource 'protocol template', clearly indicating the action of creating a variant from an existing template. It distinguishes from siblings like 'create_protocol' and 'update_protocol' by explicitly mentioning 'parameter overrides' and returning a fork ID.

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 implicitly communicates when to use this tool (when you want a personalized version of a protocol template). However, it does not explicitly state when not to use it or name alternative tools for different scenarios, leaving some ambiguity.

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

fund_escrowAInspect

Fund an escrow contract on-chain. The payer must have already approved the token transfer (use approve_token first). Returns transaction hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEscrow contract address (0x...)
Behavior4/5

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

Annotations show non-readOnly and non-destructive. Description adds that it is on-chain, returns transaction hash, and requires prior approval. Does not cover edge cases like already-funded escrow.

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: purpose, prerequisite, return value. Front-loaded, no fluff, each 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?

No output schema, but description states return type (transaction hash). Prerequisite is given. Lacks details on token type or amount, but acceptable for a single-param 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% with clear param description. The tool description does not add extra meaning beyond the schema for the 'address' parameter.

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

Purpose5/5

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

Description specifies the verb 'fund' and resource 'escrow contract', clearly distinguishing from sibling tools like 'approve_token' (prerequisite) and 'get_escrow' (read).

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 prerequisite: payer must have approved token transfer first, referencing sibling 'approve_token'. Provides context for when to use.

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

get_active_telemetryA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds value by specifying that only 'currently active' jobs are listed and what information is returned (pipeline phase, telemetry status), going 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?

The description is a single sentence of 14 words, front-loaded with the verb 'List', and contains no redundancy. Every word is functional.

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 listing tool with no parameters and annotations providing safety context, the description is complete. It explains the result scope (active jobs) and fields (pipeline phase, telemetry status) without needing an output schema.

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

Parameters4/5

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

The tool has zero parameters, so the schema already fully covers parameters. The description does not need to add parameter semantics. The baseline for no parameters is 4, and the description meets 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 clearly states the tool lists 'currently active jobs' with pipeline phase and telemetry status, using a specific verb and resource. It distinguishes from siblings like 'get_job' and 'list_jobs' by focusing on active jobs and telemetry details.

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 provides a clear context for when to use the tool (listing active jobs), but it does not explicitly mention when not to use it or suggest alternative tools. Given many sibling tools, some exclusion guidance would be helpful.

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

get_agent_anomaliesA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesAgent or kernel ID
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 tool is clearly a safe read operation. The description adds value by specifying that the output includes a 'trust impact score', which is not implied by the schema or annotations. However, it does not disclose other behavioral details like pagination or result limits, which is acceptable for a simple tool.

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

Conciseness5/5

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

The description is a single sentence of 9 words, efficiently conveying the core purpose. It is front-loaded with the verb and resource, and every part earns its place. No unnecessary 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?

Given the tool's simplicity (one required parameter, read-only, no output schema), the description is largely complete. It states what is returned (anomalies and trust impact score). However, it could be slightly enhanced by specifying the format (e.g., list) or mentioning that it returns results for the given agent ID, but the current description is 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 coverage is 100% (one parameter with a description: 'Agent or kernel ID'). The tool description does not add any additional meaning beyond what the schema provides. According to the guidelines, when schema coverage is high (>80%), the baseline is 3, and there is no extra param info here.

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

Purpose5/5

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

The description clearly states the tool retrieves anomalies for a specific agent and includes their trust impact score. It uses a specific verb ('Get') and resource ('anomalies involving a specific agent'), which distinguishes it from sibling tools like get_unresolved_anomalies (which returns all anomalies without agent filter) and get_anomaly_stats (which gives statistics).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is agent-specific, while get_unresolved_anomalies is for all anomalies, nor does it suggest when to use get_anomaly_stats instead. The agentId parameter implies filtering, but without explicit context, the agent may not know to choose this over similar tools.

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

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 tool is safe. The description adds value by specifying the exact aggregate breakdown (total, unresolved, by severity, by category), which goes beyond simple 'read-only' information. No contradictions.

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

Conciseness5/5

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

Single-sentence description, front-loaded with action and resource, no unnecessary words. Highly 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?

Given no input params and no output schema, the description adequately describes the return content (aggregate statistics with breakdowns). Could be slightly improved by mentioning the return format (e.g., object), but sufficient for understanding the tool's output.

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

Parameters4/5

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

There are no parameters (0 parameters, 100% schema coverage), so baseline is 4. The description does not need to add param info; it instead explains the output composition, which is helpful.

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

Purpose5/5

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

Description clearly states 'Get aggregate anomaly statistics' and enumerates specific categories (total, unresolved, by severity, by category). This distinguishes it from sibling tools like get_unresolved_anomalies (individual anomalies) and get_agent_anomalies (agent-specific).

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 for aggregate views but does not explicitly state when to use this tool over alternatives like get_agent_anomalies or get_unresolved_anomalies. No when-not-to-use guidance is provided.

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

get_automation_statusA
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
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 agent knows it's a safe read. The description adds the domain context (automation status, transfer pair) but no additional behavioral traits like return format, auth requirements, or rate limits. With annotations covering safety, value added is moderate.

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 concise sentence that gets to the point. It is front-loaded with the action and resource. Could potentially add a bit more detail (like what status includes) but overall efficient.

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 tool has no output schema, so the description could hint at the return value (e.g., fields of automation status). However, given the simplicity and the fact that annotations confirm read-only, it is minimally 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 coverage is 100%; the description does not add meaning beyond what the schema already provides for 'toNodeId' and 'fromNodeId'. Baseline 3 is appropriate as the schema is sufficient.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'automation status' with a specific scope: 'for a specific instrument-to-instrument transfer pair'. It distinguishes itself from sibling tools like 'list_automation_status' by focusing on a single pair.

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 implicitly tells when to use it (when status for a specific pair is needed) but does not explicitly exclude use cases or reference alternatives like 'list_automation_status'. The scope is clear enough for an agent to differentiate.

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

get_bounty_leaderboardA
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)
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 context that the leaderboard ranks by 'claimed and verified' bounties, which is consistent and 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?

Single sentence that is front-loaded and contains no filler. Every word is necessary.

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 tool with one optional parameter and no output schema, the description is complete enough. It states what the tool returns and the ranking criteria.

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 optional 'limit' parameter with description. The description does not add parameter information, but schema already adequately explains it.

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

Purpose5/5

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

The description clearly specifies the tool retrieves a leaderboard of top operators based on bounties claimed and verified, distinguishing it from sibling tools like 'list_bounties' or 'claim_bounty'.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The purpose suggests it is for aggregated rankings, but lacks when-not-to-use or alternative suggestions.

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
Behavior3/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false; the description does not add behavioral context beyond stating it retrieves configuration, which is consistent. No contradictions, but could have clarified it's non-destructive.

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 concise sentences: first states purpose, second gives usage context. No fluff, front-loaded, every sentence serves a purpose.

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

Completeness5/5

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

Given the tool's simplicity (retrieve options), 3 parameters fully described in schema, and no output schema needed, the description provides complete context 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?

Input schema covers all 3 parameters with descriptions, so baseline is 3. The description mentions 'capability type' which maps to the required 'type' parameter, but does not add new semantic detail for 'profileId' or 'selections'.

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

Purpose5/5

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

Description clearly states 'Get configuration options for a capability type' with specific examples (materials, dimensions, tolerances, assurance tiers), and distinguishes its role by mentioning it should be used before calculate_price.

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 'Use before calling calculate_price', providing clear guidance on when to invoke this tool. No alternatives or when-not-to-use are given, but the instruction is sufficient for a simple retrieval tool.

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

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. Description adds value by listing the specific returned data (primary CID, metadata CID, Filecoin deal ID). No contradictions.

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

Conciseness5/5

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

Single, concise sentence that front-loads the purpose and return details. No extraneous information.

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

Completeness5/5

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

For a simple read-only tool with one parameter and no output schema, the description adequately explains the return value and purpose, covering what the agent needs 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?

Schema provides description for the only parameter (bundleId: 'Evidence bundle ID') with 100% coverage. Description does not add further semantic detail beyond the schema's context.

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

Purpose4/5

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

Description clearly states the specific purpose: retrieving IPFS CIDs for a bundle, listing returned fields. However, it does not differentiate from sibling tools like 'get_evidence_bundle' or 'retrieve_ipfs', which may overlap.

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 alternatives, such as when to call this instead of 'retrieve_ipfs' or other getter tools.

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

get_capability_ipA
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
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, which covers the safety profile. The description adds that the tool retrieves an IP registration, but does not disclose additional behavioral traits such as pagination, rate limits, or expected response format. With annotations present, the added value from the description is minimal, resulting in a score of 3.

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

Conciseness5/5

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

The description is a single sentence with no unnecessary words. It is front-loaded with the key action and context, making it highly concise and effective.

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?

The tool is simple with one parameter and no output schema. The description adequately explains the purpose and input. However, it does not describe the return value or structure, which a brief hint about the output would enhance completeness.

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 describes the single parameter 'capabilityId' as 'Capability ID to look up IP registration for'. The tool description repeats this almost verbatim, adding no new semantic information beyond what the schema 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?

The description clearly states the verb 'Get', the resource 'Story Protocol IP registration for a capability', and the identifier 'capability ID'. It distinguishes itself from sibling tools like 'get_ip_lineage' or 'get_registration' by specifying the exact scope: IP registration for a 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?

No guidance is provided on when to use this tool versus alternatives. There is no mention of when to use this tool instead of other get_* tools, nor any conditions or exclusions.

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

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

Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds that it returns 404 if unknown and 410 if expired after 30 minutes, which is valuable behavioral insight 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 covering purpose, error codes, and usage guidelines. No wasted words. Front-loaded with the main action.

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 retrieval tool with good annotations, the description is sufficiently complete. It mentions return values implicitly (inspect a plan) and covers key behaviors. Output schema absence is mitigated by clear purpose.

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 has 100% coverage with a description for the id parameter. The description adds that the id comes from propose_composition, linking to the sibling tool and providing context 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?

Clearly states 'Retrieve a previously-proposed composition by id' with a specific verb and resource. Distinguishes from sibling tools like propose_composition and execute_composition by 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?

Explicitly says 'Use this to inspect a plan before executing, or to recover a plan id after a restart.' Provides clear context but does not explicitly state when not to use or list alternatives.

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).
Behavior5/5

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

Beyond annotations (readOnlyHint, destructiveHint), describes side effect (increments load counter) and access level per artifact visibility. No 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 sentences, front-loaded with purpose, then usage guidance, then behavioral note. No redundancy.

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?

Covers all essential aspects: purpose, parameter, usage scenario, access, side effect. No gaps given simplicity and annotations.

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%, baseline 3. Description adds examples ('ua_...' and slug format) and clarifies parameter accepts both id or slug.

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?

Clearly states verb ('Recall'), resource ('saved dashboard'), and scope ('by its id or slug'). Distinguishes from siblings like save_dashboard, update_dashboard, 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 says when to use (reload saved dashboard) vs regenerate, and mentions access control (public/unlisted vs owner-only). Could explicitly name alternative tools but still clear.

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

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 description adds value by specifying the scope ('network-wide') and the type of data ('demand vs supply timeline'). 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?

Single sentence that is front-loaded with the essential information. No unnecessary words, every part serves a purpose.

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

Completeness5/5

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

Given the tool's simplicity (no parameters, annotations cover safety, output schema not provided), the description is complete. It conveys what the tool returns and its use case.

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

Parameters4/5

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

The tool has no parameters, and schema coverage is 100%. The description does not need to add parameter information. Baseline score of 4 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?

Description clearly states the verb 'Get', the resource 'network-wide demand vs supply timeline data', and the purpose 'for capacity planning and market analysis'. This distinguishes it from sibling tools like get_marketplace_overview or get_dashboard.

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 implies usage context by stating the purpose, but does not explicitly mention when not to use or provide alternative tools. Nonetheless, the context is clear enough for an AI agent.

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

Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds the resources being queried (treasury, certificates, epoch stats) but does not disclose any additional behavioral traits such as data freshness, pagination, or error conditions. It provides minimal extra 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?

The description is a single sentence that directly states the resources involved. It is concise and front-loaded with the main purpose. No extraneous information is included.

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 stats tool with no output schema, the description could be more specific about the structure of the returned data. While it lists the categories, it does not explain what fields each category contains. Given the lack of output schema, the description should provide more detail to fully inform the 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 has no parameters, and schema description coverage is 100% (empty properties). The description does not need to explain parameters. A baseline score of 4 is appropriate as the description is not required to add parameter meaning.

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 retrieves DePIN treasury, soulbound certificates, and reward epoch stats, providing a general purpose but lacking specificity on what each stat represents. It distinguishes from siblings by naming specific resources, but the phrase 'DePIN treasury, soulbound capability certificates, and current reward epoch stats' is somewhat vague and could be clearer.

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 other stats-related tools like get_settlement_status or get_escrow. The description does not mention usage context or alternatives, leaving the agent to infer its applicability 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_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

Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, confirming safety. The description adds value by detailing the type of data returned (utilization, demand, pricing), going beyond the annotations. No behavioral quirks are disclosed, but the tool is simple with no parameters.

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

Conciseness5/5

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

The description is a single sentence of 18 words, front-loading the main purpose. Every word is meaningful, with no fluff 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 simple list tool with no parameters and no output schema, the description adequately conveys purpose and data included. However, it could mention that it returns all equipment classes or any scope limitations, but given the tool's simplicity, 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?

The tool has no parameters, so schema coverage is 100% trivially. The description does not need to add parameter info, and it correctly avoids redundancy. Baseline for zero parameters 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?

The description clearly states the verb 'List' and the resource 'equipment classes', and specifies the market snapshot data included (utilization, demand, pricing). It distinguishes this tool from siblings like 'list_pools' or 'list_bounties' by its specific subject.

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 for retrieving a list of equipment classes with market data, but does not explicitly state when to use it versus alternatives, nor are there exclusions or prerequisites.

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...)
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 description does not need to reiterate safety. It adds context about reading from DB vs blockchain, which is useful. However, it does not disclose any other behavioral traits (e.g., response structure, pagination). The description adds some value but is not rich.

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

Conciseness5/5

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

The description is extremely concise: two sentences with no fluff. The first sentence states the purpose, the second explains the parameter usage. It is front-loaded and every word earns its place.

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

Completeness4/5

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

Given the tool's simplicity (one param, read-only, no output schema), the description adequately covers usage. It tells the agent how to invoke with two input types. However, it does not describe the output format or any differences between DB and blockchain responses. For a read tool, this is mostly sufficient, hence 4.

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 escrowId is fully described in the schema (100% coverage). The tool description essentially repeats the schema description. It adds no new meaning beyond what the schema already provides. Therefore, baseline score 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 clearly states the action ('Get escrow details') and the resource ('escrow'). It specifies two modes (DB ID vs EVM address), making the purpose precise. However, it does not explicitly differentiate from sibling tools like get_escrow_chain_state or get_escrow_dispute, which could lead to confusion. A 4 is appropriate as it is clear but not fully distinguished.

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 tells the agent when to use each parameter type ('Pass a DB ID... or an EVM address'), providing context for invocation. However, it offers no guidance on when NOT to use this tool or mention alternatives (e.g., for specific escrow components). The usage is implied but lacks explicit exclusions.

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...)
Behavior3/5

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

The description adds that it reads from the blockchain and is more detailed than a sibling, which goes beyond the annotations (readOnlyHint, destructiveHint). However, it does not mention potential issues like latency, rate limits, 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?

The description is a single concise sentence that efficiently conveys the purpose and differentiation. There is no unnecessary information.

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

Completeness4/5

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

For a simple read-only tool with one parameter and no output schema, the description is largely complete. It could optionally describe the return format, but the annotations already indicate read-only behavior, making it 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?

The schema already fully describes the single parameter 'address' with a clear description. The tool description adds no further semantic meaning beyond what is in the schema, so a baseline score of 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 clearly states the verb 'Read' and the resource 'full on-chain escrow state with all milestone details'. It explicitly differentiates from the sibling tool 'get_escrow' by claiming to be more detailed for on-chain contracts.

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

Usage Guidelines4/5

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

The description provides clear context by comparing to 'get_escrow' for on-chain contracts, implying when to use this tool over that alternative. However, it does not mention when not to use it or cover other alternatives like 'get_escrow_events'.

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)
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 description adds minimal value. The phrase 'from the blockchain' hints at a direct chain query but doesn't elaborate on return structure or latency.

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

Conciseness5/5

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

Single sentence, no redundant words, front-loaded with action and resource. Perfectly concise for the information conveyed.

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 tool with annotations and full schema coverage, the description is adequate. However, without an output schema, it would benefit from briefly stating the kind of data returned (e.g., dispute status, parties, etc.).

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 parameters are well-documented in the schema. Description does not add extra meaning beyond the schema; the reference to 'specific milestone' aligns with milestoneIndex 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?

Description clearly states verb 'Read' and resource 'dispute state for a specific milestone', making the purpose unambiguous. However, it does not distinguish from sibling tools like get_escrow or get_escrow_events.

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 alternatives like file_escrow_dispute or get_escrow. Missing context about prerequisites or typical workflow.

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

get_escrow_eventsA
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)
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 description adds event-type context but no further behavioral traits (e.g., ordering, pagination, chain dependencies). No contradictions 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?

Two concise sentences front-loaded with the core purpose and event types. No 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?

Without an output schema, the description lacks details on the return format (e.g., array structure, event object fields). Listing event types is helpful but incomplete for an event 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 coverage is 100% with both parameters (address, fromBlock) described. The description does not add parameter-level meaning beyond what the schema 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?

The description clearly states the tool gets on-chain event history for an escrow contract and specifies the event types (funding, release, dispute, bond). This distinguishes it from siblings like get_escrow (contract state) and get_escrow_dispute (dispute-specific).

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 for retrieving event history but does not explicitly guide when to use this vs. siblings like get_escrow_chain_state or get_escrow_dispute. No exclusions or alternatives are mentioned.

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

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
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the returned data includes encrypted payload and key capsules, which is useful but doesn't disclose rate limits, permissions, 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?

The description is a single, well-structured sentence with no redundancy. It efficiently conveys the core purpose and output without extraneous 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?

Given the tool's simplicity (one parameter, no output schema, no nested objects), the description is sufficient. It explains what the tool does and what it returns. Minor omission: no mention of error cases or edge conditions, but acceptable for a straightforward retrieval 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%, with parameter 'bundleId' described in the schema. The description does not add any additional meaning or constraints beyond what the schema provides, so baseline score 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 clearly states the action (get) and resource (encrypted evidence bundle) with a specific identifier (bundle ID), and mentions returned data (encrypted payload and key capsules). However, it does not differentiate from similar sibling tools like get_bundle_ipfs, which also retrieves bundles.

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 you need a bundle ID, but provides no guidance on when to use this tool over alternatives (e.g., list_evidence, get_bundle_ipfs), no prerequisites, and no context on when to avoid it.

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

get_installationsA
Read-only
Inspect

List equipment installation orders with step progress and status.

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

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating safe read-only behavior. The description adds 'with step progress and status' which hints at output structure but no additional behavioral details. It does not describe pagination, filtering limits, or edge cases.

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

Conciseness5/5

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

The description is a single, concise sentence with no extraneous information. It is front-loaded with the action and resource, making it quick to parse.

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

Completeness3/5

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

The description is sufficient for a simple list tool with one optional parameter and no output schema. However, it lacks details on default state (e.g., all installations?), ordering, and output structure beyond 'step progress and status'. It is 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 coverage is 100% with the only parameter 'status' having a clear description. The tool description does not add any additional meaning or context for the parameter beyond the schema, so baseline score 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 clearly states the action ('List'), the resource ('equipment installation orders'), and the additional context ('with step progress and status'). It distinguishes itself from sibling tools like 'get_shipments' or 'get_operator_machines' by specifying installation orders.

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 vs alternative listing tools (e.g., list_batches, list_evidence). No exclusions or prerequisites are mentioned. The usage context is implied but not explicitly stated.

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

get_ip_lineageA
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
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 valuable behavioral context by explaining the scope—'full IP lineage chain' including parent capabilities and derivative jobs. This goes 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, well-structured sentence of 16 words. It is front-loaded with the verb 'Get' and resource, and every word adds value. No wasted 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?

The tool is simple (1 param, read-only). The description covers what it does and what it returns (lineage). However, without an output schema, it could be more explicit about the return format (e.g., list, tree). Still, it is largely complete for its 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 the single parameter 'ipId' described as 'IP asset ID'. The description does not add additional semantics beyond the schema, which is adequate. Baseline score 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 clearly states the tool gets the 'full IP lineage chain' for an asset, specifying it includes 'parent capabilities and all derivative job registrations'. This distinguishes it from sibling tools like get_capability_ip and get_job.

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 does not explicitly state when to use this tool versus alternatives or provide exclusions. While the purpose is clear, there is no guidance on context-specific usage or when not to use it.

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

get_ip_revenueA
Read-only
Inspect

Get a revenue snapshot for an IP asset — total earned, pending claims, and recent payments.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipIdYesIP asset ID
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 clear. The description adds specific behavioral details: it includes total earned, pending claims, and recent payments. This enriches the agent's understanding 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?

The description is a single, front-loaded sentence with no waste. Every part adds value: verb, resource, and output components.

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 tool with one parameter and no output schema, the description covers the main elements (input and output content). It could be slightly more explicit about the response format, but it gives enough 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% (ipId described as 'IP asset ID'). The description does not add further parameter semantics; it only repeats the overall purpose. Baseline is 3 as schema already documents the parameter adequately.

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

Purpose5/5

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

The description uses the specific verb 'Get' and clearly states the resource 'revenue snapshot for an IP asset'. It distinguishes from siblings like 'claim_ip_revenue' (which claims revenue) and 'pay_ip_royalty' (which pays royalties). 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?

The description implies usage for reading revenue data, but does not explicitly state when to use versus alternatives (e.g., when not to use, or that other tools are for claiming/paying). No exclusionary guidance is provided.

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

get_jobA
Read-only
Inspect

Get job details including progress, evidence bundles, and milestones.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID
Behavior3/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 context about returned fields (progress, evidence bundles, milestones) but no additional behavioral traits 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.

Conciseness4/5

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

Single sentence, 10 words, front-loaded with purpose. No waste, but could benefit from slight structural improvements for readability.

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, but the description adequately lists what details are included (progress, evidence bundles, milestones), providing sufficient context for a retrieval 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 documentation covers the single parameter (jobId) at 100%, and the description does not add significant new meaning beyond what the schema 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?

The description clearly states the tool retrieves job details including specific sub-components (progress, evidence bundles, milestones), distinguishing it from sibling tools like list_jobs (list vs. get one) and 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 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 vs. alternatives like get_workflow, get_protocol_run, or get_evidence_bundle. The agent must infer 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_job_telemetryA
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
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 description carries a lighter burden. It adds that the tool returns 'all pipeline phase transitions with timings and metadata,' which provides functional context but does not address error behavior, limits, or data freshness. With annotations covering safety, 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?

A single, well-structured sentence that front-loads the action and resource. Every word earns its place; no redundancy or clutter.

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 full schema coverage and no output schema, the description sufficiently explains the return content: event timeline with phase transitions, timings, and metadata. It is slightly incomplete in not describing the structure of the timeline (e.g., is it an array of events?) but given the missing output schema, this is acceptable.

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 clear description of jobId in the schema. The description adds no additional parameter-level detail, so the baseline of 3 is appropriate; the schema already handles semantic 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?

The description uses specific verb 'Get' and clearly identifies the resource: 'full event timeline for a specific job — all pipeline phase transitions with timings and metadata.' This distinguishes it from sibling tools like get_job (generic job info) and get_telemetry_logs (raw logs).

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 does not provide any when-to-use or when-not-to-use guidance, nor does it mention alternatives. It only states what the tool does, leaving the agent to infer usage 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.

get_kernelA
Read-only
Inspect

Get kernel details including full capability objects, devices, and queue.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID
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 by specifying the exact data returned (capability objects, devices, queue), providing 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.

Conciseness5/5

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

Single sentence that is front-loaded with action and resource. No unnecessary words; every part contributes to understanding the tool's function.

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 single parameter, complete schema coverage, and safety annotations, the description is sufficient. It lacks output schema but hints at the return structure. Sibling tools provide context for when more specific data 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 has 100% coverage, describing kernelId as 'Kernel ID'. The description does not add additional meaning or constraints to this parameter. Baseline of 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 ('Get') and resource ('kernel details') and lists included components ('full capability objects, devices, and queue'). It clearly distinguishes from sibling tools like get_kernel_devices and get_kernel_jobs, which focus on subsets.

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 for comprehensive kernel details but does not explicitly state when to use this tool versus more specific get_* siblings. No exclusions or alternatives are mentioned.

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

get_kernel_devicesA
Read-only
Inspect

List all devices registered under a specific kernel, including adapter configs and device types.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's 'list' matches. However, it does not disclose potential pagination, rate limits, or the structure of the response. The addition of 'including adapter configs and device types' adds moderate 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?

The description is a single, well-front-loaded sentence that conveys the essential purpose without unnecessary words. Every phrase 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 list tool with one required parameter and read-only annotations, the description is fairly complete. It specifies the scope (adapter configs, device types) which helps understand the output. However, with no output schema, it could hint at return format or pagination, but the tool's simplicity makes this acceptable.

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 coverage for the single parameter, the description adds little beyond the schema's 'Kernel ID'. The mention of 'specific kernel' is redundant. Baseline 3 is appropriate since schema already documents the parameter.

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

Purpose5/5

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

The description clearly states the action (list), resource (devices registered under a specific kernel), and scope (including adapter configs and device types). It distinguishes from sibling tools like get_kernel, get_kernel_jobs, and get_kernel_sensors by specifying 'devices' as the 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 description implies when to use the tool (list devices under a kernel) but provides no explicit guidance on when not to use it or alternatives. With many sibling tools, additional context would help agents decide between this and similar get_* tools.

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

get_kernel_jobsA
Read-only
Inspect

List all jobs submitted to a specific kernel, including job status and progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID
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 description does not need to cover safety. It adds value by mentioning return fields ('job status and progress'), but beyond that, it offers no additional behavioral details (e.g., pagination, ordering).

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, well-structured sentence that conveys all essential information without redundancy. Every word adds value, and it is front-loaded with the key action.

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 tool with one required parameter, no output schema, and no nested objects, the description is fully adequate. It specifies the purpose, scope, and return content, leaving no 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?

With 100% schema description coverage, the schema already explains the single parameter 'kernelId' as 'Kernel ID'. The description does not add further semantic detail, warranting the baseline score 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?

The description clearly states the action ('List'), the resource ('jobs'), and the scope ('submitted to a specific kernel'), including additional context about the return content ('status and progress'). This distinguishes it from siblings like `get_job` (single job) and `list_jobs` (all 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?

The description implies usage context by specifying that a kernel ID is required. However, it does not explicitly mention when not to use it or suggest alternative tools like `list_jobs` for cross-kernel queries. The context is clear but lacks direct guidance on exclusions.

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

get_kernel_sensorsA
Read-only
Inspect

Get sensor channels for a specific kernel. Returns live channel descriptors.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID to get sensors for
Behavior3/5

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

Annotations already mark it as read-only and non-destructive. The description adds context that it returns 'live channel descriptors', which is helpful but doesn't elaborate on 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 with no wasted words; front-loaded with the main action and additional clarification.

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 tool with one parameter and no output schema, the description covers purpose and return type. Could mention that channel descriptors are the full details, but is generally 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 coverage is 100%, so the description of kernelId in the schema is sufficient. The description does not add extra meaning 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?

The description clearly states the verb 'Get' and the resource 'sensor channels for a specific kernel', distinguishing it from sibling tools like get_sensor_channels which likely operate on all sensors.

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 implies usage when you have a specific kernelId, but does not mention alternatives like get_sensor_channels or when not to use it.

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

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)
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds that the tool returns the conditions that gate decryption, which is useful behavioral context beyond annotations. No contradictions found.

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 concise sentences with no superfluous information. Every word serves a purpose, making it easy to parse quickly.

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 tool with one parameter and no output schema, the description adequately tells what it does and returns. It could briefly hint at the structure of conditions, but overall it is complete given the 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 coverage is 100% with a clear description for the only parameter (bundleId). The description mentions 'Lit-encrypted evidence bundle' but does not add meaning 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 clearly states the tool's purpose: retrieving Lit Protocol access conditions for a Lit-encrypted evidence bundle. The verb 'Get' and specific resource 'access conditions' are unambiguous, and it distinguishes from sibling tools like 'get_evidence_bundle' by focusing on the access control aspect.

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 indicates when to use the tool: for a Lit-encrypted evidence bundle. It implies this is a prerequisite for decryption but does not explicitly state when not to use it or mention alternatives like 'lit_decrypt'. The context is clear, but exclusions are missing.

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

get_logistics_overviewA
Read-only
Inspect

Logistics hub overview: active shipments, pending installations, and upcoming bookings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false, so safety profile is clear. Description adds behavioral context by listing the data categories returned (shipments, installations, bookings). No contradictions.

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

Conciseness5/5

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

Single sentence of 9 words, front-loaded with 'Logistics hub overview'. Every word adds value. No redundancy or fluff.

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 tool with annotations covering safety, the description fully captures what data the tool returns. No output schema exists, but the description lists enough detail for an agent to understand the tool's purpose and scope.

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?

No parameters exist, so schema coverage is 100%. Description adds no parameter info, but baseline for 0-param tools is 4, and the description is adequate.

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

Purpose5/5

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

Description clearly states the tool returns a 'logistics hub overview' with specific data categories (active shipments, pending installations, upcoming bookings). Verb 'get' is implied, purpose is unambiguous and distinct from other get_ tools by specifying logistics.

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 alternatives. Does not mention exclusions, prerequisites, or differentiate from sibling overview tools like get_marketplace_overview or get_dashboard. Usage context is only implied by the domain.

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

get_marketplace_overviewA
Read-only
Inspect

Equipment marketplace overview with demand/supply metrics across all capability types.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds no further behavioral context such as data aggregation, freshness, or limits. It is adequate but does not exceed the baseline set by annotations.

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

Conciseness5/5

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

The description is a single sentence with 11 words, perfectly concise and front-loaded. Every word earns its place.

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

Completeness4/5

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

For a zero-parameter, read-only tool with no output schema, the description is sufficient. It communicates the core function. A small improvement could mention that it provides aggregated data, but given the simplicity, 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 input schema has no parameters (schema coverage 100%), so the description correctly omits parameter details. No additional meaning is needed 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?

The description clearly states the tool provides an 'overview with demand/supply metrics across all capability types,' which is a specific verb+resource combination. It distinguishes itself from sibling tools like 'get_demand_supply' by indicating a broader scope and aggregate nature.

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 use for a broad overview but does not explicitly state when to use this tool versus alternatives like 'get_demand_supply.' No exclusions or context of when not to use are provided.

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

List operator certifications (OSHA, safety training, PCC network certs) with validity status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false. The description adds the types of certifications listed and validity status, which is useful context but does not reveal additional behavioral traits beyond what annotations indicate.

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 extraneous words. The parenthetical examples provide clarity without bloating the description.

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?

The description is adequate for a simple, parameterless list tool with annotations. It specifies the content (OSHA, safety, PCC certs) and includes validity status. However, it does not clarify scope (e.g., current operator vs all), which could be ambiguous for agents.

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

Parameters4/5

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

The tool has no parameters, so schema coverage is 100%. The description adds no parameter information (none needed), but baseline is 4 for zero params. The mention of certification types slightly adds value 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?

The description clearly states the verb 'List' and the resource 'operator certifications' with specific examples (OSHA, safety training, PCC network certs). It effectively distinguishes this tool from siblings like 'get_operator_machines' or 'get_operator_dashboard' by focusing solely on certifications.

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

Usage Guidelines3/5

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

The description implies when to use (when needing operator certifications) but lacks explicit guidance on when not to use or alternative tools. Given the large sibling set, explicit alternatives would be beneficial, but the purpose is clear enough for basic selection.

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

Operator dashboard overview: machines, earnings summary, and maintenance alerts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds minimal behavioral context beyond listing included sections (machines, earnings, alerts). No contradictions, but adds little 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?

Single sentence, front-loaded with purpose, no unnecessary 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?

Sufficient for a simple read-only dashboard tool given annotations and no parameters. Could mention it's a read-only overview, but annotations cover safety. No output schema, but implied return.

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?

Input schema has no parameters (0 params, 100% coverage). Baseline 4 applies. Description doesn't need to explain params since none 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?

Description clearly states it provides an operator dashboard overview including machines, earnings summary, and maintenance alerts. It differentiates from sibling tools like get_operator_machines or get_operator_earnings by being an aggregate view.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this vs alternatives. The description implies it's for a high-level overview, but lacks when-not or sibling differentiation.

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

get_operator_earningsB
Read-only
Inspect

Get operator earnings breakdown over a time period. Includes daily earnings and cumulative totals.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoTime period for earnings data
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description adds context about return content (daily earnings and cumulative totals). However, it does not disclose if the period parameter affects aggregation behavior or if there are other hidden constraints.

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 only two sentences, no redundant words, and effectively front-loads the purpose. However, it could be slightly more detailed without sacrificing conciseness.

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?

Given the tool has no output schema, the description mentions daily earnings and cumulative totals but does not explain the structure or format of the response. For a simple tool with one parameter, this is 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?

The input schema already describes the only parameter (period) with enum values and a description. The description simply rephrases 'over a time period' without adding new semantic meaning. Schema coverage is 100%, so 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 clearly states the tool retrieves an operator earnings breakdown over a time period, specifying it includes daily earnings and cumulative totals. This is a specific verb+resource description that distinguishes it from sibling tools like get_pool_earnings or get_operator_dashboard.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as get_pool_earnings or get_operator_dashboard. There is no mention of prerequisites, operator identification requirements, or exclusions.

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

List all machines registered under the operator account with utilization and uptime stats.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 description correctly implies a safe read operation. The added context about utilization and uptime stats goes beyond annotations but is not critical. No contradictions.

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 12-word sentence with zero wasted words. It is front-loaded with the verb and resource, making it immediately scannable.

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 parameters and no output schema, the description adequately covers the tool's purpose and return data (utilization and uptime stats). It is complete enough for a simple list operation, though it could optionally mention pagination or ordering.

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

Parameters4/5

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

There are no parameters (schema coverage 100% with empty properties), so the description naturally cannot add param details. However, it compensates by explaining the return data (utilization and uptime stats), which adds meaning beyond what the empty schema 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?

The description uses the specific verb 'List' with the resource 'all machines registered under the operator account' and explicitly mentions the data included ('utilization and uptime stats'). This clearly distinguishes it from sibling tools like get_operator_certs or get_operator_dashboard.

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. With many sibling tools listing different resources (e.g., get_equipment_classes, get_kernel_devices), the description fails to provide context or exclusions for appropriate use.

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.
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 valuable behavioral context: operator slug is non-secret, response carries no credentials, and details the three possible statuses (ready, partial, unconfigured). No annotation 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?

Description is a single paragraph but packs useful information. Could be split or shortened for quicker parsing by AI, but currently no filler sentences. Every sentence contributes to understanding.

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?

Describes the four content slots, returned totals, missing list, and status values. Lacks explicit return structure (no output schema), but the description gives enough for an agent to interpret results 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 baseline is 3. The description repeats the schema's explanation that slug is usually the wallet address used as operatorAddress, but adds security context about non-secret nature. Minimal additional value beyond schema.

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

Purpose5/5

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

The description clearly states it provides a 'four-slot substrate view for an operator' listing kernels, capabilities, notification channels, and A2A agent-card URLs. The verb 'get' combined with 'operator_status' precisely identifies the resource and action. Among 200+ sibling tools, this is the only one focused on operator onboarding completeness.

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 recommends usage from 'an onboarding agent's wrap-up step' with a concrete question: 'are all four slots wired before I go live?'. This tells the agent exactly when to use this tool versus other operator-related tools like get_operator_certs, get_operator_dashboard, etc.

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
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 listing details (stakes, status, revenue share) but no additional behavioral traits like required permissions, rate limits, or failure modes. Without annotations, this would be a 1, but with annotations the bar is lower; still minimal extra 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?

Single sentence, 13 words, no redundancy. Each word is meaningful and front-loaded. Excellent conciseness.

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 getter with one parameter and no output schema, the description is mostly complete. It states the action and the kind of details. However, it doesn't mention that the poolId must reference an existing pool, or that the tool will return an error if not found. 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% (only parameter poolId has a description). Description does not add any meaning beyond the schema's 'Investment pool ID'. No format, constraints, or source guidance provided. 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?

Description clearly states verb 'Get details' and resource 'specific investment pool', and enumerates the kind of details (stakes, status, revenue share terms). This distinguishes it from sibling tools like list_pools (which lists all pools) and mutation tools like close_pool or stake_in_pool.

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

Usage Guidelines3/5

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

No explicit when or when-not to use. The description implies usage when you have a poolId and want details, but it does not provide alternatives or exclusion criteria. Compared to many sibling tools, the usage is implied by the name and pattern, but no guidance is given.

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
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds minimal behavioral context beyond 'Check earnings', which does not contradict annotations but also does not significantly enhance 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?

The description is a single, concise sentence with no unnecessary words. It front-loads the action and resource effectively.

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 tool with one parameter, the description adequately covers the core action. However, it lacks details on the type or scope of earnings returned, which could be useful for completeness.

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 parameter 'staker', with a clear description. The tool description does not add any additional parameter semantics beyond what the schema provides, meeting 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?

The description clearly states the tool checks earnings from capability investment pools for a staker address, using a specific verb and resource. However, it does not explicitly differentiate from sibling tools like get_pool or get_operator_earnings, leaving room for ambiguity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or context for usage.

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

get_protocolA
Read-only
Inspect

Get protocol template details by ID. Returns steps, transfers, parameters, and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProtocol template ID
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description confirms a read operation ('Get') and adds detail on returned content, but does not disclose additional behavioral traits 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.

Conciseness4/5

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

The description is a single concise sentence that front-loads the action and resource. It contains no superfluous information but could include a note about read-only nature, though annotations cover that.

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 covers what is returned (steps, transfers, parameters, metadata). The single parameter is adequately documented. The description is complete for a simple get-by-ID 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% with description 'Protocol template ID'. The tool description does not add extra semantic meaning beyond the schema's parameter description.

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

Purpose5/5

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

The description clearly states the action ('Get protocol template details by ID') and specifies the resource (protocol template). It also lists the returned fields (steps, transfers, parameters, metadata), distinguishing it from other get_* siblings.

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

Usage Guidelines3/5

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

The description does not explicitly provide usage guidelines or mention when to use this tool vs. alternatives. However, the simple retrieval by ID is self-explanatory given the context of many sibling tools.

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

get_protocol_forksA
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
Behavior4/5

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

Annotations declare readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context by specifying that the tool shows who forked and what parameters changed, 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?

Two concise sentences that front-load the purpose and follow with relevant detail. Every sentence conveys useful information without 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?

Given the tool's simplicity (one parameter, no output schema), the description adequately covers functionality and output content. It could mention if pagination or limits apply, but overall is sufficiently informative for a list 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?

The single parameter 'id' is described in the schema as 'Protocol template ID'. The description does not add further semantics about how to find or use this ID. With full schema coverage, baseline is 3; no extra value.

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

Purpose5/5

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

The description clearly states the verb (list), resource (forks of a protocol template), and includes specific output details (who forked, parameter changes). It effectively distinguishes from sibling tool 'fork_protocol', which creates forks.

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 (when you need to see forks), but lacks explicit guidance on when not to use or mention of alternatives. With many sibling tools, some usage context would improve agent decision-making.

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

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

Adds context beyond annotations by listing returned fields (step progress, transfer status, etc.). No contradiction with readOnlyHint.

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

Conciseness5/5

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

Single sentence, 14 words, front-loaded with purpose. Efficient and clear.

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 simple get-status tool with one parameter and no output schema. Sufficient for agent selection.

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 'runId' with clear description in schema. Description doesn't add additional semantics, but schema coverage is 100%.

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?

Clearly states it retrieves protocol run status including specific fields. Distinguishes from sibling tools like 'get_protocol' and 'list_protocol_runs'.

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?

Implied usage for status checking but lacks explicit when-to-use or alternatives like pause/start run tools.

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
Behavior3/5

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

Annotations already indicate read-only and non-destructive. The description adds value by listing the specific data fields returned (capabilities, pricing, operator info, status), but does not disclose other behaviors like permissions needed or response format.

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

Conciseness5/5

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

Single sentence, 16 words, front-loaded with the action. Every word is informative and necessary. 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?

Without an output schema, the description adequately explains the return content. It covers key aspects of a registration. Could mention error conditions or prerequisites, but overall sufficient for a simple read 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?

Only one parameter (registrationId) with a schema description of 'Registration ID'. The tool description does not add meaning beyond the schema. With 100% schema coverage and a simple parameter, a baseline of 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?

Clearly states 'Get details of a specific machine registration by ID' with a specific verb and resource. Includes what details are returned (capabilities, pricing, operator info, status), distinguishing it from list_registrations which returns a list.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like list_registrations or other get tools. The description implies use when you have a registration ID, but does not mention exclusions or provide comparative context.

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

Behavior3/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 by specifying that the tool returns channel descriptors with units and ranges, which is not in the annotations. However, it does not mention any other behavioral traits like pagination or resource limitations.

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

Conciseness5/5

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

The description is extremely concise at two sentences, with the core action front-loaded. Every sentence adds meaningful information without 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?

Given the simplicity of the tool (no parameters, no output schema), the description adequately covers the purpose and return value. However, it could be improved by mentioning that it lists all channels across all kernels without filtering, and perhaps the format of the descriptors.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description does not need to add parameter information beyond what the schema already provides, which is 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?

The description uses the specific verb 'List' and identifies the resource as 'registered sensor channels across kernels', with additional detail about the return value. However, it does not distinguish itself from similar sibling tools like get_kernel_sensors, which could lead to confusion.

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_kernel_sensors or get_telemetry_stats. The description fails to provide any context for tool selection.

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

get_settlement_epochsA
Read-only
Inspect

Get settlement epoch history showing past batch settlements with timing and operation counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 agent knows it is a safe read. The description adds that it shows past batch settlements with timing and operation counts, providing some context about the data. However, it does not disclose any behavioral traits 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, concise sentence that front-loads the purpose and includes key details (timing and operation counts). Every word earns its place with no redundancy.

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

Completeness5/5

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

Given that the tool has no parameters and no output schema, the description sufficiently explains what it returns. It is a simple read operation, and the description is complete for an agent to understand its use.

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

Parameters4/5

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

There are no parameters in the input schema (100% coverage by default), so the description does not need to add parameter details. Baseline for zero parameters is 4, and no additional info 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 the tool fetches settlement epoch history with timing and operation counts. It uses a specific verb 'Get' and resource 'settlement epoch history'. However, it does not distinguish from the sibling tool 'get_settlement_status', which might be related.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_settlement_status' or other history tools. The description lacks any context about typical use cases or prerequisites.

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

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 by specifying the returned fields (pending ops count, total value, smart account address), which is not in annotations. No contradictions.

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

Conciseness5/5

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

Single, front-loaded sentence that directly states the tool's function and key outputs. No superfluous information.

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

Completeness5/5

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

Given no parameters and no output schema, the description sufficiently explains the tool's return values and purpose. It covers all necessary context for a simple read-only status 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?

No parameters exist, so schema coverage is 100%. The description adds meaning by explaining what the tool returns, which helps an agent understand the result without an output schema.

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

Purpose5/5

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

The description clearly states the tool retrieves settlement pipeline status and lists specific fields (pending operations count, total value queued, smart account address). It uses a specific verb-resource pair distinct from siblings like get_settlement_epochs.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of context or exclusions, which would help an agent decide among many get_* siblings.

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

get_shipment_quoteAInspect

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
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, but description says 'get' which typically implies read. No additional behavioral details beyond annotations. No contradiction detected.

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

Conciseness5/5

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

Single sentence, front-loaded with verb and resource, no redundancy. Every word is necessary.

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 tool with 4 parameters and no output schema, the description is adequate but could mention expected output format or 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 covers all 4 parameters with descriptions (100% coverage). The description does not add extra meaning beyond what the schema 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?

The description clearly states the tool's action (get), resource (shipping quotes), and parameters (origin, destination, weight, priority). It distinguishes from siblings like get_shipments and create_shipment.

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 guidance on when to use this tool versus alternatives like get_shipments or create_shipment. The description lacks when/not-to-use or context cues.

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.)
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds 'tracking status' as a return value but does not disclose additional behavioral traits 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 extremely concise at 12 words across two sentences, with the key action and resource front-loaded. Every word adds value 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?

Given the tool's simplicity (read-only list, one optional parameter, no output schema), the description is adequate. It covers the core purpose and filtering capability, though it could mention that the output includes tracking status.

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 description only reiterates the optional filter. The schema already provides a detailed description of the status parameter. The description adds no new 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?

The description clearly states it lists equipment shipments with tracking status and optional filtering, using a specific verb+resource. It distinguishes from siblings like get_shipment_quote and create_shipment.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as other list tools or get_shipment_quote. The description only mentions an optional filter but lacks context on appropriate use cases.

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

get_spaceA
Read-only
Inspect

Get detailed information about a hosting space including power, amenities, safety features, and pricing.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSpace ID
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the agent knows it's safe. The description adds context about what information is returned (power, amenities, etc.), which goes beyond the annotations. However, it does not disclose any additional behavioral traits like rate limits or authentication 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 a single, clear sentence that front-loads the action ('Get detailed information') and lists key attributes. Every word contributes meaning 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?

Given no output schema, the description adequately covers what is returned (power, amenities, safety, pricing). It is reasonably complete for a simple read operation with one parameter. However, it could mention whether the response includes additional fields or any error conditions.

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% (id parameter described as 'Space ID'), so the description does not need to elaborate. The baseline is 3. The description adds context about the return value but not directly about the parameter usage.

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

Purpose5/5

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

The description clearly states the tool retrieves detailed information about a hosting space, listing specific categories (power, amenities, safety features, pricing). It uses a specific verb ('Get') and resource ('space'), distinguishing it from sibling tools like get_space_bookings or search_spaces.

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 when you need full details of a space given an ID, but does not explicitly state when to use this tool versus alternatives (e.g., search_spaces for discovery, get_space_bookings for bookings). No when-not-to-use guidance is provided.

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

get_space_bookingsB
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
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds that it 'list's bookings, consistent with a read operation. However, it discloses no additional behavioral traits such as pagination, rate limits, authentication requirements, or whether it returns all bookings or with limits. Given the annotations, the description is adequate but not enriching.

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

Conciseness5/5

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

The description is a single sentence with no fluff. It front-loads the purpose and includes optional filters. Every word contributes meaning, achieving maximum conciseness.

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?

Given no output schema and only two optional parameters, the description covers the basic purpose. However, it omits details about return format, ordering, pagination, or any default behavior. A list tool would benefit from specifying whether results are sorted or limited, making it minimally 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% with both parameters described in the input schema: 'status' and 'spaceId' have descriptions. The description mentions 'filter by status or space' but adds no new semantic information 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.

Purpose4/5

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

The description clearly states it lists space bookings for hosting equipment, with optional filters. It includes a specific verb ('List') and resource ('space bookings'), and adds context with 'for hosting equipment', distinguishing it from general booking or space tools. However, it does not explicitly differentiate from similar sibling tools like 'get_space' or 'list_spaces'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It mentions optional filters but does not explain prerequisites, context of use, or when not to use it. For a tool that lists bookings, there is no comparison to related tools like 'match_spaces' or other booking-related 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.

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

Behavior3/5

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

Annotations already declare readOnlyHint=true (safe read). Description adds return value types but lacks details like pagination, rate limiting, or any behavioral constraints. With annotation coverage, 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 sentences, front-loaded with verb and resource, no unnecessary words. Efficient and well-structured.

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 description properly states return fields (addresses, scores, leaderboard positions). For a simple read-only list with no inputs, it is mostly complete, though could mention if list is full or paginated.

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?

Input schema has 0 parameters with 100% coverage. Baseline is 3 since description adds nothing about parameters; but no parameter information is needed.

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

Purpose5/5

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

Description uses specific verb 'List' and precisely identifies resource as 'verification subnet miners on the Bittensor network'. It further clarifies return values (addresses, scores, leaderboard positions), clearly distinguishing it from sibling list/get 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?

No guidance on when to use this tool vs alternatives (e.g., get_subnet_status). The description implies usage for listing miners but provides no context about prerequisites, alternatives, or when not to use it.

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

get_subnet_statusA
Read-only
Inspect

Get Bittensor verification subnet health, agent bridge status, and network connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 tool is clearly a safe read. The description adds that it retrieves specific data (health, bridge, connectivity) but does not disclose any additional behavioral traits such as rate limits 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?

Single sentence with no wasted words. Information is front-loaded and easy to scan.

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

Completeness3/5

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

No output schema exists, so the description must explain return values. It lists three components (health, bridge status, connectivity) but does not describe their format, structure, or interpretation. Adequate for a high-level understanding but incomplete for precise 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?

No parameters exist, so schema coverage is 100% by default. Baseline score of 4 applies as there is no parameter information needed.

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

Purpose5/5

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

The description clearly states the specific data retrieved: Bittensor verification subnet health, agent bridge status, and network connectivity. It distinguishes from sibling tools like get_subnet_miners and get_settlement_status by focusing on health and connectivity rather than miners or settlement.

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 instead of alternatives like get_subnet_miners or get_automation_status. Does not specify prerequisites or context.

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

get_telemetry_logsA
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
Behavior2/5

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

The description adds no behavioral context beyond the annotations (readOnlyHint: true, destructiveHint: false). It does not mention rate limits, data volume, or other operational traits. The description is merely a list of filters.

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

Conciseness5/5

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

The description is a single sentence of 15 words, front-loading the action and succinctly listing the filter capabilities. No redundant 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 tool with 8 parameters and no output schema, the description is adequate but incomplete. It omits details on pagination, sorting, default behavior, and response format. The parameter descriptions cover individual fields but the tool-level description lacks these contextual 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?

The description adds value by grouping the 8 parameters into categories (level, source, jobId, kernelId, time range, full-text search) and clarifying that time range is covered by after/before. Schema coverage is 100%, but the summary enhances understanding.

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

Purpose5/5

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

The description clearly states the verb 'Query', the resource 'structured logs', and lists specific filters (level, source, jobId, kernelId, time range, full-text search). This distinguishes it from siblings like get_telemetry_stats (aggregated) and get_active_telemetry (real-time).

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 for querying logs with filters but does not explicitly state when to use this tool versus alternatives like get_telemetry_stats or get_job_telemetry. No exclusions or context are provided.

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

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

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 that the tool returns aggregate statistics, but no further behavioral details (e.g., auth requirements, rate limits, or error behavior) are provided.

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, focused sentence that front-loads the purpose and lists key metrics without waste. Every word is meaningful.

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

Completeness5/5

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

Given the tool simplicity (no params, no output schema, clear annotations), the description fully covers what the tool does and what it returns. No additional context is necessary.

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?

No parameters exist (schema coverage 100%), so the description does not need to add parameter meaning. Baseline 4 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 specifies the verb 'Get', the resource 'aggregate pipeline telemetry statistics', and lists specific metrics (phase timings, success rates, throughput). It also clarifies scope ('across all jobs'), distinguishing it from sibling tools like 'get_job_telemetry' (per-job) and 'get_telemetry_logs' (logs).

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 for a high-level overview of pipeline telemetry, but does not provide explicit when-to-use or when-not-to-use guidance. It does not mention alternatives like 'get_job_telemetry' for detailed per-job data.

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...)
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds the context 'from the blockchain', implying live data, but does not elaborate on details like caching or network requirements.

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

Conciseness5/5

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

The description is a single concise sentence with no extraneous words, efficiently conveying the core purpose.

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 tool, the description is adequate but does not mention the return format (e.g., BigInt in wei) or the fact that all parameters are required (though schema indicates this).

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 each parameter described. The description adds no further semantic meaning beyond what the schema provides, keeping it at 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?

The description clearly states the specific action ('Read'), the resource ('ERC-20 token allowance'), and the entities involved ('owner' and 'spender'), distinguishing it from other get_* tools like get_token_balance.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like approve_token or get_token_balance. It lacks context about prerequisites or exclusions.

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

get_token_balanceA
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...)
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the agent knows it is a safe read operation. The description adds minimal extra behavioral context (e.g., fetching from blockchain), but doesn't mention any potential pitfalls or side effects, which is acceptable given annotations cover the 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.

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It is front-loaded with the key information.

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

Completeness5/5

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

For a simple tool with two well-documented parameters and no output schema, the description is fully adequate. It tells the agent everything needed to invoke correctly.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents both parameters. The description does not add additional meaning beyond what the schema provides, resulting in baseline performance.

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

Purpose5/5

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

The description clearly states the action ('Read'), the specific resource ('ERC-20 token balance'), and the context ('from the blockchain'). It distinguishes this tool from siblings like 'get_token_allowance' by specifying exactly what is read.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as when checking balance vs allowance, or any prerequisites like needing account or token address. No exclusions or context are given.

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)
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description adds that results are 'aggregated by capability type', which implies grouping behavior. However, it does not disclose any further behavioral traits such as data freshness, pagination, or potential limitations.

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 concise sentences, each adding value. The first states the action, the second clarifies the outcome. No 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?

Given the tool's simplicity (1 parameter, no output schema, annotations present), the description is minimally sufficient. It lacks details on the return format or how demand signals are computed, but for a straightforward retrieval tool it is 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 coverage is 100% with the single 'limit' parameter described in the schema. The description adds no information about parameters beyond the schema, so it meets the baseline for high 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?

The description clearly states the tool retrieves 'top demand signals aggregated by capability type', specifying the verb and resource. However, it does not distinguish itself from the sibling tool 'get_demand_supply' which might have overlapping functionality.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_demand_supply' or 'search_capabilities'. There is no mention of prerequisites, exclusions, or specific contexts.

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

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 context beyond annotations by specifying the content (topology, edges, mechanisms) and scope (all kernels), which helps the agent understand what data to expect.

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

Conciseness5/5

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

Single sentence, front-loaded with the action and key details. No fluff or redundancy. Every word contributes to clarity.

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 parameters, output schema, or complex behavior, the description is sufficiently complete. It explains the output content. Slight room for improvement on result format, but acceptable without schema.

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?

No parameters exist, so schema coverage is 100%. The description does not need to add parameter meaning. The baseline for 0 parameters is 4, and no issues arise.

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

Purpose5/5

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

The description clearly states the tool retrieves 'resource transfer graphs' and specifies the content: 'instrument topology, transfer edges, and mechanisms for all kernels.' It distinguishes from sibling tools like get_kernel or get_kernel_devices by focusing on transfer relations.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The purpose is clear, but no 'when-to-use' or 'when-not-to-use' advice is given. However, the read-only nature and specific scope make it straightforward.

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

get_unresolved_anomaliesA
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
Behavior3/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 that it lists only unresolved anomalies and offers filters, but no additional behavioral details like pagination or auth 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?

Single sentence, front-loaded with main action, then concise listing of filter options. 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 simple read-only tool with no output schema, the description adequately conveys the purpose and filtering. Could mention the structure of returned data, but sufficient for an agent.

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 descriptions for all 3 parameters. The description merely restates that filtering is possible, adding little 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?

The description uses the verb 'List' and specifies the resource 'unresolved anomalies' with scope 'on the network'. This clearly distinguishes it from sibling tools 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 Guidelines4/5

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

It implicitly guides when to use: to list all unresolved anomalies, optionally filtered. However, it does not explicitly exclude alternatives or state when not to use it.

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

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

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. Description adds value by specifying that only pending, unresponded requests are returned, consistent 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?

Two front-loaded sentences with zero redundancy; efficiently states purpose and clarifies return scope.

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

Completeness5/5

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

Given the simple one-parameter read-only tool with good annotations and no output schema, the description fully explains what it does and returns.

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

Parameters3/5

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

Schema coverage is 100%, and the description does not add meaning beyond the parameter's schema description ('Verifier node ID'). Baseline score 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?

Description uses specific verb 'Get' and resource 'pending verification assignments', clearly distinguishing from sibling tools like 'get_verification_status' or 'respond_to_verification'.

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?

Description provides context that it retrieves pending assignments for a verifier node, but does not explicitly state when to use versus alternatives or exclude scenarios.

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

get_verification_statusA
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_...)
Behavior4/5

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

Annotations declare readOnlyHint=true and destructiveHint=false. The description adds value by specifying exactly what data is returned (vote tally, consensus, disputes, pending count), providing behavioral context beyond safety assumptions.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded and contains no redundant information. Every part is essential.

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?

The tool lacks an output schema, so the description compensates by listing four key return components. While it does not explain error handling or format details, it is fairly complete for a simple read 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 coverage is 100% (1 parameter with description). The description does not add additional semantics beyond the schema's parameter description, meeting the baseline for high 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?

The description clearly states the action 'Get verification status' and lists the returned fields (vote tally, consensus state, dispute list, pending response count). It is specific to verification status and distinct from other 'get_*' sibling tools.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, nor does it mention prerequisites or context for invocation.

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

get_workflowA
Read-only
Inspect

Get detailed workflow information including steps, node assignments, and progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowIdYesWorkflow ID
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. Description adds context about included information but does not disclose additional behavioral traits like caching or error conditions.

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

Conciseness5/5

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

Single sentence that is clear, front-loaded, and contains no unnecessary 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 simple retrieval tool with one parameter and annotations, description adequately outlines returned content. Minor omission of metadata details but overall sufficient.

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 parameter description 'Workflow ID'. Description adds no extra meaning beyond schema. Baseline score 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?

Description clearly states verb 'get' and resource 'workflow', and specifies included details (steps, node assignments, progress). Distinguishes from sibling 'get_workflows' which lists workflows.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternatives mentioned. Implied usage from context of sibling tools but lacks direct guidance.

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)
Behavior3/5

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

Annotations already mark the tool as read-only and non-destructive. The description adds context ('active', 'orchestrator') but does not disclose additional behavioral traits 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?

Two sentences, no fluff. The first sentence states the core purpose, the second adds an optional filter. Every word earns its place.

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

Completeness3/5

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

Given no output schema, the description should clarify return format (e.g., list of workflow IDs/names). It does not mention defaults or what 'active' means. Adequate but incomplete for full usability.

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 for parameters is 100%, with the 'status' parameter already fully described. The description only reiterates 'optionally filter by status', adding no new semantic value.

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

Purpose5/5

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

The description clearly states 'List active instrument workflows in the orchestrator' – a specific verb (list) and resource (active instrument workflows). It distinguishes from siblings like 'get_workflow' (singular) and other list tools by specifying 'active' and 'instrument', which narrows the 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 description implies use when needing a list of active instrument workflows, but offers no explicit guidance on when to use this tool versus alternatives like 'get_workflow' or other listing tools. No exclusions or prerequisites are mentioned.

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

Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description reinforces that it is a read-only check. It adds value by disclosing the dependency on PCC_GATEWAY_PRIVATE_KEY, which is a behavioral constraint 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 two sentences with no extraneous words. The main purpose is front-loaded in the first sentence, and the second sentence adds return information. Every sentence adds value.

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 parameterless tool, the description covers purpose, precondition, and return. It gives enough context for an agent to decide when to call it (before write operations) and what to expect. No output schema is required.

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

Parameters4/5

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

The input schema has zero parameters, so schema coverage is 100% by default. The description does not need to add parameter details, but it does mention the private key as a precondition. This is adequate for a parameterless tool.

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

Purpose5/5

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

The description clearly states the tool checks if on-chain write operations are enabled, specifies the required condition (PCC_GATEWAY_PRIVATE_KEY), and lists the return values (write status and signer address). The verb 'check' and resource 'write operations enabled' are specific, and the unique name distinguishes it from sibling tools.

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

Usage Guidelines3/5

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

The description implies usage by stating the precondition and return, but it does not explicitly say when to use or avoid this tool versus alternatives. It lacks 'when not to use' or direct comparison to other status-checking tools, so guidance is only implied.

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

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...)
Behavior3/5

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

Annotations only indicate non-read-only and non-destructive. The description adds the re-encryption detail, but does not disclose prerequisites, effect on existing grants, or return 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 focused sentences, front-loaded with the action and key detail (re-encrypted key capsule). No fluff.

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 3 parameters, no output schema, and annotations, the description covers core purpose and mechanism. Could mention return values or error cases, but is sufficient for this simple grant 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% with descriptions for all parameters. The description does not add additional parameter meaning beyond referencing bundleId and recipientAddress implicitly.

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

Purpose5/5

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

The description clearly states the verb 'Grant', the resource 'encrypted evidence bundle', and a unique mechanism 'Creates a re-encrypted key capsule'. It distinguishes this write operation from read siblings like 'get_evidence_bundle' and 'list_evidence_grants'.

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 (when needing to share evidence), but lacks explicit guidance on when to use vs. alternatives, prerequisites (e.g., bundle existence, caller permissions), or when not to use.

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. Used by pcc-node daemons after hardware detection to register what the kernel can do.

ParametersJSON Schema
NameRequiredDescriptionDefault
devicesNoDevice IDs that back these capabilities
kernelIdYesKernel ID
signatureNoEd25519 signature of the announcement
capabilitiesYesCapability objects to announce
Behavior3/5

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

Annotations already provide non-destructive mutation hint. Description adds context about registration but does not disclose any additional behavioral traits such as overwriting behavior, authorization requirements, or rate limits. Adequate given 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 with no wasted words. Directly conveys purpose and usage context.

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 registration tool with 4 parameters and no output schema, the description provides sufficient context including who uses it and when. Could mention return behavior, but 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?

All 4 parameters are documented in the input schema with 100% coverage. The description adds no additional meaning beyond the schema, hitting 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?

Description clearly states verb (announce), resource (capabilities for a kernel), and context (used by pcc-node daemons after hardware detection). It distinguishes from sibling tools like create_capability by specifying the registration action.

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?

Description identifies the intended user (pcc-node daemons) and trigger (after hardware detection), giving clear guidance on when to use. Does not explicitly state when not to use or list alternatives, but the context is sufficient.

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
Behavior3/5

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

Annotations (readOnlyHint=false, destructiveHint=false) are minimal. The description adds that it sends a heartbeat to keep the kernel online, implying a state update, but does not disclose other behaviors like potential failures or authentication requirements. Adequate but could be richer.

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

Conciseness5/5

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

The description is two sentences with essential information front-loaded. Every sentence contributes meaning, and there is no unnecessary detail.

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

Completeness4/5

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

For a simple heartbeat tool with no output schema, the description covers the core function well. It lacks details on error conditions or prerequisites, but the context is sufficient for basic usage.

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 parameters are already documented. The description does not add any additional meaning or usage guidance beyond what the schema provides, resulting in no extra value.

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

Purpose5/5

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

The description clearly states the action ('Send a per-kernel heartbeat') and the resource ('keep the kernel marked online'). It distinguishes from the sibling 'operator_heartbeat' by noting it is an alternative, providing clear 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 description provides context about its use by pcc-node daemons as an alternative, but lacks explicit guidelines on when to use this tool versus alternatives (e.g., operator_heartbeat) or conditions for not using it.

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

Behavior3/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds return fields and authentication requirements, but no additional behavioral insights like pagination or limits; thus average 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?

Two concise sentences front-load the action and details. No redundant information.

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

Completeness5/5

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

For a zero-parameter, no-output-schema tool, the description covers purpose, return content, and prerequisites. It is sufficiently complete for the agent to decide whether to invoke it.

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?

No parameters exist, so baseline is 4. The description adds context about authentication requirements, which is not part of the schema but provides operational 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?

The description clearly states the tool lists all active API keys for the authenticated operator, with specific return fields. This distinguishes it from sibling tools like revoke_api_key or provision_api_key.

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 mentions the required authentication (valid API key or SIWE session), which guides the agent on prerequisites. However, it does not explicitly contrast with other list operations or specify when not to use it, which is acceptable for a simple read tool.

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
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 by listing output fields ('current automation level, episode count, and training readiness'), providing 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.

Conciseness5/5

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

Two concise sentences that front-load the core action and key details. No wasted words, easy to parse.

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

Completeness3/5

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

No output schema exists, so the description should explain return values. It lists three fields but lacks details on format, pagination, or optional grouping. Adequate but not fully comprehensive for a list 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 coverage is 100% with parameter description 'Filter by kernel ID'. The description repeats 'Filter by kernelId' without adding new meaning. Baseline 3 is appropriate as the description does not compensate for any gaps.

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 'List automation status for all instrument transfer pairs' with specific verb 'List' and resource 'automation status', and distinguishes from sibling 'get_automation_status' by implying plural vs singular. This is clear and specific.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance. The description implies usage for viewing all pairs, and the sibling 'get_automation_status' suggests alternative for specific details, but this is not stated explicitly.

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

Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds that it lists only active and completed batches, but does not disclose other behaviors like ordering, pagination, or default 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 that is concise and front-loaded with the key purpose. No superfluous 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?

The description is minimal but covers the basic function. However, for a list tool, it lacks information about the return format, pagination, or any defaults. Given no output schema, this omission reduces completeness.

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

Parameters4/5

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

There are no parameters (input schema is empty), so parameter semantics are trivially satisfied. The description does not need to add parameter info.

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

Purpose5/5

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

The description clearly states the verb 'list' and the resource 'settlement batches', and specifies the scope 'active and completed'. This effectively distinguishes it from sibling list tools like list_pools or list_bounties.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives or when not to use it. For a simple list tool, this is a notable gap.

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
Behavior3/5

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

Annotations already indicate read-only and non-destructive behavior. The description adds minimal behavioral context (listing open bounties) but does not disclose any traits 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?

Two concise sentences with no wasted words. The key purpose is front-loaded (List open bounties), and the sentence structure is clear.

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 list tool with optional filters and no output schema, the description adequately explains purpose and target audience. It could mention optional filters but schema suffices.

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 descriptions for both parameters (status, capabilityType). The description adds no additional meaning or examples about these parameters.

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

Purpose5/5

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

The description clearly states 'List open bounties' (verb+resource) and explains the context of network needs and operator rewards, distinguishing it from siblings like claim_bounty and verify_bounty.

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 for viewing available bounties but does not provide explicit when-to-use or alternatives. No exclusions or comparisons with sibling tools are given.

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

list_capability_typesB
Read-only
Inspect

List all capability types registered on the network (FDM, SLA, CNC, HPLC, etc.) with metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

The description adds minimal behavioral context beyond the readOnlyHint annotation. It does not disclose any performance characteristics, pagination, or metadata detail. With annotations already declaring safe read-only access, the description does not enhance 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?

The description is a single, well-structured sentence that front-loads the purpose and includes examples. Every word adds value 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?

Given no parameters, adequate annotations, and no output schema, the description is nearly complete. It could briefly mention the return format (e.g., list of strings/objects) but is sufficient for a simple list-all 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% (no parameters), so baseline is 3. The description does not add parameter-specific semantics, but none are needed. It correctly implies the tool has no input parameters.

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

Purpose5/5

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

The description clearly states the tool lists all capability types on the network, specifies examples (FDM, SLA, CNC, HPLC) and mentions metadata. This distinguishes it from siblings like list_capability_ip 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?

The description gives no guidance on when to use this tool versus alternatives such as search_capabilities for filtered queries or other list_* tools. The agent is left to infer 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_conversationsA
Read-only
Inspect

List agent-to-agent conversations showing topic, participants, message count, and status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 that it returns specific fields, but does not disclose pagination behavior, ordering, or any limitations. The description 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?

A single sentence that is front-loaded with the action and resource, and wastes no words. 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 read tool with no parameters, the description is mostly complete. It explains the output fields, but does not mention if pagination exists or if there is a limit on the number of conversations returned. Minor gap for completeness.

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

Parameters4/5

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

There are no parameters (schema coverage 100% by virtue of emptiness). The description adds value by specifying what fields the output contains, which is not in the schema. This compensates for the lack of output schema.

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

Purpose5/5

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

The description uses a specific verb 'List' and resource 'agent-to-agent conversations', and specifies the fields returned (topic, participants, message count, status). It clearly distinguishes from sibling list_* tools by naming the resource type.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention context, exclusions, or alternative tools for similar tasks.

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
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so description does not need to restate safety. The description adds that it lists contracts with milestones and bonds, but does not disclose pagination, rate limits, or what fields are included. Consistent with annotations, no 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?

Single sentence, front-loaded with key verb and resource. No wasted words. Efficiently conveys the core purpose.

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?

Lacks description of return value structure (since no output schema). While 'milestones and bonds' hints at content, an agent would benefit from knowing if it returns a list of objects with specific fields. For a listing tool, this is a notable gap. 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% and already documents the 'status' parameter with a description. The description repeats 'optionally filter by status' but adds no new semantic information (e.g., allowed values, behavior when omitted). 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?

Description clearly specifies verb 'List' and resource 'escrow contracts with milestones and bonds', distinguishing it from sibling tools like 'get_escrow' (single escrow) and 'get_escrow_events'. The optional filter by status is also 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?

Description mentions optional filtering but does not provide explicit guidance on when to use this tool versus alternatives (e.g., get_escrow for a single contract, get_escrow_events for events). No when-not-to-use or comparison is given.

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

list_evidenceA
Read-only
Inspect

List encrypted evidence bundles stored in the gateway.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds that bundles are encrypted and stored in gateway, but this is minimal additional behavioral context 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 concise sentence, front-loaded with the verb and resource, and contains no unnecessary 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?

Given no parameters and no output schema, the description is adequate for a simple list operation. However, some additional context about the expected return format or pagination could improve completeness, but it is not missing critical info.

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

Parameters4/5

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

The tool has no parameters, so schema description coverage is 100%. Baseline for 0 parameters is 4, and the description does not need to add parameter info. It does not detract.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'encrypted evidence bundles' with the scope 'stored in the gateway'. It distinguishes from other list tools like list_evidence_grants by specifying the resource type.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. No when-not conditions or alternative tool names are mentioned.

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

list_evidence_grantsA
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...)
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description's job is lighter. It adds context by stating the return is 'bundles the address has been granted access to', but does not elaborate on pagination, rate limits, or authentication needs. Since annotations cover the safety profile, a score of 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?

The description is two sentences, front-loaded with the action, and no unnecessary words. Every sentence adds value.

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 simplicity of the tool (one parameter, no output schema), the description is complete enough. It states purpose and return type. Could mention if pagination applies, but not essential for this level of 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 coverage is 100% with the 'address' parameter described. The description does not add extra meaning beyond the schema, so baseline 3 is correct.

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

Purpose5/5

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

The description clearly states the tool lists evidence access grants for a given address, and specifies it returns bundles the address has been granted access to. This distinguishes it from sibling tools like 'list_evidence' which lists evidence items, not grants.

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 context (when you need to see grants for an address) but does not provide explicit when-not-to-use or alternative tools. It's adequate for a simple list tool but lacks guidance on when other tools like 'get_evidence_bundle' might be preferred.

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
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds minimal value. It does not disclose pagination, rate limits, or ordering of results.

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 concise sentence that covers the core functionality and filtering options without unnecessary 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 simple listing tool with two optional parameters and no output schema, the description is sufficient. It could mention that the response is a list of job objects, but overall it is complete enough.

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 descriptions for both parameters. The description's mention of filtering by kernelId or status adds no new 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?

The description clearly states it lists all jobs with status and optional filters. It is specific ('list all jobs') but does not explicitly distinguish from sibling tools like get_job or get_kernel_jobs.

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 alternatives (e.g., get_job for a specific job, get_kernel_jobs for filtering by kernel). The description only mentions optional filters without indicating the default behavior or exclusions.

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)
Behavior3/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false, so the agent knows it's safe. Description adds that it lists 'all' kernels and includes status/capability types, but no additional behavioral traits (e.g., pagination, performance). Consistent but minimally additive.

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 redundancy, front-loaded with purpose. Every sentence is necessary and informative. Excellent conciseness.

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 list tool with one optional param and no output schema, the description covers purpose and filter capability. It mentions that output includes status and capability types, though not fully explicit about the structure. Still mostly 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 has 100% description coverage for the single parameter 'status', including its purpose and possible values. Description only reiterates 'Optionally filter by status', adding no new semantics. 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 clearly states the tool lists 'all Shop Kernels' with 'status and capability types' and mentions optional filtering. This distinguishes it from sibling 'get_kernel' (single kernel) and other list_* tools. Specific verb+resource with 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 guidance on when to use this tool versus alternatives like get_kernel, list_capability_types, or other list tools. The description does not mention exclusions or prerequisites. Minimal context for selection.

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.
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so no safety concern. The description adds that it returns full channel records with specific fields. No further behavioral traits (e.g., rate limits, pagination) are disclosed, but for a read-only list tool this is acceptable.

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

Conciseness5/5

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

The description is two sentences: first states purpose and return fields, second gives use cases. It is front-loaded and every sentence adds value without 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 list tool with one parameter and annotations covering safety, the description is mostly complete. It lacks mention of possible empty results or error scenarios, but overall is 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?

With 100% schema description coverage, the baseline is 3. The description does not add meaning beyond the schema for the single 'slug' parameter.

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

Purpose5/5

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

The description clearly states the action ('List every channel attached to an operator') and the resource ('operator channels'). It also lists the return fields, making the purpose very specific and distinguishable from sibling tools like attach_operator_channel or delete_operator_channel.

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

Usage Guidelines4/5

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

The description provides clear use cases: 'useful for an operator's onboarding agent to confirm what is wired up, and for status dashboards.' However, it does not explicitly mention when not to use this tool or compare it to alternatives like test_operator_channels.

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
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 description's mention of 'list' is consistent. No additional behavioral traits are disclosed beyond the obvious safe read operation.

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

Conciseness4/5

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

The description is a single concise sentence that conveys the core function. While it lacks structured formatting like bullet points, it is efficient and no words are 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 simple list operation, high schema coverage, and annotation safety signals, the description is complete enough. It could mention the return type (a list), but the purpose 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 coverage is 100% with descriptions for both parameters. The description repeats the filter options without adding new meaning, so 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 clearly states the verb 'list' and the resource 'investment pools', distinguishing it from siblings like 'get_pool' (single pool) and 'create_investment_pool'.

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

Usage Guidelines3/5

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

The description mentions optional filtering but does not explicitly state when to use this tool versus alternatives like 'get_pool' or when listing is appropriate.

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

list_protocol_runsA
Read-only
Inspect

List protocol runs. Filter by status or kernelId.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by run status
kernelIdNoFilter by kernel ID
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description supplements this by disclosing filtering capabilities, which adds behavioral context 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?

A single, front-loaded sentence with no extraneous words. Efficiently conveys the tool's purpose.

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 without an output schema, the description is adequate. It covers the essential filtering behavior. However, edge cases like pagination or default sorting are not mentioned, but are not critical given the tool's simplicity.

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 descriptions for both parameters. The description ('Filter by status or kernelId') adds no new meaning beyond the schema, warranting the baseline score 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?

The description clearly states the tool lists protocol runs and can filter by status or kernelId. 'List' is a specific verb, and 'protocol runs' is a distinct resource. Sibling tools like create_protocol_run, get_protocol_run, cancel_protocol_run indicate different actions, so this description effectively differentiates.

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 does not explicitly state when to use this tool versus alternatives like get_protocol_run. Usage is implied from the name and context, but no when-to-use/when-not-to-use guidance is provided.

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')
Behavior3/5

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

Annotations already declare this as read-only and non-destructive. The description adds that it lists templates and filters, but does not elaborate on behavioral aspects like pagination, sorting, or response size. Given the annotations cover safety, this is adequate but minimal.

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

Conciseness5/5

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

The description is a single sentence that is concise, front-loaded, and contains no wasted words. It efficiently communicates the core functionality and available filters.

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 list tool with four optional parameters and no output schema, the description covers the essential points: what it lists and how to filter. However, it omits details about pagination or result limits, which are common in list tools. Still, it is mostly complete for typical use.

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?

Input schema has 100% coverage with descriptions for each parameter. The description reiterates the filter types (tags, capabilities, search, status) without adding new semantics beyond what the schema already provides. Thus, it meets the baseline but does not exceed it.

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

Purpose5/5

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

The description clearly states the tool lists protocol templates with filtering capabilities. It uses specific verbs and resources, and the name 'list_protocols' alongside sibling names like 'list_protocol_runs' and 'list_bounties' clearly distinguishes it as the tool for listing protocol templates.

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 indicates when to use the tool (listing protocol templates) and mentions filtering options, which implicitly guides usage. However, it does not explicitly state when not to use it or suggest alternatives, which would be beneficial but is not critical for this straightforward read-only tool.

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

Behavior4/5

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

Annotations already declare readOnlyHint=true. Description adds that it is public (no auth required) and lists the types of registrations returned, exceeding what annotations provide. No contradictions.

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 efficient sentences with no wasted words. Front-loaded with action and quickly conveys purpose and scope.

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

Completeness5/5

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

Given zero parameters, no output schema, and annotations present, the description fully covers what the tool does, what it returns, and access conditions. Missing details like pagination are acceptable for a simple list 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?

No parameters; schema coverage is 100%. For zero-parameter tools, baseline is 4. Description does not need to add parameter info.

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?

Clear verb+resource: 'List all machine registrations on the network.' Explicitly lists status categories (pending, approved, active, rejected), distinguishing it from sibling 'get_registration' which retrieves a single registration.

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 'Public endpoint — no auth required,' which signals when to use (anyone can list registrations). Does not explicitly contrast with alternatives like 'get_registration' or other listing tools, but the context is sufficient.

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

Behavior3/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 purpose context but does not disclose additional behavioral traits such as authorization requirements or rate limits. Minimal extra 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?

Single sentence that is concise, front-loaded, and contains no fluff. Every word serves a purpose.

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 no-parameter, read-only list tool with no output schema, the description fully explains what the tool returns and its purpose. No gaps.

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

Parameters5/5

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

Schema has zero parameters with 100% coverage. Description adds meaning by defining transfer agents as 'robots and human operators' and specifying the domain 'instrument-to-instrument transfers', which is valuable context beyond the empty schema.

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

Purpose5/5

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

Description clearly specifies verb 'list', resource 'transfer agents', and scope 'available for instrument-to-instrument transfers'. It distinguishes from sibling list tools by narrowing to agents and transfer context.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The context 'instrument-to-instrument transfers' implies usage, but lacks exclusions or comparisons to siblings like list_operators or list_kernels.

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

lit_decryptBInspect

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)
Behavior3/5

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

Annotations indicate not read-only and not destructive, which aligns with decryption. The description adds that it returns the decrypted payload, but fails to explain side effects (e.g., does it modify the original bundle? Is the authSig consumed?). No error behavior or success criteria are mentioned. With annotations present, the description provides minimal extra 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?

The description is extremely concise, consisting of two short sentences that convey the essential information without any filler or redundancy. Every word contributes to clarity.

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

Completeness2/5

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

Given the tool has 2 required params including a nested object, and no output schema, the description should cover more. It tells what the tool does and what it returns, but omits critical context like error scenarios, required permissions, state changes (if any), and the structure of the decrypted payload. This leaves the agent underinformed for successful 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%, so the baseline is 3. The description reiterates that the bundle must be Lit-encrypted (already in schema) and mentions 'using a Lit auth signature' for authSig. It adds no new semantic details beyond the schema, such as format constraints or where to obtain the authSig.

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

Purpose5/5

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

The description clearly states the action (decrypt), the specific resource (Lit Protocol-encrypted evidence bundle), and the required input (Lit auth signature). It also specifies the output (decrypted bundle payload). This distinguishes it from sibling tools like get_evidence_bundle or archive_encrypted_bundle, making the purpose unambiguous.

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

Usage Guidelines2/5

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

The description lacks guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., that the bundle must be Lit-encrypted, which is already in the schema) or conditions under which decryption might fail. No indication of when not to use it or where to find related tools like get_evidence_bundle for already decrypted bundles.

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

Behavior4/5

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

The description adds meaningful context beyond the readOnlyHint annotation by specifying the output includes counts of active listings per category. It does not contradict annotations and provides useful behavioral insight, though it omits details like pagination or caching.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the primary action, and every word adds value. No wasted 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?

Given no output schema, the description implies the response structure (categories with counts) but could be more explicit about the format (e.g., array of objects). It adequately covers the tool's purpose for a simple read-only list.

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

Parameters4/5

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

There are no parameters, and schema coverage is 100%. The description does not need to explain parameters; baseline for 0 parameters is 4. It adds no misleading information.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'all supplies and materials marketplace categories', and adds specificity about including 'the count of active listings in each'. It distinguishes from sibling listing tools by focusing on categories rather than listings or orders.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like marketplace_list_listings. The description fails to mention context or exclusions, leaving the agent without decision support.

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
Behavior2/5

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

Annotations already indicate a non-read-only, non-destructive operation. Description adds no further behavioral details (e.g., permissions, visibility after creation, rate limits). Minimal extra 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 concise sentences, front-loaded with purpose, no unnecessary words. Efficiently communicates the core functionality.

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?

Despite 12 parameters and no output schema, the description is minimal. Does not explain success/failure outputs, required field interactions, or creation process. Insufficient for a complex 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 coverage is 100%, so all parameters have descriptions. The tool description does not add meaning beyond what the schema provides. Baseline score 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?

Clearly states it creates a new listing for supplies/materials in the marketplace, with specific examples. Differentiates from sibling tools like marketplace_update_listing and marketplace_list_listings.

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 suppliers are the users ('Suppliers post...'), but does not explicitly state when to use vs alternatives or any prerequisites. No exclusion guidance.

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

marketplace_delete_listingA
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
Behavior4/5

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

Annotations already show destructiveHint=true, so the mutation is expected. The description adds the key detail that the listing is 'immediately hidden from search results', which is beyond what annotations provide. No contradictions.

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 concise sentences front-loaded with the verb and resource. Every word adds value; no fluff.

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 (1 param, no output schema), the description covers the essential behavioral effect. It could mention whether the deletion is permanent or reversible, but the immediate hiding is sufficient for most use cases.

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 coverage and only one parameter whose description already states 'Listing ID to remove', the tool description doesn't add new semantic information. 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 clearly states the action ('Remove') and the resource ('a supplies/materials listing'). It distinguishes from sibling tools like marketplace_create_listing or marketplace_update_listing by indicating deletion.

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 alternatives (e.g., marketplace_update_listing to hide vs delete). No exclusions or context for when deletion is appropriate.

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

marketplace_get_listingB
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')
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, establishing safety. The description adds value by listing return fields (pricing, availability, etc.), but does not disclose any additional behavioral traits such as rate limits or authentication 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 concise, consisting of two clear sentences. The first sentence states the purpose, and the second lists the return fields. No extraneous information is present.

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 get-by-ID tool with one parameter and no output schema, the description adequately covers the tool's function and return details. However, it could mention error handling or that the listing must exist, but this is 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?

With 100% schema description coverage, the parameter 'id' is already well-documented in the schema. The description does not provide any additional meaning or usage tips 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 clearly states 'Get full details of a specific supplies/materials marketplace listing by ID', specifying the action and resource. However, it does not explicitly differentiate from the sibling tool 'marketplace_list_listings', which could lead to confusion about when to use each.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'marketplace_list_listings'. The description only states what the tool does, without specifying prerequisites, exclusions, or context for selection.

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')
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 clear. The description adds value by specifying the returned fields (listing details, quantity, etc.), which helps the agent understand the output beyond the schema. No contradictions.

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-structured sentence that front-loads the action and lists key details. 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?

Given no output schema, the description adequately explains the return content. It doesn't mention error cases or prerequisites, but for a simple read tool with one required parameter, it is mostly 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% (the one parameter 'id' is described with a format example). The description adds no new parameter information beyond the schema, so baseline score of 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 clearly states it gets details of a specific supply order and lists the returned fields (listing details, quantity, total price, status, escrow). It distinguishes from siblings like marketplace_list_orders (which lists orders) and marketplace_get_listing (which gets listing details).

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 that this tool is for fetching a single order's details, but it does not explicitly state when to use it over alternatives or mention any exclusions. No guidance on context or prerequisites.

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')
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 read-only nature is clear. The description adds business context but no additional behavioral details like pagination, sorting, 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 two sentences: first states the core purpose, second adds context and lists filters. No wasted words, front-loaded with key 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 search/filter tool, it covers the main filtering options and business context. Missing details like return format or pagination, but not critical for basic use. No output schema exists, so some return info might help but is not 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 description coverage is 100%, and the description summarizes the filter parameters (category, in-stock, location, query) but does not add new meaning beyond the schema descriptions.

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

Purpose5/5

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

The description uses a specific verb ('Search and filter') and resource ('marketplace listings') and distinguishes itself from sibling CRUD tools by focusing on browsing and filtering supplies/materials.

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 explains the business context ('Operators buy raw materials here to fulfill capability contracts') and lists filter options, implicitly guiding when to use. It does not explicitly state when not to use or name alternatives, but the context is clear.

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

marketplace_list_ordersA
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
Behavior4/5

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

Annotations already label it as read-only and non-destructive. Description adds that it returns 'order history with pricing and status', giving behavioral context. Could clarify pagination or limits but adequate given 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 covering purpose, filters, and return content. Front-loaded with verb and resource, 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 read-only list tool with 0 required params and no output schema, the description adequately covers return content (order history with pricing/status) and filter options. Could add info on ordering or default sort but complete enough for selection.

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 clear descriptions for all three parameters. Description merely restates filter options without adding additional meaning or examples, so 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?

Clear verb 'List' and resource 'marketplace supply orders' with scope: filtering by buyerId, sellerId, or status. Distinguishes from sibling tools like marketplace_get_order or marketplace_place_order.

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 use for listing orders with filters but no explicit when to use vs alternatives or when not to use. Sibling toolset includes many similar list tools but no differentiation provided.

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

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

Discloses that the order returns with 'pending' status, calculates total price automatically, and optionally links to escrow. Annotations indicate it is not read-only or destructive, which aligns with the description. Adds context 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 concise sentences with no wasted words. First sentence states purpose, second explains calculation, third mentions return status and optional escrow. Well 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?

No output schema exists, but description mentions return status. Explains automatic pricing and optional escrow. For a tool with 4 parameters, it is sufficiently 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?

Schema covers all parameters (100% coverage), so baseline is 3. Description adds value by explaining automatic price calculation (quantity × pricePerUnit) and describing return status, which is not in 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?

Clearly states the verb 'Place', the resource 'purchase order', and provides specific details about automatic price calculation, pending status, and optional escrow. Distinguishes from sibling tools like marketplace_create_listing.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The description implies its use for ordering supplies but does not mention alternative tools for listing or querying orders.

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
Behavior2/5

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

Annotations already indicate readOnlyHint=false (write operation) and destructiveHint=false (not destructive). The description adds little beyond stating it updates fields; it does not disclose potential side effects, idempotency, or error conditions. The behavioral context is minimal 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 extremely concise at two sentences. The first sentence states the action and resources, the second provides a key usage instruction. No superfluous content; every part 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?

Given 6 parameters (1 required), no output schema, and annotations present, the description covers the basic purpose and update semantics. However, it omits information about what the tool returns (no output schema), prerequisites (e.g., listing must exist), and any restrictions (e.g., cannot change listing type). The agent is left to infer these from context.

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 each parameter is already documented. The description adds value by exemplifying parameters (price, stock status, description) and conveying the partial update pattern ('Pass only the fields you want to change'), which clarifies that all optional fields are individually updatable.

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

Purpose5/5

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

The description clearly states the verb 'Update' and the resource 'existing supplies/materials listing', with specific fields (price, stock status, description, etc.). It distinguishes from sibling tools like marketplace_create_listing, marketplace_delete_listing, and marketplace_list_listings, making the purpose unambiguous.

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

Usage Guidelines3/5

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

The description gives a usage tip ('Pass only the fields you want to change'), which is helpful for partial updates. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., when to create vs. update), and does not state any prerequisites or exclusions (e.g., cannot update a deleted 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)
Behavior1/5

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

Description implies read-only behavior (find, returns), but annotations set readOnlyHint=false, indicating the tool may modify state. This is a contradiction, and description does not disclose any side effects.

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

Conciseness5/5

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

Single sentence that is front-loaded with purpose, no fluff. Efficient and to the point.

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

Completeness3/5

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

For a simple match tool with two optional params, the description covers basic purpose but lacks details on output (scored matches), scoring criteria, and does not resolve the annotation contradiction.

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 parameters are described. Description mentions voltage and area but adds no extra meaning beyond 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?

Description clearly states it finds hosting spaces matching machine requirements and returns scored matches. Purpose is clear, but it doesn't explicitly distinguish from sibling 'search_spaces'.

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?

Implied usage for when specific machine requirements like voltage and area are known, but no explicit guidance on when not to use or alternatives like search_spaces.

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)
Behavior4/5

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

Annotations indicate non-read-only and non-destructive. The description adds behavioral context by specifying the certificate is 'soulbound' (non-transferable) and an 'immutable credential,' along with implementation detail (cNFT via Metaplex Core). This enriches understanding beyond annotations without 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?

The description is two sentences: the first clearly states the action and resource, the second adds purpose. Every word is functional; no filler or repetition. It is appropriately sized and 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?

With 4 parameters, a nested object, and no output schema, the description covers the tool's purpose and place in workflow but does not explain return values or the meaning of parameters in context (e.g., what metadata should contain). This leaves the agent somewhat underinformed 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 coverage is 100%, so baseline is 3. The description adds no additional meaning to parameters beyond what the schema already provides. It does not explain the purpose of fields like assuranceTier or metadata beyond their schema descriptions.

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

Purpose5/5

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

The description clearly states the action (mint), the specific resource (soulbound capability certificate via Metaplex Core), and its role as step 5 of onboarding. It effectively distinguishes from siblings like create_capability by focusing on a certificate that is a cNFT and soulbound.

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

Usage Guidelines3/5

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

The description mentions 'Step 5 of onboarding,' implying it is part of a structured sequence, but it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or prerequisites. The guidance is implied but not direct.

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
Behavior3/5

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

Annotations show the tool is not read-only and not destructive. The description adds that it submits a signed intent with atomic routing and typical settlement time (30-60s). However, it does not disclose potential failure modes, prerequisites beyond near_quote, or account/network 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?

Three sentences, each providing essential information: what the tool does, prerequisite call, and post-call polling. No wasted words, information 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?

Given no output schema, the description covers the main action, prerequisite, and post-call behavior (settlement time and polling). It does not explicitly state the return format, but it is adequate for usage.

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% with all parameters described. The description adds value by explaining the relationship between quoteId and near_quote, and implicitly suggests recipient is optional. This contextualizes the parameters 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?

The description states the tool submits a cross-chain payment intent to the NEAR 1Click solver network. This is a specific verb+resource, and it distinguishes from siblings like near_quote (for obtaining quotes) and near_intent_status (for polling).

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

Usage Guidelines4/5

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

The description explicitly instructs to call near_quote first to get a quoteId and to poll near_intent_status for progress. This provides clear sequencing and context, though it does not explicitly state when not to use it.

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

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

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

Annotations already mark it as read-only and non-destructive. The description adds value by detailing the status flow and return fields (txHash, explorerUrl), which help the agent understand expected output without side effects.

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

Conciseness5/5

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

Two concise sentences with no redundant words. The first sentence states the purpose directly, and the second provides key details on statuses and return values. Ideal length and structure.

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

Completeness4/5

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

Although there is no output schema, the description adequately covers return values (statuses, txHash, explorerUrl). It could benefit from specifying the response structure, but it is sufficient for the tool's simplicity.

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 clear description for intentId ('Intent ID returned from near_intent'). The tool description adds no further parameter context, but this is acceptable given full schema coverage.

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

Purpose5/5

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

The description clearly states the tool's purpose: checking settlement status of a NEAR 1Click cross-chain payment intent. It uses a specific verb ('check') and resource ('settlement status'), and distinguishes from sibling tools like near_intent and near_quote by specifying it's for already-submitted intents.

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 implies usage after submitting an intent via near_intent, and explains the status progression. However, it does not explicitly state when not to use this tool or mention alternatives, which would improve clarity.

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)
Behavior1/5

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

Description states 'Get a quote' implying a read-only operation, but annotations set readOnlyHint=false, contradicting the described behavior. This is a clear annotation 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 concise sentences, each serving a purpose: define action, provide context, and give prerequisite. No unnecessary 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?

Provides enough context for a quote tool: purpose, network, and prerequisite. Lacks details on return format (no output schema) but is adequate given the tool's nature.

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 description adds minimal extra meaning. It notes 'optimal routing and fee estimates' which gives context but does not detail parameter formats beyond 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?

Description clearly states the tool gets a cross-chain payment quote, specifics about the NEAR 1Click solver network, and ties it to funding PCC escrow contracts. It also suggests a prerequisite call to near_status, which helps distinguish from siblings.

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 advises calling near_status first to confirm available chains/assets, providing clear guidance. However, no explicit comparison to sibling tools like near_intent or when not to use.

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

Behavior3/5

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

ReadOnlyHint and destructiveHint in annotations already convey non-destructive, read-only nature. Description adds context about return content (chains, assets, flags) and usage as a prerequisite step, but no additional behavioral traits beyond what annotations imply.

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 purpose, followed by details and usage guidance. Every word adds value; no redundancy.

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, annotated read-only tool with no output schema, the description fully covers what the tool does, what it returns, and when to use it. Complete for its simplicity.

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?

Input schema has no parameters (0 required/optional), so schema coverage is 100%. Description adds no parameter info, but none is needed; baseline score of 4 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 clearly states the tool 'Get NEAR Protocol chain-abstraction integration status' and lists specific returned data (supported chains, assets, capability flags). It distinguishes from sibling tools like near_intent and near_quote by its specific purpose of status checking.

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 'Use this to confirm cross-chain settlement is available before requesting quotes,' providing a clear use case. No explicit exclusions or alternatives, but adequate for a simple status tool.

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

onboard_machineBInspect

Register a new machine on the PCC network. Provide machine details to create a registration record.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesMachine name
modelNoModel identifier
categoryYesMachine category (e.g. fdm, cnc, laser-cut, hplc)
descriptionNoMachine description
capabilitiesNoArray of capability objects
manufacturerNoManufacturer name
Behavior2/5

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

The description states 'create a registration record' but does not disclose any behavioral aspects such as side effects, authorization needs, or next steps. Annotations indicate non-readOnly and non-destructive, but the description adds little beyond implying a create 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?

Two sentences, 18 words, front-loaded with purpose. Very concise, though it could include a bit more helpful context without becoming verbose.

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?

As a registration tool with no output schema and multiple sibling registration steps, the description lacks information about return values (e.g., registration ID) and how this tool fits into the larger workflow.

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 clear descriptions for all 6 parameters. The description does not add additional meaning beyond 'Provide machine details', so it scores 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?

The description clearly states the verb 'Register' and the resource 'a new machine on the PCC network', and distinguishes it from siblings like 'activate_registration' and 'approve_registration' which involve different steps.

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 alternatives (e.g., 'activate_registration', 'approve_registration'). It does not mention prerequisites, post-conditions, or any context about the registration workflow.

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

operator_heartbeatBInspect

Operator sends heartbeat with capability re-announcement. Keeps the kernel alive on the network and updates available capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYes
capabilitiesNo
Behavior3/5

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

Annotations indicate the tool is not read-only (write operation) and not destructive. The description adds the concept of heartbeat and capability re-announcement, but does not disclose side effects, idempotency, authentication needs, or rate limits. It provides some behavioral context beyond annotations but remains minimal.

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

Conciseness5/5

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

The description is concise, using two sentences that front-load the action ('sends heartbeat'). Every word contributes to clarity, with no redundancy or 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 simple 2-parameter tool with no output schema, the description covers the basic purpose and effect but omits details like expected return values, error conditions, idempotency, or frequency recommendations. It is adequate 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 input schema has 0% description coverage, so the description must compensate. It explains both parameters: kernelId is the target kernel to keep alive, and capabilities are the updated capabilities to announce. While it does not detail the format of capabilities objects, it adds meaningful context that the schema alone lacks.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Operator sends heartbeat with capability re-announcement' and 'keeps the kernel alive'. It identifies the verb (send/update) and resource (capabilities, kernel). However, it does not explicitly differentiate from the sibling tool 'kernel_heartbeat', though the name implies a different actor.

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 lacks guidance on when to use this tool versus alternatives like 'operator_poll_jobs' or 'kernel_heartbeat'. It does not mention prerequisites, frequency of use, or scenarios where this is appropriate.

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. Used by pcc-node daemon.

ParametersJSON Schema
NameRequiredDescriptionDefault
kernelIdYesKernel ID to poll jobs for
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description's statement that it 'Returns queued jobs ready for execution' adds appropriate context without contradicting annotations. However, it does not detail any potential side effects or blocking behavior, but annotations cover the key traits.

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, each serving a purpose: first states action and resource, second gives usage context. No redundant 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?

No output schema is provided, and the description does not mention the format of returned jobs (e.g., list of job objects or IDs). Given the simplicity of the tool, it is adequate but could be more 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?

The schema already provides a description for kernelId that is fully covering (100%). The description does not add extra information beyond what is in the schema, so this is 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?

The description clearly states that the tool polls for pending jobs assigned to a kernel, using a specific verb and resource. It distinguishes from other job-related tools by focusing on polling for pending jobs for a specific 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 description does not provide guidance on when to use this tool over alternatives like get_job, list_jobs, or get_kernel_jobs. It only mentions 'Used by pcc-node daemon' but that is not actionable for an AI agent.

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

operator_push_evidenceBInspect

Operator pushes evidence bundle from a completed job execution. Contains device ID, execution timestamp, result payload, and event timeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes
evidenceYes
kernelIdYes
Behavior3/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, which aligns with the write nature but non-destructive behavior. The description adds context about contents (device ID, timestamp, etc.) but does not detail side effects, idempotency, or authentication requirements. With annotations present, the description adds moderate 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?

The description is two sentences, front-loaded with the action and key content. Every sentence adds value without redundancy.

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

Completeness2/5

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

The tool has nested parameters (evidence object) and no output schema. The description lacks details on success/error conditions, evidence construction, or behavioral edge cases. Given the complexity, it is incomplete for an agent to use effectively.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the parameters (jobId, kernelId, evidence) or their formats. The description only mentions what the evidence bundle contains, not how to specify it. This is insufficient for an agent to correctly invoke the tool.

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 ('pushes') and resource ('evidence bundle from a completed job execution'), and it clearly distinguishes from sibling tools like 'commit_evidence' or 'archive_evidence' by specifying the context of a completed job.

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 use after a job completion, but it does not explicitly state when to use this tool versus alternatives like 'commit_evidence' or 'archive_evidence'. No exclusions or alternatives are provided.

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

operator_update_job_statusBInspect

Operator updates job status during execution (in_progress, completed, failed). Called by pcc-node as jobs progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes
statusYes
kernelIdYes
metadataNo
Behavior3/5

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

Annotations already indicate this is a write operation (readOnlyHint false) and non-destructive (destructiveHint false). The description adds that it updates status to one of three specific values and is called during execution. It does not disclose potential side effects, authorization needs, or constraints on status transitions.

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 very concise with two sentences and no redundant information. However, it could be better structured (e.g., separating purpose, usage, parameters). It earns points for brevity but loses some for lack of structure.

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

Completeness2/5

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

Given the tool has 4 parameters (including a nested object) and no output schema, the description is incomplete. It does not cover parameter explanations, return values, or behavioral expectations. The tool's complexity warrants a more comprehensive description.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds meaning to the 'status' parameter by listing the allowed values, but jobId, kernelId, and metadata are not explained. The description provides insufficient detail for the agent to understand what these parameters represent.

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?

Description clearly states the tool updates job status with specific enum values (in_progress, completed, failed). It identifies the caller (pcc-node) and context (during execution). However, it does not differentiate itself from the sibling tool named 'update_job_status' (without operator prefix), which could cause confusion.

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 operators or pcc-node during job execution, but no explicit guidance is provided on when to use this tool versus alternatives (e.g., update_job_status). There is no mention of prerequisites, state requirements, or when not to use it.

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

pause_protocol_runAInspect

Pause a running protocol run. Use resume_protocol_run to continue.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesProtocol run ID to pause
Behavior3/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 operation. The description adds 'pause' behavior but does not elaborate on side effects (e.g., state preservation, permissions) 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?

Two sentences with no wasted words. The first sentence defines the purpose, and the second provides a direct pointer to the complementary 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?

For a simple tool with one parameter and no output schema, the description covers the core action and useful cross-reference. It misses prerequisites (e.g., run must be running) and error states, but such details are minimally necessary 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%, and the parameter description in the schema is sufficient. The tool description adds no additional parameter clarification beyond what the schema already states.

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 'pause' and resource 'protocol run', clearly indicating the action on a running run. It distinguishes from sibling tools like 'resume_protocol_run' and 'cancel_protocol_run' by mentioning the complementary action.

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

Usage Guidelines4/5

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

The description explicitly states when to use this tool (to pause a running run) and directs to 'resume_protocol_run' for continuing. It provides clear context but does not explicitly exclude usage on non-running runs, though that is implied.

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

pay_ip_royaltyAInspect

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
Behavior3/5

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

Annotations already indicate it is not read-only and not destructive. The description adds that tokens flow via royalty splits, but doesn't disclose additional behavioral traits like idempotency, reversibility, 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?

Two sentences, no wasted words. Purpose is front-loaded and every sentence adds value. Highly concise and structured.

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

Completeness3/5

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

For a payment tool with no output schema, the description covers the main action but lacks return value hints or confirmation behavior. 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%; all parameters have descriptions. The description does not add any parameter-specific meaning beyond the schema, so baseline score of 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 specific verb ('Pay royalties') and resource ('IP asset vault'), explaining the mechanism (tokens flow via royalty splits). It clearly distinguishes from related tools like claim_ip_revenue.

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 for paying royalties but does not provide explicit guidance on when to use versus alternatives (e.g., distribute_royalties, claim_ip_revenue). No 'when not to use' or context for prerequisites.

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

pcc_assign_node_operatorAInspect

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

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

The description adds the specific behavioral effect 'node status changes to ''assigned''' beyond the annotations (readOnlyHint false, destructiveHint false). However, it does not disclose potential side effects or 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.

Conciseness5/5

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

Two concise sentences with no wasted words. The action and effect are stated upfront.

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 3 parameters and no output schema, the description is adequate but lacks details on return values or success/error indicators. It covers the basic operation but could be more thorough.

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 baseline is 3. The description does not add any new information beyond the parameter names and types provided in the schema.

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

Purpose5/5

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

The description clearly states the verb 'Assign' and the resource 'operator to a specific capability node within a request,' distinguishing it from sibling tools like pcc_update_node_status.

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 purpose ('Operators claim nodes to indicate they will execute that capability') but does not explicitly state when to use this tool versus alternatives or mention prerequisites like 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
Behavior3/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 that output includes base64 JPEG + metadata, but does not disclose potential behavioral traits like rate limits, error handling, or performance characteristics. Adequate but not enriched.

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 primary purpose and an alternative for a different use case. No superfluous information; every part 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?

Given the tool's simplicity (single parameter, no output schema), the description is fairly complete. It explains the output format and gives an alternative. Could address potential error states or return metadata details, but overall sufficient.

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 parameter kernelId. Description provides no additional meaning beyond the schema's description, meeting the baseline for high 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?

Description clearly states verb (Get), resource (latest camera frame from a kernel), and output format (JSON snapshot with base64 JPEG + metadata). It also distinguishes from the alternative raw JPEG endpoint, providing clear purpose 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 description mentions an alternative for raw JPEG, giving some usage context, but does not explicitly state when to use this tool over siblings or provide prerequisites/exclusions. Usage is implied but not fully detailed.

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

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

Annotations declare destructiveHint=true, and the description adds context that it is a soft delete, the request remains visible with a 'cancelled' status. This clarifies the behavioral impact beyond the annotation alone. No contradictions.

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 that front-load the key action and then provide essential behavioral consequences. No extraneous words. Every sentence adds value.

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 cancellation tool with one parameter and no output schema, the description covers the core behavioral aspects (soft delete, status change, post-cancellation restrictions). It is sufficiently complete for an agent to understand the tool's 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?

The single parameter 'requestId' is described in the schema as 'Request ID to cancel'. The description does not add any additional meaning or usage details beyond this. With 100% schema coverage, 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?

Description clearly states the action 'Cancel a capability request' and explains the consequences: cancelled requests cannot be updated, decomposed, or published. It also notes it's a soft delete, differentiating from a hard delete. This specificity and contrast with sibling tools like pcc_update_request and pcc_decompose_request make the purpose very 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 description implies when to use the tool by stating the limitations after cancellation (e.g., cannot update or publish), but it does not explicitly provide usage conditions or alternatives. It lacks direct guidance on when to cancel versus other actions, so the guidance is only implicit.

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.
Behavior5/5

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

The description adds valuable behavioral details beyond annotations: rejects non-PASS verdicts, idempotent behavior, and a specific edge case (registry not deployed returning 202). No contradiction with annotations (readOnlyHint=false, destructiveHint=false).

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 concise sentences with no filler. Every sentence adds critical information: action, constraints, idempotency, and error case. Well 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?

For a tool with one parameter and no output schema, the description covers purpose, preconditions, behavioral traits, and an edge case. It is complete enough for an agent to decide and invoke correctly.

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

Parameters5/5

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

The single parameter is fully covered by the schema, and the description enriches it by noting it must come from pcc_capture_upload and be a PASS verdict with anchorCandidate=true. This adds meaning beyond the schema's basic description.

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

Purpose5/5

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

The description clearly states the action ('Anchor'), the resource ('PASS + anchor-candidate capture verdict to CaptureClassRegistry'), and the on-chain context (Base Sepolia). It distinguishes from sibling tools like pcc_capture_upload (which uploads) and pcc_capture_class_registry (registry management).

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 usage after a successful upload of a PASS verdict with anchorCandidate=true, and warns that FAIL/PARTIAL verdicts are rejected. Idempotency and the deferred error case are stated. However, it does not explicitly mention alternatives or provide a when-to-use/when-not-to-use breakdown.

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

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

Annotations indicate non-readOnly and non-destructive. The description adds the nonce derivation preventing pre-computation and the maxAgeSeconds clamping to 120. While it doesn't cover all side effects (e.g., whether it invalidates previous challenges), it discloses key behaviors 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?

Compact 3-sentence description. First sentence states the action and purpose directly. Subsequent sentences add essential operational details without waste. Every sentence contributes value.

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

Completeness5/5

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

Given no output schema, the description explicitly lists return values (challengeId, nonce, blockNumber, maxAgeSeconds) and explains the nonce derivation. This fully compensates for missing formal output schema, making the tool's behavior complete 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?

Input schema has 100% coverage with descriptions. The description adds context about declared class determining gates and requestedTtlSeconds clamping, which enriches meaning beyond the schema alone.

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 ('Issue') and resource ('CaptureNonceChallenge'), clearly states it's for a job, and distinguishes its role as a prerequisite before pcc_capture_upload, differentiating from siblings.

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 'before calling pcc_capture_upload', providing clear sequential guidance. Describes the operator's required action (render nonce into media) and nonce derivation, effectively telling when and how to use the tool.

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

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

Annotations indicate readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral details beyond annotations: onchain can be null, and a 202 deferred response occurs when CaptureClassRegistry is not deployed. This provides meaningful context for the agent.

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

Conciseness5/5

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

The description is three sentences: first states purpose, second lists returned fields, third notes null and deferred conditions. Every sentence adds value without redundancy. Front-loaded with key action and parameters.

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 no output schema, the description enumerates all returned fields (registry address, captureHash, decoded anchor tuple with 10 elements). It also covers edge cases (null when not anchored, 202 deferred when registry not deployed). No gaps for this single-parameter tool.

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

Parameters5/5

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

The input schema covers 100% of the single parameter with a basic description. The tool description significantly enhances parameter semantics by specifying acceptable formats (0x-prefixed/unprefixed hex, sha256:<hex>) and server-side padding to bytes32. This adds critical usage guidance beyond schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Look up a capture's on-chain anchor record in CaptureClassRegistry by its 32-byte captureHash.' It specifies the exact resource and action, distinguishing it from sibling tools like pcc_capture_status or 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 Guidelines3/5

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

The description does not explicitly state when to use this tool over alternatives. It provides some context (onchain is null if never anchored; returns 202 if registry not deployed) but no comparative guidance with sibling tools, limiting its effectiveness for selection.

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

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

Annotations already declare readOnlyHint=true. Description adds that anchor can be null and lists specific metadata fields (txHash, blockNumber, gasUsed, explorerUrl), providing context 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, concise, no fluff. Every sentence adds value.

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?

Single-param read-only tool with no output schema. Description fully explains return shape (verdict + anchor metadata with null case) and 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 coverage is 100% with description 'Capture verdict UUID (from pcc_capture_upload).' Description adds no new meaning beyond schema, but links to sibling tool. 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?

Description clearly states 'Fetch' as the verb and identifies the resource as 'the combined verdict + on-chain anchor view for a single capture', distinguishing it from siblings like pcc_capture_upload (upload) and pcc_list_verdicts (list multiple).

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 for checking status after upload via verdictId from pcc_capture_upload, but no explicit when-to-use or when-not-to-use compared to alternatives like pcc_list_verdicts or pcc_capture_anchor.

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

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

Beyond annotations (non-read-only, non-destructive), the description explains that the server runs a 6-gate verifier and persists a verdict. It also details the return fields. It does not contradict annotations and adds context about the upload and verification 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 concise (4 sentences) with front-loaded main purpose. Every sentence provides necessary information without redundancy or fluff.

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 complexity (8 parameters, no output schema) and the richness of annotations, the description covers upload, verification, and output structure. It lacks details on error cases or constraints (e.g., file size limits) but is generally complete for an AI agent to use.

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% with descriptions for all parameters. The description adds extra context: base64 inline encoding, fallback logic for jobId and operatorId, and requirement of C2PA manifest for CC3+. This adds meaning 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?

The description clearly states the action (upload), resource (capture with manifest), and purpose (G1..G6 verification). It specifies the types of capture (photo/video/audio/sensor clip) and distinguishes from sibling tools by focusing on upload and 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?

The description provides usage context: base64 encoding, optional C2PA manifest, and the verification process. It implies when to use (when you have a capture to upload and verify) but does not explicitly state when not to use or mention alternatives among sibling tools.

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

pcc_chat_historyA
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
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds context that the tool returns messages between agents, operators, and users, but does not disclose additional behavioral traits like rate limits, authorization requirements, or 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?

The description is two concise sentences, front-loaded with the primary purpose. Every word contributes meaning, and there is no redundancy or extraneous 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 simple read-only tool with 2 structured parameters and no output schema, the description captures the essential behavior. It lacks details about pagination or ordering (e.g., chronological), but given the tool's simplicity, the description is largely 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?

The input schema covers both parameters (kernelId and limit) with descriptions. The description does not provide additional semantic meaning beyond what the schema already states. Since schema coverage is 100%, baseline is 3, and no extra value is added.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'chat history', and narrows it to 'for a specific kernel'. It also specifies what is returned: messages between agents, operators, and users. This distinguishes it from sibling tools like pcc_chat_send and list_conversations.

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 is for retrieving history of a specific kernel, but it does not explicitly state when to use this tool versus alternatives like pcc_chat_send or list_conversations. No exclusions or prerequisites are mentioned.

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
Behavior3/5

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

Annotations already indicate the tool is not read-only and not destructive. The description adds that it sends a chat message, but does not disclose additional behavioral traits such as rate limits, authentication requirements, or side effects like triggering notifications. With annotations covering safety, a score of 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?

The description is a single, clear sentence that efficiently conveys the tool's purpose and usage context. No wasted words or redundant 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?

Given the tool's simplicity (3 parameters, no output schema, no nested objects), the description covers the main purpose and usage context. It could mention that no response from the operator/agent is returned, but this is not critical for a send-only 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 documents each parameter. The description does not add meaning beyond the schema; for example, it doesn't explain the significance of different roles or message length limits. Baseline score 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 uses a specific verb ('Send') and resource ('chat message to a kernel's operator or agent'), clearly distinguishing it from sibling tools like pcc_chat_history (reading chat). The usage context ('human-in-the-loop communication during job execution, troubleshooting, and escalation') adds further clarity.

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 states when to use this tool (human-in-the-loop communication, troubleshooting, escalation), providing clear context. It does not explicitly exclude alternative tools or say when not to use, but the context is sufficient for an agent to infer appropriate usage.

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)
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds the empty array return behavior, which is useful but minimal. It does not disclose potential authentication requirements or any rate limits, but given the annotations, 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.

Conciseness5/5

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

The description is concise, with two sentences covering purpose, return format, and edge case. No unnecessary words, and the key information 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 simple list tool with one parameter and no output schema, the description adequately explains what is returned and the empty case. It could mention pagination or limits, but given the tool's simplicity, it is mostly 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?

The schema has 100% coverage, describing the 'address' parameter as a wallet address with format hints. The description does not add further meaning beyond what the schema provides, so 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 clearly states it lists all contributor profiles for a given address, specifies the exact fields returned, and mentions the empty array case. This distinguishes it from other listing tools like list_registrations or list_pools by focusing on contributor profiles per address.

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 implies the tool is for querying contributor profiles by address, but does not explicitly state when to use it versus alternatives (e.g., pcc_contributor_register for registration). The context is clear, but more concrete guidance on when not to use it would improve clarity.

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

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

The description adds behavioral context beyond annotations, such as idempotency: 'Idempotent on the composite id — re-posting the same (address, role, contributorNftTokenId) replaces the prior profile.' Annotations only indicate readOnlyHint=false and destructiveHint=false, so this additional info is 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?

The description is concise with two well-structured sentences. The first sentence states the action and fields, the second adds behavioral and return info. No unnecessary 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?

Given 6 parameters and no output schema, the description covers the core functionality, fields, idempotency, and composite id. It could include error conditions or prerequisites (e.g., schedule must be published), but it's 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?

Schema coverage is 100%, so the description adds value by specifying exact hex lengths (0x40hex, 0x64hex) and composite id composition ('address:role:tail'). This provides meaning beyond the schema's descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Register a contributor profile binding a wallet address to a role and a published RateSchedule.' It uses specific verbs and resources, and distinguishes itself from siblings like 'pcc_contributor_list' by focusing on registration.

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 does not provide any guidance on when to use this tool versus alternatives like 'pcc_contributor_list' or 'activate_registration'. There is no mention of prerequisites or when not to use it.

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

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'])
Behavior3/5

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

Annotations already indicate readOnlyHint=false (mutation) and destructiveHint=false (not destructive). The description confirms 'create' and adds context about being a prerequisite for scoped writes. However, it does not disclose potential idempotency behavior or failure conditions. Given annotations, the description adds some value but is not rich in behavioral details.

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

Conciseness5/5

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

The description is two sentences, front-loaded with purpose, and every sentence is informative. No redundancy or fluff. It efficiently conveys what the tool does and when to use it.

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 purpose and usage well but omits what the tool returns (no output schema). For a creation tool with 9 parameters, the agent would benefit from knowing expected output. The complexity level and lack of output schema make this gap noticeable. Sibling tools provide context, but the description could be more 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% with all 9 parameters documented. The description does not add specific parameter semantics beyond the schema, except for providing examples in allowedTools. Baseline for high coverage is 3, and the description does not significantly enhance understanding of parameters.

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

Purpose5/5

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

The description clearly states 'Create an execution scope for a job' and explains what a scope is (allowed tool calls, budgets, retry limits, TTL). It differentiates from siblings like pcc_revoke_scope by specifying it is 'Required before issuing SCOPED WRITE operations (protocol upload, run create, run action).' This makes the purpose specific and 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?

The description provides direct usage guidance: 'Required before issuing SCOPED WRITE operations' with concrete examples. This tells the agent when to use this tool. While it does not explicitly list alternatives, the context from sibling names implies that for revocation or audit, other tools should be used.

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

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

The description discloses the key behavioral trait: 'Overwrites the existing capability DAG.' The annotations indicate readOnlyHint=false and destructiveHint=false, but the description adds that the existing DAG is replaced, which is useful beyond the annotations. However, there is a slight contradiction: 'overwrites' implies destruction, yet annotations claim non-destructive.

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 concise and front-loaded: two sentences that immediately state the action and a use case. No unnecessary words; every sentence adds value.

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

Completeness4/5

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

For a tool with one required parameter and no output schema, the description is fairly complete. It explains when to use it and what happens. It could mention whether the old DAG is recoverable, but given the simplicity, it is 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?

The description adds no additional meaning beyond the input schema, which already describes the parameter 'Request ID to decompose'. Since schema coverage is 100%, baseline is 3. The description could have added format or length constraints but did not.

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

Purpose5/5

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

The description clearly states the tool's action: re-trigger decomposition and overwrite the existing DAG. It distinguishes from sibling tools like pcc_submit_request (create), pcc_get_request (read), pcc_update_request (modify properties), and pcc_cancel_request (cancel). The verb 'decompose' combined with 'overwrites' is specific.

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

Usage Guidelines4/5

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

The description provides a clear use case: 'Useful after updating the description or budget.' This guides when to use the tool. It does not explicitly mention when not to use it or alternative tools, but the context is sufficient for a simple tool.

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

pcc_dht_announceBInspect

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
Behavior3/5

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

Annotations indicate it is not read-only and not destructive, aligning with the description. The description adds context about signing with Ed25519 key and broadcasting, but does not detail side effects like overwriting prior announcements or persistence 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, front-loaded with the primary action, no wasted words. Every sentence adds value.

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

Completeness2/5

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

Despite full schema coverage, the description lacks completeness for a DHT tool: it does not explain post-announcement behavior (e.g., caching, TTL implications), key setup requirements, or whether announcements are overwritten or additive.

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 parameters are described in the schema. The description does not add any additional 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?

The description clearly states the tool announces capabilities to the DHT network with signing and broadcasting. However, it does not differentiate from the sibling tool 'kernel_announce_capabilities', which appears to have a similar purpose.

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 alternatives like kernel_announce_capabilities or other DHT tools. No prerequisites or exclusion criteria are provided.

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

Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds specifics about returned data but does not disclose additional behavioral traits like rate limits or permission requirements. No contradictions.

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 primary action and purpose, followed by details of returned data and usage. Every sentence is necessary and informative 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?

Given the tool has no parameters and no output schema, the description covers all needed information: what it returns (counts, stats, events) and when to use it (monitoring). It is complete enough for an agent to invoke 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 has no parameters, and the schema coverage is 100%. The description correctly implies no inputs are needed, which adds clarity. Baseline score for zero parameters with full schema coverage.

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

Purpose5/5

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

The description clearly states the tool's function: 'Get a snapshot of DHT telemetry counters and recent events', listing specific data like message counts and peer stats. It is distinct from sibling tools such as pcc_dht_peers and pcc_dht_query, which focus on narrower aspects.

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

Usage Guidelines4/5

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

The description explicitly says 'Use for monitoring network health', providing clear context. While it does not mention alternatives or when not to use it, the purpose is well-defined enough to guide selection among related tools.

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

pcc_dht_peersA
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

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 by specifying that it shows connection status and gossip network connectivity, providing 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.

Conciseness5/5

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

The description is two sentences, front-loaded with the action, and contains no extraneous information. 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 read-only list tool with no output schema, the description adequately conveys the tool's purpose and return focus (peers and connection status). It is complete enough for an agent to use 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 zero parameters and 100% schema coverage, the description does not need to explain parameters. No additional meaning is required, earning a baseline score of 4.

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

Purpose5/5

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

The description clearly states 'List known DHT peers and their connection status' with a specific verb and resource. It distinguishes from sibling tools like pcc_dht_announce or pcc_dht_metrics by focusing on listing and status.

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 for checking peer connections but lacks explicit when-to-use or when-not-to-use guidance or mention of alternatives among siblings. It provides no context on when this tool is preferred.

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

pcc_dht_queryAInspect

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)
Behavior3/5

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

Annotations do not indicate read-only, but the description clarifies this is a query operation. However, it fails to disclose behavioral traits such as side effects, idempotency, or latency. It adds marginal 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?

Two concise sentences: first states the primary action, second describes the result. No unnecessary words, front-loaded with key information. Efficient and clear.

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

Completeness3/5

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

For a tool with 4 parameters and no output schema, the description explains what the tool does and what it returns (announcements from operators). However, it does not describe the return format or fields, leaving the agent without full context for interpreting 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% with descriptions for all 4 parameters. The description adds context by grouping type, materials, and maxPrice as 'matching requirements' but does not explain the limit parameter or clarify that maxPrice is upper bound. Overall, no significant enhancement beyond schema.

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

Purpose5/5

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

The description clearly states the tool queries the DHT for capabilities matching requirements, specifies it returns operator announcements, and mentions filtering by type, materials, and price range. This distinguishes it from sibling tools like pcc_dht_announce (announce capabilities) or pcc_dht_metrics (get 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 Guidelines3/5

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

The description implies usage context (searching for capabilities) but does not explicitly state when to use this tool instead of alternatives like search_capabilities or get_marketplace_overview. No guidance on prerequisites or when not to use.

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

pcc_generate_uiAInspect

Generate a dynamic visual interface and serve it locally via pcc-node's UI server (localhost:3200). Supports built-in templates (plate-layout, protocol-builder, job-status, camera-viewer, device-config) or custom HTML. The UI appears in the operator's browser. Form submissions are queued for the agent to read via pcc_get_ui_submissions.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoUI title
contentNoCustom HTML content (when template='custom')
filenameNoOutput filename (e.g. 'my-form.html')
templateYesBuilt-in template name or 'custom'
Behavior4/5

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

Annotations show readOnlyHint=false and destructiveHint=false; description adds behavioral context: serves locally on port 3200, supports built-in templates or custom HTML, and queues submissions. No contradictions. Provides useful detail 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?

Four concise sentences, each adding essential information: action, templates, server location, and post-usage workflow. No redundancy, well 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?

Given no output schema and minimal annotations, the description covers all key aspects: generation, serving, template options, operator visibility, and submission handling. Complete for understanding tool usage.

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 baseline is 3. Description adds minor value by summarizing template purposes (built-in vs custom) and hinting at content usage, but does not significantly extend beyond schema descriptions.

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

Purpose5/5

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

Description clearly states 'Generate a dynamic visual interface and serve it locally', specifying the verb (generate), resource (visual interface), and context (local server). This distinguishes it from siblings like data retrieval or automation tools.

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

Usage Guidelines4/5

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

Explicitly mentions that the UI appears in the operator's browser and that form submissions are queued for reading via pcc_get_ui_submissions, providing clear post-usage guidance. However, it does not explicitly state when not to use or compare to similar tools like render_pcc_dashboard.

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

pcc_get_requestA
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
Behavior4/5

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

Annotations indicate read-only safety; description adds context about the returned data structure (nodes, dependencies, costs, operators, bounty IDs). No behavioral traits like pagination or performance are mentioned, but the description adds 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?

A single, front-loaded sentence efficiently conveys the tool's purpose and output. No redundant words or tangents.

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 explains the output well for a read-only tool with one parameter. However, it does not differentiate from similar sibling tools or note where to obtain a requestId. Minor gaps given the 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?

Input schema covers 100% of parameters with a clear description for requestId. The description does not add new semantic detail beyond the schema's 'Request ID', but contextualizes it within capability requests.

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

Purpose5/5

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

The description clearly states the tool retrieves a capability request by ID, listing specific components like full decomposed DAG, dependencies, costs, operators, and bounty IDs. This distinguishes it from siblings like pcc_list_requests or pcc_get_request_dag.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives like pcc_get_request_dag or pcc_get_request_critical_path. Usage is implied from the description (when full DAG detail is needed) but no exclusions or comparisons are provided.

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

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

Annotations already declare safe read behavior (readOnlyHint=true, destructiveHint=false). The description adds value by detailing return values (node IDs, full details, total hours), enhancing transparency 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 concise sentences: first states purpose, second lists return elements. No filler, front-loaded, every word earns its place.

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

Completeness4/5

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

Given one parameter and no output schema, the description sufficiently explains the return structure (node IDs, details, total hours). It covers the essential behavior for an AI agent to invoke and interpret 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?

Single parameter 'requestId' is fully described in the schema (100% coverage). The tool description does not add extra semantic meaning beyond what the schema provides, making a baseline score of 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 uses a specific verb+resource ('Get the critical path for a capability request') and clearly distinguishes from sibling tools like pcc_get_request and pcc_get_request_dag by focusing on the dependency chain.

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

Usage Guidelines3/5

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

The description implies the tool is for determining minimum calendar time, but lacks explicit guidance on when to use it versus other request query tools (e.g., pcc_get_request). No alternative tools or exclusions are mentioned.

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
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 description adds value by specifying the return format (adjacency data with nodes and edges) without contradicting annotations. No additional behavioral details are needed.

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

Conciseness5/5

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

Two sentences efficiently convey the tool's purpose and output. The key action 'Get the capability DAG...' is front-loaded, and every word adds value. No redundancy or unnecessary 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?

Given no output schema, the description adequately explains the return format (nodes with fields plus explicit edges). However, it could mention that the operation is read-only (implied by annotations) but not critical. Overall complete for a simple tool with one parameter.

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 already describes the single parameter 'requestId' with a description 'Request ID.' The description adds no further semantic detail beyond the schema, and coverage is 100%. Baseline score of 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 clearly specifies the tool retrieves a capability DAG for a request as adjacency data, including nodes and edges. It distinguishes from sibling tools like pcc_get_request (which gets the request itself) and pcc_get_request_critical_path (which might get a subset) by naming the exact resource and format.

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 states the tool is 'useful for visualization or workflow planning,' providing clear context for when to use it. However, it does not explicitly exclude usage for other purposes or contrast with alternatives like pcc_get_request_critical_path, leaving some ambiguity.

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
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 by stating that the tool returns a list of tools with safety classifications and input schemas, which is behavioral context beyond the annotation flags.

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 consists of two well-structured sentences. The first sentence states the purpose and what is returned, and the second provides usage guidance. No extraneous 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?

Given the simple nature of the tool (one required parameter, no output schema), the description provides sufficient context: it returns a manifest with safety classifications and schemas. It does not mention pagination or filters, but for a manifest retrieval tool, this is 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?

There is only one parameter (kernelId) with schema coverage at 100%. The description does not add additional meaning beyond what the schema already provides (kernel ID). 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 clearly states that it gets the tool manifest for a kernel's device type, listing available tools with safety classification and input schemas. It effectively distinguishes itself from sibling tools like pcc_get_tool_result by focusing on discoverability of available tools.

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

Usage Guidelines4/5

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

The description explicitly says 'Use to understand what tools are available before making tool calls,' providing clear when-to-use guidance. However, it does not mention when not to use it or specify alternatives, though the sibling list contains many tools that could be alternatives.

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

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

Annotations already mark it as read-only and non-destructive. The description adds the behavioral detail that it requires polling until the executor posts results, which is useful. No contradictions with annotations. Could have disclosed rate limits or error behavior for invalid callId.

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 consists of two concise sentences that front-load the purpose and usage. Every sentence provides value, and no redundant information 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?

Given the tool has only one parameter, full schema coverage, and no output schema, the description is adequate for a simple polling tool. However, it lacks information about the return format or error conditions, which would be helpful for complete understanding. It also does not relate to the broader context of sibling pcc_* 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?

The input schema already provides full description for the single required parameter 'callId' (100% coverage). The description does not add any additional meaning 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?

The description clearly states that the tool gets the result of a previously relayed tool call and that it should be polled until the executor processes it. The verb 'get' and resource are specific. However, it does not explicitly distinguish from sibling tools like pcc_get_request, which might cause confusion about when to use this instead.

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

Usage Guidelines4/5

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

The description provides clear usage guidance by indicating that this endpoint should be polled until results are available, implying it follows pcc_relay_tool_call. However, it lacks explicit when-not-to-use guidance or mention of alternatives like pcc_get_request for status checks.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID to complete
messageNoCompletion message or notes
Behavior4/5

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

Annotations indicate it is not read-only and not destructive. The description adds significant behavioral detail: gathering audit trails, building SHA-256 evidence, storing evidence, revoking scopes, and settling escrow (mock or real). This goes beyond the annotations, though it does not discuss failure modes or side effects in depth.

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

Conciseness4/5

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

The description is concise at one sentence but effectively lists multiple steps. It is front-loaded and to the point. Minor improvement could be structuring the steps for readability, but overall it is 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?

Given the lack of output schema and the complexity of the tool (multiple actions including escrow settlement), the description covers the main workflow. It mentions mock/real escrow, which is helpful. However, it does not specify return values or success/failure indicators, which would enhance completeness.

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 two parameters documented. The description does not add meaning beyond the schema; it mentions 'completion message' which matches the schema's description. No extra semantic value is provided for parameters.

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

Purpose5/5

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

The description clearly states the verb 'Complete a job' and enumerates the specific actions involved: gathering audit trail, building evidence bundle with SHA-256 hash, storing evidence, revoking scopes, and settling escrow. This provides a clear, resource-specific purpose that distinguishes it from siblings like pcc_job_settlement, which only handles the settlement part.

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

Usage Guidelines3/5

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

The description implies the tool is for the final step of job completion but does not explicitly state when to use it versus alternatives such as pcc_job_settlement or operator_update_job_status. No exclusions or when-not-to-use guidance is provided, leaving the agent to infer context from the sibling list.

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 settlement status for a completed job: escrow address, evidence hash, milestones with amounts and status, paid amount, currency, and linked negotiation session.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID
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 return fields but does not disclose behavioral traits such as rate limits, authentication needs, or that the job must be completed. Some value added but not rich.

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

Conciseness5/5

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

The description is a single sentence that is concise and front-loaded with the core purpose, followed by a clear list of return fields. 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?

With no output schema, the description helpfully lists return fields, allowing the agent to understand the output. However, it does not explicitly state the job must be completed, nor does it differentiate from similar siblings or mention limits. Nearly complete for a simple getter.

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 one parameter (jobId) described as 'Job ID'. The description does not add any additional meaning to the parameter beyond what the schema provides, so baseline score of 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 clearly states the tool gets settlement status for a completed job, listing specific fields (escrow address, evidence hash, milestones, paid amount, currency, linked negotiation). This distinguishes it from siblings like get_settlement_status and get_escrow.

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 job must be completed but does not explicitly state when to use this tool vs alternatives like get_escrow or get_settlement_status. No exclusionary 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.

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
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 that it shows specific data (status, DAG summary, costs, timelines), which provides useful context beyond annotations. However, it doesn't cover rate limits, authorization, or pagination behavior, which is acceptable for a simple list tool.

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

Conciseness5/5

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

The description is a single, clear sentence that front-loads the action and result. Every word adds value, with no redundancy or extraneous information.

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

Completeness5/5

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

The tool has 3 optional parameters, no output schema, and a straightforward purpose. The description covers what the tool does and what it returns, making it fully adequate for an agent to understand its use.

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% (all parameters have descriptions). The description does not add extra meaning beyond 'optional filtering'. With high schema coverage, baseline score of 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 clearly states it lists capability requests with optional filtering and specifies the returned fields (status, DAG summary, costs, timelines). It is a specific verb-resource combination that distinguishes it from other list tools like list_bounties or list_protocol_runs.

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 mentions optional filtering, which aligns with the input schema's enums for status, urgency, and requesterEmail. It implicitly tells when to use this tool (when listing capability requests with filtering needs), but does not explicitly state when not to use it or name alternatives. Given the sibling list tools, context is clear enough.

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

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).
Behavior5/5

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

Discloses ordering, optional filtering, default limit and server-side cap, and return structure. Annotations already confirm read-only; description adds valuable behavioral details.

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

Conciseness5/5

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

Single, front-loaded sentence covering action, resource, ordering, filtering, and limits. No redundant information.

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

Completeness5/5

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

Explains return shape ({verdicts, count, limit, jobId}) despite no output schema. Covers all key aspects for a list tool: ordering, filtering, limit 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 already describes both parameters fully (100% coverage). Description adds minor value by reinforcing filter behavior and default limit, but does not significantly extend 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?

Description uses specific verb 'list' and resource 'capture verdicts', specifies ordering 'newest first'. Clearly distinguishes from sibling tools like list_jobs or list_evidence.

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 optional filter by jobId and default/cap limits. Implicit context for when to use (to see verdicts), but no explicit comparison to alternatives.

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.
Behavior5/5

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

The description adds substantial behavioral context beyond annotations: it details the side effects (registers, mints, writes), idempotency, auth requirement, and return payload. Annotations only indicate non-read-only and non-destructive, which the description complements without 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?

The description is concise, with three sentences that front-load the purpose. Every sentence adds value: action summary, return payload, idempotency note, and auth requirement. 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?

Given the single parameter with clear schema description, the tool's complexity as a finalization step, and the lack of an output schema, the description is complete. It covers the return payload, idempotency, and authorization 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 baseline is 3. The description does not add extra meaning for the 'id' parameter beyond what the schema already provides ('Session id returned by pcc_onboard_session_start').

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

Purpose5/5

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

The description clearly states the verb 'finalise' and the resource 'physical-operator onboarding session'. It enumerates specific actions (registers operator, mints wallet, writes SEO mirror) and the return payload, distinguishing it from sibling tools like pcc_onboard_session_start and pcc_onboard_session_status.

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

Usage Guidelines4/5

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

The description provides explicit guidance on idempotency, stating it is safe to retry within the same session_id. It implies use after the session is started, but does not explicitly state when not to use this tool versus alternatives like pcc_onboard_session_start or pcc_onboard_session_status.

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.
Behavior3/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, so description adds value by noting auth requirements and URL formats (local:// and https://). However, no details on rate limits, concurrency, or effects of duplicates are provided.

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 wasted words. Purpose is front-loaded, and key details (URL types, auth) are included 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?

The tool is straightforward with 2 parameters, and description covers usage and parameters well. However, no output schema or return value description is provided, leaving the agent to infer the response format.

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%, but description adds context beyond schema: for 'id', it clarifies it comes from pcc_onboard_session_start; for 'doc_urls', it explains mixed URL types are fine. This enhances understanding of parameter relationships.

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

Purpose5/5

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

The description clearly states the tool queues documents (datasheets, SOPs, MOPs, certifications) for ingestion into a physical-operator onboarding session. It specifies the verb 'Queue documents' and the resource, and distinguishes from sibling tools like pcc_onboard_session_start by focusing on document ingestion.

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

Usage Guidelines3/5

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

The description mentions 'Auth-required' as a usage condition but does not explicitly state when to use this tool versus alternatives (e.g., after starting a session) or provide when-not guidance. Usage context is implied but not explicit.

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

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

Annotations already indicate readOnlyHint=true. Description adds context: event log feeds chat sidebar, supports polling, auth-required. No contradictions.

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, front-loaded with purpose, then polling mechanics and auth requirement. Every sentence adds value without 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?

Adequately covers tool purpose, usage pattern (polling), and auth requirements. No output schema exists, so return value details are not missing. Complete for a 2-param read-only 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% with good description for both parameters. The tool description adds minimal extra value beyond schema, referencing 'since' and 'cursor' but not significantly enriching parameter 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?

Describes tool as 'Full event log for a physical-operator onboarding session', clearly stating verb (retrieve) and resource (event log). Distinguishes from sibling tools like pcc_onboard_session_start and pcc_onboard_session_status by specifying live event polling.

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 supports incremental polling via 'since' parameter and mentions returning a cursor for next poll. Does not explicitly state when not to use or list alternatives, but the polling mechanism is clearly explained.

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

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

The description discloses behavioral traits beyond annotations: it triggers a 'stealth fetch + structured extraction', returns a 'small JSON summary', and appends full extraction to the session's running profile. It also notes authentication requirements. 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?

Three concise sentences front-loaded with the main action. Every sentence adds value: purpose, behavioral details, and return value. 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?

Given no output schema, the description adequately explains the return value and side effects. It covers the key aspects of the tool's operation, though it could mention error behavior or URL requirements for full completeness.

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%, providing clear definitions for id and url. The description adds minor usage context ('e.g. company About page') but does not significantly enhance understanding 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?

The description states a specific verb ('Scrape') and resource ('running physical-operator onboarding session'), lists the structured extraction targets (machines, hours, services, certifications), and differentiates from sibling tools like pcc_onboard_session_start and pcc_onboard_session_ingest_docs.

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 after starting a session via pcc_onboard_session_start, but does not explicitly state when to use this tool versus alternatives like pcc_onboard_session_ingest_docs, nor does it provide exclusion criteria or prerequisites beyond 'Auth-required'.

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

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

Description with annotations: readOnlyHint=false already signals mutation; description adds that it creates a new session and requires authentication. No side effects beyond creation disclosed, but sufficient for a simple start 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 concise sentences: one for action, one for return value and auth. No redundancy, 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?

Given no output schema, description provides the essential return value (session_id) and auth requirement. Could mention session expiration or link to other onboard tools, but completeness is adequate for a session init 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?

Input schema covers 100% of parameters with descriptions for each (name and url). Description adds no additional meaning or constraints beyond the schema, meeting the baseline for high-coverage cases.

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

Purpose5/5

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

Description clearly states 'Start a new physical-operator onboarding session' using a specific verb and resource, distinct from sibling tools like pcc_onboard_session_build_agent or pcc_onboard_session_status. Purpose is immediately 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?

Implicitly indicates this is the first call in the onboarding flow by stating the returned session_id is used by subsequent /api/onboard/* calls. Auth-required is mentioned, but explicit guidance on when not to use (e.g., if session exists) is absent.

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

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

Annotations show readOnlyHint=true and destructiveHint=false. Description adds context: cheap for polling, auth-required, and lists returned fields. This is sufficient for behavioral understanding 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 concise sentences: first explains data fields, second provides usage context and auth requirement. Front-loaded and 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 simple polling tool with one parameter and no output schema, the description adequately covers purpose, usage, and returned data. Additional details like state values or publication payload are not critical for this coarse snapshot.

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 clear description for the 'id' parameter. The tool description does not add further parameter details beyond the schema, meeting baseline expectations.

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

Purpose5/5

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

Description clearly states it provides a coarse status snapshot for a physical-operator onboarding session, listing specific fields like state, progress, scraped_count, etc. Distinct from siblings as it focuses on session status.

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?

Description mentions 'Cheap — designed for polling from the chat header,' implying use for frequent checks but does not explicitly state when not to use or provide alternatives among sibling tools like pcc_onboard_session_scrape or pcc_onboard_session_start.

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

Check if the PCC verification oracle is online. Returns the oracle's EIP-712 signing address and chain ID. The oracle is required for all escrow settlements — no attestation means no fund release.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 return value details but no further behavioral traits such as rate limits or dependencies.

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. Purpose and key return values are front-loaded, making it highly 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?

Despite no output schema, the description fully explains the return values and the importance of the oracle for settlements. No parameters mean no gaps. Complete for a status-check 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 has zero parameters and schema coverage is 100%, so the description does not need to explain parameters. Per rubric, 0 parameters gives a baseline of 4.

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

Purpose5/5

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

The description clearly states 'Check if the PCC verification oracle is online' and specifies returned data (EIP-712 signing address and chain ID). It distinguishes from sibling 'pcc_oracle_verify' by focusing on status.

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

Usage Guidelines4/5

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

The description provides context that the oracle is required for escrow settlements, implying when to use this tool. However, it does not explicitly differentiate from alternatives like 'pcc_verifier_health'.

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

pcc_oracle_verifyAInspect

Submit evidence for oracle verification. The oracle checks: evidence exists, hash matches, tier requirements met, no replay, operator identity valid. Returns a signed EIP-712 attestation that the escrow contract requires to release funds. This is the critical path — every settlement flows through this endpoint.

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

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

Annotations provide safety profile (non-destructive, not read-only). Description adds value by detailing the verification checks (hash, tier, replay, identity) and the return of a signed EIP-712 attestation. Does not disclose authorization requirements or failure modes, but the behavioral context is strong.

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 action, no redundancy. Every sentence serves a purpose.

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 5 parameters (4 required), no output schema, the description covers the workflow, checks, and outcome. Could mention error responses, but overall 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% with good descriptions. The description does not add significant new meaning 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.

Purpose5/5

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

Description clearly states verb 'Submit', resource 'evidence for oracle verification', and enumerates the oracle's checks. It distinguishes itself from sibling tools like submit_evidence_hash and verify_evidence_zk by emphasizing that it is the critical path for settlement.

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?

States 'This is the critical path — every settlement flows through this endpoint,' implying primary usage. However, no explicit guidance on when to use this vs. alternatives like commit_evidence or verify_evidence_zk, leaving some ambiguity.

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

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 by disclosing public access (no auth), and detailing the fields in each entry. This is additional 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.

Conciseness5/5

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

Two sentences, no wasted words. First sentence states purpose, second lists fields and auth status. Perfectly concise.

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

Completeness5/5

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

Given no parameters and no output schema, the description fully explains what the tool returns. It lists all returned fields and provides enough context about its use (dashboard's chat console) to be 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 0 parameters, so the baseline is 4. The description does not need to add parameter info. Schema coverage is 100% (vacuously).

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 specifies the verb 'List', the resource 'orchestrator templates', and the context 'dashboard's chat console'. It also enumerates the specific fields returned, making the purpose crystal clear and distinct from sibling list tools.

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

Usage Guidelines4/5

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

The description states 'Public — no auth required', providing clear usage context. While it doesn't explicitly state when not to use or name alternatives, the context is sufficient for an agent to distinguish this from other list tools.

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

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

The description implies a read-only operation by stating it returns templates, but the annotations set readOnlyHint=false, suggesting potential side effects. This contradiction is not addressed. The description does not clarify whether the tool modifies any state, which is a significant gap for a tool marked as not 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.

Conciseness5/5

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

The description is two sentences long, front-loads the purpose, and includes a clear example and note on authentication. Every part is useful and there is no extraneous 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?

The description explains the input and output (ranked list with reason) adequately for a simple retrieval tool with one parameter. However, it lacks detail on the output structure (e.g., fields in each match) and any limits or pagination, which would be helpful given no output schema.

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% with a single parameter 'input' described as 'Free-text description of what you want to onboard.' The description adds valuable examples (CNC milling shop, Postgres database) that enhance the schema definition, earning a score above 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?

The description clearly identifies the tool as a heuristic template matcher that takes a free-text description and returns ranked templates with a reason. It distinguishes itself by stating 'Public — no auth required' and by using specific verbs and examples. Among siblings, it stands apart from 'search_capabilities' and 'suggest_csd_templates' by focusing on heuristic matching.

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

Usage Guidelines4/5

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

The description explicitly tells the agent to pass a free-text description of what to onboard, with examples. It also notes that the tool requires no auth. However, it does not specify when not to use this tool or mention alternatives like 'search_capabilities'.

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

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 valuable behavioral context: the fee is immutable, hardcoded, and cannot be changed by admin, governance, or upgrade. This goes beyond annotations and builds trust.

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. Front-loaded with the main action, then adds important immutability 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?

No output schema, so description must explain return values. It mentions fee rate and recipient address but lacks details like data types or format. Adequate for a simple query, but could be more precise.

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?

Input schema has 0 parameters, so baseline is 4. The description adds meaning by specifying the return values (fee rate and recipient address), which compensates for the lack of parameters.

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

Purpose5/5

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

The description clearly states the tool fetches the protocol fee rate and recipient address, using a specific verb 'Get' and resource 'protocol fee'. It distinguishes from siblings by specifying the immutability and hardcoded nature, which is unique to this tool.

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 alternatives like 'protocol_fee' or 'protocol_token_fees'. The description only states what it does, not the context or exclusions.

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

pcc_publish_requestAInspect

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
Behavior3/5

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

Annotations indicate a non-readonly, non-destructive operation. The description confirms it creates bounties (write) but adds minimal behavioral context beyond annotations, such as return value. No contradictions detected.

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 concise sentences, front-loaded with the action, no redundancy. Every sentence adds value.

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, but description covers return value (bounty IDs) and explains the effect per node. Could add preconditions (e.g., request must have pending nodes) but overall adequate for the tool's simplicity.

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 'requestId' is fully described in the schema (100% coverage). The description does not add additional meaning, constraints, or format guidance, meeting 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?

Description clearly states the verb 'publish' and the resource 'pending capability nodes in a request,' and explains the outcome (bounties for operators, returns bounty IDs). It distinguishes this from sibling tools that handle requests differently (e.g., pcc_submit_request, pcc_cancel_request).

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 guidance on when to use this tool vs. alternatives, no prerequisites, conditions, or exclusions provided. The description does not help the agent choose between this and other request-related tools.

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

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

Description adds behavioral context beyond annotations: explains conditional scope requirement for write tools, mentions async return (call ID to poll). Annotations already indicate non-read-only and non-destructive; description explains the nature of relay operations.

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 with no filler. First sentence states purpose, second clarifies scope rule, third explains return and follow-up action. Front-loaded 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?

Covers purpose, scope rules, and return handling. Given no output schema, it mentions the return value (call ID) and polling step. Could improve by noting potential errors, but overall complete for a relay 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 has 100% coverage, so baseline is 3. Description adds value by clarifying `scopeId` condition (required for writes) and that `args` are tool arguments, which is not explicitly in schema descriptions.

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

Purpose5/5

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

Description clearly states 'Relay a tool call to any kernel's device executor via the generic relay (not OT-2 specific)' and 'Works with any device type', differentiating it from the sibling `pcc_relay_tool_call` (likely OT-2 specific). Verb and resource are specific.

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 guidance on when scope is needed: 'Safe tools (read/safe_control) don't need a scope. Scoped write tools require an active execution scope.' Also mentions polling for result. Lacks explicit comparison with sibling, but context makes it clear.

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')
Behavior3/5

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

The description explains the relay mechanism (brain posts, executor polls) but does not disclose important behavioral traits such as whether the operation is synchronous or asynchronous, whether it returns a result, or how errors are handled. Annotations only indicate non-read-only and non-destructive, so the description adds some context but leaves gaps.

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

Conciseness5/5

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

The description is concise at two sentences, front-loads the action in the first sentence, and provides context in the second. No extraneous words or repetition.

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

Completeness2/5

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

For a tool with 4 parameters, nested objects, and no output schema, the description is incomplete. It fails to mention the asynchronous nature of the relay, how to retrieve results, or error scenarios. Important context like the polling mechanism and expected return value 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?

The input schema has 100% coverage with descriptions for each parameter. The tool description (outside schema) does not add any additional meaning or clarification for the parameters, so it meets the baseline but provides no extra value.

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

Purpose4/5

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

The description clearly states the verb 'Relay' and resource 'tool call to a device executor', and provides architectural context ('brain/executor split'). However, it does not explicitly differentiate from sibling tools like pcc_relay_generic_tool_call, leaving ambiguity about when to use this specific relay versus others.

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

Usage Guidelines3/5

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

The description mentions it's 'Used for the brain/executor split architecture', implying a specific usage context. But it does not provide explicit guidance on when to use this tool versus alternatives, nor does it list exclusions or prerequisites.

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

pcc_reportAInspect

Report friction, confusion, or bugs you hit while onboarding. Call this when you get stuck and cannot recover from an error, when a tool description was misleading, when an endpoint returned an unexplained 500, or when you abandoned a workflow because the next step was unclear. Include your trace_id (returned from provision_api_key or echoed via the x-pcc-trace-id response header) so PCC operators can replay your full journey. PUBLIC — works even before you provision an API key. Rate-limited (30 reports/hour/IP) to limit spam.

ParametersJSON Schema
NameRequiredDescriptionDefault
detailNoMulti-line context: full error code, what you tried, what you expected. Optional but recommended.
summaryYes1-line description of what went wrong. Example: 'Build options endpoint returned 500 with no hint about what was missing.'
trace_idNoYour onboarding journey ID. Returned by provision_api_key (body field) and present on every response as the `x-pcc-trace-id` header.
agent_kindNoWhich model / agent you are. Example: 'claude', 'gpt-4o', 'gemini', 'canary'.
last_endpointNoThe route you were on when you got stuck. Example: '/api/build/contract'.
confused_aboutNoFree-form category — which onboarding stage tripped you up. Example: 'auth', 'discovery', 'build', 'fund', 'submit', 'settle'.
last_error_codeNoThe error code from the Result<T> envelope you received, if any. Example: 'BAD_REQUEST', 'CAPABILITY_NOT_FOUND'.
Behavior4/5

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

Describes public accessibility, rate limiting, and intent to report issues. No contradiction with annotations (readOnlyHint=false, destructiveHint=false). Adds operational context beyond minimal 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?

Five concise sentences, each serving a clear purpose. Front-loaded with core purpose, followed by usage conditions, public nature, and rate limits. No unnecessary 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?

Covers when, why, and operational constraints (rate limit, public access). No output schema needed; tool returns nothing. Adequate for a reporting tool with 7 parameters, 1 required.

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 covers all 7 parameters (100% coverage), but description adds value by explaining trace_id origin and providing example for summary. Enhances understanding beyond schema definitions.

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?

Clearly states the tool reports onboarding friction, confusion, or bugs. Provides specific examples of when to use, distinguishing it from other tools.

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

Usage Guidelines4/5

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

Explicitly lists several conditions for use (stuck, misleading description, unexplained 500, unclear workflow). Mentions public availability and rate limits. Lacks explicit when-not-to-use, but the positive guidance is strong.

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
Behavior1/5

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

Describes destructive behavior (revoke, emergency stop, kernel stopped) but annotations set destructiveHint to false, contradicting the description. This is a major inconsistency that misleads the agent.

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, highly concise, front-loaded with action and effects. Every sentence adds value; no 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?

Describes immediate effects and next steps, but fails to mention authorization requirements or reversibility. Adequate but incomplete given the severity of the operation, compounded by annotation contradiction.

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 parameter already described. Description adds no further meaning beyond the schema, meeting the 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?

Description clearly states the action 'Revoke an execution scope' with specific verb and resource. It distinguishes from sibling pcc_create_scope by being the inverse operation.

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 indicates emergency stop context and that a new scope must be created to resume. Provides clear usage context but lacks explicit when-not-to-use or alternative tools.

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)
Behavior2/5

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

The description does not disclose whether the tool has side effects. Annotations indicate readOnlyHint=false, suggesting possible writes, but the description implies a read-only calculation. This lack of clarity on behavioral traits reduces 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?

The description is very concise: two sentences cover purpose, inputs, and output details including edge cases. No unnecessary words 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?

The description explains the return fields and the special case of no segment coverage (silent gap). Given no output schema, it provides sufficient context. Annotations offer little extra, so the description carries the burden well.

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% with descriptions, but the description adds value by explaining the context for optional parameters (e.g., jobValueCents for piecewise-value segments, jobsPerDay for adoption-indexed segments), which goes 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?

The description clearly states the tool evaluates a published RateSchedule at a given moment, returning effective bps. It specifies inputs and outputs, and distinguishes itself from sibling tools like pcc_schedule_get and pcc_schedule_publish by focusing on evaluation rather than retrieval or publishing.

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 lists required and optional inputs with conditions, and explains when to use each optional parameter. It does not explicitly mention when not to use alternatives, but the context signals and sibling names imply the tool is for evaluation, not retrieval or publishing.

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

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

Annotations already indicate read-only and non-destructive. The description adds value by disclosing the return shape ({schedule, publishedBy}), Zod re-validation, and 404 handling, which are 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 extremely concise with two short sentences that convey purpose, return shape, and error behavior. No extraneous information.

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

Completeness5/5

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

Despite having no output schema, the description fully compensates by stating the return structure and validation step. Annotations provide the read/write safety context, making the tool's behavior 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?

The input schema has 100% coverage with a clear description of scheduleHash. The description adds no new meaning beyond 'by its content hash', so it meets the baseline for complete schema coverage.

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

Purpose5/5

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

The description clearly states it fetches a published RateSchedule by content hash, with a specific verb and resource. It distinguishes from sibling tools like pcc_schedule_evaluate and pcc_schedule_publish by its read-only nature.

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 when you have a content hash, but does not provide explicit guidance on when to use this tool versus alternatives or when not to use it. No context on prerequisites or exclusion criteria.

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)
Behavior4/5

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

Annotations show readOnlyHint=false and destructiveHint=false. The description adds value by disclosing idempotency (re-publishing returns alreadyPublished:true), server-side hash computation algorithm, and return format. 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?

The description is four concise sentences with no redundancy. It front-loads the main purpose and each subsequent sentence provides essential context (hash algorithm, idempotency, return values) without 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 2-param tool with nested objects and no output schema, the description covers key aspects: action, algorithmic detail, idempotency, and return format. It does not explain the domain concept of RateSchedule, but that is acceptable given tool naming and context.

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% with descriptions for both parameters. The description supplements by explaining the hash algorithm and idempotency behavior, which adds meaning beyond the schema's structural definitions.

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

Purpose5/5

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

The description clearly states 'Publish a sealed off-chain RateSchedule' with a specific verb (publish) and resource (off-chain RateSchedule). It also details the server-side hash computation and idempotency, distinguishing it from siblings like pcc_schedule_evaluate and pcc_schedule_get.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives. Context signals show siblings like pcc_schedule_evaluate and pcc_schedule_get, but the description lacks when/why to choose publish over them. Idempotency hint is useful but insufficient for full usage direction.

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

pcc_scope_auditA
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
Behavior4/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false, indicating a safe read operation. Description adds context about the returned data (validation results, timestamps, outcomes), which is useful 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?

One-sentence description that is front-loaded and contains no extraneous words. Every part adds value.

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

Completeness5/5

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

Given the simplicity of the tool (1 required param, no output schema), the description fully explains what the tool does and what it returns. No 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?

Single parameter scopeId is described in schema with 'Scope ID to audit'. Description repeats this context. With 100% schema coverage, baseline score is 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?

Description clearly states the tool retrieves an audit trail for an execution scope, listing every tool call with validation results, timestamps, and outcomes. It distinguishes itself from other tools in the sibling list by focusing on scope audit.

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?

Description implies usage for auditing a scope but does not provide explicit guidance on when to use it vs alternatives, nor does it mention when not to use it.

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

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'
Behavior4/5

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

The description adds behavioral context beyond annotations (readOnlyHint=false, destructiveHint=false) by detailing the multi-step automation (negotiation, quoting, escrow, scope creation) and testnet mock-funding. It does not mention idempotency or prerequisites, but the side effects (creating resources) are consistent with the annotations.

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

Conciseness5/5

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

The description is concise with two sentences. The first sentence provides a clear overview of the tool's function, and the second lists return values and testnet behavior. No redundant 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?

The description explains the overall flow and return types (jobId, scopeId, escrowId, quote, contract terms), and mentions testnet mock-funding. However, it does not detail the nested 'parameters' object format or provide full output structure (no output schema). Given the complexity, it covers most essential aspects.

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 all parameters described. The description adds minimal value beyond the schema (e.g., implying kernelId from DHT query). It does not elaborate on the nested 'parameters' object structure, which the schema only vaguely defines.

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

Purpose5/5

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

The description clearly states the tool's purpose as a fast-track path from DHT discovery to funded escrow and active scope, automating negotiation, quoting, escrow creation, and execution scope creation. It distinguishes itself from sibling tools like 'pcc_submit_request' and 'create_escrow' by emphasizing the all-in-one paid job flow.

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

Usage Guidelines4/5

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

The description implies usage for paid jobs after DHT discovery and notes testnet behavior, but does not explicitly state when not to use or mention alternatives among siblings. The context provided (e.g., 'one call from DHT discovery') gives clear guidance but lacks exclusion criteria.

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

pcc_submit_requestAInspect

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
Behavior3/5

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

Annotations (readOnlyHint=false, destructiveHint=false) indicate a write operation. Description adds that the request is decomposed and DAG returned, but doesn't fully disclose behavioral traits like cost implications, permissions, or confirmation steps. 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 plus an example. Every sentence adds value: action, decomposition detail, return info. No fluff. Highly concise and 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?

No output schema, so description explains return value ('full decomposed DAG'). Parameters are all described. For a submission tool with 8 params, the description covers purpose and outcome well, though error conditions or budget commitment details are 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 parameters are well-documented. Description adds context that the description parameter should be natural language and provides an example, but doesn't significantly enhance meaning 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.

Purpose5/5

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

The description clearly states the tool submits a high-level capability request in natural language and automatically decomposes it into a DAG. It distinguishes from sibling tools like pcc_decompose_request (decomposition only) and pcc_get_request (retrieval). Verb+resource is specific.

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 usage when submitting a request that needs automatic decomposition, and distinguishes from pcc_decompose_request. However, lacks explicit when-not-to-use or alternatives guidance, leaving some ambiguity for agents.

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

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

Annotations already declare readOnlyHint=true, so the agent knows it's safe. The description adds valuable context by specifying the return structure (parsed datasets array, manifestHash, createdAt) and the 404 error condition when no manifest exists.

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

Conciseness5/5

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

The description is concise and front-loaded with the verb and resource. Two sentences cover purpose, return fields, and error case with 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?

Given the simple tool with one well-described parameter and annotations present, the description is fairly complete. It covers the return format and error condition. Could be slightly improved by noting that it's read-only, but that's already in annotations.

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 clear description ('Story IP Asset ID for the model'). The tool description does not add any additional meaning beyond what the schema already provides, so baseline score 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 clearly states the tool fetches the TrainingManifest for a model IP, specifies the returned fields (parsed datasets array, manifestHash, createdAt), and describes the 404 error case. It distinguishes from the sibling pcc_training_manifest_set by using 'fetch' vs the implied 'set'.

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 when needing to retrieve a manifest, but does not explicitly state when not to use it or provide alternatives. It lacks direct guidance on when to use this tool versus the set tool or other retrieval tools.

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

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

Annotations indicate the tool is not read-only and not destructive. Description adds behavioral context by explaining 'insert-or-replace' and returning {modelIpId, manifestHash}. 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.

Conciseness4/5

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

The description is fairly concise with two sentences, front-loaded with the primary action. It could be slightly more structured but remains 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?

Given no output schema, the description adequately explains the return value. It covers the main concept, constraints, and required parameters. Optional parameters receive less detail, but the tool's core purpose is clear.

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 description adds extra semantics by explaining the weightBps constraint and the difference between gateway and on-chain enforcement. However, optional parameters like baseModelIpId and methodologyHash are not individually elaborated.

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

Purpose5/5

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

Description clearly states the tool's action: 'Set (insert-or-replace) the TrainingManifest for a model IP' and explains its role in the licensing engine. It distinguishes itself from the sibling pcc_training_manifest_get by focusing on setting rather than reading.

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?

Description provides context on when to use (for setting dataset weight maps) and includes a key constraint (weightBps sum ≤ 10000). However, it does not explicitly discuss alternatives or when not to use this tool.

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.
Behavior3/5

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

Annotations already indicate non-read-only and non-destructive. Description adds that it's a local TypeScript helper (no HTTP call) and lists defaults. However, does not detail side effects beyond generating config, which is acceptable given annotations. Provides useful context beyond annotations but not extensive.

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 concise sentences with clear structure: purpose, wrapper info with defaults, usage alternatives, and programmatic note. No wasted words, front-loaded with the main action.

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 12 parameters and no output schema, the description covers the essential: what the tool does, how to use the output, and that it's local. Could mention the structure of the output JSON for completeness, but the information is sufficient for an agent to select and invoke correctly.

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

Parameters3/5

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

Input schema has 100% coverage with detailed parameter descriptions. The tool description reiterates some defaults (pollIntervalMs=3000, etc.) but does not add significant new semantics beyond the schema. Thus 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?

Explicitly states the tool generates a KERNEL_CONFIG JSON for a Trilobio fleet controller, using specific verbs and resources. Distinguishes from siblings by noting it wraps a TypeScript package and is not an HTTP call, and mentions alternative tools like setup_generate_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?

Provides clear context on when to use (generating config) and mentions alternative usage paths (pcc-node start, setup_generate_config, setup_register_device). Also notes programmatic alternative via import. However, does not explicitly state when to avoid this tool versus other trilobio siblings like validate_options or validate_script.

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

Behavior4/5

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

Annotations already show readOnlyHint and destructiveHint; description adds that it makes no HTTP call and describes the constant's content, including unique tcode-script-execution capability.

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?

Description is detailed but not overly verbose; could be slightly more concise but front-loaded with key info.

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

Completeness5/5

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

For a zero-parameter tool, the description fully explains purpose, usage, and notable behaviors, compensating for lack of output schema.

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?

No parameters defined, so baseline 4. No need for additional semantics.

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?

Clearly states it returns the TRILOBIO_CAPABILITY constant from @pcc/trilobio, specifying it's a TypeScript package helper and not an HTTP call, distinguishing it from sibling tools.

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

Usage Guidelines4/5

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

Explains to pass the result to POST /api/capabilities and mentions programmatic import, but does not explicitly compare to alternatives among siblings.

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

pcc_trilobio_validate_optionsBInspect

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
Behavior1/5

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

Annotations set readOnlyHint=false and destructiveHint=false, implying potential mutability. However, the description claims it's a pure validation with no side effects ('no HTTP call', 'TypeScript package helper'). This contradicts the readOnlyHint annotation, which would typically be true for a read-only check. No further behavioral details are given.

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 four sentences, front-loaded with purpose, and includes an example import for clarity. Every sentence adds information, though the import line could be considered external documentation. Overall efficient for the complexity.

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 explains the return type ({ valid, errors, warnings }), which is good since there is no output schema. However, with 12 optional parameters and no comprehensive list of validation rules, it leaves gaps. The description hints at common checks but isn't exhaustive. Adequate but not complete.

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

Parameters2/5

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

With schema description coverage at only 42% (5 of 12 parameters have descriptions), the description adds limited value. It mentions validating 'URL, missing creds, timeouts, tcodeApiVersion' but does not address many parameters (deviceId, kernelId, mockMode, etc.). The import statement does not compensate for missing parameter semantics.

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

Purpose5/5

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

The description clearly states the tool's purpose: sanity-check Trilobio options before generating a KERNEL_CONFIG. It specifies the exact function wrapped and gives concrete examples of validation checks (malformed URL, missing creds, etc.), effectively distinguishing it from siblings like pcc_trilobio_build_config and pcc_trilobio_validate_script.

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 explains when to use it (before generating config, to catch mistakes early), mentions it's a TypeScript package helper with no HTTP call, and provides an import statement for programmatic use. It does not explicitly exclude alternatives or state when not to use, but the context is sufficiently clear.

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

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

Annotations are minimal (readOnlyHint=false, destructiveHint=false). The description adds behavioral context: it wraps a specific function, is a TypeScript package helper with no HTTP call, and performs a surface check. This provides transparency 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?

The description is a single, well-organized paragraph covering purpose, behavior, checks, return format, and usage notes. Every sentence adds value with no redundancy or fluff.

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

Completeness5/5

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

Given the tool has no output schema, the description fully explains the return object structure. It also covers the tool's nature (local helper, no HTTP call), limitations, and integration notes. This is complete for the tool's complexity.

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

Parameters3/5

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

The only parameter 'source' is described in the schema as 'Full Python source of the tcode-api script to lint.' The tool description reiterates this and adds context about expected syntax and checks. With 100% schema coverage, the description adds marginal additional value, meriting a baseline score 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?

The description clearly states the tool lints/validates a tcode-api Python script. It specifies the verb (lint, validate) and resource (Python script), and includes a detailed list of checks. While it does not explicitly compare to siblings, the purpose is distinct and 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?

The description explains when to use the tool (before submission to a fleet controller) and provides limitations (surface check only, not a sandbox). It also advises operators with allowArbitraryScripts=true to treat results as hints. However, it does not explicitly mention alternatives or when not to use it.

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

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

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

Annotations already indicate it's a write operation (readOnlyHint=false) and non-destructive. The description adds the specific state transition rules and the side effect of auto-completing the parent request, providing useful behavioral context 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 succinct sentences that front-load the core action and then explain the state machine and side effect. 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?

Given the tool has 3 parameters all well-described in the schema and no output schema, the description covers the core behavior (update with state machine) and the important side effect. It could mention error handling or prerequisites but is adequate for a simple state update.

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 baseline is 3. The description does not add extra meaning beyond what the schema already provides for the parameters; the state transition is already captured in the status enum.

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

Purpose5/5

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

The description clearly states the tool updates the status of a capability node within a request, and specifies the valid state transitions. This distinguishes it from other sibling tools like pcc_get_request or pcc_cancel_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?

The description provides the valid state transitions and automatic completion, implying when to use it, but does not explicitly contrast with alternative sibling tools or state when not to use it.

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

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
Behavior3/5

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

Annotations already indicate the tool is mutating (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds behavioral context by noting it does not trigger re-decomposition. No other side effects or validation details are provided, which is adequate given 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 concise sentences with front-loaded purpose and a critical behavioral note. No redundant or irrelevant words.

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

Completeness2/5

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

With 8 parameters, no output schema, and minimal annotations, the description should provide more on return values, prerequisites (e.g., request must exist), and validation behavior. It only covers updateable fields and decomposition, leaving significant 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 only 13% (only requestId described). The description lists the updatable fields (title, description, budget, deadline, urgency, contact info) but does not explain the enum for urgency, format for deadline, or map 'contact info' to specific schema properties (requesterEmail, requesterWallet). It partially compensates but lacks 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?

The description uses a specific verb ('update') and resource ('capability request'), and lists the fields that can be updated (title, description, budget, deadline, urgency, contact info). It also distinguishes from pcc_decompose_request by stating what it does not do, making the purpose very 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?

The description explicitly advises when not to use this tool (for re-decomposition) and directs to an alternative (pcc_decompose_request). However, it could provide more context on when updating is appropriate versus other operations like canceling or submitting.

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

Behavior5/5

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

Discloses specific data points reported (adapters, staleness, cache size, registry, network). Annotations already confirm read-only, non-destructive nature, and description adds meaningful detail 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 concise sentences: first lists contents, second gives usage context. 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?

For a parameterless tool with no output schema, the description fully informs the agent of what the tool returns and when to use it, meeting all needs.

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?

No parameters, so schema coverage is complete. Description does not need to add parameter info; it appropriately focuses on output description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reports CaptureVerifier health and lists specific components, distinguishing it from sibling tools that may focus on other aspects of the PCC system.

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 it is used to diagnose rejection or degradation of capture classes, providing clear context. Does not explicitly mention when not to use it or alternative tools.

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.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, but the description adds important behavioral traits: the composition is persisted for ~30 minutes, can be executed once, and returns a candidate plan. It does not contradict annotations and provides useful 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each earning its place: first sentence states purpose and constraints, second explains input options, third describes output and lifecycle. No wasted words, well-structured.

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 complexity (9 params, no output schema), the description covers input alternatives, output format (candidate plan with per-step assignments), and lifecycle (persisted 30 min, single execution). It lacks error handling or prerequisites, but is largely sufficient.

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 baseline is 3. The description adds meaning by explaining the two alternative parameter groups (steps vs outcomeChain), mentioning the optimizeFor enum, and describing outcomeType. It does not cover all parameters in detail, but offers useful context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Propose a composition — a sequenced DAG of capability instances...' It specifies the resource ('composition'), action ('propose'), and key constraints (budget, assurance tier). It also distinguishes from siblings by referencing 'execute_composition' and describing a unique output format.

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 explains when to use the tool: 'to satisfy a multi-step outcome under a budget + assurance tier.' It mentions alternative input formats (flat steps vs outcome chain) and the lifecycle (persisted 30 min, then can be executed). It does not explicitly state when not to use, but gives sufficient context for appropriate usage.

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
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-read-only and non-destructive mutation. The description adds useful behavioral context: 'Protocol-deployed escrows have fee collection and registry tracking built in' and specifies the permission requirement. 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?

Two concise sentences that front-load the purpose ('Create a new MilestoneEscrow contract') and add essential context. No redundant or extraneous 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?

Given the absence of an output schema, the description adequately describes the outcome (creates a contract) and its special features. It lacks mention of return behavior or gas costs, but is sufficient for a creation tool with four well-defined parameters.

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 parameter well-documented (cwmId, payer, token, arbiter). The tool description does not add additional meaning beyond what the schema provides, so baseline score of 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 clearly states the action ('Create'), the resource ('MilestoneEscrow contract'), and the mechanism ('via the PCCProtocol factory'). It distinguishes from sibling tools like get_escrow, fund_escrow, etc., by specifying the factory deployment and built-in features.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage: creating a protocol-deployed escrow with fee collection and registry tracking. It mentions the prerequisite ('Requires PCC_GATEWAY_PRIVATE_KEY write access'). However, it does not explicitly state when not to use this tool or list alternative tools.

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...)
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 description carries a lighter burden. It adds behavioral context by stating the tool returns whether the escrow was deployed via the factory, but does not disclose other traits like pagination or rate limits. This is adequate but not exceptional.

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 consists of two concise sentences with no wasted words. The first sentence states the core purpose, and the second adds a return detail and a use case. It is front-loaded 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?

Despite lacking an output schema, the description indicates that the tool returns protocol fees collected and a boolean about factory deployment. For a simple read-only tool with one parameter, this is reasonably complete. It could be improved by specifying the return format (e.g., numeric value, boolean) but is sufficient for an agent.

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, the schema already documents the single parameter escrowAddress. The description does not add any extra semantics beyond what the schema provides, so a baseline score of 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 clearly states the verb 'Get', the resource 'protocol fees', and specifies 'from a specific escrow contract'. It also mentions an additional return value (factory deployment status) and distinguishes the tool from siblings like get_escrow and get_escrow_events by focusing on fees and auditing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use case ('useful for auditing fee flows') and implicitly contrasts with sibling tools by emphasizing fees. However, it does not explicitly state when not to use this tool or mention alternatives like get_escrow for general escrow info.

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)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds value by mentioning the return values (fee, net amount, formatted versions). No additional behavioral traits are disclosed, but this is acceptable given the simple nature of the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences. The first sentence states the purpose and input, the second provides usage guidance. Every word is necessary, no redundancy.

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 calculation tool with one parameter and no output schema, the description explains the input units, output contents (fee, net, formatted), and provides a concrete use case. This is fully sufficient for an agent to use 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?

The schema description covers the parameter fully (BigInt string in USDC 6-decimal units). The tool description reiterates this and adds return value context but does not provide further semantic detail beyond what the schema already offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'calculate' and the resource 'protocol fee for a given USDC amount'. It mentions input units and the use case (before building escrow contracts), but does not explicitly differentiate from sibling tools like 'protocol_escrow_fees' or 'calculate_price', leaving room for confusion among similar fee-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises to 'Use this before building escrow contracts', which provides clear context for when to apply the tool. However, it does not specify when not to use it or mention alternative tools for other fee calculations.

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

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and non-destructive behavior. The description adds valuable context: it specifies the prerequisite (PCC_PROTOCOL_ADDRESS configuration) and the precise data returned. No contradictions.

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 concise sentences, front-loaded with the primary action and data fields, followed by the prerequisite. Every sentence adds value with no redundant phrasing.

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 adequately covers what data is returned (four specific items) and a key precondition. It could mention return format (e.g., object) but is sufficient for a simple read 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?

There are no parameters (0), so baseline is 4. The description adds meaning beyond the empty schema by explicitly listing the state fields that will be read, which is helpful for the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Read') and clearly identifies the resource ('PCCProtocol root contract state'). It lists specific data fields (fee rate, total fees, escrow count, registry addresses), making it highly distinct from sibling tools that might read other contract states or protocol aspects.

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 for reading the root contract state but does not explicitly guide when to use this tool versus alternatives like 'get_protocol' or 'protocol_fee'. It provides a prerequisite (configuration requirement) but lacks when-not-to-use or exclusion criteria.

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...)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds value beyond annotations by specifying the return format (raw wei amount and human-readable formatted value). Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description provides useful 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?

The description is a single sentence that captures the core purpose and return format with no extraneous words. It is front-loaded with the verb and resource, making it 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?

Given the simplicity of the tool (one parameter, no output schema), the description is adequate. It explains the return format, which compensates for the lack of an output schema. However, it could mention that the fees are aggregated across all escrows, but it already does that.

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 clear description of the tokenAddress parameter. The tool description does not add any additional meaning 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action ('Get'), resource ('total protocol fees'), and scope ('for a specific ERC-20 token address across all escrows'). This distinctively identifies the tool and differentiates it from siblings like 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states what the tool does but does not provide guidance on when to use it over alternatives (e.g., protocol_escrow_fees) or mention any prerequisites. No explicit when-to-use or when-not-to-use information.

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
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations: 'If evidence meets requirements, registration jumps straight to 'active'.' It does not contradict annotations (readOnlyHint=false, destructiveHint=false) and explains the auto-approval behavior. No mention of failure cases, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the key benefit ('Fast-track'), and efficiently conveys all necessary information without redundancy. Every sentence adds value.

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?

The tool has nested objects and no output schema. The description explains the evidence structure and auto-approval outcome. It could mention the response format or next steps, but given the simplicity and coverage of input parameters, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds significant meaning by explaining acceptable evidence types (photo, device health, bundle with events) and the requirement to include at least one of bundleHash+events, photoBase64, or deviceHealth. This guidance goes beyond the schema's definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'submit evidence that your device works and get auto-approved + activated immediately.' It uses specific verbs (submit, get auto-approved) and resource (registration). It implicitly distinguishes from sibling tools like approve_registration (manual) and reject_registration.

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 identifies when to use this tool: when you have evidence and want fast-track auto-approval. It mentions 'No manual review needed,' implying it's for automated processing. While it doesn't explicitly state when not to use or list alternatives, the context is clear among siblings.

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)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate it is not read-only or destructive. The description adds critical behavioral context: the key is shown once and must be saved, and it is a prerequisite for other endpoints. Could mention behavior on duplicate calls, but overall adds 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 sentences, all essential. Front-loaded with 'CALL THIS FIRST'. No unnecessary information. 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?

Covers return value (pcc_live_* key), authentication requirement, and consequence of missing key. Given no output schema, explanation of return value is sufficient. Could mention error handling for invalid inputs, but overall complete for this tool's purpose.

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%, but the description adds a semantic constraint: 'Accepts either email OR walletAddress', implying mutual exclusivity. This goes beyond the schema's optional parameters and provides useful guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provisions an API key, returns a pcc_live_* key, and must be called first. It distinguishes from siblings like revoke_api_key and list_api_keys by emphasizing its prerequisite role.

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 instructs 'CALL THIS FIRST', explains that the key must be used as a Bearer token for subsequent requests, and that without it all other endpoints return 401. It also mentions using either email or walletAddress. However, it does not explicitly state when NOT to use it (e.g., if a key already exists).

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
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only states the mutation action without additional context. Beyond the annotations (readOnlyHint=false, destructiveHint=false), there is no disclosure of behavioral traits like required permissions, reversibility, or side effects on other drafts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence of 16 words. It is front-loaded with the verb 'publish' and contains no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the essential purpose and behavior. However, it lacks mention of prerequisites (e.g., must be a draft, owned by user) and potential validation steps, which slightly reduces completeness.

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 already provides full description for the single parameter 'id'. The description adds no further meaning. With 100% schema coverage, the baseline score is 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?

The description clearly states the verb 'publish', the resource 'draft protocol template', and the outcome 'making it visible in the protocol library for others to discover and use.' It effectively distinguishes from siblings like 'create_protocol' (creates draft) and 'fork_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?

No explicit when-to-use or when-not-to-use guidance. The action is implied to be used after creating and validating a protocol, but no alternatives or prerequisites are mentioned. Sibling tools include related actions but no differentiation provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

raise_ip_disputeAInspect

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the tool is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds that the action requires evidence hash and reason, but does not disclose additional behavioral traits such as whether the dispute is immediately visible, triggers notifications, or is reversible. Given the annotations, the description provides minimal extra 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?

The description is a single sentence with no superfluous words. Every part (action, target, required inputs) is efficiently communicated. It is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple creation tool with 3 parameters and no output schema, the description covers the basic action and input requirements. However, it does not explain what happens after the dispute is raised (e.g., returns a dispute ID) or mention any prerequisites (e.g., asset must exist). The lack of output schema information makes the description feel incomplete for an agent to fully understand the tool's 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 coverage is 100%, so each parameter already has a description. The description ('Provide evidence hash and reason') merely paraphrases the schema requirements without adding new semantic meaning, such as specifying the format of the evidence hash or constraints on the reason.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('raise'), the target ('Story Protocol IP dispute against an asset'), and the key inputs ('evidence hash' and 'reason'). It distinguishes from siblings like 'dispute_verification' or 'file_escrow_dispute' by specifying the context of IP assets, though it could be more precise about 'raise' meaning create/submit.

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 when one wants to dispute an IP asset, but it provides no explicit guidance on when to use this tool versus alternatives (e.g., 'dispute_verification'), nor does it mention prerequisites or exclusions. The usage context is implied but not elaborated.

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate it is not read-only and not destructive. The description adds that it increments an episode count, which is a useful behavioral detail beyond annotations. However, it lacks information about side effects on other state, required permissions, or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, no redundant information, and front-loaded with the core purpose. Every word is meaningful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description does not explain what a 'transfer episode' is, what the 'VLA training threshold' refers to, or what happens after recording (e.g., return value, side effects on other entities). Given the absence of an output schema and the domain-specific terms, the description is incomplete for an agent lacking domain knowledge.

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 descriptions for each parameter. The tool description does not add any additional meaning beyond the schema, such as explaining the relationship between fromNodeId and toNodeId or the meaning of success in context. Baseline score of 3 is appropriate given high 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?

The description explicitly states the action (Record), the resource (transfer episode), and the scope (for a node pair), with a clear side effect (increments VLA training threshold). This specificity differentiates it from sibling tools like list_transfer_agents or get_transfer_graphs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as submit_evidence or other recording tools. There is no mention of prerequisites, context, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate mutation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds context by specifying exactly what is provisioned (wallet, identity, etc.), enhancing understanding of side effects beyond the structured 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 immediately conveys the core action and outcome. Every word adds value without redundancy or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the multi-provisioning complexity and lack of output schema, the description adequately covers the tool's function. However, it could mention the typical result (e.g., success indicator) or error cases for greater completeness.

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%, providing full parameter descriptions. The description does not add additional semantics beyond implying the inviteCode is key for the action. No format constraints or usage examples are given, 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 clearly states it performs 'one-click agent onboarding with an invite code' and lists specific provisions (wallet, identity, LLM access, PCC tools). This distinguishes it from siblings like check_invite which only checks validity, and onboarding tools that require multiple steps.

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 does not provide explicit guidance on when to use this tool versus alternatives. It implies usage when having an invite code, but fails to mention exclusions (e.g., using check_invite first) or contrast with other onboarding-related sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_capability_ipBInspect

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)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-read-only and non-destructive. Description adds that it returns ipId and NFT token, and designer earns royalties, which provides useful behavioral context 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 action, minimal waste. Efficient and to the point.

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?

Despite schema richness, description lacks context on how the capability object should be structured, the registration process, and the format of returned values. Incomplete for a complex IP registration 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%, so the schema already describes all parameters. Description does not add extra meaning 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?

Description clearly states the tool registers a capability as a Story Protocol IP Asset, with a specific verb and resource. It distinguishes from sibling 'create_capability' which likely creates a capability without IP registration.

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 alternatives like 'create_capability'. Does not mention prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=false. The description adds that this is a write operation creating a derivative IP and that operators earn royalties, which provides useful behavioral context beyond annotations. However, it does not disclose potential side effects like transaction costs, approval requirements, 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?

The description is concise with two sentences. The first sentence front-loads the action and purpose, and the second adds a key outcome. No unnecessary words or repetition.

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?

Given 6 parameters (all documented), no output schema, and moderate complexity, the description provides the core purpose but lacks context on prerequisites (e.g., need for a registered parent IP), process details (how linking works), and expected return value. 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 description coverage is 100%, so each parameter is already documented in the schema. The description does not add any new semantic information beyond what the schema provides, meeting the baseline but not exceeding 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?

The description clearly states the action: register job evidence as a derivative IP asset and link it to the parent capability's IP. It also mentions the royalty earning outcome. However, it does not distinguish itself from similar sibling tools like register_capability_ip or commit_evidence, which could cause confusion.

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 guidance on when to use this tool versus alternatives. The description implies a prerequisite (parent capability IP) but does not state when-not-to-use or compare with siblings. Given the large number of sibling tools, this is a significant gap.

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
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds context beyond annotations by stating the operator can see the reason and resubmit, suggesting a reversible state change. However, it does not detail the exact state transition or lifecycle implications.

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, clear sentence that is front-loaded and contains only essential information with no unnecessary 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 simple mutation tool with no output schema, the description adequately explains the effect and behavior. It could mention that the registration is not deleted but marked as rejected, but overall it is mostly 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% for both parameters, and the description does not add significant meaning beyond what the schema provides. The mention of 'with a reason' aligns with the 'reason' parameter but adds no new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'reject' and the resource 'machine registration', and distinguishes it from sibling tools like 'approve_registration' by mentioning the rejection reason and resubmission capability.

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 implies when to use (to reject a registration) and provides context (operator can see reason and resubmit), but does not explicitly contrast with alternatives like 'approve_registration' or 'prove_registration'.

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)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false. The description adds that it's an on-chain release returning a transaction hash and involves a challenge window, which is useful context beyond annotations. However, it does not disclose potential failure modes or side effects like state changes or gas costs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the core action and condition, and ends with the return value. No unnecessary 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 simple tool with two well-documented parameters and no output schema, the description covers the essential behavioral context (on-chain, challenge window). It could mention error conditions or the need for a successful get_escrow check, but is adequate overall.

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 parameters are already well-described. The description adds no extra meaning beyond the schema (e.g., format or 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?

The description clearly states the action (release milestone payment) and the condition (after challenge window expires). It distinguishes from siblings like fund_escrow or get_escrow by specifying the milestone payment context, though no explicit alternatives are mentioned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (after challenge window expired) but does not provide when-not-to-use or mention alternative tools. No guidance on preconditions like being the contract owner or having sufficient balance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_pcc_dashboardA
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
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, confirming safety. The description adds that the dashboard is 'live' and 'interactive', providing behavioral context beyond structured fields. No contradictions are present.

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, well-constructed sentence that front-loads the purpose and provides key details without extraneous words. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a complex nested schema with many definitions, yet the description is short and does not explain return values (no output schema) or address the dashboard's interactive behavior beyond a brief mention. For such complexity, the description is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (2 of 6 parameters have descriptions). The description mentions 'DashboardManifest (windows + live data bindings + actions)' but does not detail individual parameters or their meaning. Given low coverage, the description should compensate more but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool composes a live PCC dashboard from a DashboardManifest and renders it as an interactive MCP App. The verb 'compose' and 'renders' accurately describe the action, and the mention of DashboardManifest distinguishes it from sibling tools like get_dashboard (which retrieves an existing dashboard) and save_dashboard (which persists).

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 when you have a DashboardManifest to render, but does not explicitly state when to use this tool versus alternatives. No exclusions or alternative tools are mentioned, leaving the agent to infer context from the sibling list without guidance.

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false (write operation) and destructiveHint=false (non-destructive). The description adds context on where to obtain the threadId but does not disclose other behavioral aspects like side effects (e.g., appending a message) or limitations (e.g., if thread is closed).

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 concise sentences that front-load the purpose and usage context. Every sentence is informative with 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?

Given the tool's simplicity (3 parameters, no output schema, annotations present), the description covers basic purpose and usage but omits details about optional parameter (retrievalCode), return value, and error cases. Adequate but not thorough.

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 adds a bit about threadId origin but does not elaborate on message or retrievalCode beyond what the schema provides. No significant added value 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?

The description clearly states 'Reply to an existing support thread,' specifying the verb (reply) and resource (support thread). It distinguishes itself from sibling tools like 'send_support_message' (which starts a thread) and 'check_support_replies' (which retrieves 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?

The description says 'Use when the operator wants to add information to a thread started earlier,' providing clear usage context. It also mentions the source of threadId, implying prior use of related tools. However, it does not explicitly state when not to use it or contrast with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

report_anomalyAInspect

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)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-read-only and non-destructive. The description adds transparency by stating 'All agents on the network are notified,' which reveals a key behavioral trait beyond the annotations. However, it doesn't disclose other behaviors like state changes or triggered actions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise, and front-loaded with the core purpose. Every sentence adds value with no 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?

Given the complexity of 5 parameters and no output schema, the description lacks information about return values or success indicators. It covers the basic purpose but leaves gaps for execution 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 coverage is 100%, so the description is not required to add parameter details. It does not enhance parameter understanding beyond the schema, meeting 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?

The description clearly states 'Report a detected anomaly' and lists specific examples (protocol failure, evidence mismatch, etc.), making the verb and resource clear. It implicitly distinguishes from the sibling 'report_protocol_failure' by covering a broader set of anomaly categories.

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 provides examples of when to use the tool but does not explicitly state when not to use it or mention alternative tools. The usage context is implied but lacks clear guidance on exclusion or alternatives.

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
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, so the tool is a write operation but not destructive. The description adds 'System may auto-recover' which provides useful behavioral context beyond annotations, though it does not detail recovery behavior 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?

The description is a single sentence that efficiently conveys the tool's purpose and a key behavioral note. No superfluous content.

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 tool has 6 parameters (4 required) and no output schema. The description is minimal and does not explain the return value or status of the report. While adequate for a simple logging tool, an agent would benefit from knowing what the response indicates.

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 all parameters documented. The description does not add extra meaning beyond what the schema provides. Baseline 3 is appropriate as the schema handles semantic clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'report' and resource 'protocol failure', specifying the pipeline context (evidence/escrow/verification). It distinguishes from sibling reporting tools like report_anomaly by focusing on protocol pipeline failures.

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 a clear condition for use ('when a step in the evidence/escrow/verification pipeline breaks') but does not explicitly exclude other cases or mention alternative tools. The context is clear but lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_anomalyAInspect

Mark an anomaly as resolved with a resolution note.

ParametersJSON Schema
NameRequiredDescriptionDefault
anomalyIdYesAnomaly ID to resolve
resolutionYesHow the anomaly was resolved
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-read-only and non-destructive behavior. The description adds no new behavioral context beyond stating the action, so it does not enhance transparency 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?

The description is a single sentence with no extraneous words. Every word contributes to the purpose, making it highly concise and well-structured.

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 mutation tool with good annotations, the description is minimally complete. However, it lacks context about prerequisites (e.g., anomaly must exist) or side effects, which would make it more complete for an AI agent.

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%, fully describing both parameters. The description does not add any additional meaning, such as expected format for resolution or constraints, so it adds no value 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?

The description clearly states the action ('mark as resolved') and the resource ('anomaly') with a specific detail ('resolution note'), distinguishing it from anomaly-related siblings like report_anomaly or get_unresolved_anomalies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use resolve_anomaly versus alternatives (e.g., after reviewing anomalies via get_unresolved_anomalies, or before report_anomaly). The context of when to apply this tool is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

respond_to_verificationAInspect

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
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=false. Description adds that it returns the consensus state after the vote, which provides useful behavioral context beyond what annotations offer. No 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?

Two sentences with no redundant information. The purpose and return value are stated concisely, front-loading the key action.

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?

The description explains the action and return value, which is adequate given no output schema. However, it could elaborate on the 'consensus state' format or the voting process. Still, it is mostly complete for a tool with well-documented parameters.

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?

All 5 parameters are fully described in the input schema (100% coverage). The description does not add additional meaning or relationships beyond the schema, maintaining the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Submit a verifier's verdict') and the resource ('verification request'), and mentions the return value. It distinguishes itself from sibling tools like 'dispute_verification' or 'submit_for_human_verification' by focusing on submitting a verdict.

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 when a verifier needs to submit a verdict, but does not explicitly state when to use it versus alternatives. No guidance on prerequisites or exclusions is provided.

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint=false, destructiveHint=false) indicate a non-destructive mutation. The description adds that resuming continues from the stopped point. However, it does not elaborate on error conditions, idempotency, or side effects beyond what annotations imply.

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, focused sentence with ten words. No redundant information, perfectly 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 one-parameter tool with annotations, the description is minimally adequate. However, it lacks information about prerequisites (e.g., run must be paused) and potential failure modes, which would improve completeness.

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 clear schema description for runId. The tool description adds no additional meaning beyond the schema, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (resume), the resource (protocol run), and the state (paused). It effectively distinguishes from sibling tools like pause_protocol_run, start_protocol_run, and cancel_protocol_run.

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 guidance on when to use this tool versus alternatives (e.g., start_protocol_run for starting a new run, pause_protocol_run for pausing). It only implies the run is paused but does not specify prerequisites or exclusions.

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)
Behavior3/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 that it retrieves raw data from decentralized storage, which is consistent but does not disclose additional traits like size limits or response format. With strong annotations, the description adds moderate 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 sentences, extremely concise and front-loaded. Every sentence adds value without 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 one-parameter tool with no output schema, the description is fairly complete. It states the action, resource, and specific context. Could mention return format (e.g., raw bytes) but not essential given the tool's name.

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 only parameter (cid). The description does not add any meaning beyond what the schema already provides, so 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?

Description clearly states the tool retrieves raw data from IPFS by CID, with specific mention of fetching archived evidence bundles. This distinguishes it from similar sibling tools like get_bundle_ipfs.

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?

Description implies usage for archived evidence bundles but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives. The context is clear but lacks exclusions.

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)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds value beyond annotations by explaining permanence and immediate effect. Annotations already mark destructiveHint=true and readOnlyHint=false, and description reinforces with 'permanently' and 'immediately stop working'.

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, no filler. First sentence states the action, second adds behavioral context, third provides prerequisite and next step. Highly 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 simple one-parameter destructive tool with no output schema, the description covers purpose, behavior, ownership requirement, and how to obtain the key ID. Complete and sufficient.

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% (keyId described in schema as 'Key ID to revoke (from list_api_keys)'). Description adds no new parameter details beyond restating the source, so 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?

Clearly states the action ('Revoke an API key permanently'), the resource ('API key'), and distinguishes from sibling tools like list_api_keys (to find the ID) and provision_api_key (to create).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('You must own the key') and directs to list_api_keys for finding the ID. Does not explicitly state when not to use, but the context is clear.

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.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds significant context beyond annotations, such as return value (slug and artifact), default visibility ('unlisted'), security warning against API keys, and manifest constraints. However, it lacks details on idempotency or conflict behavior when saving an existing name.

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 well-structured with sections for purpose, parameter details, and usage guidelines. While slightly verbose (over 200 words), every sentence adds value and no content is redundant. Could be tightened slightly but still effective.

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 complexity (7 params, nested objects, no output schema), the description is quite complete. It covers purpose, parameter details, usage guidelines, security, and return value. Missing are error handling and explicit idempotency details, but overall thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description still adds substantial meaning: it explains the manifest schema URL, required top-level keys, window kinds, binding constraints, visibility enum implications, composeRefs warnings, and capabilityTypes as discovery join. This goes well beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Save' and the resource 'generated dashboard', providing a specific URL format. It distinguishes from sibling tools like 'update_dashboard' and 'search_dashboards' by its unique action.

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 call ('only when the task needs a surface to watch/approve/compare/reuse') and when not ('never for a one-line answer'). Provides a recall instruction to 'search_dashboards' first, and mentions alternative 'fork_dashboard' to avoid duplication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_capabilitiesB
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.)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false, so no mutation. Description adds that results include pricing, assurance tiers, and availability, which is helpful context. No additional behavioral details like pagination, rate limits, or authentication 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?

Extremely concise with two sentences. Front-loaded with purpose ('Search capability templates') and result. No wasted words, 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?

Given the simple tool (single required param, no output schema), the description covers the main purpose and return fields. Lacks details on return format or pagination, but these are not critical for a search tool. Adequate completeness.

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 description explains the 'query' parameter well. The description reinforces this by mentioning 'type or keyword'. Does not add significant new meaning beyond what the schema provides, so baseline score 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?

Clearly states verb 'Search' and resource 'capability templates'. Mentions returned fields like pricing, assurance tiers, and availability. Does not explicitly differentiate from sibling 'list_capability_types', but the search vs list distinction is implied.

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 alternatives. Does not mention when not to use it, prerequisites, or contrast with similar tools like 'list_capability_types' or 'get_capability_ip'.

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'.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate safe read operation; description adds rich behavioral context: only returns public artifacts, specifies return shape, explains sorting details, and clarifies that unlisted items are excluded.

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 concise sentences that cover purpose, guideline, parameters, return format, and limitations without 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?

For a search tool with 5 parameters and no output schema, the description includes return shape, all parameter details, and visibility constraints, making it self-contained.

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%, baseline 3. Description adds value by providing examples ('pizza.order'), explaining sort ranking (use+load+fork counts vs recency), and detailing that q searches over name/description/types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Discover existing public dashboards' with specific verbs like search, filter, and returns. It distinguishes from sibling get_dashboard by noting that unlisted dashboards are not included.

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 advises to use before generating a new dashboard, promotes 'adopt > extend > build' approach, and tells when not to use (unlisted dashboards go to get_dashboard).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_spacesA
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
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 description adds minimal behavioral insight beyond 'Filter by...'. Does not mention output format, 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?

Two concise sentences, front-loaded with the core purpose. No extraneous information; every word adds 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?

Covers basic search intent but omits what the response contains (list of spaces, details, pagination). For a search tool without output schema, more context is needed for complete usability.

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 clear parameter descriptions. The description echoes 'size' (maxSqft) and 'access schedule' (access), adding no new meaning. Baseline of 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?

Clearly states the verb 'Search for' and the resource 'lab/workshop hosting spaces'. Mentions filtering by criteria, distinguishing it from sibling tools like 'get_space' (retrieve specific space) and 'match_spaces' (matching).

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?

Provides context for when to use (searching with filters) but lacks explicit when-not-to-use guidance and does not name alternatives. The sibling tools imply usage boundaries, but no direct exclusions.

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
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=false and destructiveHint=false. The description adds transparency by explaining the encryption process (client-side, retrieval code needed for support), and that the tool is for uploading pre-prepared bundles. Does not conflict with annotations. Minor gap: doesn't describe potential errors or response expectations.

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?

Description is composed of 4 sentences, front-loaded with purpose. It efficiently conveys usage, encryption details, and alternatives. Could be slightly tighter by combining some sentences, but overall well-structured and concise.

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 complexity (7 params, nested object, no output schema), the description covers the scenario, encryption flow, and when-to-use. It doesn't explain post-upload behavior or error handling, but for an upload tool with good schema coverage, it is largely 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 baseline is 3. The description does not add significant parameter-level detail beyond what the schema already provides (e.g., kernelId, encrypted payload fields). The context about encryption is helpful but doesn't enhance parameter semantics directly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool uploads an encrypted diagnostic bundle when the operator's node has problems. It specifies the action (upload encrypted) and resource (diagnostic bundle), and distinguishes from siblings like archive_encrypted_bundle by noting it's for agent-driven uploads of prepared bundles.

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: when operator reports errors, crashes, or misbehavior. Also provides when-not-to: prefer the CLI path if available, and indicates this tool is for agent-driven uploads when the bundle is already prepared. Names the CLI alternative (`pcc-node logs --send`), giving clear context.

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)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (which only indicate non-read-only and non-destructive), the description discloses key behaviors: thread creation or appending, optional diagnostic code attachment, and Discord webhook firing. It doesn't cover all behavioral aspects (e.g., rate limits, authentication needs), but provides sufficient context for an agent to understand side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences long, each earning its place. It front-loads the primary purpose, then elaborates on thread behavior, optional attachments, and usage triggers. 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?

Given the tool's complexity (6 parameters, nested objects, no output schema), the description is fairly complete. It explains what the tool does, when to use it, and what optional inputs are available. It lacks details on error handling or return values, but the absence of an output schema reduces that need. The description covers the essential context for an AI agent.

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 adds meaning by explaining the purpose of the 'retrievalCode' parameter (from send_diagnostics) and the optional 'systemInfo' context, but most parameters are already well-documented in the schema. No significant new semantic information is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('send an operator support message'), the target ('PCC team'), and the behavioral nuances: creates or appends to a support thread. It distinguishes from siblings like 'reply_to_support_thread' by covering both thread creation and appending, and mentions the optional diagnostic retrieval code from 'send_diagnostics'.

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 usage guidance is provided: 'Use this whenever the operator says something is broken, confusing, or not behaving as expected.' It also hints at when to use the optional 'retrievalCode' parameter from 'send_diagnostics' for log decryption. The context of Discord webhook notification is added, setting expectations for fast response.

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

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 agent knows it's a safe read operation. The description adds behavioral specifics by naming the exact areas checked (env vars, database, adapters, etc.), which is helpful context 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 that efficiently front-load the purpose and then provide usage guidance. Every sentence adds value with 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?

The description is complete for a simple read-only detection tool with no parameters. It specifies what it detects and when to use it. While it lacks explicit output details, the tool's nature suggests a status report, and the absence of output schema is not critical 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?

The tool has zero parameters, and schema coverage is 100% (implicitly). Per calibration guidelines, 0 parameters baseline is 4. The description does not need to add parameter details since there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'auto-detect' and a clear resource 'current setup state', listing concrete components like env vars, database, adapters. It distinguishes from sibling tools like setup_generate_config or setup_validate by focusing on detection and readiness assessment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'before onboarding' to see what's configured and missing. While it doesn't list alternative tools or when not to use it, the guidance is clear and contextually appropriate for a read-only detection tool.

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate not read-only and not destructive. The description adds that output is ready to paste, but does not detail side effects, auth needs, or state changes. Adequate but minimal 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 concise sentences, front-loaded with the primary action and outcome. No superfluous 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?

No output schema, and input schema lacks detailed object structure. The description vaguely mentions 'type, model, connection info' but does not specify required fields or output format, leaving gaps for an AI agent.

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 for 'devices' already exists with 100% coverage. The description restates the concept without adding new semantic details about parameter structure or 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?

The description clearly states the tool generates a KERNEL_CONFIG JSON from device descriptions, specifying the verb 'generate' and resource. It provides a clear outcome but does not explicitly differentiate from sibling tools like setup_detect or setup_validate.

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 guidance on when to use this tool vs. alternatives (e.g., setup_detect, setup_validate). The description implies usage when device descriptions are available but lacks exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_register_deviceCInspect

Register a device in the database with adapter config and capabilities. Part of Step 3 in the onboarding flow.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesDevice type (e.g. fdm-printer, cnc-mill, hplc)
modelYesDevice model identifier
kernelIdYesKernel ID to register the device under
adapterTypeNoAdapter type: octoprint, modbus, opcua, sila, opentrons, generic-http
adapterConfigNoAdapter-specific configuration (host, port, auth, etc.)
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description says 'Register a device in the database,' indicating a write operation, but it does not disclose side effects (e.g., overwrite behavior, duplicate handling, permissions required). Annotations (readOnlyHint=false, destructiveHint=false) are minimal; the description carries the burden but offers little beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with only two sentences. The first sentence states the core action, and the second provides context. Every word contributes value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, nested objects, and no output schema, the description provides minimal context about return values or post-conditions. It mentions onboarding Step 3, which adds some flow context, but fails to explain the outcome of registration, error states, or how adapterConfig is used. Adequate but incomplete.

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 100% with clear parameter descriptions, so the description adds minimal value. However, it mentions 'capabilities' which is not present in the input schema, potentially misleading the agent. The description does not enhance or clarify parameter usage 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 clearly states the action ('Register a device in the database') and specifies that adapter config and capabilities are involved. It also provides context as 'Part of Step 3 in the onboarding flow,' which helps distinguish it from other setup tools like setup_detect or setup_generate_config, but it does not explicitly differentiate from 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?

The description implies it's used during onboarding (Step 3) but provides no explicit guidance on when to use this tool versus alternatives. It lacks conditions, prerequisites, or exclusions, leaving the agent to infer context from the title and sibling names.

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

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, establishing the tool as safe. The description adds context about the categories and usage scenario, which is helpful but not essential 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 sentences, no wasted words. The key categories and usage context are front-loaded, making it easy to scan.

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 no-parameter, read-only tool with no output schema, the description provides sufficient context: what it covers (6 categories) and when to use it (pre-live check). No gaps are apparent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters (0, with 100% coverage), so the description need not add parameter details. The baseline for 0 parameters is 4, and the description does not detract.

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 specifically states it provides 'comprehensive setup status across 6 categories' and lists them (gateway, database, etc.), making the purpose clear and distinct from sibling tools that are more general get/list operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises use 'before going live' to confirm all is green, providing a clear usage context. It does not discuss when not to use or mention alternatives, but the guidance is actionable.

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, meaning it's a write operation but non-destructive. The description confirms it submits a job (write) and returns a result, but does not disclose additional behavioral traits like idempotency, rate limits, or side effects. 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?

The description is a single sentence, front-loaded with the key action ('Submit a test job'), and includes purpose, context, and output. No unnecessary 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 tool with two parameters and no output schema, the description sufficiently covers the action and return value. It could mention that a kernel must exist, but the required kernelId parameter implies that. Overall 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 coverage is 100%, with descriptions for kernelId and deviceId already provided. The tool description does not add extra meaning beyond what the schema offers, so baseline score of 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 clearly states the tool submits a test job to verify the end-to-end pipeline, specifically as Step 4 of onboarding. It returns a job ID and result, distinguishing it from other job-related tools like list_jobs or get_job.

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 mention of 'Step 4 of onboarding' implies a sequential context, but the description does not explicitly state when to use this tool versus alternatives or list prerequisites. However, the context is clear enough for an agent to infer usage.

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
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies read-only behavior by stating it returns validation errors and warnings, but annotations mark readOnlyHint as false, indicating it may not be read-only. This contradiction confuses the agent about side effects. No additional behavioral detail is provided beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action and includes a parenthetical summarizing the checks, followed by the return type. No unnecessary words are 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?

The tool has one parameter and no output schema. The description gives a good overview of the validation checks and return values, but lacks details on prerequisites, side effects, or when to use it among sibling tools. The annotation contradiction further reduces completeness.

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 input schema already fully describes the single parameter 'config' (type object, required). The description adds context about what the validation checks entail but does not add new semantic constraints or format details beyond the schema. Schema coverage is 100%, so 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 clearly states the verb 'validate' and the resource 'kernel config', and specifies the scope of checks (20+ checks: JSON structure, device connectivity, adapter compatibility). This distinguishes it from sibling tools like validate_protocol, which validates a different resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as setup_test_job or other setup tools. It simply states the function without indicating prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stake_in_poolBInspect

Stake USDC or credits into a capability investment pool.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to stake
poolIdYesInvestment pool ID
stakerYesAddress or DID of the staker
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the tool is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds that it involves staking USDC or credits, but does not elaborate on side effects (e.g., if funds are locked, if there is a waiting period, or if it returns a receipt). The behavioral insight is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no unnecessary words. Every word is informative, and it is concise.

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 absence of an output schema, the description should indicate expected outcomes or any important side effects. It does not mention what happens after staking (e.g., confirmation, errors, or state changes). For a simple staking tool, this is insufficient for full understanding.

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 parameter described clearly (amount, poolId, staker). The tool description does not add any parameter-specific guidance beyond the schema, so the baseline score 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 clearly states the verb 'stake' and specifies the resources (USDC or credits) and target (capability investment pool). It is specific enough to distinguish from most sibling tools, though it does not explicitly differentiate from related tools like 'deposit_bond' 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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as needing an existing pool or prior approval, nor does it indicate when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_protocol_runAInspect

Start execution of a protocol run that is in 'ready' or 'binding' state.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesProtocol run ID to start
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a mutation (readOnlyHint=false) with no destructive behavior (destructiveHint=false). The description adds the state precondition but does not elaborate on other behavioral traits like side effects 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?

The description is a single sentence of 13 words, front-loading the action and precondition. Every word contributes to the purpose.

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 one-parameter schema, no output schema, and adequate annotations, the description is sufficient. It could mention the resulting state of the run, but it is not strictly necessary.

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 'runId' has a schema description ('Protocol run ID to start') that covers its purpose. The tool description does not add extra meaning beyond the schema, and schema coverage is 100%, so 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 clearly states the action ('Start execution'), the resource ('protocol run'), and the precondition ('in ready or binding state'). It distinguishes from sibling tools like pause_protocol_run, cancel_protocol_run, and resume_protocol_run.

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 implies when to use by specifying the required states ('ready' or 'binding'), providing clear context. It does not explicitly mention when not to use or provide alternatives, but the precondition is sufficient for guidance.

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a write operation (readOnlyHint=false) but not destructive (destructiveHint=false). The description adds that it submits 'on-chain' and returns a transaction hash, providing context about the action's consequence. However, it does not disclose potential prerequisites (e.g., permissions, gas costs), failure modes, or idempotency, which would increase 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?

The description is three sentences that front-load the action and location, then provide user context and return value. Every sentence adds value with no redundancy or fluff.

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 submission tool with three required parameters and no output schema, the description covers the essential elements: what it does, who uses it, and what it returns. It is missing some details like error handling or chain specifics, but these are not critical for basic usage.

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 baseline is 3. The description does not elaborate on the parameters beyond what the schema provides, adding no additional semantic context for the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Submit a verifier attestation for a milestone on-chain'), the resource ('attestation'), and the context ('on-chain', 'third-party verifiers'). It distinguishes the tool's purpose from many sibling tools that are read-oriented, but does not explicitly differentiate from other submission tools like 'submit_demand' or 'verify_bounty'.

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 specifies the target users ('third-party verifiers (Bittensor subnet)') and their goal ('confirm evidence quality'). However, it does not provide guidance on when to avoid using this tool or mention alternative tools for similar tasks (e.g., 'verify_evidence_zk' or 'respond_to_verification').

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds context beyond annotations by stating the tool creates a demand signal and may auto-create a bounty. However, it lacks details on side effects, permission requirements, rate limits, or the threshold for auto-bounty creation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at two sentences with no wasted words, efficiently conveying the core purpose and key behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers the main action, it lacks information about return values (e.g., demand signal ID) and the mechanics of auto-bounty creation, which are important for an agent to use the tool effectively given no 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 coverage is 100% with good descriptions for each parameter. The tool description does not add additional meaning beyond the schema, so a baseline score of 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 clearly states the tool's purpose: signaling demand for a nonexistent capability and optionally auto-creating a bounty. It uses specific verbs ('signal', 'creates') and resource 'demand signal', distinguishing it from siblings like '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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when a capability doesn't exist) but does not explicitly state when not to use it or provide alternatives such as 'search_capabilities' to check existence or 'create_capability' for existing ones.

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the tool is not read-only and not destructive. The description adds that it returns a transaction hash and links evidence to an on-chain record. No contradictions are present, but additional behavioral details (e.g., idempotency, permissions) are omitted.

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 consists of two sentences (20 words) that are front-loaded with the action and include essential context. Every sentence adds value without unnecessary 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?

The tool is simple with three well-documented required parameters. The description explains the return value (transaction hash) and the purpose (linking evidence to on-chain record). No output schema exists, but the description suffices. Minor omissions like error handling or duplicate prevention are acceptable for this task.

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 input schema covers all parameters with descriptions (100% coverage). The description does not add meaningful information beyond the schema; it only contextualizes the parameters. Baseline score of 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 clearly states the action (submit an evidence bundle hash), the context (for a milestone on-chain), and the purpose (links physical evidence to on-chain settlement record). It also mentions the return value (transaction hash). This distinguishes it from sibling tools like 'commit_evidence' or 'archive_evidence', which have different scopes.

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 describes what the tool does but does not provide explicit guidance on when to use it versus alternatives. It implies usage in a milestone settlement workflow but lacks exclusions or references to similar tools like 'operator_push_evidence' or 'commit_evidence'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_feedbackAInspect

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)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-destructive write (readOnlyHint=false, destructiveHint=false). The description adds 'bug report, suggestion, general feedback' but no further behavioral context like rate limits or acknowledgment. Adequate but minimal 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?

Single sentence, no fluff, front-loaded with verb and resource. Extremely concise.

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 submit tool with 3 parameters (1 required) and no output schema, the description is complete. It covers purpose and scope adequately.

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 each parameter described. The description does not add any additional meaning beyond the schema's parameter descriptions. Baseline score of 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 clearly states the verb 'submit' and the resource 'feedback' (bug report, suggestion, general feedback) about PCC network. It distinguishes from sibling tools which are mostly specific operations like get_, create_, or specialized feedback 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 usage for submitting feedback but does not explicitly state when to use this tool versus alternatives like 'send_support_message' or 'report_anomaly'. No exclusion criteria are provided.

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)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate not read-only, not destructive. Description adds that it selects a panel and returns IDs, but does not disclose if submission is asynchronous, if there are fees, or if further action is required. Adequate but not rich behavioral context 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 main purpose. Every word contributes meaning; no redundancy or 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?

Describes the submission action and output adequately given 5 parameters and no output schema. However, lacks context about verification process, how to check results, or linkage to sibling tools like get_verification_assignments. Moderate completeness.

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 baseline is 3. Description adds no extra meaning to parameters beyond what schema already provides, though it hints at output (assigned verifier IDs) which is related but not a parameter.

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?

Clearly states the verb 'submit', the resource 'evidence bundle', and the outcome 'selects panel of verifiers and returns assigned IDs'. Distinguishes from sibling verification tools (e.g., verify_evidence_zk, respond_to_verification) by specifying human verification.

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?

Does not specify when to use this tool vs alternatives like verify_evidence_zk or get_verification_status. No mention of prerequisites (e.g., owner of evidence) or when not to use.

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).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/destructive annotations, the description reveals the ranking formula (weighted keyword overlap, tie-break), empty-query fallback to popularity, and that zero-score results are dropped. This provides 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph with front-loaded color text. While informative, the opening 'Bidirectional onboarding: the registry talks back' adds minimal value. Otherwise, every sentence earns its place with concrete details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters, no output schema, and a read-only annotation, the description covers input format, query processing, ranking, fallback, and post-use guidance. It is sufficiently complete for an agent to use 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?

The schema has 100% coverage, so the baseline is 3. The description does not add significant new parameter-level meaning beyond what the schema already provides (e.g., q is plain-English, kind filters by CSD kind, limit is max 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 clearly states the tool suggests CSD templates based on a plain-English query, with examples and ranking details. It distinguishes from sibling get_popular_csd_templates via its fallback behavior, but could explicitly note when to prefer this over that 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?

The description implies usage for finding templates by description and mentions a downstream step (pass to pcc-author-integration). However, it lacks explicit when-not-to-use or comparisons to alternative tools like get_popular_csd_templates.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

system_telemetryA
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

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds value by confirming it returns actual DB rows (no fake numbers, no summaries) and listing the types of data included (kernels, devices, jobs, etc.). This goes beyond the annotations. However, it does not disclose potential size or impact, which is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two short sentences in one line. It front-loads 'Raw system state dump' and then lists the tables. No unnecessary 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?

Given no output schema, the description reasonably explains the return content by enumerating the types of data. However, it could mention that it returns all rows from each table and note any potential for large response sizes. Overall, it is fairly complete for a dump 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 has no parameters, and the input schema has 100% coverage. The description is not required to explain parameters, but it could implicitly convey that no options exist. A score of 4 is appropriate as the baseline for zero parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides raw DB rows from specific system tables, distinguishing it from aggregated or summarized telemetry. However, it could more explicitly differentiate from sibling tools like get_active_telemetry or get_telemetry_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?

No guidance on when to use this tool vs alternatives. The description does not mention prerequisites, performance considerations, or scenarios where this raw dump is preferred over more targeted telemetry tools.

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.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-destructive behavior. The description adds that it fires a synthetic job (a test action) and returns per-channel dispatch results including delivered, ref, and warnings. This provides behavioral context 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?

The description is two sentences, front-loaded with purpose, and every word adds value. No redundancy or unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter, no output schema, and annotations present, the description fully explains the tool's purpose, when to use it, and what it returns. No 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?

There is only one parameter (slug) with 100% schema description coverage ('Operator slug.'). The description does not add further detail, so it meets the baseline for high coverage but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fires synthetic jobs to test channels, distinguishing it from other tools like 'setup_test_job'. It specifies the action ('fire a synthetic job'), resource ('every enabled channel for an operator'), and purpose ('confirm integration end-to-end').

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 explains when to use the tool (before a real job lands, for onboarding confirmation) and implies it is for testing, not production. It does not explicitly state when not to use or list alternatives, but the context is sufficient.

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.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false; the description adds that the version increments, the manifest must conform to schema and contain no API key, and only changed fields are sent. These details go beyond annotations and help the agent understand mutation behavior and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is 5 sentences, front-loaded with the core purpose ('Modify a dashboard you own'). Each sentence adds distinct value: owner constraint, version increment, examples, manifest constraints, and partial update instruction. No 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?

Given the tool's moderate complexity (8 parameters, nested objects, no output schema), the description covers main behavioral aspects but lacks any explanation of return values or output. Without an output schema, the agent would benefit from knowing what the tool returns (e.g., updated dashboard object or status).

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% with descriptions for all 8 parameters. The description adds crucial semantics: partial update ('only send the fields you want to change'), the constraint that manifest must not contain an API key, and the implication that other fields are left unchanged. This provides meaning 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?

The description clearly states the verb 'Modify a dashboard' and specifies the resource (dashboard you own) with constraints (owner-only). It provides concrete examples ('raise budgetUSD to 40', 'add a receipt window') that distinguish it from sibling tools like 'fork_dashboard' (create a copy) or 'save_dashboard' (quick save).

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 when to use (edit a saved surface) and constraints (owner-only, only send changed fields). However, it does not explicitly mention when not to use this tool or compare with alternatives like 'fork_dashboard' or 'save_dashboard', leaving the agent to infer differentiation.

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)
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, indicating a non-destructive mutation. The description restates this as 'Update' but adds no additional behavioral traits such as permission requirements, side effects, or limitations. With annotations present, the description adds minimal value beyond what is already conveyed.

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 concise with two sentences, front-loading the main action and user context. Every word serves a purpose with no redundancy or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mutation tool with 3 parameters and no output schema, the description adequately covers purpose and user. However, it lacks mention of return values or confirmations, which could be inferred but is not explicitly stated. Not a critical gap given the tool's simplicity.

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 detailed descriptions for all 3 parameters. The description mentions 'optional progress percentage' which aligns with the schema. It adds the legacy alias 'running' for status, but this is also in the schema. Thus, the description does not significantly enhance understanding 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?

The description clearly states the verb 'update' and resource 'job status and optional progress percentage', and specifies the user 'kernels'. It distinguishes from sibling tools like get_job, list_jobs, etc., which are read-only or list operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('Used by kernels to report job progress') but does not provide explicit guidance on when to use this tool vs alternatives, nor when not to use it. The context is clear but lacks exclusions or comparisons.

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
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint=false, destructiveHint=false), the description adds useful behavior: it states the tool merges changes into the existing record and that certain fields (operator slug, id, createdAt) are immutable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with purpose. It is concise but could be slightly tighter.

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 complexity (8 parameters, nested objects) and absence of output schema, the description is incomplete. It lacks details on how partial updates work, behavior of optional fields, and return value.

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 low (13%, only id described). The description mentions toggle enabled and change endpoint payload but doesn't describe label, direction, credentialRef, replyContract, etc., so it adds minimal meaning 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?

The description clearly states the verb 'update' and the resource 'existing channel', with specific examples like toggle enabled, rewrite describe contract, etc. It distinguishes from sibling tools like attach_operator_channel, delete_operator_channel, and test_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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for modifying an existing channel but does not explicitly state when to use it versus alternatives, nor provides exclusions or prerequisites.

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
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate mutation (readOnlyHint=false) and non-destructive (destructiveHint=false). Description adds draft requirement and return info, but lacks important behavioral details like partial vs full update behavior, error conditions (e.g., if not draft), or permission 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?

Two sentences: clear purpose+condition, then return value. No unnecessary words. Efficiently packed.

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?

Missing key details for a mutation tool: partial/full update behavior, error handling (e.g., non-draft ID), and full return object description (only name and version mentioned). Output schema absent, so description should fill 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 baseline is 3. Description does not add parameter-level meaning beyond the schema. The mention of 'updated name and version' refers to return value, not 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?

Description clearly states verb 'Update', resource 'protocol template', and adds constraint 'must be in draft status'. Distinguishes from siblings like create_protocol (new), publish_protocol (publish), fork_protocol (fork). Returns specific fields: updated name and version.

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 precondition 'must be in draft status', guiding when to use. Does not list explicit alternatives or when not to use, but the condition implies usage context. Could be improved by mentioning sibling tools like publish_protocol for advancing from draft.

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)
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations set readOnlyHint and destructiveHint to false, which is ambiguous. The description says 'validates', suggesting a read-only check, but does not clarify if there are side effects (e.g., storing validation results). This lack of detail leaves uncertainty about behavioral traits beyond the annotation.

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, concise sentence that packs three key validation aspects efficiently. It is front-loaded with the primary action, though it could be slightly more structured with separate sentences for each check.

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?

Without an output schema, the description should explain what the tool returns (e.g., success/failure status, validation report). It fails to mention return value or error conditions, leaving the agent without crucial context for a validation 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?

The input schema has 100% description coverage, with 'id' and 'kernelId' clearly described. The description repeats the concept of 'kernel' in text but adds no new semantic information beyond the schema. Baseline score of 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 clearly states the tool's purpose: to validate a protocol template against a specific kernel. It specifies what is checked (capability availability, transfer compatibility, automation level feasibility), making it distinct from sibling tools like 'create_protocol' or 'get_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 description implies using this tool for validating a template against a kernel but does not specify when to use it over other validation-related siblings (e.g., 'pcc_trilobio_validate_options', 'setup_validate'). No explicit guidance on prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_bountyAInspect

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
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readonly and non-destructive nature. The description adds the scoring context but does not disclose other behavioral traits such as side effects (e.g., whether the bounty is finalized, if verification can be overridden, or 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence with no unnecessary words. It is front-loaded with the key action and resource.

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 tool with no output schema or nested objects, the description covers the essential purpose and process. It lacks details about return values or post-verification state, but given the tool's apparent simplicity, the completeness is 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?

The input schema has 100% coverage with descriptions for all three parameters. The tool description adds minimal extra meaning beyond what the schema provides (e.g., the scoring context). 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 clearly states the action ('Verify bounty completion') and the method ('scoring the delivered capability against requirements'), with a specific verb and resource. It distinguishes itself from sibling tools like 'dispute_verification' or 'respond_to_verification', which involve contesting or responding rather than scoring.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (to verify a bounty) but provides no explicit guidance on when not to use or how it differs from alternatives like 'dispute_verification' or 'respond_to_verification'. No prerequisites or context are mentioned.

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
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are readOnlyHint=false and destructiveHint=false, which conflict with the description's implication of a read-only verification. The description does not clarify side effects or safety, leaving ambiguity.

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 concise sentences, front-loaded with the main purpose. No filler words.

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?

Missing output specification (e.g., success/failure, verification result). For a single-param tool with no output schema, the description should compensate but does not.

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 covers the parameter fully (100% coverage). Description adds no extra semantics beyond restating 'by its proof ID'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: verifying a ZK proof by proof ID, and adds detail about checking against verification key and public inputs. This distinguishes it from other verification tools like verify_bounty.

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 alternatives (e.g., verify_bounty, dispute_verification). No prerequisites or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources