Skip to main content
Glama

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

data_session_open

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.

Input Schema

TableJSON 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

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed13 schema 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. First observed

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.

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