Paste a Universal Commerce Protocol business profile and a platform profile. This node computes the capability set the two parties can agree on: capabilities named by both sides at their highest mutually supported dated version, with each extension's requires bounds applied and extensions whose parents did not survive pruned away. Profile-shape findings (canonical keys[] placement, namespace authority binding, dev.ucp.* release pinning, version format) are reported alongside the verdict. Runs entirely in your browser; nothing is transmitted.
Protocol phase: each side offers its ucp.version plus any older releases it maps in supported_versions; the highest mutually offered dated release is selected. Capability phase: a capability survives when both profiles carry usable entries for its name and share at least one dated version; the highest shared version is selected. Extensions (extends) survive when at least one declared parent survives; pruning repeats until stable. requires bounds on the selected protocol version and on named capabilities are verified after versions are fixed (inclusive bounds; entries declare them). Entities whose schema URL fails the namespace authority binding (reversed https host must equal the name or be a label-aligned prefix) and dev.ucp.* entries whose version differs from the profile's ucp.version are treated as not present. An empty final set is a definite outcome: the parties cannot transact under the advertised capability sets. This node is verify-only: it never fetches profiles or schemas.
policy_parameters is an object with two required members, business_profile and platform_profile, each a UCP profile object: a required ucp member carrying ucp.version (dated release, YYYY-MM-DD), ucp.services and ucp.payment_handlers (objects, may be empty), an optional ucp.capabilities map of name to entry arrays (version required; optional schema, extends, requires), and an optional ucp.supported_versions map of older dated releases. The output payload carries verdict (AGREED, NO_COMMON_CAPABILITY, or INDETERMINATE), protocol_version, primary_reason, agreed_capabilities, dropped (with a reason per dropped name), findings, and issues (populated, with INPUT_REFUSED raised, when a profile does not meet the contract above).
Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this exact tool, with this sample, and verify the artifact.
Run the AINumbers MCP tool `negotiate_ucp_capabilities`. Task: Compute the UCP capability set two pasted profiles agree on: intersect by name, select the highest mutual dated version per capability (supported_versions included), apply extension requires bounds, prune orphaned extensions to a fixpoint, and report profile-shape findings.
Call it with arguments: {"policy_parameters":{"business_profile":{"ucp":{"version":"2026-08-25","services":{},"payment_handlers":{},"capabilities":{"dev.ucp.shopping.checkout":[{"version":"2026-08-25"}]}}},"platform_profile":{"ucp":{"version":"2026-08-25","services":{},"payment_handlers":{},"capabilities":{"dev.ucp.shopping.checkout":[{"version":"2026-08-25"}]}}}}}
Verify before trusting: call `verify_execution_hash` on mcp.ainumbers.co (https://mcp.ainumbers.co/mcp) with the parameter `claimed_hash` set to the returned `execution_hash`, passing the full artifact the run returned (the object containing `policy_parameters` + `output_payload` + `execution_hash`; equivalently `policy_parameters` + `output_payload` with `claimed_hash`), not the bare hash string.
Return the ledger link https://ledger.ainumbers.co/ so a human can re-verify without contacting us.
PII rule: All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
Over MCP, the run happens on the AINumbers worker. No AINumbers server stores your inputs.
Open the tool with the sample prefilled: https://ainumbers.co/chaingraph/art-820-negotiate-ucp-capabilities.html#p=v1.H4sIAAAAAAAA_wFBAb7-eyJidXNpbmVzc19wcm9maWxlIjp7InVjcCI6eyJ2ZXJzaW9uIjoiMjAyNi0wOC0yNSIsInNlcnZpY2VzIjp7fSwicGF5bWVudF9oYW5kbGVycyI6e30sImNhcGFiaWxpdGllcyI6eyJkZXYudWNwLnNob3BwaW5nLmNoZWNrb3V0IjpbeyJ2ZXJzaW9uIjoiMjAyNi0wOC0yNSJ9XX19fSwicGxhdGZvcm1fcHJvZmlsZSI6eyJ1Y3AiOnsidmVyc2lvbiI6IjIwMjYtMDgtMjUiLCJzZXJ2aWNlcyI6e30sInBheW1lbnRfaGFuZGxlcnMiOnt9LCJjYXBhYmlsaXRpZXMiOnsiZGV2LnVjcC5zaG9wcGluZy5jaGVja291dCI6W3sidmVyc2lvbiI6IjIwMjYtMDgtMjUifV19fX1964SSwkEBAAA