Published 2026-09-21 · Tested 2026-08-20

Neon

A

Neon received 10 PASS votes and passed 5 of five agent surface checks. The clearest finding came from the verify an Auth webhook task.

Panel: GPT 5.6 Sol, Opus 5, DeepSeek v4F Battery: v1 Read as markdown (opens in a new tab)

Three AI models, GPT 5.6 Sol, Claude Opus 5, and DeepSeek v4 Flash, each read Neon’s public documentation independently and attempted five first-hour developer jobs: run the first Postgres query, find the exact limits, recover from a connection error, verify an Auth webhook, use the serverless driver.

No accounts, API calls, or code execution were used. Every verdict came from public pages and every published quotation passed a live verification check. Preflight substitutions: T3: Neon connection-error recovery replaces HTTP 429.

Freshness

How rechecks work
Tested
Quotes verified
Surface rechecked

No change since the test.

5 of 5 quoted passages still appear on the live pages.

Neon Custom Next.js · published
A

93.8% · 75/80 · AI Agent Readiness Score · reading 30 pts · surface 50 pts

llms.txt PASS
llms-full.txt PASS
markdown mirror PASS
MCP server PASS
docs AI PASS
Task GPT 5.6 SolOpus 5DeepSeek v4F Consensus
Run the first Postgres query PASSPASSPASS PASS
Find the exact limits PARTIALPASSPASS PASS
Recover from a connection error PASSPASSPASS PASS
Verify an Auth webhook PARTIALPARTIALPASS PARTIAL
Use the serverless driver PARTIALPARTIALPASS PARTIAL

docs platform: Custom Next.js (unscored) · verified 2026-08-20

What to fix first

These 2 fixes could add up to 4 points to the AI Agent Readiness Score. The list ranks each fix by the points it would add. How the ranking works

  1. 1
    +2 points Verify an Auth webhook PARTIAL

    Found: The webhooks guide fetches the JWKS from NEON_AUTH_URL but does not define it. Other Auth pages use NEON_AUTH_BASE_URL.

    Fix: Define the Auth base URL variable in the webhooks guide, and use the NEON_AUTH_BASE_URL name that other Auth pages use.

    Evidence: neon.com/docs/auth/guides/webhooks#signature-verification (opens in a new tab)

  2. 2
    +2 points Use the serverless driver PARTIAL

    Found: GPT found the serverless driver page queries a placeholder table. Opus 5 found the page's DATABASE_URL omits the sslmode and channel_binding parameters that connection pages show.

    Fix: Use a runnable query in the HTTP example, and state whether DATABASE_URL needs sslmode and channel_binding over HTTP.

    Evidence: neon.com/docs/serverless/serverless-driver#use-the-driver-over-http (opens in a new tab)

What the docs get right

  • Run the first Postgres query: 3 PASS votes. Onboarding creates the project; the psql guide then covers installation, connection-string copying, connection, and two runnable queries.
  • Recover from a connection error: 3 PASS votes. The page maps named credential, SNI, pooling, cold-start, and capacity errors to explicit corrections.
  • 5 of 5 agent surface checks. Present: llms.txt, llms-full.txt, markdown mirrors, an MCP server, docs AI.

Run the first Postgres query

PASS

PASS consensus from 3 PASS.

Onboarding creates the project; the psql guide then covers installation, connection-string copying, connection, and two runnable queries. The signup tour walks sign-up to project to SQL Editor with a pre-filled sample table, and the connect page supplies a copyable connection string plus psql, pg, and psycopg2 snippets, so the path is unambiguous end to end. Three clear paths exist: Console SQL Editor with sample SQL, psql via connection string from the Connect button, or Neon CLI. All paths start from sign-up at console.neon.tech and are documented end-to-end.

Find the exact limits

PASS

PASS consensus from 2 PASS, 1 PARTIAL.

All six requested limits are stated, but pricing.md computes the same branch-hours as $0.02 while the plans page says about $0.20. All six categories carry a value and an explicit scope (projects 100/100/1,000; branches 10/10/25 per project with a 5,000 per-project cap on paid plans; compute 100 CU-hours per project on Free; storage 0.5 GB per project on Free; history 6 hours/7 days/30 days; public network transfer 5 GB per month on Free and 500 GB per project per month on paid), and the pricing page repeats the same numbers. Plan comparison table gives exact per-plan values for all required categories with consistent scoping (per-project or per-organization).

Recover from a connection error

PASS

PASS consensus from 3 PASS.

The page maps named credential, SNI, pooling, cold-start, and capacity errors to explicit corrections. One page indexes 17 named connection errors and covers every axis the task asks for: credentials, four separate SNI workarounds, PgBouncer startup-parameter and search_path failures on pooled strings, scale-to-zero cold start, and both the active-endpoint and max_connections capacity limits. 17 documented error scenarios covering credentials, SNI, pooled connections, cold start, capacity, and more, each with specific diagnosis and documented fix.

Verify an Auth webhook

PARTIAL

PARTIAL consensus from 1 PASS, 2 PARTIAL.

The reference covers configuration, payloads, and verification, but it never defines NEON_AUTH_URL; the linked walkthrough uses NEON_AUTH_BASE_URL. Configuration, headers, the double-base64url signing-input reconstruction, a working Node crypto.verify example, idempotency, and retry limits are all on one page, but the JWKS fetch reads process.env.NEON_AUTH_URL while the Auth quickstart defines the variable as NEON_AUTH_BASE_URL, so the base URL must be resolved by cross-referencing another page. Complete end-to-end process: Neon API to configure webhooks, event types documented, Ed25519 detached JWS verification with JWKS, double base64url encoding, and a runnable Node.js verification function.

Use the serverless driver

PARTIAL

PARTIAL consensus from 1 PASS, 2 PARTIAL.

Installation and DATABASE_URL setup are clear, but the minimum HTTP query targets an unspecified table and cannot run unchanged. Install, configure, and the minimum neon() HTTP template query are all clear, but the page's DATABASE_URL carries no query parameters while every canonical connection page shows ?sslmode=require&channel_binding=require, and nothing on the serverless page explains that the HTTP transport makes those libpq parameters moot. Installation (npm install @neondatabase/serverless), DATABASE_URL from the Connect button, and a minimal HTTP query example are all on one page and agree with the connection guidance.

The receipt

Managed Better Auth uses asymmetric EdDSA (Ed25519) signatures with detached JWS, so key rotation does not require reconfiguring your endpoint. Verify signatures before processing webhooks.

The reference covers configuration, payloads, and verification, but it never defines NEON_AUTH_URL; the linked walkthrough uses NEON_AUTH_BASE_URL.

Agent surface notes

Initialize returned a valid MCP response with Neon server information.

The live docs expose a public Ask AI control.

Show the score

AI Agent Readiness Score 93.8%, grade A

Paste this into a readme:

[![AI Agent Readiness Score 93.8%](https://docsforagents.com/badge/neon.svg)](https://docsforagents.com/reports/neon-docs-ai-agent-readiness/)

Method note

This is a reading test of public documentation, not an execution test. No accounts were created and no API calls were run. The AI Agent Readiness Score counts fifteen reading votes at PASS 2, PARTIAL 1, and FAIL 0, for 30 possible points. Five agent surface checks add 10 points each. The total is 80. Consensus chips show each row majority and do not affect scoring. The panel split on 3 of five tasks. Quotes shown here were re-fetched and confirmed verbatim on 2026-08-20.

Read the full methodology

Put another docs site through the battery.

Nominate a docs site