Finalizing the report
Preparing the stored Is Agentic score
Preparing the stored Is Agentic score
nicholasadamou.com
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 17 applicable checks
Strong
Weighted across 12 applicable checks
Strong
Weighted across 3 applicable checks
Strong
Weighted across 1 applicable check
Critical access gaps come first, followed by other applicable readiness gaps.
No material issues were found in the applicable checks.
Checks are grouped by relevance for Business sites.
3140 chars, semantic headings (1 H1 + 9 H2s + 16 H3s), 5.9% content ratio
Site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot).
No meta-refresh stubs, JavaScript-redirect stubs, or cross-domain hops across 6 checked pages
All 5 sampled pages are publicly readable (5 with substantive content)
Canonical URL serves text/markdown and text/html via Accept negotiation with Vary: Accept
Nonexistent paths return HTTP 404 with markdown guidance for agents - the strongest 404 contract
nicholasadamou.com ranks #4 for "Nicholas Adamou personal portfolio" (search term updated)
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://nicholasadamou.com/sitemap.xml with 30 entries
Rich JSON-LD identity: Person with name, description, url, and sameAs/jobTitle (3 blocks)
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 6 measured pages fit an agent context budget (largest ~3K tokens)
Name search surfaced no pages on nicholasadamou.com, although developer resources exist on the site (API docs, OpenAPI spec, MCP server) - weak search indexing or transient search noise
How to pass
Check whether your developer resources (API docs, OpenAPI spec, auth docs, developer portal, MCP server, SDK documentation) surface in name-based searches. If they do not, use predictable URLs, link them in llms.txt, and include your product name in page titles and headings. This result reflects one search sample.
NPM package found: nicholasadamou - "Get to know Nicholas Adamou via `npx nicholasadamou`."
MCP manifest has name and description but no icon at /.well-known/mcp/server-card.json
How to pass
Give your MCP server-card (at /.well-known/mcp/server-card.json) a display name, an icon or logo, and a description - all three together are what reads as a complete, branded listing agents can present.
MCP server discoverable via server-card.json at /.well-known/mcp/
53% of 30 sampled sitemap entries carry lastmod; newest is 274 day(s) old
Found the llms.txt at https://nicholasadamou.com/llms.txt.
The llms.txt is well-formatted: 46 lines with markdown links, 4,956 characters in total.
API/docs link found on homepage and resolves: /developers
When-to-use guidance found in llms.txt
Strong entity linking via sameAs: github.com, linkedin.com
All 5 probed llms.txt links resolve to real content
Code fences balanced across 1 markdown document
OpenAPI spec found at https://nicholasadamou.com/openapi.json (version: 3.1.0)
Developer portal found at /developers
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.
Returns markdown when requested via Accept header
All 5 tools on docs MCP have detailed descriptions (>= 30 chars)
docs MCP identifies as "io.github.nicholasadamou/nicholasadamou.com" v1.0.0 with instructions
docs MCP exposes 5 tools - consider consolidating to keep agent attention focused on retrieval
How to pass
Expose your tools via your MCP server's tools/list endpoint. A product MCP server scores on breadth: 3 or more tools that cover read, write, and search. A docs MCP server scores on focus: 3 tools or fewer, such as one search tool and one fetch tool. Keep every outputSchema valid and self-contained: a $ref that points outside the schema, such as #/components/schemas/... copied from an OpenAPI file, makes clients built on the official TypeScript SDK 1.x reject your whole tool list.
All 5 tool names follow consistent convention, descriptive, and non-generic
REST API documentation found at https://nicholasadamou.com/developers. Best-of-protocols score: 7/7.
Zero-auth service - documented as open with no authentication required, and API operations responded without credentials
Zero-auth service - no scoping needed, all endpoints are openly accessible to agents
docs MCP is public - correct posture for documentation surface
Zero-friction onboarding verified live: keyless API surface fetched without credentials - no signup step exists
MCP server connected via Streamable HTTP - io.github.nicholasadamou/nicholasadamou.com v1.0.0 (protocol 2025-11-25)
docs MCP returns structured JSON-RPC errors with code and message
docs MCP uses modern Streamable HTTP transport
API returns JSON error responses (400 at GET https://nicholasadamou.com/api/v1/search, an operation in the OpenAPI spec)
OpenAPI uses application/problem+json (RFC 7807) for 4xx/5xx responses
API versioning strategy found (URL versioning) with sunset/deprecation markers documented
CLI package found on npm: nicholasadamou
SDK package found only in npm
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.
100% of operations define typed response schemas, 100% use application/json
docs MCP: 5/5 tools have behavioral annotations
MCP server card found at https://nicholasadamou.com/.well-known/mcp/server-card.json (server-card extension, all required fields) (note: description is 127 characters; the server-card schema allows 100)
Server HTML is a well-structured document (main=true, landmarks=3/4, h1=1, maxHeadingSkip=1).
65 native controls, 0 non-native div-soup affordances (100% native).
64/65 interactive elements have a computable accessible name (98%).
No hidden instruction text detected in accessibility-tree attributes or off-screen content.
REST: agent-friendly schema (9 operations, 100% with operationIds, 100% documented by description or summary)
Partial compatibility: 9/9 operationIds, 3/9 typed schemas
How to pass
Ensure API endpoints have unique operation IDs, typed schemas, and descriptions compatible with LLM function-calling formats.
What does nicholasadamou.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 nicholasadamou.com do and who is it for? Explain it back to me.
13 steps1 reasoning step2 searches
The agent assembled a working answer by combining fragments from the site itself (homepage, about, projects, contact pages) with external sources (GitHub repo, Gumroad, LinkedIn, web search). The site's client-side rendering made most HTML fetches unhelpful; the agent relied on prior knowledge, search results, and external repositories to piece together what Nicholas Adamou does, who he serves, and how he monetizes. The site is poorly agent-ready — it prioritizes visual design and client-side interactivity over machine-readable content disclosure.