Ontario Protocol

Check x402 endpoints before spending: free readiness and policy checks, paid trust evidence.

我該用這個嗎

品質與安全性

B
說明品質
99%
結構描述完整度
99%
命名品質
65%
汙染風險
0%
權限相符程度
100%
協定合規性
100%

發現項目(21)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded string在 ontario_list-service 中
  • MEDIUMTool description contains suspicious base64-like encoded string在 ontario_refresh-listing 中
  • MEDIUMTool description contains suspicious base64-like encoded string在 ontario_agent-trust-scan 中
  • MEDIUMTool description contains suspicious base64-like encoded string在 ontario_x402-implementation-audit 中
  • MEDIUMTool description contains suspicious base64-like encoded string在 ontario_reputation 中
  • MEDIUMTool description contains suspicious base64-like encoded string在 ontario_agent-pay-query-v2 中
  • MEDIUMTool description contains suspicious base64-like encoded string在 ontario_x402-demand-authenticity 中
  • MEDIUMTool description contains suspicious base64-like encoded string在 ontario_list-agent 中
  • LOWTool 'ontario_validate-service' doesn't follow camelCase/snake_case在 ontario_validate-service 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~11,186Token(工具定義)
~5.1 KB典型回應大小
顯著的注意力影響(128k 上下文的 8.74%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "ontario-protocol": {
      "url": "https://ontarioprotocol.com/mcp"
    }
  }
}

遠端端點

https://ontarioprotocol.com/mcpstreamable-http

它能做什麼

工具清單

工具(21)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢ontario_purchase_router(free_preflight_complete, max_usdc, network, task, wallet_enabled)

Free deterministic pre-purchase routing across Ontario tools. Use this before any paid Ontario tool to decide whether the task is free-only, needs free preflight, or is eligible for a paid result after wallet, Base network, and explicit budget gates. Natural endpoint-verification tasks route to the free readiness verifier and disclose the optional 0.002 USDC settlement-backed receipt only when extra audit evidence is needed. Provider jobs such as publishing, registering, or making an x402 endpoint discoverable can route to the self-serve 0.50 USDC publication product after preflight. Existing paid profiles can route to the 0.10 USDC evidence refresh only after the free refresh validator. Empty calls return safe free discovery guidance instead of guessing a purchase. This tool never invokes another tool, signs a payload, or spends funds.

輸入結構描述

{
  "type": "object",
  "properties": {
    "free_preflight_complete": {
      "default": false,
      "description": "True only after the recommended free check has completed for this task.",
      "type": "boolean"
    },
    "max_usdc": {
      "anyOf": [
        {
          "pattern": "^(?:(?:0|[1-9][0-9]{0,2})(?:\\.[0-9]+)?|1000(?:\\.0+)?)$",
          "type": "string"
        },
        {
          "maximum": 1000,
          "minimum": 0,
          "type": "number"
        }
      ],
      "description": "Optional owner-authorized per-call USDC ceiling from 0 to 1000. Use a unitless JSON number or decimal string, such as 0.5 or '0.50'; do not add a currency symbol or write 'USDC'. Omit when no budget is authorized; a budget is only a ceiling and does not grant spending authority. The router never increases it.",
      "examples": [
        "0",
        "0.002",
        "0.10",
        "0.50",
        0.5
      ]
    },
    "network": {
      "default": "eip155:8453",
      "description": "Wallet policy network; Ontario paid tools currently require Base mainnet.",
      "type": "string"
    },
    "task": {
      "description": "Public task description only; never include credentials or private customer data.",
      "examples": [
        "Verify endpoint readiness before payment",
        "Publish my x402 endpoint as a public service profile",
        "Refresh my existing x402 service profile",
        "Create a settlement-backed payment decision receipt"
      ],
      "maxLength": 500,
      "minLength": 3,
      "type": "string"
    },
    "wallet_enabled": {
      "default": false,
      "description": "True only when the caller can locally sign an x402 PaymentPayload.",
      "type": "boolean"
    }
  },
  "required": [
    "task"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "decision": {
      "enum": [
        "free_only",
        "run_free_preflight",
        "wallet_required_use_free",
        "unsupported_network_use_free",
        "budget_required_use_free",
        "over_budget_use_free",
        "paid_tool_unavailable_use_free",
        "paid_recommended"
      ],
      "type": "string"
    },
    "free_tool": {
      "type": "object"
    },
    "gates": {
      "type": "object"
    },
    "input_guidance": {
      "additionalProperties": true,
      "description": "Safe free task examples returned when an MCP caller invokes the router without a public task.",
      "type": "object"
    },
    "listing_maintenance_path": {
      "additionalProperties": true,
      "description": "Present for existing-profile refresh intent. Gives the free validator followed by the gated paid refresher.",
      "type": "object"
    },
    "next_action": {
      "type": "string"
    },
    "optional_paid_upgrade": {
      "description": "A non-recommended upgrade disclosed after a matching free route. The caller should stop after the free result unless the stated evidence condition applies.",
      "type": [
        "object",
        "null"
      ]
    },
    "paid_candidate": {
      "type": [
        "object",
        "null"
      ]
    },
    "payment_flow": {
      "type": "object"
    },
    "privacy": {
      "type": "string"
    },
    "provider_publication_path": {
      "additionalProperties": true,
      "description": "Present for provider-publication intent. Gives the free launch-kit and validator followed by the gated paid publisher.",
      "type": "object"
    },
    "reasons": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "router_follow_up": {
      "additionalProperties": true,
      "description": "Non-spending request template for rerunning the router after the free preflight.",
      "type": "object"
    },
    "schema": {
      "const": "ontario.purchase_router.v1"
    },
    "selected_tool": {
      "type": "object"
    },
    "status": {
      "const": "ok"
    },
    "task_category": {
      "type": "string"
    },
    "trust_boundary": {
      "type": "string"
    }
  },
  "required": [
    "schema",
    "status",
    "decision",
    "task_category",
    "selected_tool",
    "gates",
    "next_action",
    "trust_boundary"
  ],
  "additionalProperties": true
}
⚪ontario_task_fit(allow_typesafe, free_preflight_complete, max_usdc, network, task, ...)

