Skip to main content
Glama

Refresh an x402 Service Profile

ontario_refresh-listing

Attaches a fresh live readiness observation to an existing paid Ontario provider profile's canonical HTML, JSON twin, and badge. This tool cannot edit provider metadata, improve a grade by payment, or buy ranking or traffic. Freshness maintenance is automatic and included during the launch passport's first 30 days. [PAID: 0.10 USDC via x402 on Base. Two-step flow: a call without payment returns MCP PaymentRequired; the retry carries the signed PaymentPayload in params._meta['x402/payment']. The legacy _x402_payment base64 argument is also supported. Signing happens in the caller's wallet.]

Input Schema

NameRequiredDescriptionDefault
listing_idYesExisting paid provider profile id.
_x402_paymentNobase64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.
paid_refresh_txNoOne-use retry reference for a settled refresh that could not complete.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / paid_refresh_tx / description
      Previous value: -"One-use retry reference only when a settled refresh could not complete."New value: +"One-use retry reference for a settled refresh that could not complete."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "anyOf": [
      +    {
      +      "properties": {
      +        "buyer_guide": {
      +          "format": "uri",
      +          "type": "string"
      +        },
      +        "hint": {
      +          "type": "string"
      +        },
      +        "payment_policy": {
      +          "format": "uri",
      +          "type": "string"
      +        },
      +        "payment_required": {
      +          "const": true
      +        },
      +        "x402": {
      +          "type": [
      +            "object",
      +            "string"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "payment_required",
      +        "x402",
      +        "hint"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": true,
      +      "properties": {
      +        "boundary": {
      +          "description": "Payment buys a new observation, not a better grade or guaranteed discovery.",
      +          "type": "string"
      +        },
      +        "listing": {
      +          "properties": {
      +            "id": {
      +              "pattern": "^lst_[A-Za-z0-9_-]+$",
      +              "type": "string"
      +            },
      +            "verification": {
      +              "type": "object"
      +            },
      +            "verification_status": {
      +              "enum": [
      +                "ready",
      +                "close",
      +                "needs_work",
      +                "pending"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "verification_status",
      +            "verification"
      +          ],
      +          "type": "object"
      +        },
      +        "payment": {
      +          "description": "Settlement or one-use retry reference, never a wallet signing secret.",
      +          "type": "object"
      +        },
      +        "profile": {
      +          "properties": {
      +            "evidence": {
      +              "type": "object"
      +            },
      +            "listing": {
      +              "type": "object"
      +            },
      +            "schema": {
      +              "const": "ontario.x402_listing_profile.v1"
      +            }
      +          },
      +          "required": [
      +            "schema",
      +            "listing",
      +            "evidence"
      +          ],
      +          "type": "object"
      +        },
      +        "provider_next_steps": {
      +          "required": [
      +            "schema",
      +            "boundary"
      +          ],
      +          "type": "object"
      +        },
      +        "status": {
      +          "const": "refreshed"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "payment",
      +        "listing",
      +        "profile",
      +        "provider_next_steps",
      +        "boundary"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the annotations, the description discloses the payment model (0.10 USDC via x402 on Base), the two-step PaymentRequired retry flow, where the signed payload goes, legacy payment support, and that signing happens in the caller's wallet. It also explains what the tool cannot do and notes automatic freshness during the first 30 days, giving strong behavioral context for a mutation 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 purpose is front-loaded and the payment details are grouped at the end. Every sentence carries useful information, though the negative constraint sentence and the payment paragraph make it denser than a minimal definition.

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 paid mutation tool with annotations and an output schema, the description is complete enough: it covers the action, payment prerequisites, retry mechanics, limitations, and freshness timing. Return-value details can be left to the output schema.

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 useful meaning beyond the schema by explaining the x402 payment flow, the params._meta['x402/payment'] retry location, and support for the legacy _x402_payment base64 argument. It does not explain paid_refresh_tx in detail beyond the schema description.

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 a specific verb and resource: attaching a fresh live readiness observation to an existing paid Ontario provider profile's canonical HTML, JSON twin, and badge. It also draws boundaries by saying it cannot edit metadata, improve grades by payment, or buy ranking/traffic. It does not explicitly distinguish itself from the sibling ontario_validate-refresh tool, so it falls short of a 5.

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 when the tool is useful by mentioning freshness maintenance and the first 30 days of the launch passport, but it does not explicitly state when to use this tool versus ontario_validate-refresh or other sibling tools. The negative constraints clarify what the tool cannot do, but they are not alternatives guidance.

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.