Verify an MCP tool before an agent pays.
An Agent Tool Procurement Passport binds a provider's public MCP Registry identity and read-only remote tool contracts to its x402 endpoint readiness and sampled Bazaar buyer-task retrieval. One signed profile gives a buyer fewer disconnected claims to reconcile.
Namespace, version, website, remote declaration, and record alignment.
Read-only initialize and tools/list. No tool invocation or credentials.
Manifest, OpenAPI, HTTP 402 challenge, price, network, and freshness evidence.
Point-in-time validator and five-query retrieval observations.
What the buyer receives
A signed public record, not another unsourced badge.
| Evidence | Decision value | Boundary |
|---|---|---|
| MCP identity and version | Compare the registry record with the live server contract. | Does not prove legal identity or ownership beyond observable public metadata. |
| Tool names and input schemas | Check whether a remote exposes a usable contract before selection. | Ontario does not invoke the tools or judge their output quality. |
| x402 readiness report | Compare the live payment challenge with buyer budget and network policy. | A ready grade is not a safety or delivery guarantee. |
| Bazaar retrieval snapshot | See whether sampled buyer tasks retrieved the provider at scan time. | Not Coinbase certification and not a promise of future placement or rank. |
| Ed25519 integrity | Detect changes to the published procurement record. | Signing proves Ontario issued that record, not that future behavior is unchanged. |
Add it to a provider profile
The MCP fields are optional. Existing x402-only publication remains supported.
Run the free validator first. If the provider wants the canonical public profile, submit the same body to the paid endpoint, inspect its live 402 challenge, apply local spend policy, and sign locally.
curl -sS https://ontarioprotocol.com/api/x402/list-service/validate \
-H 'Content-Type: application/json' \
-d '{
"name": "Example paid research tool",
"description": "Returns one sourced research result after payment.",
"buyer_query": "find one sourced research result",
"endpoint": "https://example.com/api/paid-research",
"method": "POST",
"price_usdc": "0.01",
"network": "base",
"mcp_server_json_url": "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.example%2Fresearch-tool",
"mcp_server_name": "io.github.example/research-tool",
"mcp_remote_url": "https://example.com/mcp"
}'
Why this is a sharper product
Registry metadata alone helps an agent find a server. x402 metadata alone tells it how payment may work. A procurement decision needs both, plus a live contract and current buyer-retrieval evidence. Ontario's useful role is to make those separate systems comparable in one bounded record.
Read the input schema · Inspect the MCP tool contract · Review the trust boundary