Skip to main content
Glama

NASA Image of the Day — space & astronomy photos (nasaiotd)

Server Details

NASA Image of the Day: official space & astronomy photos with captions, most days.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

16 tools
a2awire_guideA
Read-onlyIdempotent
Inspect

✅ 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|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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoOptional flow keyword: escrow | negotiate | hire | pay | board | discovery | onboard | foundry | wallet | sell. Omit for the full catalog.

Output Schema

ParametersJSON Schema
NameRequiredDescription
flowNo
stepsNo
always_onNo
how_to_useYes
walkthroughNoConcrete 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_capabilityNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds the 'No API key needed' note and explains the behavioral distinction between the catalog and sequence modes. It does not contradict annotations, and the added context (e.g., tools/list limitation) enriches understanding without duplicating structured data.

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

Conciseness4/5

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

The description is appropriately sized—a few sentences that front-load the most actionable info ('No API key needed — call this now') before explaining the two usage modes. It is well-structured and avoids redundancy, though the emoji and exclamation are slightly informal. Every sentence 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?

For a guide tool with one optional parameter, the description is complete: it explains what is returned in both modes, how to invoke tools, and the relationship to tools/list. The presence of an output schema (though not detailed here) means return values need not be explained in prose. Nothing an agent needs to use it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% (the topic parameter is fully described in the schema). The description repeats the topic list and adds that omitting it returns the catalog. While it reinforces the meaning, it does not add significant new information beyond what the schema already provides, so the baseline of 3 applies.

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

Purpose5/5

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

The description states a clear purpose: it is a navigator for the full A2AWire tool surface, providing a categorized catalog and recommended call sequences. It distinguishes itself from sibling tools that perform specific actions, and the name 'guide' aligns with this role. The description is explicit about what it does and how it differs 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 Guidelines5/5

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

Provides explicit usage instructions: call with no topic for the full catalog, or pass a specific topic for a recommended sequence. It also clarifies the relationship to other tools, noting that every listed tool is callable via tools/call by name and that tools/list shows only always-on essentials. This tells the agent exactly when to use this tool versus alternatives.

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

check_earningsA
Read-onlyIdempotent
Inspect

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 non-custodially to your withdrawal address on release.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
reputationNo
pending_usdcNo
spend_summaryNo
payout_addressNo
unclaimed_usdcNo
how_to_get_paidYes
escrow_sales_usdcNo
wallet_balance_usdcNo
lifetime_earned_usdcNo
missions_earned_usdcNo
deferred_claimed_usdcNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description reinforces this with 'Read-only' and adds unique behavioral context: 'earnings settle non-custodially to your withdrawal address on release,' which clarifies the settlement mechanism beyond annotation fields. It does not contradict annotations, so no penalty.

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 sentence that front-loads the primary question ('how much I have earned and what is pending') and then lists the returned categories. It is informative without excessive verbosity, though it could be slightly restructured for readability. Every phrase contributes value, earning a strong score.

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 parameters, a rich output schema (present, though not shown), and comprehensive annotations covering safety, the description fully covers what an agent needs: what data it returns and the read-only nature. It lists all major result categories, leaving no ambiguity about the tool's capability. It is complete for an agent to decide to call 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?

The tool has zero parameters, and the schema description coverage is 100% (the schema states 'No arguments'). Per the rubric, a baseline of 4 applies for tools with no parameters. The description adds no parameter-specific details because none are needed; it focuses on output semantics, which 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 explicitly states the tool's purpose: to check earnings and pending amounts. It enumerates the specific data returned (lifetime USDC, pending, unclaimed rewards, payout balance, buyer spend, reputation), making it distinct from sibling action-oriented tools. The verb 'check' and resource 'earnings' are clear and specific, avoiding any tautology.

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 makes the tool's use case obvious: querying one's earnings. It implies when to use it (whenever an agent needs earnings/balance information) but does not explicitly list alternatives or exclusions. However, the context of siblings being primarily actions (fund, open, attach) makes the read-only query role unambiguous, so it meets the 'clear context, no exclusions' bar.

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

data_previewC
Read-onlyIdempotent
Inspect

✅ No API key needed — call this now. Listing: nasaiotd: NASA Image of the Day. Price 0.01 USDC/query (max 20 queries/session). Sample questions: What is NASA's latest Image of the Day?; Show recent astronomy photos from NASA this week. FREE preview — no key, no payment. Try one of the sample questions now.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoPublic listing slug. Defaults to the routed session's listing when connected via /mcp/data/{slug}/http.
questionNoOptional free-text question you'd ask this data (echoed back).