Free task-to-tool matching with an optional Jev second opinion. With allow_typesafe=true, your public task and Ontario's public tool descriptions are sent to TypeSafe for Jev inference. Do not supply secrets, personal data, private URLs, or customer content. Ontario does not persist task text here. TypeSafe processing is subject to its policies; zero retention is not promised. Without consent, only Ontario's deterministic router is used. Returns a callable tool and input schema, or abstains. Never executes tools or authorizes payment. Model quota exhaustion falls back to deterministic routing.

輸入結構描述

{
  "type": "object",
  "properties": {
    "allow_typesafe": {
      "default": false,
      "description": "With allow_typesafe=true, your public task and Ontario's public tool descriptions are sent to TypeSafe for Jev inference. Do not supply secrets, personal data, private URLs, or customer content. Ontario does not persist task text here. TypeSafe processing is subject to its policies; zero retention is not promised. Without consent, only Ontario's deterministic router is used.",
      "type": "boolean"
    },
    "free_preflight_complete": {
      "default": false,
      "description": "True only after the recommended free check has completed for this task.",
      "type": "boolean"
    },
    "max_usdc": {
      "description": "Explicit owner-approved USDC ceiling; never inferred.",
      "type": "string"
    },
    "network": {
      "default": "eip155:8453",
      "description": "Network permitted by the caller's wallet policy; Ontario paid tools require Base mainnet (eip155:8453).",
      "type": "string"
    },
    "task": {
      "description": "A public capability request, never private task content.",
      "maxLength": 500,
      "minLength": 3,
      "type": "string"
    },
    "wallet_enabled": {
      "default": false,
      "description": "True only when the caller can locally sign an x402 payment; this flag does not authorize spending.",
      "type": "boolean"
    }
  },
  "required": [
    "task"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "payment_authorized": {
      "const": false
    },
    "status": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "payment_authorized"
  ],
  "additionalProperties": true
}
🟢agent_can_pay(agent_policy, endpoint, max_usdc, require_audit_receipt)

Free pre-payment policy decision. Agents ask whether an x402 endpoint should be paid under strict, standard, or permissive policy. The free result is sufficient by default; set require_audit_receipt only when a settlement-backed receipt is required.

輸入結構描述

{
  "type": "object",
  "properties": {
    "agent_policy": {
      "description": "Readiness policy to apply. Use strict unless the operator explicitly permits a different policy.",
      "enum": [
        "strict",
        "standard",
        "permissive"
      ],
      "type": "string"
    },
    "endpoint": {
      "description": "Public x402 endpoint to evaluate before payment; never include credentials or private query parameters.",
      "type": "string"
    },
    "max_usdc": {
      "description": "Caller-approved per-call spending ceiling in decimal USDC, for example 0.01. This check never spends funds.",
      "type": "string"
    },
    "require_audit_receipt": {
      "default": false,
      "description": "Explicitly request the optional paid receipt handoff after an allow decision. This does not submit payment.",
      "type": "boolean"
    }
  },
  "required": [
    "endpoint"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "auditable_paid_continuation": {
      "additionalProperties": true,
      "type": "object"
    },
    "decision": {
      "enum": [
        "allow",
        "review",
        "deny"
      ],
      "type": "string"
    },
    "decision_code": {
      "type": "string"
    },
    "decision_schema_version": {
      "type": "string"
    },
    "declared_price_usdc": {
      "type": "number"
    },
    "endpoint": {
      "type": "string"
    },
    "max_usdc": {
      "type": "number"
    },
    "reasons": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "recommendations": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "report": {
      "additionalProperties": true,
      "type": "object"
    },
    "report_integrity_ok": {
      "type": "boolean"
    },
    "verification_age_hours": {
      "type": "number"
    }
  },
  "required": [
    "decision",
    "decision_code",
    "decision_schema_version"
  ],
  "additionalProperties": true
}
🟢x402_readiness_verify(target_url)

Free check for whether a paid endpoint is ready for agent discovery and x402 payment. Returns a free end-to-end buyer-path diagnostic handoff plus a grade-aware provider handoff: validate listing metadata free before any optional 0.50 USDC publication, and do not pay for publication while the endpoint is not ready-grade.

輸入結構描述

{
  "type": "object",
  "properties": {
    "target_url": {
      "description": "Public service or x402 endpoint URL to inspect without payment. Do not submit credentials, private hosts, or sensitive query parameters.",
      "type": "string"
    }
  },
  "required": [
    "target_url"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "buyer_conversion_next_step": {
      "additionalProperties": true,
      "type": "object"
    },
    "grade": {
      "type": "string"
    },
    "provider_listing_next_step": {
      "additionalProperties": true,
      "type": "object"
    },
    "readiness_score": {
      "type": "number"
    },
    "recommendations": {
      "type": "array"
    },
    "report_id": {
      "type": "string"
    },
    "report_url": {
      "type": "string"
    },
    "signals": {
      "additionalProperties": true,
      "type": "object"
    },
    "status": {
      "type": "string"
    },
    "warnings": {
      "type": "array"
    }
  },
  "required": [
    "status",
    "grade",
    "readiness_score",
    "report_id"
  ],
  "additionalProperties": true
}
🟢bazaar_buyer_intent_gap(buyer_queries, buyer_query, target_url)

Free read-only provider audit that runs Coinbase's indexing preflight and measures one public x402 endpoint across five live CDP Bazaar buyer-search variations. Returns retrieval coverage, observed sample ranks, alternatives, public 30-day call and unique-payer observations, Base USDC price bands, HTTP 402 and metadata readiness, and the activation boundary. Public quality counts may include owner-funded calls and are not revenue. It never signs or settles.

輸入結構描述

