UCP Manifest: Does Your Site Expose a Universal Commerce Protocol File for AI Agents?
stableCategory: ai-signals · Methodology v4.5
friendly4AI fetches /.well-known/ucp, parses the JSON, and counts two things: entries under services, and capabilities.
Signal Source
- Source
https://{domain}/.well-known/ucp- Kind
- http_response
Score Bands
| Verdict | Condition |
|---|---|
| Pass | a valid UCP manifest is fetched at /.well-known/ucp — parseable JSON declaring at least one service and at least one capability |
| Partial | a UCP file is fetched at /.well-known/ucp but is malformed JSON, or declares no service or no capability |
| Fail | no UCP manifest is found at /.well-known/ucp, or the response is empty |
Description
The UCP Manifest parameter checks whether your site serves a valid Universal Commerce Protocol (UCP) manifest at /.well-known/ucp. That file is JSON, and it declares your services and capabilities so AI commerce agents know what you sell before they act. To pass, it has to parse as JSON and declare at least one service and at least one capability. The signal is commerce-conditional: its weight counts only when the scan detects commerce signals on the site.
What does this parameter measure?
friendly4AI fetches /.well-known/ucp, parses the JSON, and counts two things: entries under services, and capabilities. Capabilities count from both places they can live — the top-level capabilities list and the capabilities nested inside each service. The manifest is valid once it declares at least one service and at least one capability. And because the parameter is commerce-conditional, it only feeds your score when the scan finds commerce signals on the site.
Why does a UCP manifest matter for AI-readiness?
An AI shopping or transaction agent needs a machine-readable contract telling it what a merchant can do, before it commits to anything. A UCP manifest is that contract. It lists your services — checkout, catalog, order tracking — and the capabilities behind each one, so the agent can plan a purchase or check availability without scraping product pages. On a commerce site, that's the difference between an agent reading your pages and an agent buying from them. Non-commerce sites lose nothing here, since the parameter stays conditional. Publishing a valid manifest is an early bet on agent-driven commerce.
How is the UCP Manifest scored?
This AI-Specific Signals parameter is a gradient scored across three tiers under the v4.5 methodology. The scanner follows the published rubric exactly:
- Pass (100) —
/.well-known/ucpis fetched and the JSON is valid: at least one service AND at least one capability are declared. - Partial (50) — the file is fetched but the JSON is malformed, or it parses yet declares no service or no capability.
- Fail (0) — no file is found, or the response is blank.
Because UCP is commerce-conditional, that contribution to your overall score is gated on the scan detecting commerce signals. A non-commerce site is never marked down for skipping it.
How do you fix common UCP manifest issues?
- If your site handles commerce or service transactions, publish a JSON manifest at
/.well-known/ucpdescribing your services and their capabilities. - Declare at least one entry under
servicesand at least onecapability(top-level or nested in a service). Both are required to reach the pass tier. - Validate the JSON syntax before you publish. A malformed file still gets fetched, but it only scores partial.
- Keep service and capability definitions specific — checkout, catalog, order-status — so agents can map them to real actions.
- Re-scan after publishing to confirm the manifest is fetched and read as valid.
Related parameters: AI Manifests Coverage, llms.txt Presence, and Structured Data Coverage. Together they set how discoverable your site is to AI agents and crawlers.
Version History
- Introduced
- v1
- Last changed
- v4.5
Key takeaways
- Signal: https://{domain}/.well-known/ucp
- Category: AI-Specific Signals
- Passes when: a valid UCP manifest is fetched at /.well-known/ucp — parseable JSON declarin…