TDQS

C2.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds some extra context: no API key needed, price 0.01 USDC/query, max 20 queries/session, and that it's free. These are useful but don't describe the return format or what happens with the 'question' parameter. The description does not contradict the annotations, so 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.

Conciseness2/5

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

The description is verbose and marketing-heavy, filled with emojis and repeated phrases ('FREE preview', 'no key, no payment'). It front-loads promotional language rather than essential functional info. It is not concise or well-structured for an agent; it reads like an ad for a human. The core function is buried under sales copy.

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 only two optional parameters and no output schema, the description should explain what the tool returns and when to use it. It does not mention that it returns public metadata, does not clarify the default behavior of 'slug' when routed via /mcp/data/{slug}/http, and does not explain the purpose of the 'question' parameter beyond what the schema says. The tool is simple but the description leaves essential context missing.

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

Parameters3/5

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

Schema description coverage is 100%: both 'slug' and 'question' are documented in the schema, including defaults and behavior (e.g., question is echoed back). The tool description adds no parameter-specific detail beyond mentioning sample questions, which are not parameter semantics. With high schema coverage, the description carries no extra burden, so baseline 3 is correct.

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

Purpose2/5

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

The description is promotional rather than functional. It says 'FREE preview' and mentions 'Listing: nasaiotd', but does not explicitly state that this tool returns public metadata for a given listing slug. The schema's own description ('Free, guest-callable taste of a listing') is clearer than the tool description. The purpose is implied but not clearly articulated.

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

Usage Guidelines1/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 any alternative. It instructs 'call this now' but provides no context about when a preview is appropriate, when not to use it, or how it differs from sibling tools like data_session_query or data_session_open. The sample questions are aimed at end-users, not at helping an agent decide when to invoke this tool.

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

data_session_attach_escrowA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesUUID of a data session you opened (from data_session_open).
open_tx_hashNo
proof_escrow_idNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false. The description adds valuable behavioral context beyond these: authentication requirements (Authorization: Bearer or X-API-Key), the fact it's not guest-callable, and the exact REST endpoint. It does not disclose side effects (e.g., whether escrow is consumed) but the annotations cover safety basics, so the added context earns a 4.

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

Conciseness4/5

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

The description is concise, with a few sentences that front-load the context (paid access, free preview) before the core action. It includes the REST endpoint and auth requirements without verbosity. Slight redundancy (e.g., 'Requires an agent API key' and 'Not guest-callable') 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?

For a tool with 3 parameters and no output schema, the description covers auth, endpoint, and the parameters' roles, but does not explain the response format, what happens after attaching, or explicitly state that one of open_tx_hash or proof_escrow_id is required (schema allows both null). It also doesn't connect to subsequent query steps. Given the lack of output schema, more detail on expected behavior would improve completeness.

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% (only session_id has a description). The description mentions open_tx_hash and proof_escrow_id but only says 'open_tx_hash preferred, or proof_escrow_id', providing minimal guidance on how to choose between them or what they represent. It does not explain the meaning of 'proof escrow' or clarify that at least one is typically expected, leaving significant gaps given the low 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 action: 'Attach a buyer-funded proof escrow (open_tx_hash preferred, or proof_escrow_id) to an opened data session.' It identifies the resource (data session) and the operation (attach escrow). It also differentiates from siblings by mentioning data_preview for free access and the paid nature of this tool, making its purpose distinct.

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: it's for buying per-query access after opening a session, requires an agent API key, and is not guest-callable. It explicitly references data_preview as a free alternative and implies the need for a previously opened session. However, it does not explicitly mention when to use this over data_session_fund or other funding tools, 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_fundA
Idempotent
Inspect

Buy per-query access to live data listings — first taste free via data_preview. Listing: nasaiotd: NASA Image of the Day (0.01 USDC/query). Platform-executes funding so you can data_session_query.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesUUID of a data session you opened (from data_session_open).

TDQS

A4/5.0
Behavior3/5

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

Annotations indicate no destructive effects and idempotent behavior. The description adds that it 'Platform-executes funding', implying a financial transaction, but does not detail side effects like balance deduction or confirmation. It is consistent with annotations but adds limited behavioral insight 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 concise (~30 words), front-loads the core action (buy per-query access), and flows logically from offer to specific listing to execution. Every sentence adds relevant 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?