{
  "type": "object",
  "properties": {
    "buyer_queries": {
      "description": "Optional explicit portfolio of up to five public buyer phrases. When omitted, Ontario generates four deterministic variants from buyer_query.",
      "items": {
        "maxLength": 160,
        "minLength": 3,
        "type": "string"
      },
      "maxItems": 5,
      "minItems": 1,
      "type": "array"
    },
    "buyer_query": {
      "description": "Public task phrase a funded agent could use in CDP Bazaar search; never include credentials or private customer text.",
      "maxLength": 160,
      "minLength": 3,
      "type": "string"
    },
    "target_url": {
      "description": "Public x402 paid endpoint whose buyer visibility should be measured.",
      "format": "uri",
      "type": "string"
    }
  },
  "required": [
    "target_url",
    "buyer_query"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "buyer_fit": {
      "type": "object"
    },
    "buyer_intent": {
      "type": "object"
    },
    "buyer_intent_portfolio": {
      "type": "object"
    },
    "catalog_visibility": {
      "type": "object"
    },
    "cdp_validation": {
      "type": "object"
    },
    "checked_at": {
      "format": "date-time",
      "type": "string"
    },
    "checks": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "grade": {
      "enum": [
        "metadata_ready",
        "close_to_metadata_ready",
        "needs_work"
      ]
    },
    "max_score": {
      "const": 100
    },
    "next_actions": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "report_id": {
      "pattern": "^bazaar_[a-f0-9]{18}$",
      "type": "string"
    },
    "schema": {
      "const": "ontario.coinbase_bazaar_readiness.v1"
    },
    "score": {
      "maximum": 100,
      "minimum": 0,
      "type": "number"
    },
    "settlement_activation": {
      "description": "Observed indexing and activation state, not a promise of placement or demand.",
      "properties": {
        "activation_required": {
          "type": "boolean"
        },
        "catalog_placement_verified": {
          "type": "boolean"
        },
        "free_check_attempted_settlement": {
          "const": false
        }
      },
      "required": [
        "free_check_attempted_settlement",
        "catalog_placement_verified",
        "activation_required"
      ],
      "type": "object"
    },
    "status": {
      "const": "complete"
    },
    "target_url": {
      "format": "uri",
      "type": "string"
    },
    "trust_boundary": {
      "required": [
        "checks",
        "does_not",
        "methodology",
        "limits"
      ],
      "type": "object"
    }
  },
  "required": [
    "schema",
    "status",
    "report_id",
    "checked_at",
    "target_url",
    "score",
    "grade",
    "checks",
    "catalog_visibility",
    "buyer_intent_portfolio",
    "settlement_activation",
    "trust_boundary"
  ],
  "additionalProperties": true
}
🟢find_x402_tool(active_only, limit, max_usdc, network, query)

Free buyer-side search across Ontario's fresh strict-ready paid profiles, Agentic Market, and Coinbase CDP Bazaar. Rank public, credential-free endpoint candidates by task relevance plus bounded source-reported recent activity, with optional Base/USDC budget filtering. Paid Ontario publication adds no ranking score. This is discovery, not a safety certification; run readiness and can-pay before spending. When the query is provider-side publication intent, skip buyer marketplace search and return the free listing validator followed by the gated 0.50 USDC publication workflow.

輸入結構描述

{
  "type": "object",
  "properties": {
    "active_only": {
      "default": true,
      "description": "When true, require recent source-reported activity or fresh strict-ready Ontario profile evidence.",
      "type": "boolean"
    },
    "limit": {
      "default": 5,
      "description": "Maximum number of task-matched candidates to return, from 1 to 10.",
      "maximum": 10,
      "minimum": 1,
      "type": "integer"
    },
    "max_usdc": {
      "description": "Optional hard USDC price ceiling for returned candidates.",
      "type": "string"
    },
    "network": {
      "description": "Optional network filter, for example eip155:8453 or base.",
      "type": "string"
    },
    "query": {
      "description": "Public task text only; never include credentials or private customer data.",
      "maxLength": 160,
      "minLength": 3,
      "type": "string"
    }
  },
  "required": [
    "query"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "agent_next_step": {
      "type": "string"
    },
    "candidates": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "count": {
      "type": "integer"
    },
    "intent": {
      "description": "provider_publication when provider-side listing intent is routed to the free-first publication workflow.",
      "type": "string"
    },
    "provider_path": {
      "additionalProperties": true,
      "description": "Machine-actionable free validation, optional pending submission, and gated paid publication sequence.",
      "type": "object"
    },
    "query": {
      "type": "string"
    },
    "schema": {
      "const": "ontario.x402_tool_router.v1"
    },
    "selection_method": {
      "type": "string"
    },
    "trust_boundary": {
      "type": "string"
    }
  },
  "required": [
    "schema",
    "query",
    "count",
    "candidates",
    "trust_boundary"
  ],
  "additionalProperties": true
}
🟢x402_launch_kit(asset, description, endpoint, method, name, ...)

Generate a validated listing payload, x402 resource draft, MCP descriptor, GitHub readiness workflow, README snippet, and registry copy for one paid endpoint.

輸入結構描述

