---
title: "UBS: the 360 check | Agent Ready Checklist"
description: "UBS on Ora's agent-readiness scan, read 2026-11-10: 53 of 100, grade C. 6 of 22 checklist rows met, 12 not met. One company a day."
canonical: https://agentreadychecklist.com/blog/ubs-agent-readiness
site: "Agent Ready Checklist"
last_updated: 2026-11-10
date: 2026-11-10
section: "360 checks"
---

# UBS: the 360 check | Agent Ready Checklist

> UBS on Ora's agent-readiness scan, read 2026-11-10: 53 of 100, grade C. 6 of 22 checklist rows met, 12 not met. One company a day.

Source: https://agentreadychecklist.com/blog/ubs-agent-readiness
Site: Agent Ready Checklist
Last reviewed: 2026-11-10
Agent endpoints: https://agentreadychecklist.com/llms.txt (index), https://agentreadychecklist.com/openapi.json (API), https://agentreadychecklist.com/mcp (MCP server), https://agentreadychecklist.com/ask (search)
Access: https://agentreadychecklist.com/auth.md (no key). Pricing: https://agentreadychecklist.com/pricing.md (free).

# UBS against the checklist: the 360 agent-readiness check

360 check, 10 November 2026. UBS is the Swiss bank and the largest wealth manager in the world.

UBS scores 53 of 100 on Ora's agent-readiness scan, a C, read 10 November 2026. At the door, site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot). 6 of the 22 checklist rows with an Ora check are met. A documented REST API, a sign-in behind a shield, and no MCP server yet.

