Verified AgentReady.md certificate
Issued sig: 0cbd155f7cadbdb5 Verify →

Analyzed URL

https://glintbase.dev

Measured 2 days ago

Analyze another URL

AI-Ready Score

Good

out of 100

Token Savings

HTML tokens 33.793
Markdown tokens 1257
Savings 96%

Score Breakdown

Accessibility 100/100
AI Discoverability 70/100
Structured Data 93/100
Semantic HTML 78/100
Content Efficiency 64/100

Emerging protocols

0 of 6 detected

Well-known endpoints AI agents look for. Detected here means an agent can discover and connect to your service automatically.

  • OAuth Protected Resource RFC 9728
    /.well-known/oauth-protected-resource
  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card SEP-1649 draft
    /.well-known/mcp/server-card.json
  • A2A Agent Card A2A v1.0
    /.well-known/agent-card.json
  • API Catalog RFC 9727
    /.well-known/api-catalog
  • Agent Skills index Discovery RFC v0.2.0 draft
    /.well-known/agent-skills/index.json

Doesn't stay fixed by itself. Monitoring isn't built yet — join the list and we'll tell you when it is.

You're on the list! We'll notify you when it launches.

What we measured No Markdown for Agents support detected

Your site doesn't support Markdown for Agents. This Cloudflare standard lets AI agents request content in markdown format, reducing token usage by ~80%.

How to implement

Implement one or more: (1) Respond to Accept: text/markdown with markdown content. (2) Serve .md URLs (e.g., /page.md). (3) Add <link rel="alternate" type="text/markdown"> tags. (4) Add Link HTTP headers for markdown discovery.

Paste into a coding agent to make the fix

What we measured No Content-Signal found (robots.txt or HTTP headers)

No Content-Signal directives found. These tell AI agents how they may use your content (search indexing, AI input, training data). The recommended location is robots.txt.

How to implement

Add Content-Signal to your robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. You can also add it as an HTTP header on markdown responses.

Paste into a coding agent to make the fix

What we measured 15 semantic elements, 306 divs (ratio: 5%)

Your page relies heavily on <div> elements. Semantic elements like <section>, <nav>, <header>, <footer>, and <aside> provide meaningful structure for AI agents.

How to implement

Replace generic <div> containers with appropriate semantic elements. Use <section> for thematic groups, <nav> for navigation, <header>/<footer> for page/section headers and footers.

Paste into a coding agent to make the fix

What we measured Content ratio: 5.9% (6141 content chars / 104485 HTML bytes)

Your page has a low ratio of actual content to total HTML. Much of the page weight is markup, scripts, or styles rather than content.

How to implement

Move CSS to external stylesheets, remove inline styles, minimize JavaScript, and ensure the HTML focuses on content structure.

Paste into a coding agent to make the fix

What we measured 2/3 OG tags present

Missing or incomplete Open Graph tags. OG tags help AI agents (and social platforms) understand your page title, description, and image.

How to implement

Add og:title, og:description, and og:image meta tags to your page's <head>.

Paste into a coding agent to make the fix

What we measured 91/821 elements with inline styles (11.1%)

Many elements have inline style attributes. These add noise for AI agents extracting content.

How to implement

Move all inline styles to CSS classes in your stylesheet. Use utility CSS frameworks like Tailwind if you need many unique styles.

Paste into a coding agent to make the fix

What we measured 2/3 images with meaningful alt text

Some images lack descriptive alt text. Good alt text helps AI agents understand image content and context.

How to implement

Add descriptive alt attributes to all images. Describe what the image shows, not just 'image' or 'photo'. For decorative images, use alt="" (empty).

Paste into a coding agent to make the fix
Markdown tokens: 1257
Agent Readiness Infrastructure

## Software Was Built for Humans.The Next Users Are AI Agents.

Glintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software across documentation, APIs, onboarding, SDKs, and support surfaces.