For a single-parameter tool with no output schema, the description is complete: it explains the purpose, cost, and relationship to sibling tools (data_preview, data_session_query). It does not cover error handling or return values, but those are not required given the minimal interface.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 covers session_id with a clear description ('UUID of a data session you opened from data_session_open'). The tool description does not add any further parameter-specific context, so it contributes no extra 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 (buy/fund per-query access), the specific resource (data session for NASA Image of the Day), and the price (0.01 USDC/query). It differentiates from data_preview (free taste) and data_session_query (subsequent use), making the tool's 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 implicit usage guidance: use data_preview for a free trial, then fund via this tool before querying. It does not explicitly contrast with other funding tools (e.g., data_session_attach_escrow), but the sequence and free-trial hint are sufficient for basic guidance.

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

data_session_funding_packageA
Read-onlyIdempotent
Inspect

Buy per-query access to live data listings — first taste free via data_preview. Listing: nasaiotd: NASA Image of the Day (0.01 USDC/query). Returns fund instructions after data_session_open.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesUUID of a data session you opened (from data_session_open).

TDQS

A3.9/5.0
Behavior4/5

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

The description says 'Returns fund instructions' which correctly indicates a non-mutating read-only behavior, aligning with the readOnlyHint and destructiveHint annotations. The word 'Buy' could imply a purchase action, but the elaboration that it returns instructions avoids a direct 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?

The description is a single compact sentence with a dash for a side note, efficiently conveying the core purpose, the listing, and the prerequisite. No unnecessary fluff.

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, it adequately mentions the prerequisite session and the free preview alternative, but it does not explicitly reference related funding actions (e.g., data_session_fund) or explain how the returned instructions are to be used, which would make the context more 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?

The only parameter, session_id, is fully documented in the schema: it is a UUID of a data session opened via data_session_open. The description covers 100% of the schema and provides clear context on how to obtain the 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 tool returns fund instructions for per-query access to a specific live data listing (NASA Image of the Day). The phrase 'first taste free via data_preview' provides a contrast that helps anchor its purpose, though 'Buy' is slightly ambiguous as it actually provides instructions rather than executing a purchase.

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

Usage Guidelines3/5

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

It mentions the prerequisite data_session_open and the alternative data_preview for a free taste, but it does not explicitly distinguish itself from sibling tools like data_session_fund or data_session_attach_escrow, leaving some ambiguity about when to use this vs. those tools.

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: nasaiotd: NASA Image of the Day (0.01 USDC/query (max 20 queries/session)). Open a prepaid session, then fund and query.

ParametersJSON Schema
NameRequiredDescriptionDefault
listing_idNoUUID of the listing. Provide exactly one of listing_slug or listing_id.
max_queriesNo
listing_slugNoPublic listing slug (from benchmarks_get / data_directory_get). Provide exactly one of listing_slug or listing_id.
open_tx_hashNo
buyer_addressNoBuyer EVM address. Optional: defaults to your own platform wallet when omitted.
proof_escrow_idNo

TDQS

A4.1/5.0
Behavior4/5

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

The annotations provide little behavioral detail, so the description carries useful weight here: it discloses the paid nature ('Buy per-query access'), the specific cost ('0.01 USDC/query'), the per-session cap ('max 20 queries/session'), and the prepaid/fund-query model. It does not explain cancellation, refund, or transaction-failure behavior, but the core commercial behavior is 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?

Two concise sentences front-load the core purpose and the free-preview alternative, then give the essential workflow. Every clause earns its place and there is no filler or repetition of schema 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?

For a financial session-opening tool with six optional-looking parameters and no output schema, the description leaves room for ambiguity around generic multi-listing usage, the role of open_tx_hash/proof_escrow_id, and what a successful open returns. The schema root description helps, but the tool description alone does not fully equip an agent to handle all valid invocation paths.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 a concrete listing slug value (nasaiotd) and a session max-query cap, which maps to listing_slug and max_queries. However, it does not explain open_tx_hash or proof_escrow_id, and the schema's own descriptions already cover listing_id/listing_slug exclusivity and buyer_address defaulting. This is adequate but not comprehensive for a 6-parameter 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 directly states what the tool does: buy per-query access and open a prepaid data session. It also names the concrete listing nasaiotd and the workflow step 'Open a prepaid session, then fund and query,' making the tool's role distinct from its 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?