{
  "type": "object",
  "properties": {
    "asset": {
      "description": "USDC token contract on the declared payment network; omit to use the Base USDC default.",
      "type": "string"
    },
    "description": {
      "description": "Public description of the task the service performs and the result it returns.",
      "type": "string"
    },
    "endpoint": {
      "description": "Provider-owned public HTTPS x402 endpoint to prepare for listing.",
      "format": "uri",
      "type": "string"
    },
    "method": {
      "default": "POST",
      "description": "HTTP method accepted by the provider endpoint, for example POST.",
      "type": "string"
    },
    "name": {
      "description": "Public name of the provider's service.",
      "type": "string"
    },
    "network": {
      "default": "base",
      "description": "Payment network accepted by the provider, for example base or eip155:8453.",
      "type": "string"
    },
    "owner_contact": {
      "description": "Optional public business contact for generated drafts. Omit private addresses; never supply credentials.",
      "type": "string"
    },
    "owner_url": {
      "description": "Public website identifying the service provider.",
      "format": "uri",
      "type": "string"
    },
    "price_usdc": {
      "description": "The provider's per-call price in decimal USDC, not Ontario's publication fee. Kit generation is free.",
      "type": "string"
    },
    "tags": {
      "description": "Comma-separated public capability tags, for example x402,paid-api,agent-tool.",
      "type": "string"
    }
  },
  "required": [
    "name",
    "description",
    "endpoint",
    "price_usdc"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "artifacts": {
      "description": "Unpublished drafts, not proof of endpoint readiness or catalog placement.",
      "properties": {
        "github_workflow": {
          "type": "string"
        },
        "mcp_registry_publisher_commands": {
          "type": "string"
        },
        "mcp_registry_server_json": {
          "type": "object"
        },
        "mcp_tool_descriptor_draft": {
          "type": "object"
        },
        "ontario_listing_payload": {
          "type": "object"
        },
        "readme_markdown": {
          "type": "string"
        },
        "registry_listing_draft": {
          "type": "object"
        },
        "x402_resource_draft": {
          "type": "object"
        }
      },
      "required": [
        "ontario_listing_payload",
        "x402_resource_draft",
        "mcp_tool_descriptor_draft",
        "github_workflow",
        "readme_markdown",
        "registry_listing_draft",
        "mcp_registry_server_json",
        "mcp_registry_publisher_commands"
      ],
      "type": "object"
    },
    "generated_at": {
      "format": "date-time",
      "type": "string"
    },
    "listing_validation": {
      "properties": {
        "errors": {
          "items": {
            "type": "object"
          },
          "type": "array"
        },
        "normalized": {
          "type": "object"
        },
        "ok": {
          "type": "boolean"
        },
        "warnings": {
          "items": {
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "ok",
        "errors",
        "warnings",
        "normalized"
      ],
      "type": "object"
    },
    "next_steps": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "ontario_calls": {
      "required": [
        "verify_readiness",
        "validate_listing",
        "submit_listing"
      ],
      "type": "object"
    },
    "schema": {
      "const": "ontario.x402_launch_kit.v1"
    },
    "status": {
      "enum": [
        "ready_to_verify",
        "needs_fixes"
      ]
    },
    "trust_boundary": {
      "type": "string"
    }
  },
  "required": [
    "schema",
    "generated_at",
    "status",
    "listing_validation",
    "artifacts",
    "ontario_calls",
    "next_steps",
    "trust_boundary"
  ],
  "additionalProperties": true
}
🟡ontario_validate-service(asset, buyer_query, category, description, endpoint, ...)

Free provider listing preflight. Validate public service metadata before buying the 0.50 USDC Ontario launch passport. Returns field errors or a normalized request and publication decision. Set verify_now only to create a public readiness report. Never publishes a listing, signs or spends; a valid payload alone does not establish readiness or Bazaar placement.

輸入結構描述

{
  "type": "object",
  "properties": {
    "asset": {
      "description": "Payment token contract accepted by the provider on the declared network.",
      "type": "string"
    },
    "buyer_query": {
      "description": "Public task phrase used for the point-in-time Bazaar retrieval audit. It may appear in the public profile.",
      "maxLength": 160,
      "minLength": 3,
      "type": "string"
    },
    "category": {
      "description": "Public capability category for the service, not a claim of certification.",
      "type": "string"
    },
    "description": {
      "description": "Public buyer task, expected result, and important service limitations; do not include confidential text.",
      "minLength": 1,
      "type": "string"
    },
    "endpoint": {
      "description": "Provider-owned public HTTPS x402 endpoint to list. Never include secrets or sensitive query parameters.",
      "format": "uri",
      "type": "string"
    },
    "mcp_remote_url": {
      "description": "Optional public MCP remote for read-only initialize and tools/list checks.",
      "format": "uri",
      "maxLength": 500,
      "type": "string"
    },
    "mcp_server_json_url": {
      "description": "Optional public MCP Registry record or exact-search JSON URL.",
      "format": "uri",
      "maxLength": 500,
      "type": "string"
    },
    "mcp_server_name": {
      "description": "Optional exact MCP Registry server name.",
      "maxLength": 180,
      "type": "string"
    },
    "method": {
      "default": "POST",
      "description": "HTTP method used to call the provider's endpoint.",
      "type": "string"
    },
    "name": {
      "description": "Public service name displayed on the provider profile.",
      "minLength": 1,
      "type": "string"
    },
    "network": {
      "default": "base",
      "description": "Provider payment network, for example base or eip155:8453. Ontario publication itself uses Base USDC.",
      "type": "string"
    },
    "owner_contact": {
      "description": "Optional provider contact retained for operations and omitted from public profiles. Omit when unnecessary; never send wallet credentials.",
      "type": "string"
    },
    "owner_url": {
      "description": "Public website identifying the provider; publication does not verify legal identity.",
      "format": "uri",
      "type": "string"
    },
    "price_atomic": {
      "description": "Optional provider price in six-decimal USDC units: 10000 equals 0.01 USDC. Must match price_usdc when supplied.",
      "minimum": 0,
      "type": "integer"
    },
    "price_usdc": {
      "description": "Provider endpoint price in decimal USDC, at most six decimal places. This is separate from Ontario's 0.50 USDC publication fee.",
      "type": "string"
    },
    "source": {
      "default": "direct_or_unknown",
      "description": "Privacy-safe aggregate acquisition bucket; never a URL or query.",
      "enum": [
        "coinbase_bazaar",
        "direct_or_unknown",
        "github",
        "google_search",
        "internal_navigation",
        "mcp_registry",
        "other_search"
      ],
      "type": "string"
    },
    "tags": {
      "description": "Public capability tags for discovery, up to ten relevant labels.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "verify_now": {
      "default": false,
      "description": "Optionally run live readiness checks and save a public signed report. No listing is published and no payment is made.",
      "type": "boolean"
    }
  },
  "required": [
    "name",
    "description",
    "endpoint",
    "price_usdc"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "errors": {
      "maxItems": 0,
      "type": "array"
    },
    "next_steps": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "normalized": {
      "required": [
        "name",
        "description",
        "endpoint",
        "price_usdc",
        "network"
      ],
      "type": "object"
    },
    "ok": {
      "const": true
    },
    "provider_publication": {
      "properties": {
        "decision": {
          "enum": [
            "paid_publication_available",
            "fix_readiness_before_purchase",
            "run_free_verification"
          ]
        },
        "price": {
          "type": "object"
        },
        "purchase": {
          "type": "object"
        },
        "schema": {
          "const": "ontario.provider_publication_product.v1"
        }
      },
      "required": [
        "schema",
        "decision",
        "price",
        "purchase"
      ],
      "type": "object"
    },
    "stores_listing": {
      "const": false
    },
    "trust_disclaimer": {
      "type": "string"
    },
    "verification": {
      "description": "Optional public readiness observation; metadata validation alone does not verify readiness.",
      "type": [
        "object",
        "null"
      ]
    },
    "warnings": {
      "items": {
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "ok",
    "errors",
    "warnings",
    "normalized",
    "verification",
    "provider_publication",
    "stores_listing",
    "trust_disclaimer",
    "next_steps"
  ],
  "additionalProperties": true
}
🟡ontario_list-service(_x402_payment, asset, buyer_query, category, description, ...)

Publish a provider-owned x402 API so AI agents can discover and buy it. After free validation and a Bazaar buyer-intent audit, the 0.50 USDC Launch Passport creates a signed public HTML/JSON profile, readiness and Coinbase indexing evidence, a five-query retrieval snapshot, badge, copy-ready MCP/catalog records, and 30 days of freshness maintenance. It can become eligible for strict Ontario discovery when evidence is ready and fresh. It does not guarantee Coinbase placement, ranking, traffic, purchases, a ready grade, or safety. Agent payment guidance: run free can-pay and readiness checks first; pay only when policy allows base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 and 0.50 USDC is inside the agent budget. [PAID: 0.50 USDC via x402 on Base. Two-step flow: call without payment to receive MCP PaymentRequired, then retry with params._meta['x402/payment'] containing the signed PaymentPayload. The legacy _x402_payment base64 argument is also supported. Sign only after explicit budget and policy approval.]

輸入結構描述

{
  "type": "object",
  "properties": {
    "_x402_payment": {
      "description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
      "type": "string"
    },
    "asset": {
      "description": "Payment token contract accepted by the provider on the declared network.",
      "type": "string"
    },
    "buyer_query": {
      "description": "Public task phrase used for the point-in-time Bazaar retrieval audit. It may appear in the public profile.",
      "maxLength": 160,
      "minLength": 3,
      "type": "string"
    },
    "category": {
      "description": "Public capability category for the service, not a claim of certification.",
      "type": "string"
    },
    "description": {
      "description": "Public buyer task, expected result, and important service limitations; do not include confidential text.",
      "minLength": 1,
      "type": "string"
    },
    "endpoint": {
      "description": "Provider-owned public HTTPS x402 endpoint to list. Never include secrets or sensitive query parameters.",
      "format": "uri",
      "type": "string"
    },
    "mcp_remote_url": {
      "description": "Optional public MCP remote for read-only initialize and tools/list checks.",
      "format": "uri",
      "maxLength": 500,
      "type": "string"
    },
    "mcp_server_json_url": {
      "description": "Optional public MCP Registry record or exact-search JSON URL.",
      "format": "uri",
      "maxLength": 500,
      "type": "string"
    },
    "mcp_server_name": {
      "description": "Optional exact MCP Registry server name.",
      "maxLength": 180,
      "type": "string"
    },
    "method": {
      "default": "POST",
      "description": "HTTP method used to call the provider's endpoint.",
      "type": "string"
    },
    "name": {
      "description": "Public service name displayed on the provider profile.",
      "minLength": 1,
      "type": "string"
    },
    "network": {
      "default": "base",
      "description": "Provider payment network, for example base or eip155:8453. Ontario publication itself uses Base USDC.",
      "type": "string"
    },
    "owner_contact": {
      "description": "Optional provider contact retained for operations and omitted from public profiles. Omit when unnecessary; never send wallet credentials.",
      "type": "string"
    },
    "owner_url": {
      "description": "Public website identifying the provider; publication does not verify legal identity.",
      "format": "uri",
      "type": "string"
    },
    "price_atomic": {
      "description": "Optional provider price in six-decimal USDC units: 10000 equals 0.01 USDC. Must match price_usdc when supplied.",
      "minimum": 0,
      "type": "integer"
    },
    "price_usdc": {
      "description": "Provider endpoint price in decimal USDC, at most six decimal places. This is separate from Ontario's 0.50 USDC publication fee.",
      "type": "string"
    },
    "source": {
      "default": "direct_or_unknown",
      "description": "Privacy-safe aggregate acquisition bucket; never a URL or query.",
      "enum": [
        "coinbase_bazaar",
        "direct_or_unknown",
        "github",
        "google_search",
        "internal_navigation",
        "mcp_registry",
        "other_search"
      ],
      "type": "string"
    },
    "tags": {
      "description": "Public capability tags for discovery, up to ten relevant labels.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "name",
    "description",
    "endpoint",
    "price_usdc"
  ]
}

輸出結構描述

{
  "type": "object",
  "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": {
        "listing": {
          "additionalProperties": true,
          "properties": {
            "id": {
              "pattern": "^lst_[A-Za-z0-9_-]+$",
              "type": "string"
            },
            "publication": {
              "additionalProperties": true,
              "properties": {
                "badge_url": {
                  "format": "uri",
                  "type": "string"
                },
                "indexable_profile": {
                  "const": true
                },
                "paid_submission": {
                  "const": true
                },
                "profile_json_url": {
                  "format": "uri",
                  "type": "string"
                },
                "profile_url": {
                  "format": "uri",
                  "type": "string"
                },
                "status": {
                  "const": "paid_submission_processed"
                }
              },
              "required": [
                "status",
                "paid_submission",
                "indexable_profile",
                "profile_url",
                "profile_json_url",
                "badge_url"
              ],
              "type": "object"
            },
            "verification_status": {
              "enum": [
                "ready",
                "close",
                "needs_work",
                "pending"
              ],
              "type": "string"
            }
          },
          "required": [
            "id",
            "publication",
            "verification_status"
          ],
          "type": "object"
        },
        "payment": {
          "additionalProperties": true,
          "type": "object"
        },
        "provider_next_steps": {
          "additionalProperties": true,
          "properties": {
            "badge_url": {
              "format": "uri",
              "type": [
                "string",
                "null"
              ]
            },
            "boundary": {
              "type": "string"
            },
            "buyer_router": {
              "additionalProperties": true,
              "properties": {
                "eligibility_rule": {
                  "type": "string"
                },
                "eligible": {
                  "type": "boolean"
                },
                "ranking_rule": {
                  "type": "string"
                },
                "url": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "required": [
                "url",
                "eligible",
                "eligibility_rule",
                "ranking_rule"
              ],
              "type": "object"
            },
            "discovery_status": {
              "type": "string"
            },
            "distribution_evidence": {
              "additionalProperties": true,
              "properties": {
                "boundary": {
                  "type": "string"
                },
                "measures": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "url": {
                  "format": "uri",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "window_days": {
                  "const": 30,
                  "type": "integer"
                }
              },
              "required": [
                "url",
                "window_days",
                "measures",
                "boundary"
              ],
              "type": "object"
            },
            "evidence_freshness": {
              "additionalProperties": true,
              "properties": {
                "age_hours": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "fresh_until": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "max_age_hours": {
                  "const": 168,
                  "type": "integer"
                },
                "observed_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "refresh_reason": {
                  "type": "string"
                },
                "refresh_recommended": {
                  "type": "boolean"
                },
                "schema": {
                  "const": "ontario.listing_evidence_freshness.v1"
                },
                "status": {
                  "enum": [
                    "fresh",
                    "stale",
                    "unknown"
                  ]
                }
              },
              "required": [
                "schema",
                "status",
                "max_age_hours",
                "refresh_recommended",
                "refresh_reason"
              ],
              "type": "object"
            },
            "profile_json_url": {
              "format": "uri",
              "type": [
                "string",
                "null"
              ]
            },
            "public_listing_url": {
              "format": "uri",
              "type": "string"
            },
            "readiness_report_url": {
              "format": "uri",
              "type": [
                "string",
                "null"
              ]
            },
            "schema": {
              "const": "ontario.provider_distribution_follow_up.v1"
            },
            "steps": {
              "items": {
                "type": "object"
              },
              "type": "array"
            },
            "strict_discovery_ready": {
              "type": "boolean"
            }
          },
          "required": [
            "schema",
            "discovery_status",
            "public_listing_url",
            "distribution_evidence",
            "buyer_router",
            "evidence_freshness",
            "steps",
            "boundary"
          ],
          "type": "object"
        }
      },
      "required": [
        "listing",
        "provider_next_steps"
      ],
      "type": "object"
    }
  ]
}
🟡ontario_refresh-listing(_x402_payment, listing_id, paid_refresh_tx)

Use only for an existing paid Ontario provider profile when the caller wants a fresh live readiness observation attached to its canonical HTML, JSON twin, and badge. This tool cannot edit provider metadata, improve a grade by payment, or buy ranking or traffic. Do not pay while the launch passport's 30-day included maintenance is active. Agent payment guidance: run free can-pay and readiness checks first; pay only when policy allows base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 and 0.10 USDC is inside the agent budget. [PAID: 0.10 USDC via x402 on Base. Two-step flow: call without payment to receive MCP PaymentRequired, then retry with params._meta['x402/payment'] containing the signed PaymentPayload. The legacy _x402_payment base64 argument is also supported. Sign only after explicit budget and policy approval.]

輸入結構描述

{
  "type": "object",
  "properties": {
    "_x402_payment": {
      "description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
      "type": "string"
    },
    "listing_id": {
      "description": "Existing paid provider profile id.",
      "pattern": "^lst_[A-Za-z0-9_-]+$",
      "type": "string"
    },
    "paid_refresh_tx": {
      "description": "One-use retry reference only when a settled refresh could not complete.",
      "type": "string"
    }
  },
  "required": [
    "listing_id"
  ]
}

輸出結構描述

{
  "type": "object",
  "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"
    }
  ]
}
🟢agent_trust_preview(agent_id, target_url)

Free live, rate-limited agent trust preview for one public endpoint. Returns safe signals and issues without the paid evidence bundle or attestation; use the paid trust scan only when the preview is insufficient.

輸入結構描述

{
  "type": "object",
  "properties": {
    "agent_id": {
      "description": "Optional stable public agent identifier to associate with the preview.",
      "maxLength": 120,
      "type": "string"
    },
    "target_url": {
      "description": "Public HTTPS agent card or endpoint to preview without payment; never include private hosts or credentials.",
      "format": "uri",
      "type": "string"
    }
  },
  "required": [
    "target_url"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "issues": {
      "type": "array"
    },
    "limitations": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "max_score": {
      "type": "number"
    },
    "normalized_base": {
      "type": "string"
    },
    "paid_upgrade": {
      "additionalProperties": true,
      "type": "object"
    },
    "preview": {
      "type": "boolean"
    },
    "scanned_at": {
      "type": "string"
    },
    "schema": {
      "type": "string"
    },
    "signals": {
      "additionalProperties": true,
      "type": "object"
    },
    "target_url": {
      "type": "string"
    },
    "trust_score": {
      "type": "number"
    }
  },
  "required": [
    "schema",
    "preview",
    "trust_score",
    "paid_upgrade"
  ],
  "additionalProperties": true
}
⚪ontario_agent-trust-scan(_x402_payment, agent_id, target_url)

Use when an agent needs a structured trust report for a public agent card or A2A endpoint before routing money or user work to it. This is a paid point-in-time scan, not an endpoint-readiness check. Agent payment guidance: run free can-pay and readiness checks first; pay only when policy allows base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 and 0.01 USDC is inside the agent budget. [PAID: 0.01 USDC via x402 on Base. Two-step flow: call without payment to receive MCP PaymentRequired, then retry with params._meta['x402/payment'] containing the signed PaymentPayload. The legacy _x402_payment base64 argument is also supported. Sign only after explicit budget and policy approval.]

輸入結構描述

{
  "type": "object",
  "properties": {
    "_x402_payment": {
      "description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
      "type": "string"
    },
    "agent_id": {
      "description": "Optional stable agent identifier to include in the report.",
      "type": "string"
    },
    "target_url": {
      "description": "Public HTTPS agent card or A2A endpoint to inspect.",
      "format": "uri",
      "type": "string"
    }
  },
  "required": [
    "target_url"
  ]
}

輸出結構描述

{
  "type": "object",
  "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": {
        "payment": {
          "additionalProperties": true,
          "type": "object"
        },
        "report": {
          "additionalProperties": true,
          "properties": {
            "agent_id": {
              "type": "string"
            },
            "endpoint": {
              "type": "string"
            },
            "evidence": {
              "additionalProperties": true,
              "type": "object"
            },
            "issues": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "scanned_at": {
              "type": "string"
            },
            "scanner": {
              "type": "string"
            },
            "signals": {
              "additionalProperties": {
                "type": "boolean"
              },
              "type": "object"
            },
            "trust_score": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "agent_id",
            "endpoint",
            "scanned_at",
            "scanner",
            "trust_score",
            "signals",
            "issues",
            "evidence"
          ],
          "type": "object"
        }
      },
      "required": [
        "payment",
        "report"
      ],
      "type": "object"
    }
  ]
}
🟢github_x402_repo_scan(repository_url)

