---
title: "Agent readiness score for vercel.com: 63/100 (C, Needs work)"
description: "vercel.com scores 63/100 (Needs work). Strongest layer: Access at 87%; weakest: Discovery at 45%. Biggest single fix: wikipedia / wikidata entity presence (about +7.4 points)."
canonical: https://outserp.ai/blog/how-can-i-set-up-an-approval-workflow-in-supervised-mode
markdown: https://outserp.ai/api/machine-content?path=%2Fblog%2Fhow-can-i-set-up-an-approval-workflow-in-supervised-mode
site: Outserp
---
# Agent readiness score for vercel.com: 63/100 (C, Needs work)

> vercel.com scores 63/100 (Needs work). Strongest layer: Access at 87%; weakest: Discovery at 45%. Biggest single fix: wikipedia / wikidata entity presence (about +7.4 points).

Scanned: 2026-09-08 · rank 4 of 5 · JSON: https://outserp.ai/api/agent-ready/vercel.com · Badge: https://outserp.ai/api/agent-ready/badge/vercel.com.svg

## Layers

- Discovery (weight 20): 45% — 2.7/6 points
- Access (weight 30): 87% — 58/67 points
- Usability (weight 40): 55% — 28.64/52 points
- Payments (weight 10): n/a — 0/0 points

## Surfaces

- website: 77% (34/43 checks)
- api: not detected
- auth: 49% (2/9 checks) — https://vercel.com/.well-known/oauth-authorization-server
- mcp: not detected

## Fix these first

1. **Wikipedia / Wikidata entity presence** (`wikipedia-presence`, ≈ +7.4): Create a Wikidata item with official website (P856) = your domain; pursue a Wikipedia article once independent coverage exists.
2. **WebMCP support** (`webmcp`, ≈ +4.3): Register 3–10 verb-named tools with described JSON schemas on document.modelContext from an inline <head> script; mark reads readOnlyHint: true.
3. **robots.txt AI crawler policy** (`robots-ai-policy-quality`, ≈ +3.7): Add named User-agent groups for GPTBot, ClaudeBot, PerplexityBot and Google-Extended (Allow), decide explicitly about CCBot / Bytespider, and optionally add Content-Signal.
4. **OpenAPI spec published** (`openapi-spec`, ≈ +3.5): Publish OpenAPI 3.x at /openapi.json (alias it if the real file lives elsewhere) and reference it from llms.txt and /.well-known/api-catalog.
5. **MCP server / manifest** (`mcp-server`, ≈ +3.4): Serve an MCP server (Streamable HTTP), make initialize and tools/list answer without a token, and reference it from llms.txt and a server card.
6. **Agent-friendly 404s** (`agent-friendly-404`, ≈ +1.7): Return 404 for unknown paths and include links to /sitemap.xml, /llms.txt or your docs index in the 404 body (HTML and markdown).
7. **OAuth Protected Resource metadata (RFC 9728)** (`oauth-protected-resource`, ≈ +1.7): Publish protected-resource metadata with resource, authorization_servers, scopes_supported and bearer_methods_supported.
8. **auth.md exists** (`auth-md-exists`, ≈ +1.7): Publish /auth.md describing how an agent discovers, obtains, uses and revokes a credential.

## Every check