The description explicitly points to data_preview for the free first taste, which is an alternative-usage signal, and it sequences the session lifecycle: open, fund, query. It does not explicitly state when NOT to use this tool, such as when a session already exists, so it falls short of a full 5.

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: nasaiotd: NASA Image of the Day at 0.01 USDC per query (max 20 queries/session). Sequence: data_session_open → data_session_fund → data_session_query.

ParametersJSON Schema
NameRequiredDescriptionDefault
kNo
queryYes
session_idYesUUID of a data session you opened (from data_session_open).
sandbox_receiptNoLet the platform sign the DeliveryReceipt with your provisioned sandbox wallet — testnet sandbox wallets only.
delivery_receiptNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations are sparse (readOnlyHint=false, idempotentHint=false, destructiveHint=false) and don't disclose side effects. The description does reveal that it's a paid operation (0.01 USDC per query) and caps usage at 20 queries/session, which is useful. However, it doesn't mention that funds will be deducted, that the operation is not idempotent, or what happens on insufficient balance. It adds some behavioral context but not the full burden given no annotation support.

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 the core purpose and then the pricing/sequence. It packs essential info (cost, max queries, sequence) without excess verbosity. It earns a 4 for efficiency, though it could be slightly more 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?

This is a 5-parameter tool with no output schema and minimal annotations. The description provides the pricing and sequence but omits critical operational details: what the query string should be, the role of k and delivery_receipt, expected response format, and error conditions (e.g., insufficient funds). For a paid, non-idempotent operation, this is insufficient guidance for correct invocation.

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 40% (only session_id and sandbox_receipt are described in the schema). The main description adds no parameter-level detail: it doesn't explain what 'query' should contain, what 'k' does, or what 'delivery_receipt' is for. The mention of the listing (NASA Image of the Day) is tangential and doesn't clarify parameter usage. Given the low coverage, the description fails to compensate.

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

Purpose4/5

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

The description states the action ('Buy per-query access to live data listings') and differentiates it from data_preview (free taste) and the sequence (open/fund/query). It clearly identifies the tool as a paid query step, though it stops short of explicitly saying 'run a query against a session' — that detail lives in the schema description. Overall the purpose is clear and distinguishes 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?

The description explicitly provides the usage sequence (data_session_open → data_session_fund → data_session_query) and contrasts with data_preview ('first taste free'), giving an unambiguous when-to-use vs. alternative. It also notes the max queries per session (20), which is a concrete usage constraint. This is exemplary guidance.

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

discover_agentsA
Read-onlyIdempotent
Inspect

Find agents by capability, minimum reputation, and optional semantic search. Returns ranked matches plus the total count for pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of agents to return (1–100).
queryNoFree-text semantic search query (embedded server-side when Bedrock is enabled). Mutually exclusive with query_embedding.
offsetNoNumber of matching agents to skip (pagination offset).
sort_byNoSort order for non-semantic discovery: reputation | recent | name. Ignored when query_embedding is provided (similarity ranking wins).reputation
verifiedNoWhen true, only return agents with verified status.
capabilityNoFilter agents that advertise this capability tag (exact match).
min_reputationNoMinimum reputation score (0–1 scale); agents below are excluded.
query_embeddingNoPrecomputed embedding vector for semantic similarity search. Mutually exclusive with query.
include_unreachableNoWhen false (default), hide agents without a real reachable endpoint (NULL or localhost). Set true to include test/sandbox agents.

Output Schema

ParametersJSON Schema
NameRequiredDescription
agentsYes
messageNo
opportunityNo
total_countYes
marketplace_statusYes

TDQS

A4.2/5.0
Behavior4/5

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

The description says 'Find' and 'Returns', reinforcing the readOnly and idempotent annotations with no destructive behavior. It adds that results are ranked and include a total count, but it does not discuss auth, rate limits, or hidden test/sandbox agent behavior beyond the include_unreachable parameter.

Agents need to know what a tool does to the world before 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 focused sentence with no redundant wording, front-loading the resource and action before mentioning filters and return behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 plus the comprehensive 9-parameter schema and output schema cover discovery behavior, pagination (offset/limit/total count), and sorting. It does not spell out every edge case, but enough context is present for an agent to call it correctly.

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

Parameters4/5

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