Free pre-deployment scan of one public GitHub repository for x402 implementation, HTTP 402 tests, payment configuration, buyer documentation, discovery metadata, CI gates, and sensitive filenames. Returns paths and remediation, never source contents.

輸入結構描述

{
  "type": "object",
  "properties": {
    "repository_url": {
      "description": "Public https://github.com/owner/repo URL.",
      "format": "uri",
      "type": "string"
    }
  },
  "required": [
    "repository_url"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "checks": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "grade": {
      "type": "string"
    },
    "max_score": {
      "const": 100
    },
    "next_actions": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "repository": {
      "additionalProperties": true,
      "type": "object"
    },
    "schema": {
      "type": "string"
    },
    "score": {
      "maximum": 100,
      "minimum": 0,
      "type": "number"
    },
    "status": {
      "enum": [
        "complete",
        "complete_with_limits"
      ]
    },
    "summary": {
      "additionalProperties": true,
      "type": "object"
    }
  },
  "required": [
    "schema",
    "status",
    "repository",
    "score",
    "max_score",
    "grade",
    "summary",
    "checks",
    "next_actions"
  ],
  "additionalProperties": true
}
⚪ontario_x402-implementation-audit(_x402_payment, endpoint_url, focus, repository_url)

Use when a provider or developer needs a bounded, task-specific x402 code review for a public endpoint or GitHub repository. Returns payment, discovery, security, debugging, and launch findings without returning source contents or secret values. Agent payment guidance: run free can-pay and readiness checks first; pay only when policy allows base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 and 0.01 USDC is inside the agent budget. [PAID: 0.01 USDC via x402 on Base. Two-step flow: call without payment to receive MCP PaymentRequired, then retry with params._meta['x402/payment'] containing the signed PaymentPayload. The legacy _x402_payment base64 argument is also supported. Sign only after explicit budget and policy approval.]