On 10 November 2026 the public site at ubs.com scored **53 of 100** on [Ora's](https://ora.ai/?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=check) agent-readiness scan, a C. Ora probes a site the way an agent would: it requests pages with the agents' own user agents, reads robots.txt, looks for the files agents read, and tries the API, MCP and payment surfaces. Below, each of the 31 checklist rows is read against the Ora checks the [crosswalk](https://agentreadychecklist.com/checklist/ora-checks/) names for it, so the result says which requirements this company meets, not only how many points it scored. Ora's one-line summary: UBS offers developer resource discoverability and Wikipedia entity presence, but lacks an OpenAPI specification.

## The score

| Layer | Points | Share | What the layer asks |
| --- | --- | --- | --- |
| Discovery | 11 of 15 | 73% | Can agents find and recommend it |
| Access | 32 of 55 | 58% | Can agents read it |
| Usability | 19 of 49 | 39% | Can agents use it |
| Payments | 0 of 0 | none apply | Can agents pay |
| Total | 53 of 100 | 53% | Grade C |

## Row by row

A row is met when every Ora check the crosswalk names for it passes, not met when every one fails, and partly when the checks disagree or one is partial. A row with no Ora check in the catalogue, or whose checks did not apply to this site, is marked as such; the [Verify Kit](https://agentreadychecklist.com/kit/) tests those by hand.

| Row | Level | Result | Ora checks, and what Ora saw |
| --- | --- | --- | --- |
| AR-FIND-01; Do not block agents | MUST | Met | robots.txt AI crawler policy (pass), robots.txt agent-user policy (pass), Agent crawler reachability (pass), Not blocked by bot detection (pass).; AI search crawlers: allowed in 3 of 3 checks (3 crawlers on 1 page). AI training crawlers: allowed in 2 of 2 checks (2 crawlers on 1 page), not scored. |
| AR-FIND-02; Answers on one first-party page | SHOULD | No Ora check | No check in Ora's catalogue names this row. |
| AR-FIND-03; Sitemap listed in robots.txt | SHOULD | Met | Sitemap exists (pass).; Valid sitemap found at https://www.ubs.com/sitemap.xml with multiple sitemaps entries |
| AR-FIND-04; AI Catalog at .well-known | MAY | Not met | AI Catalog discovery (not applicable), ARD discovery (fail).; No /.well-known/ard.json, no same-site rel="ard" link, and no legacy /.well-known/ai-catalog.json |
| AR-READ-01; Answer in the initial HTML | MUST | Partly | Content without JavaScript (partial).; Homepage: 3910 chars with H1, but first content heading is H2, not H1. 5 of 5 sampled inner pages have text without JavaScript. |
| AR-READ-02; Real HTTP status codes | MUST | Met | Redirect hygiene (pass).; Redirect hygiene: pass, 1 of 1. |
| AR-READ-03; Home page with real links | SHOULD | Met | Public API/docs linked from homepage (pass).; Documentation site found at https://developer.ubs.com |
| AR-READ-04; Docs that answer agent tasks | SHOULD | No Ora check | No check in Ora's catalogue names this row. |
| AR-READ-05; Fenced, language-tagged code | SHOULD | Met | Code fence validity (pass).; Code fence validity: pass, 1 of 1. |
| AR-READ-06; Link the discovery files | SHOULD | No Ora check | No check in Ora's catalogue names this row. |
| AR-READ-07; Ship llms.txt | SHOULD | Partly | llms.txt exists (pass), llms.txt formatting (partial), llms.txt links resolve (pass).; Found the llms.txt at https://developer.ubs.com/llms.txt. |
| AR-READ-08; JSON-LD on key pages | SHOULD | Partly | JSON-LD structured data (partial).; JSON-LD found (2 block(s)) but no identity type - use SoftwareApplication, Product, Organization, Person, or Article so agents can tell what this site is |
| AR-READ-09; Advertise a markdown mirror | MAY | Not met | Markdown alternate link (fail).; No sampled page advertises a markdown alternate. Add <link rel="alternate" type="text/markdown" href="..."> (or the equivalent Link response header) pointing at a markdown twin of the page. |
| AR-READ-11; Pricing as first-party HTML | SHOULD | No Ora check | Pricing info accessible (not applicable). |
| AR-ACT-01; Auth an agent can finish | SHOULD | Not met | OAuth 2.0 support (not applicable), Scoped permissions (fail).; No declared OAuth scopes, security schemes, or scoped-permission documentation found |
| AR-ACT-02; OpenAPI contract | SHOULD | Not met | OpenAPI spec published (fail).; No OpenAPI/Swagger specification found |
| AR-ACT-03; MCP over Streamable HTTP | SHOULD | Not met | MCP server / manifest (fail), Listed in MCP registries (not applicable), MCP PKCE S256 support (not applicable), MCP OAuth metadata (not applicable).; No MCP server or manifest found |
| AR-ACT-04; MCP server card | MAY | Not met | MCP server-card.json (fail).; No MCP server card found (checked /.well-known/mcp/server-card.json, the site's ai-catalog.json, servers[].card in mcp.json, and <server>/server-card) |
| AR-ACT-05; MCP Apps view | MAY | No Ora check | MCP Apps support (not applicable). |
| AR-ACT-06; SDKs and a CLI | SHOULD | Partly | CLI tool available (fail), Multi-language SDK packages (partial), NPM/PyPI SDK package (pass).; No CLI tool found |
| AR-ACT-07; WebMCP tools | SHOULD | Not met | WebMCP support (fail).; No WebMCP support detected - no document.modelContext / navigator.modelContext usage found (scanned 35 of 35 same-origin script bundle(s) for modelContext registrations) |
| AR-ACT-08; Agent payments | MAY | No Ora check | x402 payment protocol (not applicable), MPP payment protocol (not applicable), UCP - Universal Commerce Protocol (not applicable), ACP - Agentic Commerce Protocol (not applicable), ACP delegate payment (not applicable). |
| AR-ACT-09; NLWeb /ask endpoint | MAY | Not met | NLWeb /ask endpoint (fail).; No NLWeb-conformant /ask endpoint found via GET or POST |
| AR-ACT-10; An MCP server or a CLI | MUST | Not met | MCP server / manifest (fail), CLI tool available (fail).; No MCP server or manifest found |
| CF-CONTENT-SIGNALS; Content-Signal line | cloudflare | No Ora check | No check in Ora's catalogue names this row. |
| CF-MARKDOWN-NEGOTIATION; Markdown by Accept | cloudflare | Not met | Markdown content negotiation (acceptmarkdown.com) (fail), Markdown agent docs (fail).; Homepage https://ubs.com does not meet the Markdown negotiation requirements: Accept: text/markdown returned text/html;charset=utf-8; Vary header missing Accept (got "accept-encoding") |
| CF-PAY-PER-CRAWL; Pay per crawl, HTTP 402 | cloudflare | No Ora check | No check in Ora's catalogue names this row. |
| CF-OAUTH-DISCOVERY; OAuth discovery files | cloudflare | Not met | OAuth Protected Resource metadata (RFC 9728) (fail).; No /.well-known/oauth-protected-resource found (RFC 9728) |
| CF-AGENT-SKILLS; Agent Skills index | cloudflare | No Ora check | Agent Skills index conformance (v0.2.0) (not applicable). |
| VERCEL-NEGOTIATION-HEADERS; Markdown headers | vercel | Not met | Markdown content negotiation (acceptmarkdown.com) (fail).; Homepage https://ubs.com does not meet the Markdown negotiation requirements: Accept: text/markdown returned text/html;charset=utf-8; Vary header missing Accept (got "accept-encoding") |
| VERCEL-ROBOTS-EXCLUSIONS; Robots exclusions | vercel | Met | robots.txt AI crawler policy (pass), robots.txt agent-user policy (pass).; AI search crawlers: allowed in 3 of 3 checks (3 crawlers on 1 page). AI training crawlers: allowed in 2 of 2 checks (2 crawlers on 1 page), not scored. |

## The fixes worth most points

Ora attaches an estimate to each failing or partial check: how many points the site would gain by passing it. These are the 5 with the largest estimates for UBS, each tied to the checklist row whose recipes cover it.

MCP server / manifest

Fail, 0 of 6, about 5.4 points to gain. Ora saw: No MCP server or manifest found. Row [AR-ACT-03](https://agentreadychecklist.com/checklist/ar-act-03/), MCP over Streamable HTTP.

Scoped permissions

Fail, 0 of 5, about 4.5 points to gain. Ora saw: No declared OAuth scopes, security schemes, or scoped-permission documentation found. Row [AR-ACT-01](https://agentreadychecklist.com/checklist/ar-act-01/), Auth an agent can finish.

WebMCP support

Fail, 0 of 5, about 4.5 points to gain. Ora saw: No WebMCP support detected - no document.modelContext / navigator.modelContext usage found (scanned 35 of 35 same-origin script bundle(s) for modelContext registrations). Row [AR-ACT-07](https://agentreadychecklist.com/checklist/ar-act-07/), WebMCP tools.

Brand name discoverability

Fail, 0 of 3, about 4.4 points to gain. Ora saw: ubs.com was not in the top 10 for "United States of America" (searched your brand name alone: no main product term from your homepage qualified). No checklist row names this check.

OpenAPI spec published

Fail, 0 of 7, about 4.2 points to gain. Ora saw: No OpenAPI/Swagger specification found. Row [AR-ACT-02](https://agentreadychecklist.com/checklist/ar-act-02/), OpenAPI contract.

## Our read

UBS passes the door rows: all four test agents reached the home page, robots.txt allows every AI crawler checked, and no restriction applies to the user-triggered agents. The reading layer is fair: a home page of 3,910 characters whose first heading is an H2, all 5 sampled inner pages readable without JavaScript, a valid sitemap, complete metadata and an llms.txt at developer.ubs.com of 99,037 characters, three times the recommended length. Structured data is two JSON-LD blocks with no identity type. The act layer holds the points: REST documentation at /api scores 7 of 7 and a developer portal at developer.ubs.com, but there is neither an OpenAPI specification nor declared scopes, and no MCP server, the fix worth most at about 5 points; the OAuth probes were answered 403 by a bot shield, so those rows are unverified rather than failed. The brand search ran on United States of America, the probe's reading of the name. A C at 53: a documented API, a shielded sign-in, no server behind either.

## Verify your own site

The scan above is free and needs no account: enter a domain at [ora.ai](https://ora.ai/?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=check) and read the same four layers for your own site, then take each failing row to its recipe on this site. The command below runs the same audit from a terminal and exits with 1 under the score you set, so it can gate a deploy. Payments did not apply to this company; a site that sells is read on that layer too. [Why Ora, and its limits](https://agentreadychecklist.com/verify-with-ora/).

```bash
npx ax@0.10 audit https://example.com --min-score 70
```

[All 360 checks](https://agentreadychecklist.com/blog/), one company a day. Corrections to [the corrections page](https://agentreadychecklist.com/corrections/).

## Sources

-   [ora.ai/api/score/ubs.com, Ora's scan (vendor)](https://ora.ai/api/score/ubs.com?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=check)read 2026-11-10
-   [ora.ai/api/checks, contract 1.38.0 (vendor)](https://ora.ai/api/checks?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=check)read 2026-11-05
-   [ubs.com, the company's site](https://www.ubs.com/us/en.html)read 2026-11-10

Edition

Data

2026-11-04

Reviewed

2026-11-05

Spec

AgentReady v2.0, 273d2d7

Crawl

13,071 rows, 2026-11-04

Ora

132 checks, contract 1.38.0, 2026-11-05

Verify with Ora

The scanner this site recommends for the whole checklist. 132 checks, a score out of 100, no account.

`npx ax@0.10 audit <url> --min-score <n>`

[Why Ora, and its limits](https://agentreadychecklist.com/verify-with-ora/)

Method

-   [How rows, commands and rates are made](https://agentreadychecklist.com/method/)
-   [How an Ora check is matched to a row](https://agentreadychecklist.com/checklist/ora-checks/)
-   [Pass rates by rank band](https://agentreadychecklist.com/data/by-rank/)

Sources and read dates sit at the foot of the page.

Last reviewed 2026-11-10. AgentReady v2.0, read 2026-11-04.