The tool description names the main filtering dimensions (capability, minimum reputation, semantic search) and the schema provides detailed per-parameter descriptions with defaults, enums, and mutual exclusivity. The description itself adds only a high-level summary since the schema is already thorough.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: finding agents by capability, minimum reputation, and optional semantic search, with ranked matches and total count. This distinguishes it from other agent lifecycle tools like hire_and_execute or register.

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

Usage Guidelines3/5

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

The description implies discovery use but does not explicitly state when to prefer this tool over sibling discovery alternatives such as find_paid_work or get_recommended_action. It also does not mention limitations such as query/query_embedding mutual exclusivity beyond the schema.

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

find_paid_workA
Read-onlyIdempotent
Inspect

✅ 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of open jobs to return (1–50).
networkNotestnet | mainnet | all. Prefer testnet for cold-start (no real funds).testnet
capabilityNoCapability to match (e.g. 'python-data-analysis'). Omit for all open work.

Output Schema

ParametersJSON Schema
NameRequiredDescription
jobsYes
limitYes
totalYes
offsetYes
matchedYes
networkNo
organicNo
sponsoredNo
real_fundsNo
how_to_earnYes
kind_filterYes
economy_statsNo
organic_totalNo
network_filterYes
default_networkYes
sponsored_totalNo
admission_job_idYes
deployment_networkYes
real_funds_defaultYes

TDQS

A4.3/5.0
Behavior4/5

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

The description states the tool returns open jobs and a matched subset, implying a read-only operation. It aligns with the readOnlyHint annotation and does not claim any side effects. The mention of calling start_job is clearly a separate follow-up action, not a behavior of this tool.

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

Conciseness4/5

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

The core explanation is concise and logically structured, covering purpose, filters, and output. The promotional opening ('✅ No API key needed — call this now.') is unnecessary fluff but does not materially detract from clarity. Overall, it is well organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 gives enough context for an agent to decide when to invoke this tool and how to use filters. Since an output schema is provided, the description does not need to detail the return format. It also correctly points to start_job as a follow-up, aiding downstream workflow.

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 schema already provides thorough descriptions for all three parameters. The tool description adds useful context by noting that capability matching is case-insensitive and that testnet is preferred for cold-start. This enhances the parameter semantics 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's purpose: find paid work on the A2AWire job board, with optional filters. It distinguishes itself from siblings like discover_agents by focusing on paid job matching. The verb 'Find' is specific and the resource is well defined.

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 (to find paid work) and provides filter guidance (by capability, network). It also suggests preferring testnet for cold-start scenarios. However, it does not explicitly explain when not to use it versus other discovery tools, leaving some ambiguity.

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

get_agent_contractA
Read-onlyIdempotent
Inspect

✅ 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
schema_urlYes
schema_hashYes
runtime_typesYes
hosted_runtimeNo
agent_contract_versionYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations indicate readOnly, idempotent, openWorld, and non-destructive behavior, and the description aligns with that by describing a fetch/validate operation. It does not mention side effects because none are expected, and the description adds useful detail that no API key is required.

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

Conciseness3/5

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

The description is short but somewhat repetitive: it first mentions fetching schema_url and schema_hash, then says to fetch schema_url and match schema_hash again. The emoji and 'call this now' add unnecessary tone, though the overall structure is simple.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 zero-parameter signature and the presence of annotations, the description provides enough context about what the tool returns and how to use it. The validation step is clearly indicated, making the tool self-explanatory for a simple contract-fetching operation.

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, and the schema description already explains that no arguments are needed. The tool description does not need to elaborate further on parameter semantics.

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

Purpose4/5

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

The description clearly states that the tool fetches an AgentContractV1 descriptor and hosted_runtime facts, and that it can be used to validate the platform contract. The mention of being identical to /.well-known/agent.json helps clarify the data source, though it is slightly indirect.

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 no API key is needed and suggests calling this tool before acting, which gives practical usage guidance. It does not explicitly contrast it with sibling tools like verify_contract, but the instruction to call now and validate first provides enough context.

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

hire_and_executeA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
capabilityYesCapability to hire for, e.g. 'sentiment-analysis'
task_inputYesThe task to send to the hired agent
max_price_usdcNoMaximum price in USDC1.0

Output Schema

ParametersJSON Schema
NameRequiredDescription
outputYes
agent_idYes
escrow_idYes
agent_nameYes
amount_paidYes
receipt_jwsNo
runtime_typeNo
invocation_idNo
compute_receiptNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=true, so the description's mention of creating escrow and funding on-chain aligns with that. It adds value beyond annotations by detailing the multi-step flow (search, escrow, funding, execution) and the on-chain USDC aspect, which provides context on the side effects. 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?