輸入結構描述

{
  "type": "object",
  "properties": {
    "_x402_payment": {
      "description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
      "type": "string"
    },
    "endpoint_url": {
      "description": "Public HTTPS x402 endpoint to inspect.",
      "format": "uri",
      "type": "string"
    },
    "focus": {
      "default": "launch",
      "description": "Area of the x402 implementation to review: launch readiness, payment handling, discovery metadata, or security.",
      "enum": [
        "launch",
        "payment",
        "discovery",
        "security"
      ],
      "type": "string"
    },
    "repository_url": {
      "description": "Public GitHub repository containing the x402 implementation.",
      "format": "uri",
      "type": "string"
    }
  },
  "anyOf": [
    {
      "required": [
        "endpoint_url"
      ]
    },
    {
      "required": [
        "repository_url"
      ]
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "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"
    },
    {
      "properties": {
        "audit_id": {
          "type": "string"
        },
        "findings": {
          "items": {
            "type": "object"
          },
          "type": "array"
        },
        "schema": {
          "const": "ontario.x402_implementation_audit.v1"
        },
        "status": {
          "type": "string"
        },
        "summary": {
          "properties": {
            "blocking_findings": {
              "minimum": 0,
              "type": "integer"
            },
            "grade": {
              "type": "string"
            },
            "score": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer"
            },
            "warning_findings": {
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "score",
            "grade",
            "blocking_findings",
            "warning_findings"
          ],
          "type": "object"
        },
        "trust_boundary": {
          "type": "string"
        }
      },
      "required": [
        "schema",
        "status",
        "audit_id",
        "summary",
        "findings",
        "trust_boundary"
      ],
      "type": "object"
    }
  ]
}
⚪ontario_reputation(_x402_payment, agent_id)