| Status | Check | Points | Evidence |
| --- | --- | --- | --- |
| PARTIAL | robots.txt AI crawler policy (`robots-ai-policy-quality`) | 1/2 | Partial AI policy: one named crawler or Content-Signal only. |
| PARTIAL | ARD discovery catalog (`ard-catalog`) | 0.7/1 | 4 of 4 entries are typed; 0 carry a trust manifest. |
| N/A | Brand name discoverability (`brand-search-accuracy`) | — | Search-based check; runs in the full audit. |
| N/A | Developer resource discoverability (`agentic-search-specific`) | — | Search-based check; runs in the full audit. |
| FAIL | Wikipedia / Wikidata entity presence (`wikipedia-presence`) | 0/2 | No Wikidata item mentions vercel.com. |
| PASS | NPM/PyPI SDK package (`npm-sdk-package`) | 1/1 | Official package: npm vercel ("The command-line interface for Vercel"). |
| N/A | Listed in MCP registries (`mcp-registry-listed`) | — | No MCP server. |
| PASS | Content without JavaScript (`content-no-js`) | 3/3 | 3653 chars of raw-HTML text, 1 H1 + 29 other headings, 0.7% content ratio. |
| PASS | Not blocked by bot detection (`bot-detection`) | 2/2 | Homepage reachable for 6 AI User-Agents. |
| PASS | Agent crawler reachability (`agent-crawler-reachability`) | 2/2 | No AI crawler is disallowed in robots.txt (6 checked). |
| PASS | robots.txt agent-user policy (`robots-agent-user-policy`) | 2/2 | User-triggered agents are allowed. |
| PASS | Redirect hygiene (`redirect-hygiene`) | 1/1 | No meta-refresh, JS-redirect stubs or cross-domain hops across 6 pages. |
| PASS | Content behind auth (`docs-auth-gate`) | 2/2 | All 6 sampled pages are publicly readable. |
| PASS | Page token budget (`page-token-budget`) | 1/1 | All 6 measured pages fit (largest ~4K tokens). |
| PASS | Sitemap exists (`sitemap`) | 2/2 | Valid sitemap at https://vercel.com/crawled-sitemap.xml with 2000 entries. |
| PASS | Sitemap freshness (lastmod) (`sitemap-lastmod`) | 1/1 | 100% of entries carry lastmod; newest is 0 day(s) old. |
| PASS | llms.txt exists (`llms-txt-exists`) | 1/1 | Found https://vercel.com/llms.txt (3796 characters). |
| PASS | llms.txt formatting (`llms-txt-formatting`) | 2/2 | Starts with a heading, 19 markdown links, 56 lines. |
| PASS | llms.txt links resolve (`llms-txt-links-resolve`) | 2/2 | All 18 same-origin links resolve. |
| PASS | Agent instruction / when-to-use (`agent-instruction`) | 3/3 | When-to-use guidance and calling instructions found. |
| PASS | Agent discovery file (`agent-discovery-file`) | 2/2 | Found /.well-known/ai-catalog.json, /agents.md. |
| FAIL | A2A agent card (`a2a-agent-card`) | 0/2 | No A2A agent card at /.well-known/agent-card.json. |
| FAIL | Agent Skills index (`agent-skills-index`) | 0/2 | No /.well-known/agent-skills/index.json. |
| PASS | Pricing info accessible (`pricing-info`) | 3/3 | https://vercel.com/pricing exposes 64 price signals in raw HTML. |
| PASS | pricing.md exists (`pricing-md`) | 2/2 | /pricing.md with 63 price signal(s). |
| PASS | JSON-LD structured data (`json-ld`) | 4/4 | Organization with name, description, url + sameAs/logo/address/contactPoint (3 block(s)). |
| PASS | Organization schema completeness (`org-schema-completeness`) | 2/2 | Organization schema has contactPoint and address. |
| PASS | JSON-LD entity linking (sameAs) (`json-ld-entity-linking`) | 2/2 | sameAs links to 6 authority profiles. |
| PARTIAL | Schema type breadth (`schema-type-breadth`) | 1/2 | Some extended types found: Service. |
| PASS | Metadata completeness (`metadata-completeness`) | 2/2 | All four metadata signals present. |
| PASS | Trust anchor pages (`trust-anchors`) | 2/2 | About, Contact and Privacy verified. |
| PASS | Markdown agent docs (`markdown-negotiation`) | 1/1 | Homepage serves text/markdown; charset=utf-8 for Accept: text/markdown. |
| PASS | Markdown content negotiation (Vary) (`markdown-negotiation-vary`) | 1/1 | Vary: Accept. |
| FAIL | Markdown URL fallback (.md) (`markdown-url-fallback`) | 0/2 | /index.md does not return markdown. |
| FAIL | Markdown alternate link (`markdown-link-alternate`) | 0/1 | No markdown alternate advertised on the homepage. |
| FAIL | Markdown frontmatter metadata (`markdown-frontmatter`) | 0/1 | Served markdown has no frontmatter. |
| FAIL | Bot-UA markdown serving (`agent-ua-markdown`) | 0/1 | No probed AI User-Agent receives markdown. |
| PASS | Code fence validity (`code-fence-validity`) | 1/1 | Code fences balanced across 1 markdown document(s). |
| FAIL | HTTP Link headers (RFC 8288) (`link-headers-discovery`) | 0/1 | Link header present but only api-catalog, ai-catalog, agent-skills rel values (preloads do not count). |
| FAIL | OpenAPI spec published (`openapi-spec`) | 0/7 | The site advertises an API but no OpenAPI / Swagger description was found at any conventional path. |
| PASS | API catalog (RFC 9727) (`api-catalog-rfc9727`) | 2/2 | 1 linkset entry with service descriptions. |
| PASS | Public API/docs linked from homepage (`public-api-docs`) | 3/3 | Docs link found on the homepage and resolves: /docs. |
| PASS | Developer portal (`developer-portal`) | 6/6 | Developer portal at /docs (9 developer signals). |
| N/A | MCP well-known discovery (`mcp-well-known-discovery`) | — | No MCP server. |
| FAIL | Agent-friendly 404s (`agent-friendly-404`) | 0/2 | /outserp-agent-ready-mtsegmgj returned 200: every path looks like it exists. |
| FAIL | Web Bot Auth directory (`web-bot-auth-directory`) | 0/2 | No /.well-known/http-message-signatures-directory. |
| N/A | JSON error responses (`json-error-responses`) | — | No API surface. |
| N/A | API schema completeness (`api-schema-analysis`) | — | No OpenAPI operations. |
| N/A | Function calling compatibility (`function-calling-compat`) | — | No OpenAPI operations. |
| N/A | REST typed error model (`api-error-model`) | — | No OpenAPI operations. |
| N/A | REST versioning / deprecation policy (`api-versioning-policy`) | — | No API surface. |
| N/A | REST pagination pattern (`pagination-shape`) | — | No API surface. |
| N/A | REST async-job pattern (`async-job-pattern`) | — | No API surface. |
| N/A | REST response schema coverage (`response-schema-coverage`) | — | No OpenAPI operations. |
| N/A | Rate limit response headers (`rate-limit-headers`) | — | No API surface. |
| N/A | REST batch / bulk endpoint (`batch-endpoints`) | — | No API surface. |
| N/A | Idempotency-Key support (`idempotency-key-support`) | — | No API surface. |
| N/A | Sandbox / test environment (`sandbox-environment`) | — | No API surface. |
| PASS | OAuth 2.0 support (`oauth-support`) | 5/5 | OAuth authorization server metadata at https://vercel.com/.well-known/oauth-authorization-server (issuer https://vercel.com, interactive flow). |
| FAIL | OAuth Protected Resource metadata (RFC 9728) (`oauth-protected-resource`) | 0/2 | No /.well-known/oauth-protected-resource (RFC 9728). |
| PASS | Scoped permissions (`scoped-permissions`) | 5/5 | 4 scope(s) declared (openid, email, profile, offline_access). |
| FAIL | auth.md exists (`auth-md-exists`) | 0/2 | No /auth.md at the site root. |
| FAIL | auth.md structure (`auth-md-structure`) | 0/2 | No /auth.md. |
| PARTIAL | Agent auth discovery metadata (`agent-auth-discovery-metadata`) | 0.99/3 | AS metadata present, the other is missing. |
| FAIL | Agent auth WWW-Authenticate hint (`agent-auth-www-authenticate`) | 0/1 | No 401 with WWW-Authenticate: Bearer resource_metadata=… found on the API roots. |
| FAIL | agent_auth endpoints reachable (`agent-auth-endpoints-reachable`) | 0/2 | No agent_auth block to probe. |
| PARTIAL | Agent onboarding friction (`onboarding-friction`) | 0.67/2 | Onboarding signals described but not verified live: free tier or trial, no sales wall. |
| PARTIAL | MCP server / manifest (`mcp-server`) | 1.98/6 | MCP is mentioned on the site but no server answered at any advertised or conventional endpoint. |
| N/A | MCP server card (`mcp-server-card`) | — | No MCP server. |
| N/A | MCP server identity (`mcp-server-identity`) | — | No MCP server. |
| N/A | MCP modern transport (`mcp-transport-modern`) | — | No MCP server. |
| N/A | MCP tool listing (`mcp-tool-listing`) | — | No MCP server. |
| N/A | MCP tool descriptions (`mcp-tool-descriptions`) | — | No tool list. |
| N/A | MCP tool naming (`mcp-tool-naming`) | — | No tool list. |
| N/A | MCP parameter schemas (`mcp-param-schemas`) | — | No tool list. |
| N/A | MCP tool annotations (`mcp-tool-annotations`) | — | No tool list. |
| N/A | MCP error handling (`mcp-error-handling`) | — | No completed MCP handshake. |
| N/A | MCP resources exposed (`mcp-resource-listing`) | — | No completed MCP handshake. |
| N/A | MCP resource quality (`mcp-resource-quality`) | — | No resources listed. |
| N/A | MCP auth mechanism (`mcp-auth-mechanism`) | — | No MCP server. |
| N/A | MCP OAuth metadata (`mcp-oauth-metadata`) | — | No MCP server. |
| N/A | MCP PKCE S256 support (`mcp-pkce-s256`) | — | No MCP server. |
| PASS | CLI tool available (`cli-tool`) | 3/3 | CLI package: npm vercel. |
| N/A | Multi-language SDK packages (`rest-sdk-packages`) | — | No API surface. |
| PASS | Accessible document structure (`ax-document-structure`) | 3/3 | main=true, landmarks=4/4, h1=1, maxHeadingSkip=1. |
| PASS | Native interactive controls (`ax-native-controls`) | 3/3 | 181 native controls, 0 non-native div/span affordances (100% native). |
| PASS | Accessible names on controls (`ax-accessible-names`) | 2/2 | 181/181 interactive elements have a computable accessible name (100%). |
| PASS | Form control labeling (`ax-form-labeling`) | 2/2 | 3/3 form controls have an associated label. |
| PASS | Accessibility-tree injection safety (`ax-tree-injection-safe`) | 2/2 | No hidden instruction text detected in accessibility-tree attributes or off-screen content. |
| FAIL | WebMCP support (`webmcp`) | 0/5 | No WebMCP support detected: no tool-attribute forms and no document.modelContext / registerTool usage (scanned 8 of 40 same-origin scripts). |

Fix-with-AI prompt (paste into a coding agent): https://outserp.ai/api/agent-ready/vercel.com/fix-prompt
Full audit with agent journeys and model-graded checks: https://outserp.ai/agent-ready/vercel.com
