Ncscncsc.gov.uk
NCSC's API program performs well in areas where it has established structure, but two critical gaps are holding back partner and agent adoption. Agents and partners cannot discover or navigate the API surface without a machine-readable entry point, and there is no runnable, executable context for agents to build against — meaning integrations stall before they begin.
API DesignA clean, typed, well-governed API contract agents can reason about1 pass0 warn0 fail100A+
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Security & governance hygienevia wellknown | 15/15 | Valid security.txt at https://ncsc.gov.uk/.well-known/security.txt with a Contact line and an unexpired Expires date. Investigated: wellknown 100%. | No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel. |
| na | Machine-readable, versioned contract | —/25 | No surface produced evidence for this capability in this run. | A current OpenAPI version with a declared versioning scheme lets agents reason about the contract. |
| na | Schema coverage & depth | —/25 | No surface produced evidence for this capability in this run. | Typed, complete request/response schemas are what make agent function-calling possible. |
| na | Auth declared & discoverable | —/25 | No surface produced evidence for this capability in this run. | Agents can only call an API when they can determine its auth posture — a declared scheme, or an explicit statement that none is required. |
| na | Example coverage | —/10 | No surface produced evidence for this capability in this run. | Examples carry shape semantics schemas under-specify — for humans and agents alike. |
Developer ExperienceThe context both developers and agents need to integrate fast — onboarding, code samples, complete descriptions and worked examples1 pass0 warn1 fail64C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Self-service developer portalvia docs | 29/29 | Signup page found at https://www.ncsc.gov.uk/register/subscribe, but no free tier or sandbox is documented in docs/pricing, so an agent may hit a paywall. Investigated: docs 100%. | A first call without a human in the loop — self-serve credentials, a free tier, or an API that needs none. |
| fail | Quickstart presentvia docs | 0/25 | No quickstart or getting-started page found at the conventional docs paths, so new developers and agents have no obvious first step. Investigated: docs 0%. Fix: Publish a single-page quickstart that goes from zero to a first successful API call. | A quickstart is the fastest path from landing page to first successful call. |
| na | Code samples in docs | —/18 | No surface produced evidence for this capability in this run. | Multi-language samples shorten time-to-first-call. |
| na | Description completeness | —/15 | No surface produced evidence for this capability in this run. | Complete descriptions are the context humans and agents need to use endpoints. |
| na | Changelog published | —/13 | No surface produced evidence for this capability in this run. | A published changelog lets partners track changes without surprise. |
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs3 pass0 warn1 fail75B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Docs reachable, not hard auth-gatedvia docs | 30/30 | All 50 sampled pages are publicly accessible. Investigated: docs 100%. | Agents can only index and fetch docs they can reach — past auth gates and over correct HTTP semantics. |
| pass | Registry & SDK presencevia docs | 28/28 | Indexed on Context7 (aws-samples/landing-zone-accelerator-on-aws-for-healthcare, 47 snippets). Investigated: docs 100%, sdk 50%, cli 0%. | Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look. |
| pass | Crawlable / AEOvia wellknown | 12/12 | No robots.txt on the docs host, so AI crawlers are unrestricted and can read the docs. Investigated: wellknown 100%. | Bots allowed plus a fresh sitemap make docs findable by agent crawlers. |
| fail | llms.txt present, valid & comprehensivevia docs | 0/30 | No llms.txt found at any candidate location (https://www.ncsc.gov.uk/llms.txt, https://www.ncsc.gov.uk/docs/llms.txt). Investigated: docs 0%. | A valid, comprehensive llms.txt is the machine-readable entry point for agents. |
Agent UnderstandingAgents can correctly interpret your APIs — machine-readable errors, consistent descriptions, structured data, parseable docs0 pass1 warn1 fail69C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| warn | Agent-navigable, token-efficient docsvia docs | 19.7/22 | No sampled pages support .md URLs (0/50 tested). Investigated: docs 90%. | Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly. |
| fail | Agent instructions file (AGENTS.md)via wellknown | 0/10 | No AGENTS.md at the site root or /.well-known/, so coding agents have no ready-made setup and usage instructions. Investigated: wellknown 0%. Fix: Publish an AGENTS.md with setup, auth, and usage instructions a coding agent can follow. | An AGENTS.md gives coding agents explicit setup, auth, and usage instructions to interpret and operate the API — beyond llms.txt's link index. |
| na | Machine-readable errors (RFC 9457) | —/28 | No surface produced evidence for this capability in this run. | RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens. |
| na | Operation purpose clarity | —/25 | No surface produced evidence for this capability in this run. | Agents select the right endpoint from its summary + operationId; clear, named operations make tool-selection reliable — the strongest driver of correct tool choice. |
| na | Docs structured data | —/8 | No surface produced evidence for this capability in this run. | Structured data (JSON-LD/schema.org) on docs pages gives agents an unambiguous parse target and is what answer engines cite. Detected on the JS-rendered head (Firecrawl) for a bounded page budget, so JS-injected JSON-LD is now caught; pages we can't render are excluded rather than failed. |
| na | Description consistency across surfaces | —/7 | Only 0 surface description(s) with ≥6 tokens available; need at least 2 to compare. | Every surface tells the same story about what the product is. |
Agent UsabilityAgents have the context to use your APIs reliably, not just find them0 pass0 warn1 fail40F
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| fail | Runnable collection with test scriptsvia platform | 0/9 | No public Postman workspace found for the org, so there's no runnable collection an agent can execute against. Investigated: platform 0%. Fix: Publish at least one public Postman workspace and link it from your developer portal so agents can use Run-in-Postman. | A public, maintained collection with assertions is runnable truth agents validate against. |
| na | Idempotency documented | —/27 | No surface produced evidence for this capability in this run. | Documented idempotency lets agents retry safely. |
| na | Rate-limit signaling | —/22 | No surface produced evidence for this capability in this run. | Machine-readable rate-limit headers let agents throttle adaptively. |
| na | Pagination documented & consistent | —/22 | No surface produced evidence for this capability in this run. | Consistent, documented pagination lets agents traverse collections. |
| na | Sandbox separation | —/20 | No surface produced evidence for this capability in this run. | An isolated environment lets agents exercise destructive operations safely. |
Resources Discovered
The public resources we found for Ncsc — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (47) |
|---|