Use when an agent already has a stable agent identifier and needs the cheapest accumulated reputation lookup. Use Agent Trust Scan instead when there is no usable history or a fresh card scan is required. Agent payment guidance: run free can-pay and readiness checks first; pay only when policy allows base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 and 0.001 USDC is inside the agent budget. [PAID: 0.001 USDC via x402 on Base. Two-step flow: call without payment to receive MCP PaymentRequired, then retry with params._meta['x402/payment'] containing the signed PaymentPayload. The legacy _x402_payment base64 argument is also supported. Sign only after explicit budget and policy approval.]

輸入結構描述

{
  "type": "object",
  "properties": {
    "_x402_payment": {
      "description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
      "type": "string"
    },
    "agent_id": {
      "description": "Stable agent identifier used in the reputation path.",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "agent_id"
  ]
}

輸出結構描述

{
  "type": "object",
  "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"
    },
    {
      "properties": {
        "payment": {
          "type": "object"
        },
        "reputation": {
          "properties": {
            "agent_id": {
              "type": "string"
            },
            "attestation_count": {
              "type": "integer"
            },
            "attestations": {
              "items": {
                "type": "object"
              },
              "type": "array"
            },
            "trust_score": {
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "required": [
            "agent_id",
            "trust_score",
            "attestation_count",
            "attestations"
          ],
          "type": "object"
        }
      },
      "required": [
        "payment",
        "reputation"
      ],
      "type": "object"
    }
  ]
}
🟢ontario_agent-pay-query-v2(_x402_payment, agent_policy, endpoint, max_usdc, query)

Live x402 endpoint readiness check before payment. This x402 paid API verification service helps verify an x402 endpoint before an AI agent pays: probe one public paid API and inspect the HTTP 402 challenge, payTo address, price, Base USDC network and asset, manifest freshness, buyer budget, and spend policy. Returns ALLOW or DENY with reasons, readiness score, report ID, settlement metadata, and a settlement-backed SHA-256 evidence receipt. Run free can-pay and readiness checks first. Readiness evidence is not a safety guarantee. Agent payment guidance: run free can-pay and readiness checks first; pay only when policy allows base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 and 0.002 USDC is inside the agent budget. [PAID: 0.002 USDC via x402 on Base. Two-step flow: call without payment to receive MCP PaymentRequired, then retry with params._meta['x402/payment'] containing the signed PaymentPayload. The legacy _x402_payment base64 argument is also supported. Sign only after explicit budget and policy approval.]

輸入結構描述

{
  "type": "object",
  "properties": {
    "_x402_payment": {
      "description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
      "type": "string"
    },
    "agent_policy": {
      "default": "strict",
      "description": "Policy posture used to produce the allow or deny decision.",
      "enum": [
        "strict",
        "standard",
        "permissive"
      ],
      "type": "string"
    },
    "endpoint": {
      "description": "Public x402 paid API URL to probe and verify before an autonomous agent pays.",
      "format": "uri",
      "type": "string"
    },
    "max_usdc": {
      "description": "Optional maximum endpoint price allowed by the buyer policy.",
      "type": "string"
    },
    "query": {
      "description": "Optional task context for the payment decision. When omitted, Ontario performs a general live x402 endpoint readiness check.",
      "maxLength": 500,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "endpoint"
  ]
}

輸出結構描述

{
  "type": "object",
  "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"
    },
    {
      "oneOf": [
        {
          "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"
        },
        {
          "properties": {
            "answer": {
              "type": "string"
            },
            "created_at": {
              "type": "string"
            },
            "data": {
              "type": "object"
            },
            "endpoint": {
              "type": [
                "string",
                "null"
              ]
            },
            "evidence_receipt": {
              "type": "object"
            },
            "payment": {
              "type": "object"
            },
            "pricing": {
              "type": "object"
            },
            "query": {
              "type": "string"
            },
            "query_id": {
              "type": "string"
            },
            "schema": {
              "const": "ontario.agent_pay_query.v1"
            }
          },
          "required": [
            "schema",
            "query_id",
            "answer",
            "data",
            "evidence_receipt"
          ],
          "type": "object"
        }
      ]
    }
  ]
}
⚪ontario_x402-demand-authenticity(_x402_payment, expected_recipient, related_addresses, tx_hashes)

