Static pre-check · Fri, 07 Aug 2026 06:51:35 GMT
teamcity.jetbrains.com
AI agents cannot effectively navigate TeamCity's website due to missing documentation links, broken homepage responses, and JavaScript dependencies blocking content access.
Watch a real agent use your site →
A live Claude Code run against teamcity.jetbrains.com, streamed step by step.
Test this with real agents →
An audit: measured success rates from repeated real agent runs, with confidence intervals and downloadable evidence.
Discovery 11.6/22.2
Documentation linked from the homepagedetailsFAIL
no link to documentation found in the homepage HTML
Fix: Link your docs from the homepage with visible anchor text ("Docs", "Documentation", "Developers"). An agent that cannot find your docs from your homepage will guess your API.
Homepage has a meta descriptiondetailsFAIL
no <meta name="description">
Fix: Add a <meta name="description"> of 50–200 characters summarising what the product does. Agents use it as the one-line answer to "what is this site".
API reference linked from the homepagedetailsWARN
no link to an API reference in the homepage HTML
Fix: If you have an API, link its reference from the homepage. If you don't, this check is safe to ignore.
Canonical URL declareddetailsWARN
no <link rel="canonical">
Fix: Add <link rel="canonical"> to the homepage so agents and crawlers converge on one URL for this page.
Homepage has a descriptive titledetailsWARN
title is only 4 characters: 'Ring'
Fix: Expand the <title> to 10–70 characters naming the product and what it does.
Open Graph tags presentdetailsWARN
no Open Graph tags
Fix: Add og:title and og:description meta tags.
robots.txt points at the sitemapdetailsWARN
robots.txt does not reference a sitemap
Fix: Add `Sitemap: https://<domain>/sitemap.xml` to /robots.txt so crawlers find it without guessing.
sitemap.xml exists and parsesdetailsWARN
served, but contains no <urlset> or <sitemapindex>
Fix: Make /sitemap.xml a valid sitemap: a <urlset> of <url><loc> entries, or a <sitemapindex> pointing at more sitemaps.
robots.txt allows agent crawlersdetailsPASS
all 6 agent crawlers may fetch /
robots.txt existsdetailsPASS
HTTP 200, 112 bytes
Brand findable in agent searchdetailsN/A
search-based checks are deferred — excluded from the score
Listed in an MCP registrydetailsN/A
registry lookup not implemented in v1 — excluded from the score rather than guessed
Accessibility 12.1/33.3
Docs are readable without JavaScriptdetailsFAIL
/docs returns only 145 characters of readable text
Fix: Server-render your documentation. Docs behind a client-side renderer are invisible to every agent that reads them, which is the whole audience for docs.
Homepage responds to an agent requestdetailsFAIL
HTTP 401 for an agent User-Agent
Fix: Return 200 for agent requests to the homepage. A non-2xx here means nothing downstream can be evaluated.
llms.txt is structured markdowndetailsFAIL
/llms.txt returns HTML, not markdown
Fix: Serve /llms.txt as text/plain or text/markdown. An HTML error page at this path is worse than a 404: it looks like content.
Same response for agents and browsersdetailsFAIL
browser got HTTP 200, agent User-Agent got HTTP 401
Fix: Your CDN or WAF is blocking non-browser clients. Allow well-identified bots, or at least return a 200 with readable content instead of a challenge page.
Homepage has readable text without JavaScriptdetailsFAIL
only 145 characters of readable text in the served HTML
Fix: Server-render the homepage's core content (SSR, static export, or prerendering). A client-rendered shell is empty to every agent.
Structured data (JSON-LD) on the homepagedetailsWARN
no JSON-LD blocks on the homepage
Fix: Add a JSON-LD block (schema.org Organization or SoftwareApplication) so agents get your name, description and links as data rather than prose.
Links in llms.txt resolvedetailsWARN
llms.txt contains no resolvable links
Fix: Add markdown links to your actual docs pages — a description with no links leaves the agent where it started.
Serves markdown when asked for itdetailsWARN
Accept: text/markdown → text/html
Fix: Optional but increasingly expected: honour `Accept: text/markdown` by serving a markdown rendering of the page, so agents skip HTML parsing entirely.
Served over HTTPSdetailsPASS
https://hub.jetbrains.com/auth/login?response_type=code&client_id=2de7f1c3-b96c-46aa-9c89-04ed4b654489&redirect_uri=https%3A%2F%2Fteamcity.jetbrains.com%2FhubPlugin%2Flogin.html&scope=0-0-0-0-0%202de7f1c3-b96c-46aa-9c89-04ed4b654489&state=%2F&access_type=online
llms-full.txt is publisheddetailsPASS
HTTP 200, 2800 bytes
llms.txt is publisheddetailsPASS
HTTP 200, 2800 bytes
Content-to-markup ratio is reasonabledetailsPASS
ratio 0.0732 (145 chars of 1981)
No long redirect chain on the homepagedetailsPASS
0 redirect(s)
Usability 20.1/44.4
OpenAPI document publisheddetailsFAIL
/openapi.json is served but is not valid JSON
Fix: Serve a parseable OpenAPI document at /openapi.json. What is there now cannot be read by any tooling.
agents.md is publisheddetailsWARN
/agents.md returns HTML
Fix: Serve /agents.md as markdown (text/markdown or text/plain). An HTML page here is probably your SPA catch-all route.
The /api root behaves predictablydetailsWARN
/api → HTTP 200 text/html
Fix: Serve JSON from API paths, with an accurate content-type.
Errors are machine-readabledetailsWARN
a nonexistent path returned HTTP 200, not 404
Fix: Return 404 for paths that do not exist. A 200 on a missing page makes an agent believe it found something.
.well-known/mcp.json advertises an MCP serverdetailsWARN
/.well-known/mcp.json not served (HTTP 404)
Fix: If you run an MCP server, advertise it at /.well-known/mcp.json so agents discover it without being told its URL.
A documentation endpoint respondsdetailsPASS
/docs → HTTP 200
MCP server completes the initialize handshakedetailsN/A
no MCP endpoint found to probe (none in the input URL and none advertised at /.well-known/mcp.json)
MCP tool parameters are typed and describeddetailsN/A
no listed MCP tools to inspect
Every MCP tool has a descriptiondetailsN/A
no listed MCP tools to inspect
MCP server lists toolsdetailsN/A
no MCP endpoint to probe
OpenAPI declares its auth schemedetailsN/A
no parseable OpenAPI document
OpenAPI operations are describeddetailsN/A
no parseable OpenAPI document
OpenAPI documents error responsesdetailsN/A
no parseable OpenAPI document
OpenAPI document is structurally validdetailsN/A
no parseable OpenAPI document
Payments not applicable — excluded from the score
Serves a 402 payment challengedetailsN/A
no agent-payment rail published — not applicable. This layer is excluded from the score rather than counted against the site.
Declares AP2 / ACP supportdetailsN/A
no agent-payment rail published — not applicable. This layer is excluded from the score rather than counted against the site.
Publishes x402 payment metadatadetailsN/A
no agent-payment rail published — not applicable. This layer is excluded from the score rather than counted against the site.
Badge
Shows the current scan score and grade for this domain, straight from the latest static pre-check.
[](/score/teamcity.jetbrains.com)<a href="/score/teamcity.jetbrains.com"><img src="/api/badge/teamcity.jetbrains.com" alt="agent readiness score" /></a>