Ontario Protocol
REMOTE · ONTARIOPROTOCOL.COM · SCANNED SEP 20
Audit x402 buyer discovery free; publish signed provider profiles with MCP and Bazaar evidence.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability63
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2735 tokens (~303/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "agent_can_pay" implies "pay" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
- An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Ontario Protocol MCP server?
Ontario Protocol is a hosted endpoint at https://ontarioprotocol.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · ontarioprotocol.com
claude mcp add --transport http com-ontarioprotocol-ontario-protocol 'https://ontarioprotocol.com/mcp'
{
"mcpServers": {
"com-ontarioprotocol-ontario-protocol": {
"url": "https://ontarioprotocol.com/mcp"
}
}
} {
"servers": {
"com-ontarioprotocol-ontario-protocol": {
"type": "http",
"url": "https://ontarioprotocol.com/mcp"
}
}
} [mcp_servers.com-ontarioprotocol-ontario-protocol] url = "https://ontarioprotocol.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-ontarioprotocol-ontario-protocol": {
"type": "remote",
"url": "https://ontarioprotocol.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-ontarioprotocol-ontario-protocol --url 'https://ontarioprotocol.com/mcp' --transport streamable-http
mcp_servers:
com-ontarioprotocol-ontario-protocol:
url: "https://ontarioprotocol.com/mcp" {
"McpServers": {
"com-ontarioprotocol-ontario-protocol": {
"Transport": "http",
"Url": "https://ontarioprotocol.com/mcp"
}
}
} assistant mcp add com-ontarioprotocol-ontario-protocol -t streamable-http -u 'https://ontarioprotocol.com/mcp'
{
"mcpServers": {
"com-ontarioprotocol-ontario-protocol": {
"type": "http",
"url": "https://ontarioprotocol.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 16 Sept 26 0
- Tool “ontario_list-service” changed its title: Publish an x402 Bazaar Launch Passport → Publish your x402 API for agent discovery cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 7 Sept 26 +2
- Stability: fail → pass ▲ security
- 5 Sept 26 0
- Tool “ontario_list-service” rewrote its description, which is the text the model reads security
- Tool “ontario_refresh-listing” rewrote its description, which is the text the model reads security
- Tool coverage: 63% → 56% ▼ functional
- Schema quality: 2218 → 2735 ▼ functional
- Tool coverage: 63% → 100% ▲ functional
- Tool “bazaar_buyer_intent_gap” now declares an output schema ▲ functional
- Tool “ontario_refresh-listing” now declares an output schema ▲ functional
- Tool “ontario_validate-service” now declares an output schema ▲ functional
- Tool “x402_launch_kit” now declares an output schema ▲ functional
- Server version: 1.0.5 → 1.0.6 functional
- Server version: 1.0.4 → 1.0.5 functional
- New tool “ontario_validate-service” functional
- 4 Sept 26 +2
- Schema quality: 221 → 277 ▼ functional
- Tool coverage: 43% → 100% ▲ functional
- Schema quality: good → excellent functional
- Server version: 1.0.3 → 1.0.4 functional
- “agent_can_pay” reworded the description of “agent_policy” cosmetic
- “agent_can_pay” reworded the description of “endpoint” cosmetic
- “agent_can_pay” reworded the description of “max_usdc” cosmetic
- “find_x402_tool” reworded the description of “limit” cosmetic
- “ontario_list-service” reworded the description of “asset” cosmetic
- “ontario_list-service” reworded the description of “buyer_query” cosmetic
- “ontario_list-service” reworded the description of “category” cosmetic
- “ontario_list-service” reworded the description of “description” cosmetic
- “ontario_list-service” reworded the description of “endpoint” cosmetic
- “ontario_list-service” reworded the description of “method” cosmetic
- “ontario_list-service” reworded the description of “name” cosmetic
- “ontario_list-service” reworded the description of “network” cosmetic
- “ontario_list-service” reworded the description of “owner_contact” cosmetic
- “ontario_list-service” reworded the description of “owner_url” cosmetic
- “ontario_list-service” reworded the description of “price_atomic” cosmetic
- “ontario_list-service” reworded the description of “price_usdc” cosmetic
- “ontario_list-service” reworded the description of “tags” cosmetic
- “x402_launch_kit” reworded the description of “asset” cosmetic
- “x402_launch_kit” reworded the description of “description” cosmetic
- “x402_launch_kit” reworded the description of “endpoint” cosmetic
- “x402_launch_kit” reworded the description of “method” cosmetic
- “x402_launch_kit” reworded the description of “name” cosmetic
- “x402_launch_kit” reworded the description of “network” cosmetic
- “x402_launch_kit” reworded the description of “owner_contact” cosmetic
- “x402_launch_kit” reworded the description of “owner_url” cosmetic
- “x402_launch_kit” reworded the description of “price_usdc” cosmetic
- “x402_launch_kit” reworded the description of “tags” cosmetic
- “x402_readiness_verify” reworded the description of “target_url” cosmetic
- 3 Sept 26 0
- Tool “ontario_list-service” rewrote its description, which is the text the model reads security
- “ontario_list-service” added an optional parameter “mcp_remote_url” cosmetic
- “ontario_list-service” added an optional parameter “mcp_server_json_url” cosmetic
- “ontario_list-service” added an optional parameter “mcp_server_name” cosmetic
- 30 Aug 26 +2
No change was recorded against any check on this day. Stability & Change Management went from 67 to 86.
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://ontarioprotocol.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=admin.outgrow.co | CN=WR3,O=Google Trust Services,C=US | 25 Aug 2026 | 23 Nov 2026 | RSA 2048 | SHA256-RSA | ba979bfb0cfa6876121c9d2a52ea567a |
| SANs: admin.outgrow.co, roi.frdstr.com, bodamarqueztamayo.swanmoments.lat, likan.lat, buffwindowreplacement.com, www.yaorui.bond, www.cyalabogados.cl, artemisbi.com, form.trustiway.com, wuge.surf, www.runpal.live, www.cwex.io and 88 more | ||||||
| CN=WR3,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a91568d63abc22861684aa4b5a |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
| CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 1 Sept 1998 | 28 Jan 2028 | RSA 2048 | SHA1-RSA | 40000000001154b5ac394 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of ontarioprotocol.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| ontarioprotocol.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31556926 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://ontarioprotocol.com/mcp | Verified | 200 | |
| http (plaintext) | http://ontarioprotocol.com/mcp | HTTPS enforced | 301 | https://ontarioprotocol.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
agent_can_pay Agent Payment Preflight ~167
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.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_policy | string | – | Readiness policy to apply. Use strict unless the operator explicitly permits a different policy. |
| endpoint | string | yes | Public x402 endpoint to evaluate before payment; never include credentials or private query parameters. |
| max_usdc | string | – | Caller-approved per-call spending ceiling in decimal USDC, for example 0.01. This check never spends funds. |
| require_audit_receipt | boolean | – | Explicitly request the optional paid receipt handoff after an allow decision. This does not submit payment. |
| Name | Type | Req | Description |
|---|---|---|---|
| auditable_paid_continuation | object | – | – |
| decision | string | yes | – |
| decision_code | string | yes | – |
| decision_schema_version | string | yes | – |
| declared_price_usdc | number | – | – |
| endpoint | string | – | – |
| max_usdc | number | – | – |
| reasons | array | – | – |
| recommendations | array | – | – |
| report | object | – | – |
| report_integrity_ok | boolean | – | – |
| verification_age_hours | number | – | – |
No examples provided.
bazaar_buyer_intent_gap Bazaar Buyer Intent Gap ~178
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.
| Name | Type | Req | Description |
|---|---|---|---|
| buyer_queries | array | – | Optional explicit portfolio of up to five public buyer phrases. When omitted, Ontario generates four deterministic variants from buyer_query. |
| buyer_query | string | yes | Public task phrase a funded agent could use in CDP Bazaar search; never include credentials or private customer text. |
| target_url | string | yes | Public x402 paid endpoint whose buyer visibility should be measured. |
| Name | Type | Req | Description |
|---|---|---|---|
| buyer_fit | object | – | – |
| buyer_intent | object | – | – |
| buyer_intent_portfolio | object | yes | – |
| catalog_visibility | object | yes | – |
| cdp_validation | object | – | – |
| checked_at | string | yes | – |
| checks | array | yes | – |
| grade | – | yes | – |
| max_score | – | – | – |
| next_actions | array | – | – |
| report_id | string | yes | – |
| schema | – | yes | – |
| score | number | yes | – |
| settlement_activation | object | yes | Observed indexing and activation state, not a promise of placement or demand. |
| status | – | yes | – |
| target_url | string | yes | – |
| trust_boundary | object | yes | – |
No examples provided.
find_x402_tool Find a task-matched x402 tool ~222
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.
| Name | Type | Req | Description |
|---|---|---|---|
| active_only | boolean | – | When true, require recent source-reported activity or fresh strict-ready Ontario profile evidence. |
| limit | integer | – | Maximum number of task-matched candidates to return, from 1 to 10. |
| max_usdc | string | – | Optional hard USDC price ceiling for returned candidates. |
| network | string | – | Optional network filter, for example eip155:8453 or base. |
| query | string | yes | Public task text only; never include credentials or private customer data. |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_next_step | string | – | – |
| candidates | array | yes | – |
| count | integer | yes | – |
| intent | string | – | provider_publication when provider-side listing intent is routed to the free-first publication workflow. |
| provider_path | object | – | Machine-actionable free validation, optional pending submission, and gated paid publication sequence. |
| query | string | yes | – |
| schema | – | yes | – |
| selection_method | string | – | – |
| trust_boundary | string | yes | – |
No examples provided.
ontario_list-service Publish your x402 API for agent discovery ~667
Use only when the caller owns an x402 endpoint and wants a public Bazaar launch passport with a live readiness scan, sanitized Coinbase indexing preflight, five-query buyer retrieval audit, copy-ready distribution bundle, optional signed MCP Registry and remote-contract procurement evidence, evidence links, 30 days of included automatic freshness maintenance, and conditional fresh ready-grade eligibility in strict /discover. Ontario is not Coinbase. Validate and run the free audit first; payment does not guarantee placement, a ready grade, traffic, ranking, purchases, 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.]
| Name | Type | Req | Description |
|---|---|---|---|
| _x402_payment | string | – | base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first. |
| asset | string | – | Payment token contract accepted by the provider on the declared network. |
| buyer_query | string | – | Public task phrase used for the point-in-time Bazaar retrieval audit. It may appear in the public profile. |
| category | string | – | Public capability category for the service, not a claim of certification. |
| description | string | yes | Public buyer task, expected result, and important service limitations; do not include confidential text. |
| endpoint | string | yes | Provider-owned public HTTPS x402 endpoint to list. Never include secrets or sensitive query parameters. |
| mcp_remote_url | string | – | Optional public MCP remote for read-only initialize and tools/list checks. |
| mcp_server_json_url | string | – | Optional public MCP Registry record or exact-search JSON URL. |
| mcp_server_name | string | – | Optional exact MCP Registry server name. |
| method | string | – | HTTP method used to call the provider's endpoint. |
| name | string | yes | Public service name displayed on the provider profile. |
| network | string | – | Provider payment network, for example base or eip155:8453. Ontario publication itself uses Base USDC. |
| owner_contact | string | – | Optional provider contact retained for operations and omitted from public profiles. Omit when unnecessary; never send wallet credentials. |
| owner_url | string | – | Public website identifying the provider; publication does not verify legal identity. |
| price_atomic | integer | – | Optional provider price in six-decimal USDC units: 10000 equals 0.01 USDC. Must match price_usdc when supplied. |
| price_usdc | string | yes | Provider endpoint price in decimal USDC, at most six decimal places. This is separate from Ontario's 0.50 USDC publication fee. |
| source | string | – | Privacy-safe aggregate acquisition bucket; never a URL or query. |
| tags | array | – | Public capability tags for discovery, up to ten relevant labels. |
Structured output declared, but exposes no named fields.
No examples provided.
ontario_purchase_router Ontario Free/Paid Purchase Router ~279
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.
| Name | Type | Req | Description |
|---|---|---|---|
| free_preflight_complete | boolean | – | True only after the recommended free check has completed for this task. |
| max_usdc | string | – | Optional explicit per-call USDC ceiling. The router never increases it. |
| network | string | – | Wallet policy network; Ontario paid tools currently require Base mainnet. |
| task | string | yes | Public task description only; never include credentials or private customer data. |
| wallet_enabled | boolean | – | True only when the caller can locally sign an x402 PaymentPayload. |
| Name | Type | Req | Description |
|---|---|---|---|
| decision | string | yes | – |
| free_tool | object | – | – |
| gates | object | yes | – |
| input_guidance | object | – | Safe free task examples returned when an MCP caller invokes the router without a public task. |
| listing_maintenance_path | object | – | Present for existing-profile refresh intent. Gives the free validator followed by the gated paid refresher. |
| next_action | string | yes | – |
| optional_paid_upgrade | object|null | – | A non-recommended upgrade disclosed after a matching free route. The caller should stop after the free result unless the stated evidence condition applies. |
| paid_candidate | object|null | – | – |
| payment_flow | object | – | – |
| privacy | string | – | – |
| provider_publication_path | object | – | Present for provider-publication intent. Gives the free launch-kit and validator followed by the gated paid publisher. |
| reasons | array | – | – |
| router_follow_up | object | – | Non-spending request template for rerunning the router after the free preflight. |
| schema | – | yes | – |
| selected_tool | object | yes | – |
| status | – | yes | – |
| task_category | string | yes | – |
| trust_boundary | string | yes | – |
No examples provided.
ontario_refresh-listing Refresh an x402 Service Profile ~271
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.]
| Name | Type | Req | Description |
|---|---|---|---|
| _x402_payment | string | – | base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first. |
| listing_id | string | yes | Existing paid provider profile id. |
| paid_refresh_tx | string | – | One-use retry reference only when a settled refresh could not complete. |
Structured output declared, but exposes no named fields.
No examples provided.
ontario_validate-service Validate an x402 Service Listing Free ~497
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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | string | – | Payment token contract accepted by the provider on the declared network. |
| buyer_query | string | – | Public task phrase used for the point-in-time Bazaar retrieval audit. It may appear in the public profile. |
| category | string | – | Public capability category for the service, not a claim of certification. |
| description | string | yes | Public buyer task, expected result, and important service limitations; do not include confidential text. |
| endpoint | string | yes | Provider-owned public HTTPS x402 endpoint to list. Never include secrets or sensitive query parameters. |
| mcp_remote_url | string | – | Optional public MCP remote for read-only initialize and tools/list checks. |
| mcp_server_json_url | string | – | Optional public MCP Registry record or exact-search JSON URL. |
| mcp_server_name | string | – | Optional exact MCP Registry server name. |
| method | string | – | HTTP method used to call the provider's endpoint. |
| name | string | yes | Public service name displayed on the provider profile. |
| network | string | – | Provider payment network, for example base or eip155:8453. Ontario publication itself uses Base USDC. |
| owner_contact | string | – | Optional provider contact retained for operations and omitted from public profiles. Omit when unnecessary; never send wallet credentials. |
| owner_url | string | – | Public website identifying the provider; publication does not verify legal identity. |
| price_atomic | integer | – | Optional provider price in six-decimal USDC units: 10000 equals 0.01 USDC. Must match price_usdc when supplied. |
| price_usdc | string | yes | Provider endpoint price in decimal USDC, at most six decimal places. This is separate from Ontario's 0.50 USDC publication fee. |
| source | string | – | Privacy-safe aggregate acquisition bucket; never a URL or query. |
| tags | array | – | Public capability tags for discovery, up to ten relevant labels. |
| verify_now | boolean | – | Optionally run live readiness checks and save a public signed report. No listing is published and no payment is made. |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | array | yes | – |
| next_steps | array | yes | – |
| normalized | object | yes | – |
| ok | – | yes | – |
| provider_publication | object | yes | – |
| stores_listing | – | yes | – |
| trust_disclaimer | string | yes | – |
| verification | object|null | yes | Optional public readiness observation; metadata validation alone does not verify readiness. |
| warnings | array | yes | – |
No examples provided.
x402_launch_kit X402 Launch Kit ~252
Generate a validated listing payload, x402 resource draft, MCP descriptor, GitHub readiness workflow, README snippet, and registry copy for one paid endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | string | – | USDC token contract on the declared payment network; omit to use the Base USDC default. |
| description | string | yes | Public description of the task the service performs and the result it returns. |
| endpoint | string | yes | Provider-owned public HTTPS x402 endpoint to prepare for listing. |
| method | string | – | HTTP method accepted by the provider endpoint, for example POST. |
| name | string | yes | Public name of the provider's service. |
| network | string | – | Payment network accepted by the provider, for example base or eip155:8453. |
| owner_contact | string | – | Optional public business contact for generated drafts. Omit private addresses; never supply credentials. |
| owner_url | string | – | Public website identifying the service provider. |
| price_usdc | string | yes | The provider's per-call price in decimal USDC, not Ontario's publication fee. Kit generation is free. |
| tags | string | – | Comma-separated public capability tags, for example x402,paid-api,agent-tool. |
| Name | Type | Req | Description |
|---|---|---|---|
| artifacts | object | yes | Unpublished drafts, not proof of endpoint readiness or catalog placement. |
| generated_at | string | yes | – |
| listing_validation | object | yes | – |
| next_steps | array | yes | – |
| ontario_calls | object | yes | – |
| schema | – | yes | – |
| status | – | yes | – |
| trust_boundary | string | yes | – |
No examples provided.
x402_readiness_verify x402 Readiness Verify ~108
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.
| Name | Type | Req | Description |
|---|---|---|---|
| target_url | string | yes | Public service or x402 endpoint URL to inspect without payment. Do not submit credentials, private hosts, or sensitive query parameters. |
| Name | Type | Req | Description |
|---|---|---|---|
| buyer_conversion_next_step | object | – | – |
| grade | string | yes | – |
| provider_listing_next_step | object | – | – |
| readiness_score | number | yes | – |
| recommendations | array | – | – |
| report_id | string | yes | – |
| report_url | string | – | – |
| signals | object | – | – |
| status | string | yes | – |
| warnings | array | – | – |
No examples provided.
What is the Ontario Protocol MCP server?
Ontario Protocol is an MCP server listed in the public MCP registry as com.ontarioprotocol/ontario-protocol. Audit x402 buyer discovery free; publish signed provider profiles with MCP and Bazaar evidence. This page covers its hosted endpoint (https://ontarioprotocol.com/mcp).
Is the Ontario Protocol MCP server safe to use?
Ontario Protocol scores 84 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Ontario Protocol MCP server expose?
Ontario Protocol exposes 9 tools: ontario_purchase_router, agent_can_pay, x402_readiness_verify, bazaar_buyer_intent_gap, find_x402_tool, and 4 more. Their descriptions and schemas cost roughly 2,641 tokens of context every time the server is loaded.
Does the Ontario Protocol MCP server require authentication?
No. We connected to Ontario Protocol without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Ontario Protocol MCP server still maintained?
Ontario Protocol is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.