Use when an agent, marketplace, provider, or investor needs to separate observable Base USDC settlement evidence from unsupported independent-demand claims. Detects direct self-payments, classifies disclosed related-party and unattributed receipts, measures payer concentration, and does not call unknown wallets customers. Agent payment guidance: run free can-pay and readiness checks first; pay only when policy allows base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 and 0.02 USDC is inside the agent budget. [PAID: 0.02 USDC via x402 on Base. Two-step flow: call without payment to receive MCP PaymentRequired, then retry with params._meta['x402/payment'] containing the signed PaymentPayload. The legacy _x402_payment base64 argument is also supported. Sign only after explicit budget and policy approval.]

輸入結構描述

{
  "type": "object",
  "properties": {
    "_x402_payment": {
      "description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
      "type": "string"
    },
    "expected_recipient": {
      "description": "Optional recipient wallet address expected for these settlement receipts.",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "type": "string"
    },
    "related_addresses": {
      "description": "Disclosed provider-controlled or related wallet addresses; omission does not establish independence.",
      "items": {
        "pattern": "^0x[0-9a-fA-F]{40}$",
        "type": "string"
      },
      "maxItems": 50,
      "type": "array"
    },
    "tx_hashes": {
      "description": "One to twenty public Base settlement transaction hashes to classify.",
      "items": {
        "pattern": "^0x[0-9a-fA-F]{64}$",
        "type": "string"
      },
      "maxItems": 20,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "tx_hashes"
  ]
}

輸出結構描述

{
  "type": "object",
  "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": {
        "evidence_digest": {
          "type": "string"
        },
        "schema": {
          "type": "string"
        },
        "summary": {
          "additionalProperties": true,
          "type": "object"
        },
        "transactions": {
          "items": {
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "schema",
        "summary",
        "transactions",
        "evidence_digest"
      ],
      "type": "object"
    }
  ]
}
🟡ontario_list-agent(_x402_payment, agent_card_url, description, name, owner_contact, ...)

Use only when the caller owns the agent and wants to submit a public directory listing. Validate the payload for free first; payment does not guarantee approval, traffic, ranking, or safety. Agent payment guidance: run free can-pay and readiness checks first; pay only when policy allows base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 and 0.10 USDC is inside the agent budget. [PAID: 0.10 USDC via x402 on Base. Two-step flow: call without payment to receive MCP PaymentRequired, then retry with params._meta['x402/payment'] containing the signed PaymentPayload. The legacy _x402_payment base64 argument is also supported. Sign only after explicit budget and policy approval.]

輸入結構描述

{
  "type": "object",
  "properties": {
    "_x402_payment": {
      "description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
      "type": "string"
    },
    "agent_card_url": {
      "description": "Public HTTPS agent card URL for the listing.",
      "format": "uri",
      "type": "string"
    },
    "description": {
      "description": "Public description of the agent's capabilities.",
      "type": "string"
    },
    "name": {
      "description": "Public name of the agent being listed.",
      "minLength": 1,
      "type": "string"
    },
    "owner_contact": {
      "description": "Optional owner contact supplied for the listing; do not include secrets.",
      "type": "string"
    },
    "owner_url": {
      "description": "Optional public owner website.",
      "format": "uri",
      "type": "string"
    },
    "tags": {
      "description": "Capability tags describing the agent.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "name",
    "agent_card_url"
  ]
}

輸出結構描述

{
  "type": "object",
  "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"
    },
    {
      "properties": {
        "listing": {
          "type": "object"
        },
        "payment": {
          "type": "object"
        }
      },
      "required": [
        "payment",
        "listing"
      ],
      "type": "object"
    }
  ]
}
⚪ontario_validate-agent(agent_card_url, description, name, owner_contact, owner_url, ...)

Validate an agent listing payload for free before publication. Never publishes, signs or spends.

輸入結構描述

{
  "type": "object",
  "properties": {
    "agent_card_url": {
      "description": "Public HTTPS agent card URL for the listing.",
      "format": "uri",
      "type": "string"
    },
    "description": {
      "description": "Public description of the agent's capabilities.",
      "type": "string"
    },
    "name": {
      "description": "Public name of the agent being listed.",
      "minLength": 1,
      "type": "string"
    },
    "owner_contact": {
      "description": "Optional owner contact supplied for the listing; do not include secrets.",
      "type": "string"
    },
    "owner_url": {
      "description": "Optional public owner website.",
      "format": "uri",
      "type": "string"
    },
    "tags": {
      "description": "Capability tags describing the agent.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "name",
    "agent_card_url"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "errors": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "ok": {
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "errors"
  ],
  "additionalProperties": true
}
🟢ontario_validate-refresh(listing_id, paid_refresh_tx)

Check an existing paid provider profile's refresh eligibility for free, including cooldown. Never refreshes, signs or spends.

輸入結構描述

{
  "type": "object",
  "properties": {
    "listing_id": {
      "description": "Existing paid provider profile id.",
      "pattern": "^lst_[A-Za-z0-9_-]+$",
      "type": "string"
    },
    "paid_refresh_tx": {
      "description": "One-use retry reference only when a settled refresh could not complete.",
      "type": "string"
    }
  },
  "required": [
    "listing_id"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "errors": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "ok": {
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "errors"
  ],
  "additionalProperties": true
}
🟢x402_verification_reports(limit)

Public ledger of recent x402 readiness reports.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "description": "Maximum recent public readiness reports to request.",
      "type": "integer"
    }
  }
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    },
    "reports": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "stats": {
      "type": "object"
    }
  },
  "required": [
    "count",
    "reports",
    "stats"
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本21 個工具
已驗證未記錄版本9 個工具