[Run Free Scan](https://scan.glintbase.dev/)[Read Research Report](https://glintbase.dev/research)

## The way software is consumed has fundamentally changed.

For decades, every assumption baked into software design was built around a human on the other end. That assumption no longer holds.

Human user

AI agent

01

Browse

Navigates UI surfaces, follows menus, clicks links

Retrieve

Fetches structured context directly from endpoints and indexes

02

Search

Types queries into search bars, scans results visually

Reason

Constructs multi-hop inferences from fragmented knowledge

03

Click

Interacts with visual affordances and interactive elements

Execute

Calls functions, invokes tools, triggers API endpoints

04

Read

Absorbs prose sequentially, extracts meaning from narrative

Infer

Derives parameter types, constraints, and relationships from structure

05

Scroll

Explores content spatially, skims for relevance

Consume context

Loads entire token windows, processes all available representations

Most software was designed for none of this. The documentation, APIs, onboarding, and support surfaces that exist today were built entirely for human consumption — and they break in predictable ways when AI agents attempt to use them.

## Current software breaks when AI agents try to use it.

These are not edge cases. They are the predictable, structural consequences of building software that was never designed for machine consumption.

01

### AI wastes context.

When documentation is unstructured, narrative, or formatted for human reading, agents consume enormous token budgets attempting to extract actionable information. Most of what they consume is irrelevant to their task.

02

### AI encounters dead ends.

Incomplete API references, broken cross-links, undocumented parameters, and missing authentication flows cause agents to stall mid-journey. Without recovery paths, they give up or hallucinate continuations.

03

### AI hallucinates.

When structural information is absent or ambiguous, agents fill gaps with plausible-seeming fabrications. This is not a model failure — it is a documentation failure. Missing context forces inference.

04

### AI repeats work.

Without persistent, structured knowledge representations, every agent session begins from scratch. Agents re-parse the same surfaces, re-resolve the same ambiguities, and re-discover the same information.

05

### AI consumes excessive tokens.

Prose-heavy documentation, inconsistent structures, and redundant content dramatically increase the token cost of operating software. At scale, this translates directly to operational expense and latency.

## An intelligence layer for software.

Glintbase sits between your existing software and the AI agents that need to operate it. It continuously extracts, structures, and optimises the knowledge those agents require.

Runtime analysis

Evaluates software surfaces as they actually behave, not as they are documented to behave.

Graph intelligence

Maps relationships between entities, surfaces, endpoints, and concepts across an entire codebase.

Semantic understanding

Derives meaning from structure — not just text — to build representations agents can navigate.

Journey simulation

Traces the paths an AI agent would follow to complete real tasks, identifying failures before they occur.

Intelligence pipeline

## Every surface your software exposes to agents.

Scanner analyses ten distinct software surfaces. Hover any card to see what we look for.

## Measure agent readiness. For free.

Run Scanner against any public URL. In minutes, you receive a detailed readiness report across six dimensions — no account required.

-   AI Readiness Score (0–100)
-   Context Health analysis
-   Structural Health evaluation
-   AI Journey Simulation
-   Machine Entry Point detection
-   Confidence assessment

[Run Scanner](https://scan.glintbase.dev/)

## For teams who need certainty.

Deep Audit is an expert-led engagement that delivers a complete understanding of your software's agent readiness — and a precise roadmap to improve it.

[Request Enterprise Assessment](https://glintbase.dev/enterprise)

AI Journey Simulation

Full end-to-end tracing of agent paths through your software surfaces.

Runtime Validation

Live execution testing of documentation code examples and API calls.

Knowledge Graph

A complete entity-relationship map of your software's agent-facing structure.

Executive Recommendations

Prioritised action plans with estimated token savings and risk reduction.

Hallucination Risk Assessment

Identifies specific gaps in coverage that are causing or will cause agent hallucination.

Agent Readiness Roadmap

Phased implementation plan to reach full agent operability.

## Latest research. Built for AI agents.

## Built in the open.

The core of what Glintbase is building is open source. We believe agent readiness infrastructure should be inspectable, forkable, and community-owned.

[View on GitHub](https://github.com/glintbase/glintscanner)

Vision

## Software increasingly serves machines.

Software is increasingly operating in a world where its primary consumers are not humans.

AI agents — systems that retrieve, reason, execute, and infer — are becoming active participants in every software workflow. They read documentation. They call APIs. They follow onboarding flows. They use CLIs, SDKs, and support surfaces.

This is happening now. And virtually no software was designed for it.

The gap between what software exposes and what AI agents need to operate it effectively is one of the most consequential infrastructure problems of the next decade.

Glintbase exists to close that gap.

We are building the intelligence layer that enables software to become understandable, navigable, and operable by the machines that increasingly depend on it.

This is not a documentation product. It is not an AI writing assistant. It is infrastructure — the kind that sits underneath, does its work quietly, and becomes foundational.

The companies that build this layer into their software now will have a compounding structural advantage as the agentic era develops.

We are building that layer.

Get Started

## Help shape the agentic internet.

Run a free scan on any URL. Or join the waitlist to be part of what we build next.
Glintbase — Agent Readiness Infrastructure

Agent Readiness Infrastructure

# Software Was Built for Humans.The Next Users Are AI Agents.

Glintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software across documentation, APIs, onboarding, SDKs, and support surfaces.

[Run Free Scan](https://scan.glintbase.dev/)[Read Research Report](https://glintbase.dev/research)

The Shift## The way software is consumed has fundamentally changed.

For decades, every assumption baked into software design was built around a human on the other end. That assumption no longer holds.

Human user

AI agent

01

Browse

Navigates UI surfaces, follows menus, clicks links

Retrieve

Fetches structured context directly from endpoints and indexes

02

Search

Types queries into search bars, scans results visually

Reason

Constructs multi-hop inferences from fragmented knowledge

03

Click

Interacts with visual affordances and interactive elements

Execute

Calls functions, invokes tools, triggers API endpoints

04

Read

Absorbs prose sequentially, extracts meaning from narrative

Infer

Derives parameter types, constraints, and relationships from structure

05

Scroll

Explores content spatially, skims for relevance

Consume context

Loads entire token windows, processes all available representations

Most software was designed for none of this. The documentation, APIs, onboarding, and support surfaces that exist today were built entirely for human consumption — and they break in predictable ways when AI agents attempt to use them.

The Problem## Current software breaks when AI agents try to use it.

These are not edge cases. They are the predictable, structural consequences of building software that was never designed for machine consumption.

01

### AI wastes context.

When documentation is unstructured, narrative, or formatted for human reading, agents consume enormous token budgets attempting to extract actionable information. Most of what they consume is irrelevant to their task.

02

### AI encounters dead ends.

Incomplete API references, broken cross-links, undocumented parameters, and missing authentication flows cause agents to stall mid-journey. Without recovery paths, they give up or hallucinate continuations.

03

### AI hallucinates.

When structural information is absent or ambiguous, agents fill gaps with plausible-seeming fabrications. This is not a model failure — it is a documentation failure. Missing context forces inference.

04

### AI repeats work.

Without persistent, structured knowledge representations, every agent session begins from scratch. Agents re-parse the same surfaces, re-resolve the same ambiguities, and re-discover the same information.

05

### AI consumes excessive tokens.

Prose-heavy documentation, inconsistent structures, and redundant content dramatically increase the token cost of operating software. At scale, this translates directly to operational expense and latency.

The Platform## An intelligence layer for software.

Glintbase sits between your existing software and the AI agents that need to operate it. It continuously extracts, structures, and optimises the knowledge those agents require.

Runtime analysis

Evaluates software surfaces as they actually behave, not as they are documented to behave.

Graph intelligence

Maps relationships between entities, surfaces, endpoints, and concepts across an entire codebase.

Semantic understanding

Derives meaning from structure — not just text — to build representations agents can navigate.

Journey simulation

Traces the paths an AI agent would follow to complete real tasks, identifying failures before they occur.

Intelligence pipeline

Coverage## Every surface your software exposes to agents.

Scanner analyses ten distinct software surfaces. Hover any card to see what we look for.

Documentation

Prose references, guides, and conceptual content.

APIs

REST, GraphQL, and RPC endpoint surfaces.

SDKs

Client libraries, type definitions, and wrappers.

GitHub

READMEs, wikis, and repository structure.

Support Centers

Help articles, FAQs, and troubleshooting guides.

Onboarding

Setup guides, quickstarts, and first-run experiences.

Authentication

OAuth, API keys, and identity flows.

MCP

Model Context Protocol servers and tool manifests.

OpenAPI

OpenAPI 3.x and Swagger specification files.

CLI

Command-line interfaces and developer tooling.

Soon

More coming

LLMs.txt, changelogs, runbooks, internal wikis.

Scanner## Measure agent readiness. For free.

Run Scanner against any public URL. In minutes, you receive a detailed readiness report across six dimensions — no account required.

-   AI Readiness Score (0–100)
-   Context Health analysis
-   Structural Health evaluation
-   AI Journey Simulation
-   Machine Entry Point detection
-   Confidence assessment

[Run Scanner](https://scan.glintbase.dev/)

![Agent Readiness Index Report for Vercel.com](https://glintbase.dev/report-preview.png)

Deep Audit## For teams who need certainty.

Deep Audit is an expert-led engagement that delivers a complete understanding of your software's agent readiness — and a precise roadmap to improve it.

[Request Enterprise Assessment](https://glintbase.dev/enterprise)

AI Journey Simulation

Full end-to-end tracing of agent paths through your software surfaces.

Runtime Validation

Live execution testing of documentation code examples and API calls.

Knowledge Graph

A complete entity-relationship map of your software's agent-facing structure.

Executive Recommendations

Prioritised action plans with estimated token savings and risk reduction.

Hallucination Risk Assessment

Identifies specific gaps in coverage that are causing or will cause agent hallucination.

Agent Readiness Roadmap

Phased implementation plan to reach full agent operability.

Research & Insights## Latest research. Built for AI agents.

[ARS 2026 Report](https://glintbase.dev/research)[Journal](https://glintbase.dev/blog)

[

Code AST: v2.4 (Updated)

SYNC

Drift Detected (-42%)

README.md (Outdated)

STALE

Documentation IntelligenceJul 2026

### Docs Drift Is Killing AI: Why Your Documentation Becomes a Liability the Moment It's Published

Every codebase is in constant motion. Functions are renamed, endpoints are versioned, parameters change type. Documentation is static. The gap between what code does and what documentation says it does is not a minor inconvenience — for AI agents, it is a critical failure surface.

Read paper

](https://glintbase.dev/blog/docs-drift-is-killing-ai)

[

Vector RAG

Flat Chunks

vs

Graph RAG

Semantic Graph

AI ReadinessJul 2026

### Why Most RAG Fails: The Structural Problem Underneath the Vector Problem

Retrieval-Augmented Generation is widely assumed to solve the knowledge problem for AI agents. It does not. The real problem is that the source documents being retrieved were never structured for machine consumption in the first place.

Read paper

](https://glintbase.dev/blog/why-most-rag-fails)

[

Agent Interface99.8% READY

Deterministic Execution100%

Schema Validation98%

Agent SystemsJun 2026

### The Future of Agent-Operable Software

Within three years, every software product will require an agent-facing layer — a structured, machine-readable representation of its capabilities, interfaces, and knowledge. The companies that build this layer now will have a compounding infrastructure advantage.

Read paper

](https://glintbase.dev/blog/future-of-agent-operable-software)

Open Source## Built in the open.

The core of what Glintbase is building is open source. We believe agent readiness infrastructure should be inspectable, forkable, and community-owned.

[

glintbase/glintscanner

stable

Open-source agent readiness scanner. Analyses documentation, APIs, SDKs, and support surfaces for AI operability.

TypeScript

](https://github.com/glintbase/glintscanner)[

@glintbase/cli

stable

Command-line interface for running Scanner locally. Integrates into CI/CD pipelines and pre-deploy checks.

TypeScript

](https://github.com/glintbase/glintscanner/tree/main/cli)[

@glintbase/mcp

stable

Model Context Protocol server that exposes agent readiness data and documentation queries as structured tools.

TypeScript

](https://github.com/glintbase/glintscanner/tree/main/mcp)[

glintbase/sdk

planned

Official SDK for integrating agent readiness checks and documentation intelligence directly into your application.

TypeScript

](https://github.com/glintbase)

[View on GitHub](https://github.com/glintbase/glintscanner)

Vision

## Software increasingly serves machines.

Software is increasingly operating in a world where its primary consumers are not humans.

AI agents — systems that retrieve, reason, execute, and infer — are becoming active participants in every software workflow. They read documentation. They call APIs. They follow onboarding flows. They use CLIs, SDKs, and support surfaces.

This is happening now. And virtually no software was designed for it.

The gap between what software exposes and what AI agents need to operate it effectively is one of the most consequential infrastructure problems of the next decade.

Glintbase exists to close that gap.

We are building the intelligence layer that enables software to become understandable, navigable, and operable by the machines that increasingly depend on it.

This is not a documentation product. It is not an AI writing assistant. It is infrastructure — the kind that sits underneath, does its work quietly, and becomes foundational.

The companies that build this layer into their software now will have a compounding structural advantage as the agentic era develops.

We are building that layer.

Get Started

## Help shape the agentic internet.

Run a free scan on any URL. Or join the waitlist to be part of what we build next.

[Run Scanner](https://scan.glintbase.dev/)Join Waitlist

Upload this file as /index.md on your server so AI agents can access a clean version of your page. You can also configure Accept: text/markdown content negotiation to serve it automatically.

Our recommendation

Download llms.txt
# Glintbase

> Glintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software across documentation, APIs, onboarding, SDKs, and support surfaces.

## Documentation
- [Docs](https://glintbase.dev/docs)
- [llms.txt](https://glintbase.dev/llms.txt)

## Main
- [Glintbase — Agent Readiness Infrastructure](https://glintbase.dev): Glintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software acros…
- [Glintbase](https://glintbase.dev/)
- [Research](https://glintbase.dev/research)
- [Docs](https://glintbase.dev/docs)
- [Enterprise](https://glintbase.dev/enterprise)
- [llms.txt](https://glintbase.dev/llms.txt)
- [Changelog](https://glintbase.dev/changelog)
- [Status](https://glintbase.dev/status)

## Blog
- [Blog](https://glintbase.dev/blog)

## Support
- [Support](https://glintbase.dev/support)

Full llms.txt requires domain-wide analysis (coming soon)

Upload this file to https://glintbase.dev/llms.txt at the root of your domain. AI agents like ChatGPT, Claude, and Perplexity check this file to understand your site structure.

This site already has a llms.txt file.

Valid format
# Glintbase — Agent Readiness Infrastructure
> Glintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software across documentation, APIs, onboarding, SDKs, and support surfaces.

## Core Machine Surfaces & Plain-Text Endpoints
- [/llms.txt](https://glintbase.dev/llms.txt): Plain-text machine index (this file).
- [/llms-full.txt](https://glintbase.dev/llms-full.txt): Comprehensive concatenated documentation & research manuscript for LLM ingestion.
- [/research.md](https://glintbase.dev/research.md): Full 24-page research manuscript: "State of Agent Readiness 2026".
- [/docs.md](https://glintbase.dev/docs.md): Developer documentation in raw Markdown format (CLI, MCP Server, Agent Skill, ARS 1.0).
- [/blog.md](https://glintbase.dev/blog.md): Catalog of all Glintbase research journal articles in raw Markdown format.
- [/mcp.json](https://glintbase.dev/mcp.json): Model Context Protocol server manifest (@glintbase/mcp).
- [/reports/STATE_OF_AGENT_READINESS_2026.pdf](https://glintbase.dev/reports/STATE_OF_AGENT_READINESS_2026.pdf): Published 24-page research PDF (1.1 MB).
- [/research/data/full-scores.csv](https://glintbase.dev/research/data/full-scores.csv): Raw 100-platform cohort benchmark scores CSV.
- [/research/data/research-dataset.json](https://glintbase.dev/research/data/research-dataset.json): Full 100-platform empirical dataset JSON.

## Key Research & Benchmark Publications
- [State of Agent Readiness 2026](https://glintbase.dev/research): Global Benchmark Report evaluating 100 AI engineering platforms across 1,000 Pathfinder scans and 450 live coding agent executions. Mean ARS Score: 50.7/100 (Grade C).
- [The Agent Resilience Paradox](https://glintbase.dev/research.md#63-the-agent-resilience-paradox-in-detail): Why smart LLMs succeed despite bad docs by paying a massive token tax ($433.2k/yr per team).
- [9-Action Remediation Playbook](https://glintbase.dev/research.md#remediation-playbook): Actionable steps to boost platform ARS scores by up to +35 points.

## Developer Products & Tools
- [Glintbase Hosted Scanner](https://scan.glintbase.dev): Probe any documentation or product URL to calculate its Agent Readiness Score (0-100).
- [Glintbase CLI (@glintbase/cli)](https://glintbase.dev/docs#cli): Terminal scanner and CI/CD quality gate for agent readiness.
- [Glintbase MCP Server (@glintbase/mcp)](https://glintbase.dev/docs#mcp): Model Context Protocol server with 9 readiness tools.
- [Glintbase Agent Skill](https://glintbase.dev/docs#skill): Installable skill teaching coding agents to scan and fix repos autonomously.

## Research Journal Articles (Raw Markdown)
- [Agent Readiness: The Missing Metric in Modern Software](https://glintbase.dev/blog/Agent-readiness-missing-metric-in-modern-software)
- [Why AI Agents Need a Different Interface Than Humans](https://glintbase.dev/blog/AI-agents-needs-a-different-interface)
- [Why Most RAG Fails for Technical Documentation](https://glintbase.dev/blog/why-most-rag-fails)
- [Documentation Drift is Killing AI Agents](https://glintbase.dev/blog/docs-drift-is-killing-ai)
- [Why Agents Use the Web Differently Than Browsers](https://glintbase.dev/blog/why-agents-use-the-web-differently)
- [The Future of Agent-Operable Software](https://glintbase.dev/blog/future-of-agent-operable-software)
- [What is Agent Readiness?](https://glintbase.dev/blog/what-is-ai-readiness)
- [The $433k Token Tax: Why Bad Docs Drain AI Infrastructure Budgets](https://glintbase.dev/blog/token-tax-ai-docs)
- [The Agent Resilience Paradox: Why 'Working' Software Fails AI Agents](https://glintbase.dev/blog/agent-resilience-paradox)
- [Beyond /llms.txt: The Full Machine-Readable Stack for AI Agents](https://glintbase.dev/blog/llms-txt-machine-surfaces)
- [State of Agent Readiness 2026: What We Found Across 75 Software Platforms](https://glintbase.dev/blog/state-of-agent-readiness-2026)
- [How to Gate CI/CD on Agent Readiness: A Practical Glintbase CLI Tutorial](https://glintbase.dev/blog/agent-readiness-cicd-gate)

## Open Source Repositories
- [glintbase/ars-report](https://github.com/glintbase/ars-report): Research report build engine & benchmark execution suite.
- [glintbase/glintscanner](https://github.com/glintbase/glintscanner): Core scanner engine, CLI, and MCP server.

Accessibility

Content available without JavaScript (100/100)

Content available without JavaScript

Content appears early in HTML (100/100)

Main content starts at 8% of HTML

Reasonable page size (100/100)

Page size: 102KB

AI Discoverability

Robots.txt allows AI bots (100/100)

All major AI search bots allowed

Markdown for Agents support (0/100)
&#10007; Accept: text/markdown &#10007; .md URL &#10007; <link> tag &#10007; Link header
Has sitemap.xml (100/100)

Sitemap found

Has robots.txt file (100/100)

robots.txt exists

Has llms.txt file (100/100)

llms.txt exists and is valid

Has Content-Signal (robots.txt or HTTP headers) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

Structured Data

Has Schema.org / JSON-LD (100/100)

JSON-LD found: Organization, WebSite

Has Open Graph tags (67/100)

2/3 OG tags present

Has meta description (100/100)

Meta description: 181 chars

Has canonical URL (100/100)

Canonical URL present

Has lang attribute (100/100)

lang="en"

Semantic HTML

Proper heading hierarchy (100/100)

Clean heading hierarchy

Uses article or main element (100/100)

Has <main>

Uses semantic HTML elements (16/100)

15 semantic elements, 306 divs (ratio: 5%)

Meaningful image alt texts (67/100)

2/3 images with meaningful alt text

Low div nesting depth (100/100)

Avg div depth: 3.6, max: 8

Content Efficiency

Good token reduction ratio (100/100)

96% token reduction (HTML→Markdown)

Good content-to-noise ratio (25/100)

Content ratio: 5.9% (6141 content chars / 104485 HTML bytes)

Reasonable page weight (80/100)

HTML size: 102KB

Minimal inline styles (0/100)

91/821 elements with inline styles (11.1%)

{
  "url": "https://glintbase.dev",
  "timestamp": 1787444791739,
  "fetch": {
    "mode": "simple",
    "timeMs": 376,
    "htmlSizeBytes": 104485,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "none"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Glintbase — Agent Readiness Infrastructure",
    "excerpt": "Measure, understand, and improve how AI agents operate your software. Free scanner, deep audit, and agent-ready documentation.",
    "byline": null,
    "siteName": "Glintbase",
    "lang": "en",
    "contentLength": 6141,
    "metadata": {
      "description": "Glintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software across documentation, APIs, onboarding, SDKs, and support surfaces.",
      "ogTitle": "Glintbase — Agent Readiness Infrastructure",
      "ogDescription": "Measure, understand, and improve how AI agents operate your software. Free scanner, deep audit, and agent-ready documentation.",
      "ogImage": null,
      "ogType": "website",
      "canonical": "https://glintbase.dev",
      "lang": "en",
      "schemas": [
        {
          "@context": "https://schema.org",
          "@type": "Organization",
          "name": "Glintbase",
          "url": "https://glintbase.dev",
          "logo": "https://glintbase.dev/glintbase-official-icon.png",
          "description": "Agent Readiness Infrastructure — helping companies make their software understandable and operable by AI agents.",
          "sameAs": [
            "https://github.com/glintbase",
            "https://twitter.com/glintbase"
          ]
        },
        {
          "@context": "https://schema.org",
          "@type": "WebSite",
          "name": "Glintbase",
          "url": "https://glintbase.dev",
          "description": "Agent Readiness Infrastructure for modern software."
        }
      ],
      "robotsMeta": "index, follow",
      "author": null,
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "Agent Readiness Infrastructure\n\n## Software Was Built for Humans.The Next Users Are AI Agents.\n\nGlintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software across documentation, APIs, onboarding, SDKs, and support surfaces.\n\n[Run Free Scan](https://scan.glintbase.dev/)[Read Research Report](https://glintbase.dev/research)\n\n## The way software is consumed has fundamentally changed.\n\nFor decades, every assumption baked into software design was built around a human on the other end. That assumption no longer holds.\n\nHuman user\n\nAI agent\n\n01\n\nBrowse\n\nNavigates UI surfaces, follows menus, clicks links\n\nRetrieve\n\nFetches structured context directly from endpoints and indexes\n\n02\n\nSearch\n\nTypes queries into search bars, scans results visually\n\nReason\n\nConstructs multi-hop inferences from fragmented knowledge\n\n03\n\nClick\n\nInteracts with visual affordances and interactive elements\n\nExecute\n\nCalls functions, invokes tools, triggers API endpoints\n\n04\n\nRead\n\nAbsorbs prose sequentially, extracts meaning from narrative\n\nInfer\n\nDerives parameter types, constraints, and relationships from structure\n\n05\n\nScroll\n\nExplores content spatially, skims for relevance\n\nConsume context\n\nLoads entire token windows, processes all available representations\n\nMost software was designed for none of this. The documentation, APIs, onboarding, and support surfaces that exist today were built entirely for human consumption — and they break in predictable ways when AI agents attempt to use them.\n\n## Current software breaks when AI agents try to use it.\n\nThese are not edge cases. They are the predictable, structural consequences of building software that was never designed for machine consumption.\n\n01\n\n### AI wastes context.\n\nWhen documentation is unstructured, narrative, or formatted for human reading, agents consume enormous token budgets attempting to extract actionable information. Most of what they consume is irrelevant to their task.\n\n02\n\n### AI encounters dead ends.\n\nIncomplete API references, broken cross-links, undocumented parameters, and missing authentication flows cause agents to stall mid-journey. Without recovery paths, they give up or hallucinate continuations.\n\n03\n\n### AI hallucinates.\n\nWhen structural information is absent or ambiguous, agents fill gaps with plausible-seeming fabrications. This is not a model failure — it is a documentation failure. Missing context forces inference.\n\n04\n\n### AI repeats work.\n\nWithout persistent, structured knowledge representations, every agent session begins from scratch. Agents re-parse the same surfaces, re-resolve the same ambiguities, and re-discover the same information.\n\n05\n\n### AI consumes excessive tokens.\n\nProse-heavy documentation, inconsistent structures, and redundant content dramatically increase the token cost of operating software. At scale, this translates directly to operational expense and latency.\n\n## An intelligence layer for software.\n\nGlintbase sits between your existing software and the AI agents that need to operate it. It continuously extracts, structures, and optimises the knowledge those agents require.\n\nRuntime analysis\n\nEvaluates software surfaces as they actually behave, not as they are documented to behave.\n\nGraph intelligence\n\nMaps relationships between entities, surfaces, endpoints, and concepts across an entire codebase.\n\nSemantic understanding\n\nDerives meaning from structure — not just text — to build representations agents can navigate.\n\nJourney simulation\n\nTraces the paths an AI agent would follow to complete real tasks, identifying failures before they occur.\n\nIntelligence pipeline\n\n## Every surface your software exposes to agents.\n\nScanner analyses ten distinct software surfaces. Hover any card to see what we look for.\n\n## Measure agent readiness. For free.\n\nRun Scanner against any public URL. In minutes, you receive a detailed readiness report across six dimensions — no account required.\n\n-   AI Readiness Score (0–100)\n-   Context Health analysis\n-   Structural Health evaluation\n-   AI Journey Simulation\n-   Machine Entry Point detection\n-   Confidence assessment\n\n[Run Scanner](https://scan.glintbase.dev/)\n\n## For teams who need certainty.\n\nDeep Audit is an expert-led engagement that delivers a complete understanding of your software's agent readiness — and a precise roadmap to improve it.\n\n[Request Enterprise Assessment](https://glintbase.dev/enterprise)\n\nAI Journey Simulation\n\nFull end-to-end tracing of agent paths through your software surfaces.\n\nRuntime Validation\n\nLive execution testing of documentation code examples and API calls.\n\nKnowledge Graph\n\nA complete entity-relationship map of your software's agent-facing structure.\n\nExecutive Recommendations\n\nPrioritised action plans with estimated token savings and risk reduction.\n\nHallucination Risk Assessment\n\nIdentifies specific gaps in coverage that are causing or will cause agent hallucination.\n\nAgent Readiness Roadmap\n\nPhased implementation plan to reach full agent operability.\n\n## Latest research. Built for AI agents.\n\n## Built in the open.\n\nThe core of what Glintbase is building is open source. We believe agent readiness infrastructure should be inspectable, forkable, and community-owned.\n\n[View on GitHub](https://github.com/glintbase/glintscanner)\n\nVision\n\n## Software increasingly serves machines.\n\nSoftware is increasingly operating in a world where its primary consumers are not humans.\n\nAI agents — systems that retrieve, reason, execute, and infer — are becoming active participants in every software workflow. They read documentation. They call APIs. They follow onboarding flows. They use CLIs, SDKs, and support surfaces.\n\nThis is happening now. And virtually no software was designed for it.\n\nThe gap between what software exposes and what AI agents need to operate it effectively is one of the most consequential infrastructure problems of the next decade.\n\nGlintbase exists to close that gap.\n\nWe are building the intelligence layer that enables software to become understandable, navigable, and operable by the machines that increasingly depend on it.\n\nThis is not a documentation product. It is not an AI writing assistant. It is infrastructure — the kind that sits underneath, does its work quietly, and becomes foundational.\n\nThe companies that build this layer into their software now will have a compounding structural advantage as the agentic era develops.\n\nWe are building that layer.\n\nGet Started\n\n## Help shape the agentic internet.\n\nRun a free scan on any URL. Or join the waitlist to be part of what we build next.\n",
  "fullPageMarkdown": "Glintbase — Agent Readiness Infrastructure\n\nAgent Readiness Infrastructure\n\n# Software Was Built for Humans.The Next Users Are AI Agents.\n\nGlintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software across documentation, APIs, onboarding, SDKs, and support surfaces.\n\n[Run Free Scan](https://scan.glintbase.dev/)[Read Research Report](https://glintbase.dev/research)\n\nThe Shift## The way software is consumed has fundamentally changed.\n\nFor decades, every assumption baked into software design was built around a human on the other end. That assumption no longer holds.\n\nHuman user\n\nAI agent\n\n01\n\nBrowse\n\nNavigates UI surfaces, follows menus, clicks links\n\nRetrieve\n\nFetches structured context directly from endpoints and indexes\n\n02\n\nSearch\n\nTypes queries into search bars, scans results visually\n\nReason\n\nConstructs multi-hop inferences from fragmented knowledge\n\n03\n\nClick\n\nInteracts with visual affordances and interactive elements\n\nExecute\n\nCalls functions, invokes tools, triggers API endpoints\n\n04\n\nRead\n\nAbsorbs prose sequentially, extracts meaning from narrative\n\nInfer\n\nDerives parameter types, constraints, and relationships from structure\n\n05\n\nScroll\n\nExplores content spatially, skims for relevance\n\nConsume context\n\nLoads entire token windows, processes all available representations\n\nMost software was designed for none of this. The documentation, APIs, onboarding, and support surfaces that exist today were built entirely for human consumption — and they break in predictable ways when AI agents attempt to use them.\n\nThe Problem## Current software breaks when AI agents try to use it.\n\nThese are not edge cases. They are the predictable, structural consequences of building software that was never designed for machine consumption.\n\n01\n\n### AI wastes context.\n\nWhen documentation is unstructured, narrative, or formatted for human reading, agents consume enormous token budgets attempting to extract actionable information. Most of what they consume is irrelevant to their task.\n\n02\n\n### AI encounters dead ends.\n\nIncomplete API references, broken cross-links, undocumented parameters, and missing authentication flows cause agents to stall mid-journey. Without recovery paths, they give up or hallucinate continuations.\n\n03\n\n### AI hallucinates.\n\nWhen structural information is absent or ambiguous, agents fill gaps with plausible-seeming fabrications. This is not a model failure — it is a documentation failure. Missing context forces inference.\n\n04\n\n### AI repeats work.\n\nWithout persistent, structured knowledge representations, every agent session begins from scratch. Agents re-parse the same surfaces, re-resolve the same ambiguities, and re-discover the same information.\n\n05\n\n### AI consumes excessive tokens.\n\nProse-heavy documentation, inconsistent structures, and redundant content dramatically increase the token cost of operating software. At scale, this translates directly to operational expense and latency.\n\nThe Platform## An intelligence layer for software.\n\nGlintbase sits between your existing software and the AI agents that need to operate it. It continuously extracts, structures, and optimises the knowledge those agents require.\n\nRuntime analysis\n\nEvaluates software surfaces as they actually behave, not as they are documented to behave.\n\nGraph intelligence\n\nMaps relationships between entities, surfaces, endpoints, and concepts across an entire codebase.\n\nSemantic understanding\n\nDerives meaning from structure — not just text — to build representations agents can navigate.\n\nJourney simulation\n\nTraces the paths an AI agent would follow to complete real tasks, identifying failures before they occur.\n\nIntelligence pipeline\n\nCoverage## Every surface your software exposes to agents.\n\nScanner analyses ten distinct software surfaces. Hover any card to see what we look for.\n\nDocumentation\n\nProse references, guides, and conceptual content.\n\nAPIs\n\nREST, GraphQL, and RPC endpoint surfaces.\n\nSDKs\n\nClient libraries, type definitions, and wrappers.\n\nGitHub\n\nREADMEs, wikis, and repository structure.\n\nSupport Centers\n\nHelp articles, FAQs, and troubleshooting guides.\n\nOnboarding\n\nSetup guides, quickstarts, and first-run experiences.\n\nAuthentication\n\nOAuth, API keys, and identity flows.\n\nMCP\n\nModel Context Protocol servers and tool manifests.\n\nOpenAPI\n\nOpenAPI 3.x and Swagger specification files.\n\nCLI\n\nCommand-line interfaces and developer tooling.\n\nSoon\n\nMore coming\n\nLLMs.txt, changelogs, runbooks, internal wikis.\n\nScanner## Measure agent readiness. For free.\n\nRun Scanner against any public URL. In minutes, you receive a detailed readiness report across six dimensions — no account required.\n\n-   AI Readiness Score (0–100)\n-   Context Health analysis\n-   Structural Health evaluation\n-   AI Journey Simulation\n-   Machine Entry Point detection\n-   Confidence assessment\n\n[Run Scanner](https://scan.glintbase.dev/)\n\n![Agent Readiness Index Report for Vercel.com](https://glintbase.dev/report-preview.png)\n\nDeep Audit## For teams who need certainty.\n\nDeep Audit is an expert-led engagement that delivers a complete understanding of your software's agent readiness — and a precise roadmap to improve it.\n\n[Request Enterprise Assessment](https://glintbase.dev/enterprise)\n\nAI Journey Simulation\n\nFull end-to-end tracing of agent paths through your software surfaces.\n\nRuntime Validation\n\nLive execution testing of documentation code examples and API calls.\n\nKnowledge Graph\n\nA complete entity-relationship map of your software's agent-facing structure.\n\nExecutive Recommendations\n\nPrioritised action plans with estimated token savings and risk reduction.\n\nHallucination Risk Assessment\n\nIdentifies specific gaps in coverage that are causing or will cause agent hallucination.\n\nAgent Readiness Roadmap\n\nPhased implementation plan to reach full agent operability.\n\nResearch & Insights## Latest research. Built for AI agents.\n\n[ARS 2026 Report](https://glintbase.dev/research)[Journal](https://glintbase.dev/blog)\n\n[\n\nCode AST: v2.4 (Updated)\n\nSYNC\n\nDrift Detected (-42%)\n\nREADME.md (Outdated)\n\nSTALE\n\nDocumentation IntelligenceJul 2026\n\n### Docs Drift Is Killing AI: Why Your Documentation Becomes a Liability the Moment It's Published\n\nEvery codebase is in constant motion. Functions are renamed, endpoints are versioned, parameters change type. Documentation is static. The gap between what code does and what documentation says it does is not a minor inconvenience — for AI agents, it is a critical failure surface.\n\nRead paper\n\n](https://glintbase.dev/blog/docs-drift-is-killing-ai)\n\n[\n\nVector RAG\n\nFlat Chunks\n\nvs\n\nGraph RAG\n\nSemantic Graph\n\nAI ReadinessJul 2026\n\n### Why Most RAG Fails: The Structural Problem Underneath the Vector Problem\n\nRetrieval-Augmented Generation is widely assumed to solve the knowledge problem for AI agents. It does not. The real problem is that the source documents being retrieved were never structured for machine consumption in the first place.\n\nRead paper\n\n](https://glintbase.dev/blog/why-most-rag-fails)\n\n[\n\nAgent Interface99.8% READY\n\nDeterministic Execution100%\n\nSchema Validation98%\n\nAgent SystemsJun 2026\n\n### The Future of Agent-Operable Software\n\nWithin three years, every software product will require an agent-facing layer — a structured, machine-readable representation of its capabilities, interfaces, and knowledge. The companies that build this layer now will have a compounding infrastructure advantage.\n\nRead paper\n\n](https://glintbase.dev/blog/future-of-agent-operable-software)\n\nOpen Source## Built in the open.\n\nThe core of what Glintbase is building is open source. We believe agent readiness infrastructure should be inspectable, forkable, and community-owned.\n\n[\n\nglintbase/glintscanner\n\nstable\n\nOpen-source agent readiness scanner. Analyses documentation, APIs, SDKs, and support surfaces for AI operability.\n\nTypeScript\n\n](https://github.com/glintbase/glintscanner)[\n\n@glintbase/cli\n\nstable\n\nCommand-line interface for running Scanner locally. Integrates into CI/CD pipelines and pre-deploy checks.\n\nTypeScript\n\n](https://github.com/glintbase/glintscanner/tree/main/cli)[\n\n@glintbase/mcp\n\nstable\n\nModel Context Protocol server that exposes agent readiness data and documentation queries as structured tools.\n\nTypeScript\n\n](https://github.com/glintbase/glintscanner/tree/main/mcp)[\n\nglintbase/sdk\n\nplanned\n\nOfficial SDK for integrating agent readiness checks and documentation intelligence directly into your application.\n\nTypeScript\n\n](https://github.com/glintbase)\n\n[View on GitHub](https://github.com/glintbase/glintscanner)\n\nVision\n\n## Software increasingly serves machines.\n\nSoftware is increasingly operating in a world where its primary consumers are not humans.\n\nAI agents — systems that retrieve, reason, execute, and infer — are becoming active participants in every software workflow. They read documentation. They call APIs. They follow onboarding flows. They use CLIs, SDKs, and support surfaces.\n\nThis is happening now. And virtually no software was designed for it.\n\nThe gap between what software exposes and what AI agents need to operate it effectively is one of the most consequential infrastructure problems of the next decade.\n\nGlintbase exists to close that gap.\n\nWe are building the intelligence layer that enables software to become understandable, navigable, and operable by the machines that increasingly depend on it.\n\nThis is not a documentation product. It is not an AI writing assistant. It is infrastructure — the kind that sits underneath, does its work quietly, and becomes foundational.\n\nThe companies that build this layer into their software now will have a compounding structural advantage as the agentic era develops.\n\nWe are building that layer.\n\nGet Started\n\n## Help shape the agentic internet.\n\nRun a free scan on any URL. Or join the waitlist to be part of what we build next.\n\n[Run Scanner](https://scan.glintbase.dev/)Join Waitlist\n",
  "markdownStats": {
    "images": 0,
    "links": 5,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 16
  },
  "tokens": {
    "htmlTokens": 33793,
    "markdownTokens": 1257,
    "reduction": 32536,
    "reductionPercent": 96
  },
  "score": {
    "score": 84,
    "grade": "B",
    "rubricVersion": 2,
    "dimensions": {
      "accessibility": {
        "score": 100,
        "weight": 30,
        "grade": "A",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 55,
            "evidence": "proven",
            "details": "Content available without JavaScript"
          },
          "fast_content_position": {
            "score": 100,
            "weight": 25,
            "evidence": "plausible",
            "details": "Main content starts at 8% of HTML"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Page size: 102KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 70,
        "weight": 25,
        "grade": "C",
        "checks": {
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "All major AI search bots allowed"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 20,
            "evidence": "plausible",
            "details": "No Markdown for Agents support detected"
          },
          "has_sitemap": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Sitemap found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "robots.txt exists"
          },
          "has_llms_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "llms.txt exists and is valid"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 10,
            "evidence": "speculative",
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 93,
        "weight": 20,
        "grade": "A",
        "checks": {
          "has_schema_org": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "JSON-LD found: Organization, WebSite"
          },
          "has_open_graph": {
            "score": 67,
            "weight": 20,
            "evidence": "plausible",
            "details": "2/3 OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Meta description: 181 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "lang=\"en\""
          }
        }
      },
      "semanticHtml": {
        "score": 78,
        "weight": 15,
        "grade": "B",
        "checks": {
          "proper_heading_hierarchy": {
            "score": 100,
            "weight": 30,
            "evidence": "plausible",
            "details": "Clean heading hierarchy"
          },
          "uses_article_or_main": {
            "score": 100,
            "weight": 25,
            "evidence": "plausible",
            "details": "Has <main>"
          },
          "semantic_elements": {
            "score": 16,
            "weight": 20,
            "evidence": "plausible",
            "details": "15 semantic elements, 306 divs (ratio: 5%)"
          },
          "meaningful_alt_texts": {
            "score": 67,
            "weight": 15,
            "evidence": "plausible",
            "details": "2/3 images with meaningful alt text"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "Avg div depth: 3.6, max: 8"
          }
        }
      },
      "contentEfficiency": {
        "score": 64,
        "weight": 10,
        "grade": "C",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "evidence": "speculative",
            "details": "96% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 25,
            "weight": 30,
            "evidence": "speculative",
            "details": "Content ratio: 5.9% (6141 content chars / 104485 HTML bytes)"
          },
          "reasonable_page_weight": {
            "score": 80,
            "weight": 20,
            "evidence": "speculative",
            "details": "HTML size: 102KB"
          },
          "minimal_inline_styles": {
            "score": 0,
            "weight": 10,
            "evidence": "speculative",
            "details": "91/821 elements with inline styles (11.1%)"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_markdown_negotiation",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "effort": "significant",
      "estimatedImpact": 5,
      "maxImpact": 5,
      "evidence": "plausible",
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "add_content_signals",
      "priority": "high",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "effort": "quick-win",
      "estimatedImpact": 2.5,
      "maxImpact": 2.5,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "add_semantic_elements",
      "priority": "high",
      "category": "semanticHtml",
      "titleKey": "rec.add_semantic_elements.title",
      "descriptionKey": "rec.add_semantic_elements.description",
      "howToKey": "rec.add_semantic_elements.howto",
      "effort": "moderate",
      "estimatedImpact": 2.5,
      "maxImpact": 3,
      "evidence": "plausible",
      "checkScore": 16,
      "checkDetails": "15 semantic elements, 306 divs (ratio: 5%)"
    },
    {
      "id": "improve_content_ratio",
      "priority": "medium",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "effort": "moderate",
      "estimatedImpact": 2.3,
      "maxImpact": 3,
      "evidence": "speculative",
      "checkScore": 25,
      "checkDetails": "Content ratio: 5.9% (6141 content chars / 104485 HTML bytes)"
    },
    {
      "id": "add_open_graph",
      "priority": "medium",
      "category": "structuredData",
      "titleKey": "rec.add_open_graph.title",
      "descriptionKey": "rec.add_open_graph.description",
      "howToKey": "rec.add_open_graph.howto",
      "effort": "quick-win",
      "estimatedImpact": 1.3,
      "maxImpact": 4,
      "evidence": "plausible",
      "checkScore": 67,
      "checkDetails": "2/3 OG tags present"
    },
    {
      "id": "remove_inline_styles",
      "priority": "medium",
      "category": "contentEfficiency",
      "titleKey": "rec.remove_inline_styles.title",
      "descriptionKey": "rec.remove_inline_styles.description",
      "howToKey": "rec.remove_inline_styles.howto",
      "effort": "moderate",
      "estimatedImpact": 1,
      "maxImpact": 1,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "91/821 elements with inline styles (11.1%)"
    },
    {
      "id": "improve_alt_texts",
      "priority": "low",
      "category": "semanticHtml",
      "titleKey": "rec.improve_alt_texts.title",
      "descriptionKey": "rec.improve_alt_texts.description",
      "howToKey": "rec.improve_alt_texts.howto",
      "effort": "moderate",
      "estimatedImpact": 0.7,
      "maxImpact": 2.3,
      "evidence": "plausible",
      "checkScore": 67,
      "checkDetails": "2/3 images with meaningful alt text"
    }
  ],
  "llmsTxtPreview": "# Glintbase\n\n> Glintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software across documentation, APIs, onboarding, SDKs, and support surfaces.\n\n## Documentation\n- [Docs](https://glintbase.dev/docs)\n- [llms.txt](https://glintbase.dev/llms.txt)\n\n## Main\n- [Glintbase — Agent Readiness Infrastructure](https://glintbase.dev): Glintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software acros…\n- [Glintbase](https://glintbase.dev/)\n- [Research](https://glintbase.dev/research)\n- [Docs](https://glintbase.dev/docs)\n- [Enterprise](https://glintbase.dev/enterprise)\n- [llms.txt](https://glintbase.dev/llms.txt)\n- [Changelog](https://glintbase.dev/changelog)\n- [Status](https://glintbase.dev/status)\n\n## Blog\n- [Blog](https://glintbase.dev/blog)\n\n## Support\n- [Support](https://glintbase.dev/support)\n\n",
  "llmsTxtExisting": "# Glintbase — Agent Readiness Infrastructure\n> Glintbase helps companies measure, understand, and improve how AI agents discover, navigate, and operate software across documentation, APIs, onboarding, SDKs, and support surfaces.\n\n## Core Machine Surfaces & Plain-Text Endpoints\n- [/llms.txt](https://glintbase.dev/llms.txt): Plain-text machine index (this file).\n- [/llms-full.txt](https://glintbase.dev/llms-full.txt): Comprehensive concatenated documentation & research manuscript for LLM ingestion.\n- [/research.md](https://glintbase.dev/research.md): Full 24-page research manuscript: \"State of Agent Readiness 2026\".\n- [/docs.md](https://glintbase.dev/docs.md): Developer documentation in raw Markdown format (CLI, MCP Server, Agent Skill, ARS 1.0).\n- [/blog.md](https://glintbase.dev/blog.md): Catalog of all Glintbase research journal articles in raw Markdown format.\n- [/mcp.json](https://glintbase.dev/mcp.json): Model Context Protocol server manifest (@glintbase/mcp).\n- [/reports/STATE_OF_AGENT_READINESS_2026.pdf](https://glintbase.dev/reports/STATE_OF_AGENT_READINESS_2026.pdf): Published 24-page research PDF (1.1 MB).\n- [/research/data/full-scores.csv](https://glintbase.dev/research/data/full-scores.csv): Raw 100-platform cohort benchmark scores CSV.\n- [/research/data/research-dataset.json](https://glintbase.dev/research/data/research-dataset.json): Full 100-platform empirical dataset JSON.\n\n## Key Research & Benchmark Publications\n- [State of Agent Readiness 2026](https://glintbase.dev/research): Global Benchmark Report evaluating 100 AI engineering platforms across 1,000 Pathfinder scans and 450 live coding agent executions. Mean ARS Score: 50.7/100 (Grade C).\n- [The Agent Resilience Paradox](https://glintbase.dev/research.md#63-the-agent-resilience-paradox-in-detail): Why smart LLMs succeed despite bad docs by paying a massive token tax ($433.2k/yr per team).\n- [9-Action Remediation Playbook](https://glintbase.dev/research.md#remediation-playbook): Actionable steps to boost platform ARS scores by up to +35 points.\n\n## Developer Products & Tools\n- [Glintbase Hosted Scanner](https://scan.glintbase.dev): Probe any documentation or product URL to calculate its Agent Readiness Score (0-100).\n- [Glintbase CLI (@glintbase/cli)](https://glintbase.dev/docs#cli): Terminal scanner and CI/CD quality gate for agent readiness.\n- [Glintbase MCP Server (@glintbase/mcp)](https://glintbase.dev/docs#mcp): Model Context Protocol server with 9 readiness tools.\n- [Glintbase Agent Skill](https://glintbase.dev/docs#skill): Installable skill teaching coding agents to scan and fix repos autonomously.\n\n## Research Journal Articles (Raw Markdown)\n- [Agent Readiness: The Missing Metric in Modern Software](https://glintbase.dev/blog/Agent-readiness-missing-metric-in-modern-software)\n- [Why AI Agents Need a Different Interface Than Humans](https://glintbase.dev/blog/AI-agents-needs-a-different-interface)\n- [Why Most RAG Fails for Technical Documentation](https://glintbase.dev/blog/why-most-rag-fails)\n- [Documentation Drift is Killing AI Agents](https://glintbase.dev/blog/docs-drift-is-killing-ai)\n- [Why Agents Use the Web Differently Than Browsers](https://glintbase.dev/blog/why-agents-use-the-web-differently)\n- [The Future of Agent-Operable Software](https://glintbase.dev/blog/future-of-agent-operable-software)\n- [What is Agent Readiness?](https://glintbase.dev/blog/what-is-ai-readiness)\n- [The $433k Token Tax: Why Bad Docs Drain AI Infrastructure Budgets](https://glintbase.dev/blog/token-tax-ai-docs)\n- [The Agent Resilience Paradox: Why 'Working' Software Fails AI Agents](https://glintbase.dev/blog/agent-resilience-paradox)\n- [Beyond /llms.txt: The Full Machine-Readable Stack for AI Agents](https://glintbase.dev/blog/llms-txt-machine-surfaces)\n- [State of Agent Readiness 2026: What We Found Across 75 Software Platforms](https://glintbase.dev/blog/state-of-agent-readiness-2026)\n- [How to Gate CI/CD on Agent Readiness: A Practical Glintbase CLI Tutorial](https://glintbase.dev/blog/agent-readiness-cicd-gate)\n\n## Open Source Repositories\n- [glintbase/ars-report](https://github.com/glintbase/ars-report): Research report build engine & benchmark execution suite.\n- [glintbase/glintscanner](https://github.com/glintbase/glintscanner): Core scanner engine, CLI, and MCP server.",
  "emergingProtocols": {
    "oauthProtectedResource": {
      "exists": false,
      "url": "https://glintbase.dev/.well-known/oauth-protected-resource"
    },
    "oauthDiscovery": {
      "exists": false,
      "url": "https://glintbase.dev/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://glintbase.dev/.well-known/mcp/server-card.json",
      "draft": true
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://glintbase.dev/.well-known/agent-card.json"
    },
    "apiCatalog": {
      "exists": false,
      "url": "https://glintbase.dev/.well-known/api-catalog"
    },
    "agentSkills": {
      "exists": false,
      "url": "https://glintbase.dev/.well-known/agent-skills/index.json",
      "draft": true
    },
    "count": 0,
    "total": 6
  },
  "botAccess": {
    "probed": true,
    "bot": "OAI-SearchBot",
    "controlStatus": 200,
    "botStatus": 200,
    "discriminates": false,
    "refusedAsBot": false,
    "edge": "Vercel",
    "verifiable": false,
    "detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
  },
  "snippets": [
    {
      "id": "add_open_graph",
      "title": "Add missing Open Graph tags",
      "description": "Open Graph tags control how your page looks when shared on social media and how AI platforms preview your URL in answers.",
      "language": "html",
      "code": "<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://glintbase.dev\">\n<meta property=\"og:type\" content=\"website\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://glintbase.dev\">\n<meta property=\"og:type\" content=\"website\">"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Quick Open Graph tags without a plugin (skip if Yoast / Rank Math is active)\nadd_action('wp_head', function () {\n    if (!is_singular()) return;\n    $post = get_queried_object();\n    $title = get_the_title($post);\n    $desc  = get_the_excerpt($post) ?: wp_trim_words(strip_tags($post->post_content), 30);\n    $image = get_the_post_thumbnail_url($post, 'large') ?: 'https://yoursite.com/og-image.jpg';\n    $url   = get_permalink($post);\n    printf('<meta property=\"og:title\" content=\"%s\">' . \"\\n\", esc_attr($title));\n    printf('<meta property=\"og:description\" content=\"%s\">' . \"\\n\", esc_attr($desc));\n    printf('<meta property=\"og:image\" content=\"%s\">' . \"\\n\", esc_url($image));\n    printf('<meta property=\"og:url\" content=\"%s\">' . \"\\n\", esc_url($url));\n    echo '<meta property=\"og:type\" content=\"article\">' . \"\\n\";\n}, 5);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page.tsx",
          "code": "// Next.js App Router — Metadata API\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n  title: \"Glintbase — Agent Readiness Infrastructure\",\n  description: \"Measure, understand, and improve how AI agents operate your software. Free scanner, deep audit, and agent-ready documentation.\",\n  openGraph: {\n    title: \"Glintbase — Agent Readiness Infrastructure\",\n    description: \"Measure, understand, and improve how AI agents operate your software. Free scanner, deep audit, and agent-ready documentation.\",\n    url: \"https://glintbase.dev\",\n    images: [\"https://yoursite.com/og-image.jpg\"],\n    type: 'website',\n  },\n};"
        }
      ]
    },
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
      "language": "txt",
      "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
      "filename": "/robots.txt",
      "stacks": [
        {
          "id": "robots",
          "label": "robots.txt",
          "language": "txt",
          "filename": "/robots.txt",
          "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
        },
        {
          "id": "nginx",
          "label": "Nginx",
          "language": "nginx",
          "filename": "server block",
          "code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
        },
        {
          "id": "apache",
          "label": "Apache",
          "language": "apache",
          "filename": ".htaccess",
          "code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n    header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n    return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "middleware.ts",
          "code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n  const res = NextResponse.next();\n  res.headers.set(\n    'Content-Signal',\n    'search=yes, ai-input=yes, ai-train=no'\n  );\n  return res;\n}\nexport const config = { matcher: '/:path*' };"
        },
        {
          "id": "cloudflare",
          "label": "Cloudflare Workers",
          "language": "javascript",
          "filename": "worker.js",
          "code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n  async fetch(request, env, ctx) {\n    const res = await fetch(request);\n    const newRes = new Response(res.body, res);\n    newRes.headers.set(\n      'Content-Signal',\n      'search=yes, ai-input=yes, ai-train=no'\n    );\n    return newRes;\n  },\n};"
        },
        {
          "id": "express",
          "label": "Express / Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Express\napp.use((req, res, next) => {\n  res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n  reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  done();\n});"
        }
      ]
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
      "language": "html",
      "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        },
        {
          "id": "express",
          "label": "Express",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n  res.setHeader('Vary', 'Accept');\n  res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    res.type('text/markdown; charset=utf-8');\n    return res.send(renderMarkdown('page'));\n  }\n  res.render('page');\n});"
        },
        {
          "id": "fastify",
          "label": "Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n  reply.header('Vary', 'Accept');\n  reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n  }\n  return reply.view('/page.ejs');\n});"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page/route.ts",
          "code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n  const accept = req.headers.get('accept') || '';\n  if (accept.includes('text/markdown')) {\n    return new Response(await renderMarkdown('page'), {\n      headers: {\n        'Content-Type': 'text/markdown; charset=utf-8',\n        'Vary': 'Accept',\n      },\n    });\n  }\n  // Fall through to the page component\n  return new Response(null, { status: 404 });\n}"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n    if (!is_singular()) return;\n    $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n    if (strpos($accept, 'text/markdown') === false) return;\n    header('Content-Type: text/markdown; charset=utf-8');\n    header('Vary: Accept');\n    $post = get_queried_object();\n    echo \"# \" . get_the_title($post) . \"\\n\\n\";\n    echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n    exit;\n});"
        },
        {
          "id": "static",
          "label": "Hugo / Jekyll / Astro",
          "language": "txt",
          "filename": "static/page.md",
          "code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n#   <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        }
      ]
    }
  ]
}

Use our API to get this programmatically (coming soon)

This JSON is for internal use — unlike the Markdown and llms.txt files, it's not meant to be uploaded to your site. Save it as a baseline to track your score over time, share it with your dev team, or integrate it into your CI/CD pipeline.

Want a second opinion?

Cloudflare runs a free scanner too, and it asks a different question. It scores what your site publishes for agents to call — MCP server cards, Agent Skills, API catalogs, DNS records. We score whether an agent can reach, read and understand your content. A site can do well on one and poorly on the other, so expect two different numbers: they are answers to two different questions, and both are worth knowing.

Scan glintbase.dev with Cloudflare

Embed your badge

Add this badge to your site. It updates automatically as your AI-readiness score changes.

AgentReady.md score for glintbase.dev
Script Recommended
<script src="https://agentready.md/badge.js" data-id="9a84af52-ef4e-4ee7-b713-ae26e4ebc48c" data-domain="glintbase.dev"></script>
Markdown
[![AgentReady.md score for glintbase.dev](https://agentready.md/badge/glintbase.dev.svg)](https://agentready.md/r/9a84af52-ef4e-4ee7-b713-ae26e4ebc48c)

Coming soon: Full Domain Analysis

Crawl your entire domain, generate llms.txt, and monitor your AI-readiness score over time. Join the waitlist to be notified.

You're on the list! We'll notify you when it launches.