upstash.com/docs/redis/overall/getstarted
Finalizing the report
Preparing the stored Is Agentic score
upstash.com/docs/redis/overall/getstarted
Preparing the stored Is Agentic score
upstash.com/docs/redis/overall/getstarted
These checks describe whether an ordinary agent can enter, read, and operate the public site.
Agents can reach the site
Crawler access and bot defenses.
Core content is available
Useful content remains accessible without a fragile browser-only path.
Navigation fails safely
Redirects and missing pages give agents a recoverable path.
Controls are understandable
Forms and interactive controls expose usable names and structure.
The public website is always evaluated. Optional surfaces appear when the scan finds positive evidence that they apply.
Strong
Weighted across 16 applicable checks
Strong
Weighted across 8 applicable checks
Strong
Weighted across 3 applicable checks
Ready with gaps
Weighted across 1 applicable check
Critical access gaps come first, followed by other applicable readiness gaps.
Serve at least 500 characters of meaningful homepage content in raw HTML. Add a clear H1, keep deeper heading levels sequential, and remove excessive non-content markup.
Publish an OpenAPI (Swagger) specification at /openapi.json or /api/openapi.yaml. This is how agents understand your API surface automatically.
Make sure your own domain ranks in the top results when people search your brand together with your main product (for example "Acme payments API"). If it does not, your brand may be too generic, conflict with a more established term, or not yet indexed. Strengthen it by describing your main product clearly in your homepage title and headings, earning press mentions that link to your domain, and avoiding redirect chains that mask your main domain in search results.
Keep authentication enabled. Verify tool listing with an authorized MCP client. This unauthenticated scan cannot establish whether protected tools are missing or unusable.
Checks are grouped by relevance for App sites.
7910 chars with H1, but first content heading is H2, not H1; 3.2% content ratio is below the 5% target
How to pass
Serve at least 500 characters of meaningful homepage content in raw HTML. Add a clear H1, keep deeper heading levels sequential, and remove excessive non-content markup.
Site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot).
No meta-refresh or JavaScript-redirect stubs across 15 checked pages
OpenAPI spec (YAML) found at https://upstash.com/docs/devops/developer-api/openapi.yaml
How to pass
Publish an OpenAPI (Swagger) specification at /openapi.json or /api/openapi.yaml. This is how agents understand your API surface automatically.
Canonical URL serves text/markdown and text/html via Accept negotiation with Vary: Accept
OAuth authorization server metadata at https://clerk.upstash.com
Zero-auth service - no scoping needed, all endpoints are openly accessible to agents
API returns JSON error responses (404 at https://upstash.com/api/v1/orank-probe-test)
Nonexistent paths return HTTP 404 with markdown guidance for agents - the strongest 404 contract
Agent discovered 2 developer-resource types by name (MCP server, developer portal) across 6 pages
upstash.com ranks #9 for "Upstash serverless database"
How to pass
Make sure your own domain ranks in the top results when people search your brand together with your main product (for example "Acme payments API"). If it does not, your brand may be too generic, conflict with a more established term, or not yet indexed. Strengthen it by describing your main product clearly in your homepage title and headings, earning press mentions that link to your domain, and avoiding redirect chains that mask your main domain in search results.
No noindex on the homepage: no robots, googlebot or bingbot meta tag and no X-Robots-Tag header hides it from search.
Valid sitemap found at https://upstash.com/sitemap.xml with multiple sitemaps entries
Rich JSON-LD identity: Organization with name, description, url, and sameAs/logo/address (2 blocks)
Pricing page found at /pricing
Documentation site found at https://upstash.com
When-to-use guidance found in llms.txt
All metadata signals present: canonical URL, lang="en", og:image, og:type
Organization schema complete with contactPoint and address
All trust anchor pages verified: About, Contact, Privacy
All 2 measured pages fit an agent context budget (largest ~2K tokens)
Code fences balanced across 2 markdown documents
Developer portal found at /docs
REST API documentation found at https://upstash.com/docs/README.md. Best-of-protocols score: 7/7.
Zero-friction onboarding verified live: keyless API surface fetched without credentials - no signup step exists
MCP server detected at https://mcp.upstash.com/mcp; it requires authentication. Presence is verified (5/6), but Ora could not inspect its tools or verify access scopes without credentials.
How to pass
Keep authentication enabled. Verify tool listing with an authorized MCP client. This unauthenticated scan cannot establish whether protected tools are missing or unusable.
CLI package found on npm: @upstash/cli
REST: large OpenAPI spec (YAML, ~55 paths) with operationIds and descriptions or summaries
OpenAPI spec (YAML) has operationIds and parameter definitions for function calling
Verified in 2 registries: Smithery (upstash/context7-mcp) [verified-curation], npm (@upstash/mcp-server) [package-owner] - 5563 agent uses, verified
NPM package found: @upstash/sdk - "An umbrella SDK for all other Upstash SDKs"
Agent config found: github.com/upstash/skills/blob/main/AGENTS.md
Agent Plugins manifest found: github.com/upstash/skills/blob/main/plugin.json
Found in ChatGPT app directory: "Upstash Redis"
32 official skills published on skills.sh - 92,254 total installs (skills.sh/upstash)
MCP server at https://mcp.upstash.com/mcp - list its server card, hosted on your own domain, in /.well-known/ai-catalog.json so MCP clients can discover it
How to pass
List each MCP server's card, hosted on your own domain, in /.well-known/ai-catalog.json, the document MCP clients fetch for discovery (ARD crawlers read the same catalog at /.well-known/ard.json), and serve the card at <server URL>/server-card, or name the server URL in llms.txt, so agents can find the server without anyone typing its URL in.
RFC 8288 Link header advertises: service-desc
Homepage markdown fallback works (https://upstash.com/index.md). No content pages from the sitemap could be sampled.
100% of 500 sampled sitemap entries carry lastmod; newest is 0 day(s) old
Found the llms.txt at https://upstash.com/llms.txt.
The llms.txt is well-formatted with markdown links, but at 188,015 characters it exceeds the 30,000-character recommendation for a navigation index.
How to pass
Format your llms.txt as a navigation index: start with a markdown heading, include markdown links to deeper resources, and keep it under 30,000 characters. If you have more to say, move long-form content into /llms-full.txt or per-section files (e.g. /docs/llms.txt, /api/llms.txt) and link to them from the main index.
Rich skills.sh presence - 32 skills, 92,254 installs. Agents can understand capabilities in depth
Strong entity linking via sameAs: github.com, linkedin.com
Some extended schema types found: FAQPage - add 2 more types that match what the homepage shows, for full coverage
How to pass
Add 2 more JSON-LD types that match what your homepage shows. Only add a type where the page shows that content.
All 5 probed llms.txt links resolve to real content
api-catalog linkset[0] has no 'item' entries
How to pass
Publish an API catalog at /.well-known/api-catalog per RFC 9727. Serve it with Content-Type: application/linkset+json;profile="https://www.rfc-editor.org/info/rfc9727" and include a 'linkset' array with item entries pointing to your OpenAPI specs and service descriptions.
Path-suffix markdown docs served with text/markdown content-type: /index.md
product MCP requires authentication with OAuth metadata discovery
RFC 8414 OAuth metadata for product MCP: issuer=https://clerk.upstash.com, auth and token endpoints present; client registration: DCR endpoint only (RFC 7591, deprecated in favor of CIMD)
OAuth metadata for product MCP supports PKCE S256 code challenge
RFC 9728 protected resource metadata found on MCP origin (resource=https://mcp.upstash.com/mcp)
401 at https://mcp.upstash.com at /mcp with spec-shaped WWW-Authenticate hint: Bearer error="invalid_token", error_description="No authorization provided", resource_metadata="https://mcp.upstash.com/
WebMCP mentioned in documentation at /docs but not implemented on homepage
How to pass
Expose in-page tools through WebMCP, a proposed web standard for browser agents. Register tools with document.modelContext.registerTool() and use navigator.modelContext only as a trailing compatibility fallback. Declarative toolname forms do not count: the WebMCP specification does not define them, so register the same actions with registerTool(). Chrome's origin trial covers versions 149-156, with shipping currently targeted for 157. ChatGPT can discover and call WebMCP site tools in the desktop app's built-in browser when the feature is available.
SDK packages found across 3 ecosystems: npm, pypi, go
Server HTML is a well-structured document (main=true, landmarks=4/4, h1=1, maxHeadingSkip=1).
99 native controls, 0 non-native div-soup affordances (100% native).
95/99 interactive elements have a computable accessible name (96%).
4/4 form controls have an associated label (100%).
No hidden instruction text detected in accessibility-tree attributes or off-screen content.
What does upstash.com do and who is it for? Explain it back to me.
Sign me up for Vercel product updates and marketing emails.
Unsubscribe anytime. Privacy Notice
Source: Ora API
What does upstash.com do and who is it for? Explain it back to me.
18 steps7 reasoning steps3 searches
The agent successfully compiled a comprehensive explanation of Upstash by combining direct website fetches with prior knowledge and machine-readable content. The site proved moderately navigable: the homepage and pricing pages loaded, but the agent had to rely heavily on the llms.txt artifact (step 14) and a markdown-formatted pricing file (step 16) to assemble complete pricing details. The agent filled gaps with prior knowledge and web search context to deliver a well-rounded answer covering what Upstash does, target users, pricing tiers, competitive differentiation, and confusing points.