www.jetbrains.com/help/idea
Finalizing the report
Preparing the stored Is Agentic score
www.jetbrains.com/help/idea
Preparing the stored Is Agentic score
www.jetbrains.com/help/idea
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.
Needs work
Weighted across 15 applicable checks
Blocked
Weighted across 8 applicable checks
Needs work
Weighted across 3 applicable checks
Ready with gaps
Weighted across 1 applicable check
Critical access gaps come first, followed by other applicable readiness gaps.
Keep the correct HTTP 404 status. The remaining requirement is a Markdown error body when agents request Accept: text/markdown. Include at least 20 characters explaining the error and a link to your docs, sitemap, or llms.txt. Verify with curl -sS -L -i -H 'Accept: text/markdown' https://yourdomain.com/some-path-that-does-not-exist. Check both the final 404 status and the Markdown body with Content-Type: text/markdown. Checking the status alone does not verify the missing requirement.
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.
Declare scoped API permissions where machines can read them: named OAuth scopes in your OpenAPI security schemes, or scopes_supported in RFC 9728 protected-resource metadata. Prose descriptions of roles help humans, but agents need the machine-readable declaration to request least-privilege access.
Return structured JSON error responses with error codes, messages, and resolution hints. Agents can't parse HTML error pages.
Checks are grouped by relevance for App sites.
7363 chars with H1, but 4.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 6 AI agent user-agents
No meta-refresh stubs, JavaScript-redirect stubs, or cross-domain hops across 6 checked pages
All 5 sampled pages are publicly readable (2 with substantive content)
No OpenAPI/Swagger specification found
How to pass
Publish an OpenAPI (Swagger) specification at /openapi.json or /api/openapi.yaml. This is how agents understand your API surface automatically.
Homepage https://jetbrains.com does not meet the Markdown negotiation requirements: Accept: text/markdown returned text/html; Vary header missing Accept (got "none")
How to pass
Enable Markdown negotiation on the scanned homepage. Supporting it only on /docs or a separate .md URL does not satisfy this check. Requests with Accept: text/markdown must receive a nonempty Markdown body with Content-Type: text/markdown and Vary: Accept. Keep serving HTML for Accept: text/html. Adding Vary alone does not create a Markdown response. Verify both with curl -sS -L -i -H 'Accept: text/markdown' https://yourdomain.com/ and curl -sS -L -i -H 'Accept: text/html' https://yourdomain.com/. Check the final response headers and body: Markdown with Vary: Accept for the first request, HTML for the second.
OAuth authorization server metadata at https://support.jetbrains.com/mcp/oauth
No declared OAuth scopes, security schemes, or scoped-permission documentation found
How to pass
Declare scoped API permissions where machines can read them: named OAuth scopes in your OpenAPI security schemes, or scopes_supported in RFC 9728 protected-resource metadata. Prose descriptions of roles help humans, but agents need the machine-readable declaration to request least-privilege access.
API does not return JSON error responses (or no API detected)
How to pass
Return structured JSON error responses with error codes, messages, and resolution hints. Agents can't parse HTML error pages.
The nonexistent path https://jetbrains.com/__ora-404-probe-1py8ne5v correctly returns HTTP 404. Partial credit: no Markdown error body was detected.
How to pass
Keep the correct HTTP 404 status. The remaining requirement is a Markdown error body when agents request Accept: text/markdown. Include at least 20 characters explaining the error and a link to your docs, sitemap, or llms.txt. Verify with curl -sS -L -i -H 'Accept: text/markdown' https://yourdomain.com/some-path-that-does-not-exist. Check both the final 404 status and the Markdown body with Content-Type: text/markdown. Checking the status alone does not verify the missing requirement.
Agent discovered 1 developer-resource type by name (OpenAPI spec) across 5 pages
jetbrains.com ranks #1 for "JetBrains IDE"
Valid sitemap found at https://www.jetbrains.com/sitemap_index.xml with multiple sitemaps entries
JSON-LD found (1 block) but no identity type - use SoftwareApplication, Product, Organization, Person, or Article so agents can tell what this site is
How to pass
Add JSON-LD structured data to your homepage using the identity type that matches your site - SoftwareApplication for products, Organization or LocalBusiness for companies, Person for personal sites, Article for blogs - with name, description, url, and type-appropriate fields (offers, sameAs, author) so AI can parse your identity programmatically.
No pricing page or pricing data found
How to pass
Make pricing discoverable - add a /pricing page or include pricing as schema.org/Offer structured data, so agents can find it without scraping a marketing page.
API/docs link found on homepage and resolves: /legal/docs/privacy/privacy/
No agent instruction file with when-to-use guidance found
How to pass
Tell agents when to reach for you: add a 'when to use this' section to your llms.txt (or a dedicated agent-instructions file) that names your best-fit use cases and how an agent should call you. Be specific about the jobs you are right for - generic marketing copy does not read as guidance.
All metadata signals present: canonical URL, lang="en", og:image, og:type
No Organization type found in JSON-LD
How to pass
Add Organization JSON-LD that includes both contactPoint (with email/phone and contactType) and address (PostalAddress). This lets AI verify your business legitimacy and answer contact queries.
About, Contact pages verified - missing: Privacy
How to pass
Publish real /about, /contact, and /privacy pages with at least 500 characters of content each. These are the pages AI agents check to verify your business is legitimate before recommending you.
All 6 measured pages fit an agent context budget (largest ~7K tokens)
Developer portal found at /docs
No publicly reachable API surface detected (REST and GraphQL both absent or auth-gated)
How to pass
Expose a public REST or GraphQL API. AI agents need programmatic access - not just a web UI - to integrate with your product.
Onboarding signals described but not verified live: free tier available
How to pass
Offer a free tier or trial, self-serve API key generation, and a sandbox environment. Agents can't fill out 'contact sales' forms.
MCP server detected at https://support.jetbrains.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: @jetbrains/youtrack-scripting
No API schema detected
How to pass
Make your API spec self-describing: a unique operationId and a description on every operation, typed parameters, and response schemas. For GraphQL, a fully typed schema with a documented cost or rate limit reads best.
No API spec found - function calling requires discoverable endpoints
How to pass
Ensure API endpoints have unique operation IDs, typed schemas, and descriptions compatible with LLM function-calling formats.
Wikipedia "JetBrains MPS" and Wikidata Q1688472 both verified - domain confirmed on both sources
Verified in npm as @jetbrains/mcp-proxy via npm-scope - 16617 agent uses
NPM package found: @jetbrains/ring-ui-built - "JetBrains UI library"
91 official skills published on skills.sh - 5,563 total installs (skills.sh/jetbrains)
MCP server at https://support.jetbrains.com/mcp - consider adding /.well-known/mcp for standard discovery
How to pass
Serve your MCP server at /.well-known/mcp, publish a server-card.json at /.well-known/mcp/server-card.json, or reference it in llms.txt so agents can discover it automatically without manual URL input.
100% of 500 sampled sitemap entries carry lastmod; newest is 2 day(s) old
Rich skills.sh presence - 91 skills, 5,563 installs. Agents can understand capabilities in depth
docs MCP is gated behind authentication - this defeats the purpose of a docs MCP for agent discovery
How to pass
Protect your MCP server with OAuth 2.0 authentication. Publish authorization server metadata at /.well-known/oauth-authorization-server for automatic agent auth flows.
RFC 8414 OAuth metadata for docs MCP: issuer=https://support.jetbrains.com/mcp/oauth, auth and token endpoints present; client registration: CIMD (client_id_metadata_document_supported)
OAuth metadata for docs MCP supports PKCE S256 code challenge
RFC 9728 protected resource metadata found on MCP origin (resource=https://support.jetbrains.com/mcp)
SDK packages found in npm, rubygems
How to pass
Publish official SDK packages across multiple language ecosystems (npm, PyPI, Go modules, RubyGems). Auto-generate them from your OpenAPI spec using tools like openapi-generator. For each package set the project URL or homepage to your product domain (package.json repository/homepage, PyPI Home-Page or project_urls, RubyGems homepage_uri) - this is how agents verify the package is your official SDK.
NLWeb /ask endpoint exists but requires authentication (HTTP 403, via POST)
Sandbox environment found at https://jetbrains.com/docs/sandbox
Server HTML is a well-structured document (main=true, landmarks=4/4, h1=1, maxHeadingSkip=1).
153 native controls, 0 non-native div-soup affordances (100% native).
148/153 interactive elements have a computable accessible name (97%).
No hidden instruction text detected in accessibility-tree attributes or off-screen content.
What does www.jetbrains.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 www.jetbrains.com do and who is it for? Explain it back to me.
22 steps6 reasoning steps6 searches
The agent successfully assembled a comprehensive explanation of JetBrains' business model, products, pricing, and competitive positioning—but had to work around a largely non-functional website. The jetbrains.com homepage, products pages, and pricing URLs returned incomplete or missing HTML, forcing the agent to rely on web search results, Wikipedia, and third-party pricing aggregators to answer the task. The agent's final answer was well-structured and factually correct, but none of it came directly from JetBrains' own published pages.