Skip to main content
Glama

List endpoints and prices (free)

genesis402_catalog
Read-only

List and filter Genesis402 endpoints with prices, schemas, and titles to find one lacking a dedicated tool, then pass its name and parameters to genesis402_call.

Instructions

Free, no payment, read-only. Lists Genesis402 endpoints with name, HTTP path, USD price, title and parameter schema, read from the rail's live /.well-known/x402 manifest (refreshed every 10 minutes). Use it to find an endpoint that has no dedicated genesis402_* tool, then pass its exact name and parameters to genesis402_call. Filter by keyword to keep the list short (e.g. "defi", "sec", "wiki"); with no filter it returns every endpoint, up to 400. Returns the rail origin, total endpoint count, number matched, the current payer mode (QUOTE_ONLY, HOSTED or LIVE with its cap) and the matching endpoints.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filterNoOptional keyword to narrow the list, matched against endpoint name, title and tags, e.g. "defi", "sec", "price". Omit for all endpoints.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
originYesRail origin the catalog was read from.
matchedYesNumber of endpoints matching the filter.
endpointsYesMatching endpoints, at most 400.
payer_modeYesQUOTE_ONLY, HOSTED, or LIVE (cap $X) for a local self-paying server.
total_endpointsYesNumber of endpoints in the live manifest.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.3.4
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "endpoints": {
      +      "description": "Matching endpoints, at most 400.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "name": {
      +            "description": "Endpoint name to pass to genesis402_call.",
      +            "type": "string"
      +          },
      +          "parameters": {
      +            "description": "Parameter schema from the manifest."
      +          },
      +          "path": {
      +            "description": "HTTP path on the rail.",
      +            "type": "string"
      +          },
      +          "price_usd": {
      +            "description": "Price per call in USD, null if the manifest carries none.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "title": {
      +            "description": "Short human title.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "path",
      +          "price_usd"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "matched": {
      +      "description": "Number of endpoints matching the filter.",
      +      "type": "integer"
      +    },
      +    "origin": {
      +      "description": "Rail origin the catalog was read from.",
      +      "type": "string"
      +    },
      +    "payer_mode": {
      +      "description": "QUOTE_ONLY, HOSTED, or LIVE (cap $X) for a local self-paying server.",
      +      "type": "string"
      +    },
      +    "total_endpoints": {
      +      "description": "Number of endpoints in the live manifest.",
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "origin",
      +    "total_endpoints",
      +    "matched",
      +    "payer_mode",
      +    "endpoints"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changedv0.3.2
    • addedInput schema / properties / filter / description
      Added value: +"Optional keyword to narrow the list, matched against endpoint name, title and tags, e.g. \"defi\", \"sec\", \"price\". Omit for all endpoints."
  3. First observedv0.3.1

TDQS

A4.8/5.0
Behavior5/5

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

Beyond readOnlyHint/openWorldHint it discloses cost ('Free, no payment'), data provenance and freshness ('live /.well-known/x402 manifest, refreshed every 10 minutes'), result ceiling ('up to 400'), and the payer-mode states returned (QUOTE_ONLY, HOSTED, LIVE with cap). These are operationally material facts the annotations do not carry.

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?

Front-loads the key constraints (free, read-only, source) and stays dense with useful detail, but it is long for a one-parameter listing tool and the return-value enumeration slightly overlaps the output schema.

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?

An output schema exists, yet the description still frames the shape of the result (origin, total count, matched count, payer mode, endpoints), and it covers cost, freshness, limits, and the follow-up tool. Nothing needed to invoke it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds value: it explains the filter's matching fields, gives concrete examples ('defi', 'sec', 'wiki'), and notes the behavioral consequence of omitting it (returns everything, up to 400).

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?

States a specific verb and resource ('Lists Genesis402 endpoints with name, HTTP path, USD price, title and parameter schema') and positions itself as the discovery surface versus the dedicated genesis402_* tools. An agent can distinguish it from siblings like genesis402_call or genesis402_sec_financials immediately.

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

Usage Guidelines5/5

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

Explicitly says when to use it ('find an endpoint that has no dedicated genesis402_* tool'), what to do next ('pass its exact name and parameters to genesis402_call'), and when to narrow results ('Filter by keyword to keep the list short... with no filter it returns every endpoint'). Both the use case and the alternative path are named.

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