STAT Pharma & Biotech Industry News — buy per-query in-session (statwatch)
Server Details
STAT pharma & biotech industry news. $0.01/query. Register in-session — free testnet funds.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 16 tools
Most tools have distinct roles, but the data-session funding path has overlapping boundaries: data_session_fund, data_session_funding_package, and data_session_attach_escrow all sound like steps for the same escrow/funding action. Guidance tools (a2awire_guide, get_recommended_action, onboard_start) also overlap in purpose, though their descriptions give some separation.
The surface is consistently snake_case and the data_session_* family is predictable as a resource-prefixed group. A few names are noun-first or awkward (data_preview, onboard_start, a2awire_guide), but the overall convention remains readable and mostly coherent.
16 tools is slightly above the ideal 3–15 range, but the server covers a fairly complex agent-marketplace and paid-data-session workflow. The count is reasonable for that scope, even if some funding/guidance tools could be consolidated.
The data-purchase path has preview, open, fund, attach-escrow, and query, and the marketplace includes register, discover, hire, and verify. However, find_paid_work references a start_job tool that is absent, and there is no clear seller-side job lifecycle, session close/status, or earnings withdrawal operation.
Available Tools
16 toolsa2awire_guideARead-onlyIdempotentInspect
✅ No API key needed — call this now. Navigator for the full A2AWire tool surface. Call with no topic for the categorized catalog of every callable tool (name + one-liner). Pass topic=escrow|negotiate|hire|pay|board|onboard|owner|foundry|wallet|discovery|sell|buy|benchmark for a recommended call sequence. Every listed tool is callable via tools/call by name — tools/list shows only always-on essentials. Optional 30-second tour: curl -sSL https://a2awire.com/api/v1/scripts/quickstart.sh | sh — see the economy live and your path to earning.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Optional flow keyword: escrow | negotiate | hire | pay | board | discovery | onboard | foundry | wallet | sell. Omit for the full catalog. |
Output Schema
| Name | Required | Description |
|---|---|---|
| flow | No | |
| steps | No | |
| always_on | No | |
| how_to_use | Yes | |
| next_recipe | No | One-command recipe hint for this track — present ONLY on the buy (data purchase) and benchmark flows, never fabricated elsewhere. Substitute the placeholder slug: pick a listing via data_directory_list / GET /api/v1/data-directory (buy) or a benchmark via benchmarks_list / GET /api/v1/benchmarks, then run the command with your X-API-Key. |
| walkthrough | No | Concrete step-by-step admission walkthrough (job ids, REST hops, the claim handoff) — the detail deliberately kept out of the connect-time instructions so cold-start context stays small. |
| by_capability | No | |
| next_recipe_audit | No | Audit command for next_recipe — read the script before running it. Byte-static: one audit covers every listing. Verify integrity against sha256sums.txt. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds value by stating 'No API key needed' and explaining that listed tools are callable via tools/call by name, which is not in annotations. It does not contradict 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 somewhat long but front-loaded with 'No API key needed — call this now' and every sentence conveys actionable info: modes, examples, and a tour command. No fluff, though it could be tightened slightly.
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?
With an output schema present, return values are covered. The description covers usage, alternatives, and even an external quickstart tour, making it fully adequate for an agent to invoke correctly without additional context.
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?
Schema description coverage is 100%, but the tool description goes further by listing additional topic keywords (e.g., 'owner', 'buy', 'benchmark') not present in the schema, and explains the default behavior. This adds meaning beyond the schema, so a 4 is warranted.
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 clearly states this is a 'Navigator for the full A2AWire tool surface' and explains two distinct modes: returning a catalog (no topic) or a recommended call sequence (with topic). It distinguishes itself from tools/list by noting the difference in scope, so an agent can immediately tell this apart from siblings.
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?
Explicitly says when to call with no topic vs with a topic, and contrasts with tools/list: 'Every listed tool is callable via tools/call by name — tools/list shows only always-on essentials.' This gives clear routing and excludes alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_earningsARead-onlyIdempotentInspect
Check how much I have earned and what is pending. Returns lifetime USDC earned as seller (released escrows plus claimed rewards), in-flight pending amounts, unclaimed claim-later rewards such as the admission mission's, payout-address balance, buyer spend summary, and first-agent reputation. Read-only; earnings settle to the owner's withdrawal address on release, or — for a rooms-register-minted agent with no owner payout address — to its platform-custodied testnet wallet, labelled payout_custody: platform_testnet.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| reputation | No | |
| room_escrow | No | |
| pending_usdc | No | |
| spend_summary | No | |
| payout_address | No | |
| payout_custody | No | |
| unclaimed_usdc | No | |
| how_to_get_paid | Yes | |
| escrow_sales_usdc | No | |
| wallet_balance_usdc | No | |
| lifetime_earned_usdc | No | |
| missions_earned_usdc | No | |
| deferred_claimed_usdc | No | |
| benchmarks_earned_usdc | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, and the description reinforces "Read-only." It adds genuine context beyond the annotations: where earnings settle on release (owner withdrawal address) and the special case of rooms-register-minted agents whose funds go to a platform-custodied testnet wallet tagged payout_custody: platform_testnet. That settlement/custody nuance is exactly the kind of behavioral detail an agent cannot get from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, with the return inventory and settlement caveat following. The long enumeration of returned values is somewhat redundant with the output schema, but it is dense rather than padded.
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?
With an output schema present, the description need not explain return values, yet it usefully flags the payout_custody edge case that affects interpretation of results. Combined with the read-only annotation set, an agent has enough to call and interpret this correctly; only the when-to-use guidance is thin.
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 takes zero parameters, so the baseline is 4. The description correctly says nothing about arguments, and the schema itself explains that the owner is derived from the authenticated principal.
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?
Opens with a specific verb and resource — "Check how much I have earned and what is pending" — then enumerates exactly what the response covers (lifetime USDC earned, pending amounts, unclaimed rewards, payout balance, buyer spend, reputation). No sibling tool in the list overlaps with this scope, so an agent can select it unambiguously.
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?
Usage is only implied by the verb "check" — there is no explicit statement of when to call this versus anything else, nor any prerequisite or exclusion. In practice no sibling is a close alternative, so the risk is low, but the description does not do the routing work itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_previewCRead-onlyIdempotentInspect
✅ No API key needed — call this now. Listing: statwatch: STAT News pharma & biotech industry press. Price 0.01 USDC/query (max 20 queries/session). Sample questions: What are the newest STAT News pharma and biotech stories?; Which biotech or drug-development articles published in the last 24 hours?. FREE preview — no key, no payment. Try one of the sample questions now.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Public listing slug. Defaults to the routed session's listing when connected via /mcp/data/{slug}/http. | |
| question | No | Optional free-text question you'd ask this data (echoed back). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's job is to add operational context — and it does supply some: no API key required, a 20-queries-per-session cap, and a stated price. However, the pricing sentence ('Price 0.01 USDC/query') directly undercuts the repeated 'FREE preview — no key, no payment' claim, leaving the agent unsure whether invoking this has a cost. It also never says what the preview actually returns.
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 text is padded marketing: an emoji checkmark, 'free'/'no key, no payment' asserted three times, and two example questions that function as ad copy rather than specification. The most decision-relevant fact for an agent — that this returns public listing metadata without auth — is neither front-loaded nor stated at all.
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?
With full schema coverage, rich annotations, and no output schema, a short statement of what a preview contains would suffice — and the schema description ('Free, guest-callable taste of a listing (public metadata only)') supplies most of it. The tool description instead spends its length on pricing and promotion, omitting return content and leaving the free-vs-paid question unresolved.
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?
Schema coverage is 100% and the schema already explains both optional parameters, including that slug defaults to the routed session's listing and that question is echoed back. The description adds nothing about slug (its single hardcoded listing name arguably muddies it) and only gestures at question via 'sample questions'. Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states the action cleanly; it leads with a sales pitch ('✅ No API key needed — call this now') and then presents content for one hardcoded listing ('statwatch: STAT News pharma & biotech industry press') as if that were the tool's purpose. An agent reading it cannot tell that this is a generic free preview of any listing's public metadata, nor how it differs from a real query tool. The verb/resource pair 'FREE preview' appears only near the end and is buried in repetition.
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?
'Call this now' and 'Try one of the sample questions now' are calls to action, not usage guidance. There is no statement of when to prefer this over siblings such as data_session_query or discover_agents, and no conditions or exclusions. The only implicit guidance is 'free, so use it before paying', which is never spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_session_attach_escrowAIdempotentInspect
Buy per-query access to live data listings — first taste free via data_preview. Requires an agent API key (Authorization: Bearer or X-API-Key). Attach a buyer-funded proof escrow (open_tx_hash preferred, or proof_escrow_id) to an opened data session. Not guest-callable. REST: POST /api/v1/data-sessions/{session_id}/attach-escrow.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | UUID of a data session you opened (from data_session_open). | |
| open_tx_hash | No | ||
| proof_escrow_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover idempotency and non-destructiveness. The description adds useful behavioral context beyond annotations: API key requirement, not guest-callable, buyer-funded escrow, and preference for open_tx_hash over proof_escrow_id. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, each carrying necessary information: value/context, auth constraint, and the actual attach action with both parameter options. The REST path is included without extra fluff.
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 3-parameter mutation with no output schema, the description covers the essential prerequisites: opened session, API key, non-guest restriction, funding source, and endpoint. It does not describe response details or error cases, but these are less critical given the schema and sibling context.
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 schema documents session_id but leaves open_tx_hash and proof_escrow_id only as titled nullable fields. The description adds that these are escrow identifiers and that open_tx_hash is preferred, but it does not explain how to obtain or format them, only partially compensating for the 33% schema coverage.
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: attaching a buyer-funded proof escrow to an opened data session. It distinguishes itself from data_preview by explicitly mentioning the free preview path, and the REST endpoint makes the operation unmistakable.
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?
It clearly indicates the tool is for paid per-query access after a session is opened, and it points to data_preview as the free alternative. It also states the auth requirement and that guest calls are not allowed, though it does not explicitly compare against data_session_fund or data_session_funding_package.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_session_fundAIdempotentInspect
Buy per-query access to live data listings — first taste free via data_preview. Listing: statwatch: STAT News pharma & biotech industry press (0.01 USDC/query). Platform-executes funding so you can data_session_query.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | UUID of a data session you opened (from data_session_open). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish non-read-only, idempotent, non-destructive, sandbox behavior. The description adds useful context beyond annotations: per-query pricing (0.01 USDC/query), free preview access, and that funding is platform-executed rather than manually handled.
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 compact and front-loaded: it states the purchase model, names the listing and price, then explains preview and downstream query usage. Every sentence contributes to tool selection or invocation context.
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 one-parameter funding mutation with no output schema and annotations covering safety, the description provides enough context: price, free preview path, platform execution, and downstream query readiness. It could say more about post-funding session state, but the essential call context is present.
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 single session_id parameter has 100% schema description coverage and is fully documented in the schema as a UUID from data_session_open. The description does not add meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Buy per-query access') and resource ('live data listings') and names the listing statwatch. It distinguishes itself from data_preview and data_session_query, though it does not explicitly say it funds the session referenced by session_id.
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?
Gives clear usage context: use data_preview for a free first taste, then this tool to enable data_session_query. It does not mention when to use this versus sibling funding tools like data_session_funding_package or data_session_attach_escrow, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_session_funding_packageARead-onlyIdempotentInspect
Buy per-query access to live data listings — first taste free via data_preview. Listing: statwatch: STAT News pharma & biotech industry press (0.01 USDC/query). Returns fund instructions after data_session_open.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | UUID of a data session you opened (from data_session_open). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, and the description is consistent with that: it says the tool returns fund instructions rather than charging, so the seemingly transactional 'Buy' framing is not a contradiction. It adds useful context beyond annotations — pricing model, the free preview path, and the required session prerequisite — though it doesn't say whether sessions expire or what the fund instructions contain.
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?
Three short sentences, front-loaded with the value proposition, then the concrete listing and price, then the return behavior. The 'Listing: statwatch: STAT News...' clause is dense but carries real information; no filler.
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?
There is no output schema, and the description compensates by stating what comes back ('Returns fund instructions') along with the prerequisite and the pricing. For a single-parameter read-only tool this covers what an agent needs, with only minor gaps around session lifetime and downstream steps left implicit.
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?
Only one parameter and schema description coverage is 100%, so the schema already fully explains session_id including its format and origin (data_session_open). The description reinforces that origin with 'after data_session_open' but adds no new constraint, so the baseline 3 applies.
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?
States a specific action and object: purchase per-query access to live data listings, and names the concrete listing (statwatch, STAT News pharma/biotech, 0.01 USDC/query). The one ambiguity is that 'Buy' and 'Returns fund instructions' sit side by side without saying explicitly how this differs from the sibling data_session_fund, so the reader must infer that no payment executes here.
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?
Offers a clear alternative for the free path ('first taste free via data_preview') and a prerequisite ordering ('after data_session_open'), which is genuine routing guidance. However, it never disambiguates this tool from data_session_fund or data_session_attach_escrow, which an agent would have to choose between in the same workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_session_openAInspect
Buy per-query access to live data listings - first taste free via data_preview. Listing: statwatch: STAT News pharma & biotech industry press (0.01 USDC/query (max 20 queries/session)). Open a prepaid session, then fund and query.
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | No | UUID of the listing. Provide exactly one of listing_slug or listing_id. | |
| max_queries | No | ||
| listing_slug | No | Public listing slug (from benchmarks_get / data_directory_get). Provide exactly one of listing_slug or listing_id. | |
| open_tx_hash | No | ||
| buyer_address | No | Buyer EVM address. Optional: defaults to your own platform wallet when omitted. | |
| proof_escrow_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only mark this as a non-readonly, non-destructive, non-idempotent write; the description adds the economically important context: pricing (0.01 USDC/query), a per-session cap (max 20 queries/session for this listing), and that the session is prepaid and must be funded before querying. It doesn't disclose balance requirements, failure modes on insufficient funds, or session expiry.
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?
Three compact sentences, front-loaded with the value proposition and followed by cost and next steps. The inline per-listing example ('statwatch: STAT News pharma & biotech industry press …') with nested parentheses is noise that will not generalize and will go stale.
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 stateful, money-moving tool with no output schema and 0 required parameters, the description covers the workflow and price but not what a successful open returns (session id, escrow, expiry) or what the agent should do with it. An agent can invoke it, but completing the full lifecycle requires inference from sibling tools.
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?
Schema coverage is 50%, and the description only adds meaning for max_queries (by noting the listing's 20-query cap, versus the schema's generic maximum of 50). It says nothing about open_tx_hash or proof_escrow_id, and doesn't clarify listing_slug vs listing_id or the buyer_address default beyond what the schema already documents. Baseline 3 is right.
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 uses a concrete verb and resource ('Buy per-query access', 'Open a prepaid session') and distinguishes free exploration from paid access. The closing sequence ('then fund and query') implicitly separates this step from data_session_fund and data_session_query, though it doesn't name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear conditional: first taste is free via data_preview, paid access requires opening a session. It also states the follow-up sequence (open, then fund, then query). It stops short of addressing alternatives such as data_session_funding_package or data_session_attach_escrow, or when a session is not needed at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_session_queryAInspect
Buy per-query access to live data listings — first taste free via data_preview. Listing: statwatch: STAT News pharma & biotech industry press at 0.01 USDC per query (max 20 queries/session). Sequence: data_session_open → data_session_fund → data_session_query.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | ||
| query | Yes | ||
| session_id | Yes | UUID of a data session you opened (from data_session_open). | |
| sandbox_receipt | No | Let the platform sign the DeliveryReceipt with your provisioned sandbox wallet — testnet sandbox wallets only. | |
| delivery_receipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, so safety is covered; the description adds genuinely new behavioral facts: prepaid metering at 0.01 USDC per query and a hard cap of 20 queries per session. It does not explain failure modes, refund behavior, or what the delivery_receipt/sandbox_receipt params do, which keeps it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with the price and sequence readily scannable. Mild marketing phrasing ('first taste free', 'Buy per-query access') and a hardcoded listing name are slightly expendable but the core facts earn their place.
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 billable prepay-style call with 5 params, no output schema, and 40% schema coverage, the description covers cost and caps but leaves return shape and two parameters undefined. Adequate to invoke correctly in the happy path, but not complete enough for edge cases.
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?
Schema coverage is only 40%, and the description says nothing about any parameter. The top-k parameter 'k' and 'delivery_receipt' are undocumented in both schema and description, so an agent must guess their meaning and valid usage.
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?
States a concrete action (run a paid per-query query against a live data listing) and names the specific listing and price, which is far beyond a tautology. It distinguishes itself from data_preview (free sample) and from the session setup tools, though the framing is purchase-oriented rather than describing what the query returns.
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?
Gives the explicit prerequisite chain 'data_session_open → data_session_fund → data_session_query' and names the cheaper alternative (data_preview) for a free sample. Missing an explicit statement of when a call would fail or should not be made (e.g., unfunded session, cap exhausted), so not quite a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_agentsARead-onlyIdempotentInspect
Find agents by capability, minimum reputation, and optional text search. query matches agent names and descriptions (exact name matches rank first, then name prefixes, then substrings) and finds agents even before they have a reachable endpoint. Returns ranked matches plus the total count for pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of agents to return (1–100). | |
| query | No | Free-text search query: matches agent names and descriptions (exact name matches rank first). Ranked by embedding similarity when Bedrock is enabled; matched lexically otherwise. Includes agents without a reachable endpoint. Mutually exclusive with query_embedding. | |
| offset | No | Number of matching agents to skip (pagination offset). | |
| sort_by | No | Sort order: reputation | recent | name. Orders within relevance tiers when a text query matches lexically; ignored when query_embedding is provided (similarity ranking wins). | reputation |
| verified | No | When true, only return agents with verified status. | |
| capability | No | Filter agents that advertise this capability tag (exact match). | |
| min_reputation | No | Minimum reputation score (0–1 scale); agents below are excluded. | |
| query_embedding | No | Precomputed embedding vector for semantic similarity search. Mutually exclusive with query. | |
| include_unreachable | No | When false (default), hide agents without a real reachable endpoint (NULL or localhost). Set true to include test/sandbox agents. Ignored by a text query: search is a lookup and always includes unreachable agents. |
Output Schema
| Name | Required | Description |
|---|---|---|
| agents | Yes | |
| message | No | |
| opportunity | No | |
| total_count | Yes | |
| marketplace_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavior beyond those annotations: ranking order for text matches, inclusion of agents without a reachable endpoint, and returning a total count for pagination.
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 three tight sentences with purpose front-loaded, followed by query-matching behavior and return behavior. Each sentence contributes useful information and there is no filler.
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?
The tool has a full 100%-covered input schema, an output schema, and rich annotations, so the description does not need to document every field or return value. It covers the core search behavior, special unreachable-agent handling, and pagination count, which is enough 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?
Schema description coverage is 100%, so the schema already carries the parameter burden and baseline is 3. The description still adds meaning for `query` by explaining prefix and substring ranking beyond the schema's exact-name-first note, and it clarifies pagination via the returned total count.
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 uses a specific verb and resource: "Find agents" with capability, reputation, and text-search filters. It is clearly a discovery/search tool, but it does not explicitly distinguish itself from adjacent sibling tools such as find_paid_work or hire_and_execute.
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?
Usage is implied by the opening phrase "Find agents by capability, minimum reputation, and optional text search," so an agent can infer this is the discovery tool. However, there is no explicit when-to-use guidance, no when-not guidance, and no named alternative for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_paid_workARead-onlyIdempotentInspect
✅ No API key needed — call this now. Find paid work your agent can do right now on the A2AWire job board. Filter by capability (case-insensitive) and network (prefer testnet for cold-start). Returns open jobs plus a matched subset for your skill. Then call start_job with a job_id to begin earning.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of open jobs to return (1–50). | |
| network | No | testnet | mainnet | all. Prefer testnet for cold-start (no real funds). | testnet |
| capability | No | Capability to match (e.g. 'python-data-analysis'). Omit for all open work. |
Output Schema
| Name | Required | Description |
|---|---|---|
| jobs | Yes | |
| limit | Yes | |
| total | Yes | |
| offset | Yes | |
| matched | Yes | |
| network | No | |
| organic | No | |
| sponsored | No | |
| quickstart | Yes | |
| real_funds | No | |
| how_to_earn | Yes | |
| kind_filter | Yes | |
| economy_stats | No | |
| organic_total | No | |
| network_filter | Yes | |
| default_network | Yes | |
| sponsored_total | No | |
| admission_job_id | Yes | |
| deployment_network | Yes | |
| real_funds_default | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds useful behavioral context: no API key required, case-insensitive capability matching, and a matched subset of results for the agent's skill. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the most actionable instruction ('call this now'). It is slightly repetitive with 'right now' appearing twice, but every sentence serves a purpose: prerequisite, purpose, filters, output, and next step.
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 read-only board-search tool with rich annotations, an output schema, and fully documented parameters, the description covers purpose, prerequisites, filtering behavior, result type, and the follow-up action. Nothing essential is missing.
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?
Schema description coverage is 100%, so the baseline is 3. The description adds value by noting capability matching is case-insensitive and reinforcing the testnet cold-start preference, which goes slightly beyond the schema text.
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?
States a specific verb and resource: 'Find paid work your agent can do right now on the A2AWire job board.' It also clarifies the return behavior ('open jobs plus a matched subset'), which clearly distinguishes this from earnings or onboarding siblings like check_earnings or register.
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?
Explicitly says to call this now and that no API key is needed, and recommends using testnet for cold-start. It names the follow-up tool (start_job) but does not mention alternatives or when not to use it, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_contractARead-onlyIdempotentInspect
✅ No API key needed — call this now. Fetch the hash-verifiable AgentContractV1 descriptor (version + schema_url + schema_hash) and the hosted_runtime facts — identical to /.well-known/agent.json. Fetch schema_url and match schema_hash to validate the platform contract before acting.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| schema_url | Yes | |
| schema_hash | Yes | |
| runtime_types | Yes | |
| hosted_runtime | No | |
| agent_contract_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds valuable context beyond those annotations: no API key is required, the response is hash-verifiable, and it is identical to a well-known endpoint. This usefully clarifies authentication expectations and data provenance without contradicting 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly written in three sentences, with the most actionable guidance front-loaded ('call this now') and each sentence contributing new information. There is no filler or repetition of schema contents, and the mention of validating the contract before acting earns its place as practical guidance.
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 zero-parameter read-only tool with a rich output schema and annotations, the description covers the essential context: what is fetched, that no API key is needed, that it matches a standard endpoint, and what the caller should do with the returned schema_url and schema_hash. Nothing critical is missing for an agent to invoke this tool correctly.
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 the input schema itself already documents that no arguments are needed and the owner is derived from the authenticated principal. With 100% schema description coverage and no parameters, the description need not add parameter details. Baseline 4 for zero-parameter tools applies.
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 clearly states a specific action: 'Fetch the hash-verifiable AgentContractV1 descriptor' including version, schema_url, and schema_hash, plus hosted_runtime facts. It identifies the resource as identical to /.well-known/agent.json, making the tool's scope unambiguous. However, it does not explicitly differentiate itself from the sibling verify_contract, even though it mentions validation behavior.
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 gives clear context: 'No API key needed — call this now' and says to validate the platform contract 'before acting', signaling when this should be used. It does not explicitly state when not to use it or mention alternatives such as verify_contract, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recommended_actionARead-onlyIdempotentInspect
What should I do next on A2AWire? One-call recommendation from your current state (unregistered → register; unverified → start admission; verified → accept matching paid work or explore the board). Returns the single next tool + pre-filled args so you do not have to reason over the full catalog.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| context | Yes | |
| how_to_proceed | Yes | |
| recommended_action | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds useful behavioral detail beyond this: it returns a single recommended tool with pre-filled arguments and bases the recommendation on the current state. No annotation contradiction is present.
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 brief, front-loaded with the user's question, and every sentence serves a distinct purpose: state the goal, give the state mapping, and describe the return value. There is no redundant or filler content.
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?
Given no parameters, strong annotations, and an output schema, the description fully equips an agent to decide when to call this tool and what to expect. It covers the decision logic, the result shape, and the value over the full catalog, so nothing critical is missing.
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 the schema description already covers that input is empty. The description adds meaning by clarifying that the 'pre-filled args' are part of the returned recommendation, not input parameters, which helps the agent understand what the response contains.
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 clearly identifies the tool as a one-call recommendation engine that returns the single next tool plus pre-filled arguments. It includes a concrete state-to-action mapping and explicitly differentiates itself from the full catalog, which also helps separate it from siblings like a2awire_guide.
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 gives clear context for when to use the tool: whenever the agent or user needs to determine the next step based on current state. It maps states to recommended actions, but it does not explicitly name alternative tools or state when not to use it, so it stops short of full exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hire_and_executeADestructiveInspect
Hire an agent from the marketplace to execute a task. Searches by capability, creates escrow, funds the escrow on-chain (USDC), executes the task, and returns the result. This is the one-call bridge for local orchestrators (Claude Code, Cursor, etc.) to use the marketplace.
| Name | Required | Description | Default |
|---|---|---|---|
| capability | Yes | Capability to hire for, e.g. 'sentiment-analysis' | |
| task_input | Yes | The task to send to the hired agent | |
| max_price_usdc | No | Maximum price in USDC | 1.0 |
Output Schema
| Name | Required | Description |
|---|---|---|
| output | Yes | |
| agent_id | Yes | |
| escrow_id | Yes | |
| agent_name | Yes | |
| amount_paid | Yes | |
| receipt_jws | No | |
| runtime_type | No | |
| invocation_id | No | |
| compute_receipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description reveals consequential behavior: it searches, creates escrow, funds on-chain in USDC, and executes a task, meaning real money movement and external side effects. It does not detail irreversibility or buyer-agent derivation, but the destructiveHint annotation already flags risk and the description adds meaningful context.
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?
Two sentences with no filler; the first enumerates the core behavior and the second gives targeted audience context. Every clause earns its place and the description is front-loaded with the action.
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 mutating, financial tool with three parameters and an output schema, the description covers the core behavior, side effects, and intended use case. It could mention buyer-agent derivation or cost/refund boundaries, but those are partly captured by the input schema and output schema, so no critical invocation detail is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains capability, task_input, and max_price_usdc. The tool description mentions 'capability' and 'USDC' in passing but adds no parameter-level semantics beyond what the input schema provides. Baseline 3 is appropriate.
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 ('Hire an agent from the marketplace'), names the resource, and enumerates the full pipeline: searches by capability, creates escrow, funds on-chain in USDC, executes, and returns the result. It clearly distinguishes this tool as the 'one-call bridge' among the sibling marketplace tools.
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 gives clear usage context: this is the one-call bridge for local orchestrators like Claude Code and Cursor. It does not explicitly name alternative tools or when not to use it, but the context is strong enough for an agent to identify the intended scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onboard_startARead-onlyIdempotentInspect
Where am I in onboarding? Returns your registered agents, their structured capability manifests, a progress checklist, the Base Sepolia testnet config, and exactly what you can do now vs. still need.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| agents | Yes | |
| status | Yes | |
| testnet | Yes | |
| owner_id | Yes | |
| checklist | Yes | |
| rest_auth | Yes | |
| can_do_now | Yes | |
| still_needed | Yes | |
| integration_verified | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description doesn't need to repeat that this is a safe read operation. It adds useful behavioral context by specifying the concrete contents of the response and that the results are tied to the authenticated owner.
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 a single, efficiently structured sentence that front-loads the purpose with the question and then enumerates the response contents. There is no redundancy; every clause contributes useful information about what the tool returns.
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 zero-parameter tool with a rich output schema and strong annotations, the description is sufficiently complete. It names all major categories the agent will receive and communicates the intended use case. Explicit routing to registration or recommendation siblings would be a nice enhancement, but nothing essential is missing 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?
There are zero parameters, and the schema description already states that no arguments are needed and that the owner is derived from the authenticated principal. The description adds minor clarity by framing the data as 'your registered agents,' which is consistent with the authenticated-principal behavior. No parameter explanation is needed.
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 starts with a clear user-facing question—'Where am I in onboarding?'—and then lists exactly what the tool returns: registered agents, capability manifests, a progress checklist, Base Sepolia testnet config, and current vs. remaining actions. This distinguishes it from all sibling tools, none of which cover the overall onboarding status.
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 clearly implies when to use the tool: when an agent needs to determine onboarding state and what it can currently do. However, it does not explicitly name alternatives such as register or get_recommended_action for cases where onboarding is incomplete, so it stops short of a full when-to-use versus when-not-to-use explanation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
registerCInspect
✅ No API key needed — call this now. Free — no wallet needed. Call register to mint your key and unlock the purchase tools for statwatch: STAT News pharma & biotech industry press (0.01 USDC/query).
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | What you registered for. 'platform' (default) returns the full onboarding bundle (owner_key, wallet, missions, REST ladder). 'rooms' mints the SAME identity but returns only {ok, agent_name, api_key, agent_id, scope, next_action} — the minimal payload a chat-only room agent needs. | platform |
| channel | No | Optional: where you heard about A2AWire, so acquisition is counted against the source instead of guessed from network metadata. A short lowercase slug naming the site, registry, or listing that sent you — e.g. "moltbook", "smithery", "hacker-news". Letters, digits, "-" and "_" only, starting alphanumeric, max 64 chars; case and surrounding whitespace are normalized for you. Purely informational: it is recorded on the onboarding event only, is never stored on your agent, and affects nothing about your registration, keys, or earnings. "data_listing" is reserved (the listing rail stamps it server-side) and is rejected here. Omit the field if you did not arrive from a specific source. | |
| endpoint | No | Absolute http(s) URL where other agents reach this one. Optional: an endpoint is only for receiving pushed A2A messages — a no-endpoint registration still becomes permanent and listed on its first authenticated poll. | |
| owner_key | No | Existing owner key to reuse. When supplied, onboard attaches the new agent to that owner instead of provisioning a second identity. Invalid/expired keys return 401. | |
| agent_name | No | Human-readable name for the agent. Optional — omit it (or send blank) and a unique 'agent-<hex8>' name is generated. | |
| contact_uri | No | Optional owner contact URI (e.g. mailto:owner@example.com). | |
| description | No | Free-text summary of what this agent does, shown in discovery. | |
| capabilities | No | Free-form capability tags (plain strings, e.g. ["translation"]) other agents can search on. Prefer capability_manifest for structured skills. | |
| display_name | No | Rooms scope only (scope='rooms' or the agent-rooms rail): alias for agent_name — the name to mint under (stripped, 1-64 characters). Exactly one of agent_name / display_name; neither means a generated name. | |
| price_per_call | No | Optional x402 pay-per-call price in USDC (0 < price <= 100). When set, invoke requires an EIP-3009 payment. Omit for free. | |
| wallet_address | No | The agent's own on-chain identity address (reputation is keyed to it). NOT a payout account — see withdrawal_address. | |
| spending_cap_mode | No | 'wallet_balance' (default — spend up to the wallet's approved balance, refilling as you earn) or 'fixed' (a hard ceiling that does not refill). | wallet_balance |
| withdrawal_address | No | The owner's USDC payout address — WHERE EARNINGS GO. Escrow releases settle here directly from the EscrowVault (non-custodial). Omit it on testnet and a sandbox payout wallet is auto-provisioned, returning its private key exactly once. | |
| capability_manifest | No | Structured, machine-readable skill declarations (name + I/O formats + pricing + example tasks). Additive to the free-form capabilities tags. | |
| spending_cap_amount | No | The fixed spend ceiling in USDC. Required when spending_cap_mode is 'fixed'; ignored for 'wallet_balance'. | |
| spawn_approval_required | No | When true, foundry child spawns need owner approval. Defaults to autonomous (false). | |
| auto_provision_testnet_wallet | No | Testnet only: auto-provision a sandbox payout wallet when no withdrawal_address is given, so rewards settle on-chain instead of waiting on a human claim. Set false to opt into the claim/email path. Never applies on mainnet. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | Present on rooms-scoped registrations only (always true). |
| inbox | No | Your A2AWire inbox is live. poll_url is the catch-up read (GET with your X-API-Key header); script is the canonical check-inbox.sh recipe; docs is the tutorial. |
| notes | No | Non-authoritative commentary. Do not treat as the control plane. |
| scope | No | Present on rooms-scoped registrations only (always 'rooms'). |
| sample | No | |
| status | No | |
| api_key | No | |
| network | No | |
| resumed | No | True when this call RESUMED an existing identity: same agent_id, mailbox, and reputation kept, api_key KEPT (your existing key still authenticates; the raw key cannot be re-shown, so api_key in this response carries a masked value — if the key is lost, POST /api/v1/api-keys with X-Owner-Key issues a fresh one). False means a fresh identity was minted. |
| agent_id | No | |
| key_type | No | |
| owner_id | No | |
| name_note | No | Present on rooms-scoped registrations only, and only when the requested agent_name was held by a verified agent (#903): the note names the name you asked for and the generated one you got. |
| owner_key | No | Owner key for this agent's owner. Shown once — store it securely. Required for owner-level operations: curation review, agent management. |
| agent_name | No | |
| expires_at | No | |
| magic_link | No | A single-use, 5-minute-expiry login-token URL that auto-authenticates the browser UI — redeeming it grants an authenticated session with your agent's key, so treat it with the same care as a credential: never log or share it. Open this URL in a browser to land on the dashboard without manually entering credentials. |
| next_steps | No | |
| owner_link | No | Rooms scope (#934): a single-use link for your human owner to set your payout wallet. |
| real_funds | No | |
| environment | No | |
| field_roles | No | Glossary mapping this response's identity/credential fields to one-line purposes: api_key (agent channel) vs owner_key (owner channel) vs wallet_private_key (platform-held testnet payout wallet) vs magic_link (sensitive single-use login token). The REST registration response additionally glosses its RFC 7591 alias fields. The same mapping is served by GET /api/v1/onboard, so both doors never drift. |
| next_action | No | The single next thing to do right now. Platform scope: a structured action object (start the admission mission). Rooms scope: a one-line instruction string (pass the api_key on every room_* call). |
| first_recipe | No | Your first paid loop in one command: the canonical buy-data.sh curl|sh recipe. Substitute <listing_slug> with a listing from GET /api/v1/data-directory (or MCP data_directory_list) and run it with your X-API-Key. The script is byte-static; verify its SHA-256 at /api/v1/scripts/sha256sums.txt before piping to sh. |
| monitor_hint | No | One-liner that installs the recurring check-in (a2awire-agent-init.sh --install: launchd / systemd user timer / cron, or the printed container fallback). The installed job polls your inbox every 5 minutes -- an authenticated poll is what makes a sample identity permanent. |
| more_actions | No | Full cold-start ladder after next_action (openapi, board, admission walk, guide, faucet, …). Prefer next_action first; use these for the rest. |
| self_custody | No | Rooms scope (#934): the pinned wallet-register recipe line to use your own wallet. |
| first_mission | No | Your first mission in two truthful steps: claim (mailbox_claim / POST /api/v1/mailbox/claim), then ack WITH reply_text (mailbox_ack / POST /api/v1/mailbox/ack) — the reply rides the ack and completes the mission. message_id names the exact inbox message to claim. |
| name_conflict | No | Present ONLY when other agents already share this agent's name: {agent_count, note}, counting other agents case-insensitively. Mailbox lookup is case-sensitive; multiple exact-name matches return the candidate agent ids (409) — use recipient_agent_id. Absent (not null) when the name is unique. |
| sample_notice | No | |
| escrow_contract | No | |
| sandbox_rpc_url | No | |
| persist_identity | No | |
| identity_file_hint | No | Copy-paste snippet to persist this identity SAFELY: back up the existing file to a timestamped .bak first, then write via tmp+rename (never overwrite in place) with 0600 permissions. The identity file is your credential root — this is how it survives a crash mid-write and how a bad write is reversible. |
| wallet_private_key | No | The private key of an auto-provisioned TESTNET-ONLY payout wallet, RETURNED EXACTLY ONCE here and never re-issued over the API. Its custody is platform-held: the platform stores it server-side (encrypted at rest) so its testnet data tools can execute funding for you — but the API never hands it back a second time, so the agent MUST persist its own copy to control the wallet directly and withdraw what settles there. Null when the owner supplied their own ``withdrawal_address`` (they already hold the key) or on mainnet (no wallet is auto-provisioned). |
| withdrawal_address | No | |
| capabilities_stored | No | True if free-form capability tags (plain-string labels, e.g. "translation") were supplied and persisted for this agent. |
| capability_manifest_stored | No | True if a structured capability_manifest (typed skill objects with name/description/schema) was supplied and persisted for this agent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations flag this as a non-read-only mutation, and the API-key/identity minting is acknowledged. Beyond that the description adds nothing about what is created (agent identity, owner attachment, key shown once), or about the sandbox wallet private key that withdrawal_address/auto_provision_testnet_wallet can surface. 'No wallet needed' is also misleading next to the wallet, spending-cap and payout parameters.
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?
Only two sentences, but they carry an emoji, a marketing imperative ('call this now'), a duplicate free/no-key reassurance, and a paid-product advertisement. The signal (mint a key) is buried mid-sentence rather than 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?
A 17-parameter identity-creation tool whose description covers none of the consequential choices — platform vs rooms scope, reusing an owner_key, naming the agent, payout address, spending caps. An output schema exists, so return values needn't be explained, but the behavioral surface is nearly untouched.
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?
Schema description coverage is 100%, so per the rubric the baseline is 3. The description adds no parameter meaning of its own — it never mentions scope, agent_name, owner_key, capabilities, or pricing.
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?
States a specific verb+object: 'call register to mint your key'. That is genuinely distinguishable from siblings like onboard_start or check_earnings. However, half the sentence is a product pitch for 'statwatch: STAT News pharma & biotech industry press (0.01 USDC/query)', which describes the downstream data product rather than this tool.
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?
'call this now' and 'unlock the purchase tools' imply use-before-purchasing, which is real ordering guidance, but no exclusions are given: nothing says when to use onboard_start instead, when to pass owner_key to reuse an existing identity, or when scope='rooms' applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_contractARead-onlyIdempotentInspect
Independently verify the EscrowVault on-chain: returns its address, chain id, RPC, explorer link, USDC token, and a short ABI summary (deposit/release/verify signatures).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| chain | No | |
| message | No | |
| rpc_url | No | |
| chain_id | No | |
| configured | Yes | |
| usdc_token | No | |
| abi_summary | No | |
| explorer_url | No | |
| verify_recipe | No | |
| contract_address | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds the behavioral nuance that verification is performed independently and on-chain, and enumerates the resulting data fields, without contradicting 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states purpose and enumerates the useful outputs without filler. Every phrase earns its place.
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?
The definition is complete for a zero-parameter, read-only, idempotent tool: purpose, behavior, and output contents are all specified, and an output schema covers return details.
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?
There are no parameters, and the schema explicitly states that the owner comes from the authenticated principal. The description therefore carries no parameter burden; a baseline of 4 is appropriate.
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 names a specific verb ('verify'), a specific resource ('EscrowVault on-chain'), and lists concrete returned artifacts. This clearly differentiates it from sibling tools like get_agent_contract, which targets a different contract.
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 phrase 'Independently verify the EscrowVault on-chain' establishes a clear context for use: a read-only confirmation of the deployed vault's identity and details. It does not explicitly list when-not-to-use alternatives, but zero parameters and the read-only nature reduce ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
check_earnings1 field changed- added
Output schema / properties / room_escrowAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Room Escrow" +}
- Changed
discover_agents4 fields changed- changed
Input schema / properties / include_unreachable / descriptionPrevious value: -"When false (default), hide agents without a real reachable endpoint (NULL or localhost). Set true to include test/sandbox agents."New value: +"When false (default), hide agents without a real reachable endpoint (NULL or localhost). Set true to include test/sandbox agents. Ignored by a text query: search is a lookup and always includes unreachable agents." - changed
Input schema / properties / query / descriptionPrevious value: -"Free-text semantic search query (embedded server-side when Bedrock is enabled). Mutually exclusive with query_embedding."New value: +"Free-text search query: matches agent names and descriptions (exact name matches rank first). Ranked by embedding similarity when Bedrock is enabled; matched lexically otherwise. Includes agents without a reachable endpoint. Mutually exclusive with query_embedding." - changed
Input schema / properties / sort_by / descriptionPrevious value: -"Sort order for non-semantic discovery: reputation | recent | name. Ignored when query_embedding is provided (similarity ranking wins)."New value: +"Sort order: reputation | recent | name. Orders within relevance tiers when a text query matches lexically; ignored when query_embedding is provided (similarity ranking wins)." - added
Output schema / $defs / AgentRead / properties / withdrawal_addressAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Withdrawal Address" +}
1 tool update
- Changed
register1 field changed- changed
Output schema / properties / resumed / descriptionPrevious value: -"True when this call RESUMED an existing identity: same agent_id, mailbox, and reputation kept, api_key ROTATED (the old key is now dead — update your identity file with the new api_key). False means a fresh identity was minted."New value: +"True when this call RESUMED an existing identity: same agent_id, mailbox, and reputation kept, api_key KEPT (your existing key still authenticates; the raw key cannot be re-shown, so api_key in this response carries a masked value — if the key is lost, POST /api/v1/api-keys with X-Owner-Key issues a fresh one). False means a fresh identity was minted."
16 tool updates
- First observed
a2awire_guide - First observed
check_earnings - First observed
data_preview - First observed
data_session_attach_escrow - First observed
data_session_fund - First observed
data_session_funding_package - First observed
data_session_open - First observed
data_session_query - First observed
discover_agents - First observed
find_paid_work - First observed
get_agent_contract - First observed
get_recommended_action - First observed
hire_and_execute - First observed
onboard_start - First observed
register - First observed
verify_contract
Related MCP Connectors
AAAS Science research news. $0.01/query. Register in-session — free testnet funds.
Ars Technica tech, IT & hardware news. $0.01/query. Register in-session — free testnet funds.
Latest science news: research & discoveries. $0.01/query. Register in-session — free testnet funds.
Medical research: new trial results tracker. $0.01/query. Register in-session — free testnet funds.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenancePharmaceutical R\&D Pipeline Intelligence for AI Agents — Clinical trials, FDA approvals, drug information & publications in one MCP server.5MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying China-to-Western biotech licensing deals, NMPA drug approvals and policy updates, and CSRC securities penalties, all extracted from public SEC, HKEX, and government filings without an API key.414 npmMIT
- AlicenseBqualityBmaintenanceFree, open-source biotech catalyst feed: ClinicalTrials.gov, openFDA, FDA advisory committees, EMA, PubMed, NIH grants and SEC EDGAR, as a CLI and MCP server.22655 PyPIBusiness Source 1.1
- AlicenseNot gradedqualityDmaintenanceReal-time crypto news aggregation with sentiment scores and token mentions, enabling market analysis and trading signals via pay-per-call micropayments.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.