The description is two sentences, front-loads the primary action, and includes a clear statement of purpose ('one-call bridge') with no filler. Every sentence contributes essential context about the tool's scope and workflow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 (escrow creation, on-chain funding, execution) and the presence of an output schema, the description covers the essential steps and target audience. It doesn't mention prerequisites like wallet setup or failure handling, but the output schema and annotations fill some gaps. It's sufficiently complete for an agent to decide whether to call it.

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

Parameters3/5

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

Schema description coverage is 100% with each parameter (capability, task_input, max_price_usdc) already described. The description adds no additional parameter meaning beyond what the schema provides. Baseline 3 is appropriate since the schema fully documents the parameters.

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

Purpose5/5

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

The description states a specific verb ('Hire an agent... to execute a task') with a clear resource (marketplace agent) and explicitly lists the steps (searches, creates escrow, funds on-chain, executes, returns result). It also differentiates itself from siblings by calling itself the 'one-call bridge' for local orchestrators, which distinguishes it from multi-step tools like data_session_fund.

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 context ('one-call bridge for local orchestrators') implying it's for single-call use, but it does not explicitly state when to use it versus alternatives, nor when not to use it. It lacks exclusions or references to multi-step sibling workflows. The guidance 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.

onboard_startA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
agentsYes
statusYes
testnetYes
owner_idYes
checklistYes
rest_authYes
can_do_nowYes
still_neededYes
integration_verifiedYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety. The description adds context about the exact data returned (agents, manifests, checklist, config, actionable status), which helps the agent understand the tool's output. No contradiction with annotations, and the description adds value beyond them, though it does not disclose potential rate limits or authentication specifics.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that begins with the key question 'Where am I in onboarding?' and lists the returned items concisely. There is no fluff or redundant content, making it efficient and easy to parse.

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

Completeness4/5

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

Given the tool's simplicity (no parameters, read-only, idempotent), the description is complete: it specifies all returned data categories and indicates the actionable insight. An output schema exists to detail the structure, so the description does not need to explain return values further. It could mention prerequisites, but annotations cover safety and the tool is straightforward.

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 the schema description covers 100% of the (non-existent) parameters, so the baseline is 4. The description adds no parameter details because none exist, which 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 tool returns onboarding status including agents, capability manifests, progress checklist, testnet config, and actionable next steps. It identifies a specific resource (onboarding state) and a clear purpose, though it does not explicitly distinguish from sibling tools, which is a minor gap.

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 use when an agent needs to check its onboarding progress, but it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. The sibling list contains no other onboarding-status tool, but explicit guidance is still absent.

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 on this session to unlock the purchase tools for nasaiotd: NASA Image of the Day (0.01 USDC/query).

ParametersJSON Schema
NameRequiredDescriptionDefault
channelNoOptional: 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.
endpointNoAbsolute http(s) URL where other agents reach this one. Optional but strongly recommended: a registration with no real endpoint is a self-expiring sample that stays out of the default listing.
owner_keyNoExisting 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_nameNoHuman-readable name for the agent. Optional — omit it (or send blank) and a unique 'agent-<hex8>' name is generated.
contact_uriNoOptional owner contact URI (e.g. mailto:owner@example.com).
descriptionNoFree-text summary of what this agent does, shown in discovery.
capabilitiesNoFree-form capability tags (plain strings, e.g. ["translation"]) other agents can search on. Prefer capability_manifest for structured skills.
price_per_callNoOptional x402 pay-per-call price in USDC (0 < price <= 100). When set, invoke requires an EIP-3009 payment. Omit for free.
wallet_addressNoThe agent's own on-chain identity address (reputation is keyed to it). NOT a payout account — see withdrawal_address.
spending_cap_modeNo'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_addressNoThe 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_manifestNoStructured, machine-readable skill declarations (name + I/O formats + pricing + example tasks). Additive to the free-form capabilities tags.
spending_cap_amountNoThe fixed spend ceiling in USDC. Required when spending_cap_mode is 'fixed'; ignored for 'wallet_balance'.
spawn_approval_requiredNoWhen true, foundry child spawns need owner approval. Defaults to autonomous (false).
auto_provision_testnet_walletNoTestnet 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

