register_ucp_profile
Register a public hosted UCP agent profile and receive agent_id/profile_url. Default path: send agent_name plus public_key_jwk and the gateway builds the canonical UCP profile with default Shopping capabilities. Re-registering the same public_key_jwk in the same namespace is idempotent and returns the existing agent_id. Do not build a capability map for normal registration. Create local ./.ucpgateway/ files; keep private_key.jwk local and save returned agent_id/profile_url/profile_json to ./.ucpgateway/agent.json.
Input Schema
{
"type": "object",
"oneOf": [
{
"required": [
"public_key_jwk"
],
"description": "Default registration: agent_name + public_key_jwk; the gateway builds the canonical UCP profile and default Shopping capabilities."
},
{
"required": [
"profile_json"
],
"description": "Advanced/legacy registration: agent_name + a full public UCP profile_json with exact supported capability keys."
}
],
"required": [
"agent_name"
],
"properties": {
"metadata": {
"type": "object",
"required": [],
"properties": [],
"description": "Optional public metadata for the generated profile, such as homepage or runtime. Do not include secrets, tokens, passwords, payment data, private keys, or buyer PII; server-owned fields are overwritten.",
"additionalProperties": true
},
"namespace": {
"type": "string",
"description": "Public profile namespace for hosted UCP profiles. Usually 'openclaw'; use lowercase letters, numbers, underscores, or hyphens."
},
"agent_name": {
"type": "string",
"description": "Human-readable public agent name, max 120 characters."
},
"skill_name": {
"type": "string",
"description": "Optional public skill/package name, e.g. 'ucp-gateway-skill'."
},
"description": {
"type": "string",
"description": "Optional public agent description, max 500 characters."
},
"profile_json": {
"type": "object",
"required": [],
"properties": [],
"description": "Advanced/legacy only. Public UCP profile JSON for callers that already know the full UCP profile format. Normal SKILL.md-only agents should omit profile_json and send public_key_jwk instead; the gateway builds default Shopping capabilities. If supplied, profile_json must contain ucp.version, ucp.capabilities using exact supported keys (dev.ucp.shopping.catalog.search, dev.ucp.shopping.catalog.lookup, dev.ucp.shopping.catalog, dev.ucp.shopping.cart, dev.ucp.shopping.checkout), ucp.payment_handlers, and only public signing_keys. 'shopping' and 'dev.ucp.shopping' are invalid shorthand. Never include private JWK fields d, p, q, dp, dq, qi, or k.",
"additionalProperties": true
},
"skill_version": {
"type": "string",
"description": "Optional public skill/package version, e.g. '0.2.0'."
},
"public_key_jwk": {
"type": "object",
"required": [],
"properties": [],
"description": "Default registration public key. Send an EC P-256 public JWK object (kty='EC', crv='P-256', x, y, optional kid/alg/use). Never include private JWK fields d, p, q, dp, dq, qi, or k; keep private_key.jwk local.",
"additionalProperties": true
}
},
"description": "Arguments for registering a hosted UCP profile. Provide public_key_jwk for default registration, or profile_json for advanced legacy registration, but not both.",
"additionalProperties": false
}
Stores exposing the register_ucp_profile tool
Get the agentic commerce digest every Monday
Real adoption data, ecosystem trends, new spec versions, and the stores that broke or recovered this week. Read by founders and engineers building the next generation of commerce.
