X402 Contract
x402_contractReturn the canonical SqueezeOS x402 v2 discovery contract. Exact spend terms remain authoritative only in the target resource's fresh PAYMENT-REQUIRED challenge.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
x402_contractReturn the canonical SqueezeOS x402 v2 discovery contract. Exact spend terms remain authoritative only in the target resource's fresh PAYMENT-REQUIRED challenge.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, open-world, idempotent, and non-destructive behavior, so the bar is lower. The description adds a crucial behavioral caveat: the returned contract is canonical for discovery only, and exact spend terms must come from the target resource's fresh challenge. This gives agents an important expectation about the data's authority without contradicting any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler: the first identifies the action and resource, the second provides the key caveat about spend-term authority. Every sentence earns its place and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless, read-only tool with strong annotations, the description is nearly complete. It identifies the returned object and flags the important limitation about exact spend terms. It could go slightly further by explaining how the discovery contract relates to x402_evidence or x402_readiness, but it is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so there is no parameter semantics for the description to add. Per the baseline for parameterless tools, this receives a 4 because the description does not need to explain what is already absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Return') and a specific resource ('the canonical SqueezeOS x402 v2 discovery contract'), which is clearly distinguishable from siblings like x402_evidence and x402_readiness. It also adds the scope-limiting caveat that exact spend terms are not authoritative here. This gives an agent an unambiguous understanding of what the tool provides.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear the tool returns the discovery contract and warns that it should not be treated as the source of exact spend terms, since those come from a fresh PAYMENT-REQUIRED challenge. It does not explicitly name alternatives, but the intended usage and an important limitation are clearly stated. The guidance is mostly implicit rather than a full when-to-use/when-not-to-use comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools have clear ownership: capability inventory tools (manifest, discover, inspect, compare, recommend) and x402 payment tools (contract, readiness, evidence) are cleanly separated, with call_capability and agent_web_access distinguished by API-path vs arbitrary-URL scope. Some overlap remains between discover_capabilities, capability_manifest, and recommend_capability, since all three surface capability inventory in slightly different modes.
The capability tools mostly follow a verb_noun pattern (call_capability, compare_capabilities, discover_capabilities, inspect_capability, recommend_capability), but capability_manifest, system_status, agent_web_access, and the x402_* group are noun phrases rather than actions. This is readable and grouped, but not a single predictable convention.
11 tools is well within the ideal range, and each tool maps to a distinct concern: discovery, inspection, recommendation, invocation, status, and x402 payment support. The count feels appropriately scoped for a capability-and-payment-focused server, neither bloated nor too thin.
The tool set covers the full intended workflow: discover, inspect, compare, and recommend capabilities; invoke them with write confirmation and payment-signature handling; and check payment readiness, contracts, and settlement evidence. Management operations are outside the stated purpose because the manifest is explicitly generated from a Flask route table, so there are no obvious dead ends.