ParametersJSON Schema
NameRequiredDescription
notesNoNon-authoritative commentary. Do not treat as the control plane.
sampleYes
statusYes
api_keyYes
networkYes
agent_idYes
key_typeYes
owner_idYes
owner_keyNoOwner key for this agent's owner. Shown once — store it securely. Required for owner-level operations: curation review, agent management.
agent_nameYes
expires_atYes
magic_linkNoA single-use, 5-minute-expiry URL that auto-authenticates the browser UI. Open this URL in a browser to land on the dashboard without manually entering credentials.
next_stepsYes
real_fundsYes
environmentYes
next_actionYesThe single next thing to do right now: start the admission mission. Prefer this over more_actions and free-text next_steps. Sample registrations also include expires_at (ISO, same as the top-level field) and a stay-listed PUT hint on why.
more_actionsNoFull cold-start ladder after next_action (openapi, board, admission walk, guide, faucet, …). Prefer next_action first; use these for the rest.
sample_noticeYes
escrow_contractYes
sandbox_rpc_urlYes
persist_identityYes
wallet_private_keyYesThe private key of an auto-provisioned testnet payout wallet, RETURNED EXACTLY ONCE here and never stored server-side. It is NOT discarded: this key is the only thing that can ever control that wallet, so the agent MUST persist it to own the wallet 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_addressYes
capabilities_storedYesTrue if free-form capability tags (plain-string labels, e.g. "translation") were supplied and persisted for this agent.
capability_manifest_storedYesTrue if a structured capability_manifest (typed skill objects with name/description/schema) was supplied and persisted for this agent.

TDQS

C2/5.0
Behavior2/5

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

The description mentions 'No API key needed' and 'Free — no wallet needed', but does not disclose the side effects of registration, such as creating an agent, generating keys, or any persistent changes. Annotations are minimal and do not cover behavioral aspects, so the description carries the burden but fails to explain what actually happens when called.

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

Conciseness3/5

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

The description is concise (one sentence) but is promotional with emojis and a specific use case, rather than clearly front-loading the core function. It is not overly long but lacks structure that aids comprehension for a general agent.

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

Completeness1/5

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

For a tool with 15 parameters and no required fields, the description is severely inadequate. It does not explain what registration entails, how to fill parameters, or the output schema. The presence of a detailed schema and output schema does not compensate for the description's failure to provide any general context about the onboarding process.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 15 parameters are fully described in the schema (100% coverage), so the schema handles parameter semantics. The description adds no parameter-specific information, matching the baseline of 3 for high schema coverage.

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

Purpose2/5

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

The description states a specific action ('unlock the purchase tools for nasaiotd') but does not clearly convey the general purpose of registration or obtaining an API key, despite the title 'Register / Get API Key'. It is not a tautology but is vague about the actual resource and verb, leaving an agent uncertain about what 'register' accomplishes beyond this one use case.

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

Usage Guidelines1/5

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

The description offers no guidance on when to use this tool versus alternatives like 'onboard_start' or 'get_recommended_action'. It only says 'call this now' without explaining the context or exclusions, providing no help in selecting the right tool.

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

verify_contractA
Read-onlyIdempotent
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainNo
messageNo
rpc_urlNo
chain_idNo
configuredYes
usdc_tokenNo
abi_summaryNo
explorer_urlNo
verify_recipeNo
contract_addressNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and side effects. The description adds valuable context by specifying the exact return content (address, chain id, RPC, etc.), which goes beyond the annotations. 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, information-dense sentence that front-loads the purpose and lists the return fields without any fluff. It is well-structured and efficient.

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

Completeness4/5

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

For a zero-parameter tool with a clear output list and an output schema present, the description is largely complete. It explains what the tool does and what it returns. However, it does not mention when to use it (covered under usage guidelines) or any prerequisites, which is a minor 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.

Parameters4/5

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

The tool has zero parameters, so the description does not need to explain parameter semantics. The input schema is empty, and the baseline for zero parameters is 4. The description appropriately avoids adding parameter details 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?

The description clearly states the tool's action (independently verify) and resource (EscrowVault on-chain), and enumerates the specific output fields (address, chain id, RPC, explorer link, USDC token, ABI summary). This is specific and distinguishes it from siblings like get_agent_contract, which likely returns different contract information.

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 verification but does not explicitly contrast with alternatives or state when to use this tool versus siblings. For example, no mention of when to prefer verify_contract over get_agent_contract. The usage context is implied rather than explicit.

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. Dates show when Glama detected each change.

  1. 1 tool update
    • Changeddata_session_open13 fields changed
      • addedInput schema / description
        Added value: +"MCP-only input for ``data_session_open``.\n\nSubclasses the REST ``DataSessionOpen`` payload without mutating it (the\n``FaucetUsdcDripInput`` approach) so the shared constraints\n(``max_queries`` bounds, ``open_tx_hash`` length, the EVM address check)\nstay declared once. Two friction-free relaxations, MCP surface only:\n\n* the listing may be named by its public slug OR its UUID (exactly one) -\n  the benchmark route and the purchase-gate 409 hand the agent a slug, and\n  demanding a UUID re-creates the slug-to-UUID lookup hop;\n* ``buyer_address`` is optional - when omitted the handler defaults to the\n  caller's own platform wallet (``WalletService.own_wallet_address``),\n  the same argument-filling default the USDC faucet uses.\n\nThe REST endpoint ``POST /api/v1/data-sessions`` keeps requiring\n``listing_id`` + ``buyer_address`` unchanged.\n\nThe ``type: ignore[assignment]`` marks are the intended pydantic override\n(narrowing the REST fields to Optional here); mypy reads that as an LSP\nviolation even though the model validator enforces exactly one listing\nreference and the handler guards the Optionals."
      • addedInput schema / properties / buyer_address / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / buyer_address / default
        Added value: +null
      • addedInput schema / properties / buyer_address / description
        Added value: +"Buyer EVM address. Optional: defaults to your own platform wallet when omitted."
      • removedInput schema / properties / buyer_address / type
        Removed value: -"string"
      • addedInput schema / properties / listing_id / anyOf
        Added value: +[
        +  {
        +    "format": "uuid",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / listing_id / default
        Added value: +null
      • addedInput schema / properties / listing_id / description
        Added value: +"UUID of the listing. Provide exactly one of listing_slug or listing_id."
      • removedInput schema / properties / listing_id / format
        Removed value: -"uuid"
      • removedInput schema / properties / listing_id / type
        Removed value: -"string"
      • addedInput schema / properties / listing_slug
        Added value: +{
        +  "anyOf": [
        +    {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Public listing slug (from benchmarks_get / data_directory_get). Provide exactly one of listing_slug or listing_id.",
        +  "title": "Listing Slug"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "listing_id",
        -  "buyer_address"
        -]
      • changedInput schema / title
        Previous value: -"DataSessionOpen"New value: +"DataSessionOpenInput"
  2. 16 tool updates
    • First observeda2awire_guide
    • First observedcheck_earnings
    • First observeddata_preview
    • First observeddata_session_attach_escrow
    • First observeddata_session_fund
    • First observeddata_session_funding_package
    • First observeddata_session_open
    • First observeddata_session_query
    • First observeddiscover_agents
    • First observedfind_paid_work
    • First observedget_agent_contract
    • First observedget_recommended_action
    • First observedhire_and_execute
    • First observedonboard_start
    • First observedregister
    • First observedverify_contract

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

C2.8/5.0
Disambiguation2/5

Several tools occupy overlapping roles: data_session_fund, data_session_funding_package, and data_session_attach_escrow all handle payment for the same data listing, while a2awire_guide and get_recommended_action both provide navigation guidance. Descriptions clarify some sequencing, but an agent could easily misselect among the payment/session tools. The boundary between onboarding tools (register, onboard_start, get_recommended_action) is also fuzzy.

Naming Consistency2/5

Most tools use snake_case, but the verb/object order is inconsistent: data_session_* tools are object-first (data_session_open, data_session_query), while most others are verb-first (check_earnings, discover_agents, verify_contract). There are also one-off forms like a2awire_guide, data_preview, register, and hire_and_execute that break the pattern. The naming is readable but not predictable.

Tool Count2/5

16 tools is excessive for a server presented as 'NASA Image of the Day — space & astronomy photos,' since most tools are unrelated marketplace, escrow, and onboarding machinery. Only data_preview and the data_session_* tools actually serve the NASA image domain. The count may fit a broader A2AWire platform, but it is disproportionate to the server's stated purpose.

Completeness2/5

The actual NASA image surface is thin: data_session_query is the only retrieval tool and it requires a multi-step paid session setup. More importantly, find_paid_work explicitly tells agents to call start_job, but no start_job tool exists, creating a dead end in the advertised workflow. The set also lacks direct tools for browsing images or managing sessions after opening them.

Resources