NCP v1.0 RFC
NCP Open Specification v1.0 — Stable
Specification: NCP v1.0
Status: Stable – Production Ready
Content-Type: application/json
Transport: HTTPS only
Encoding: UTF-8
Status: Stable – Production Ready
Content-Type: application/json
Transport: HTTPS only
Encoding: UTF-8
1. Purpose
Neural Content Protocol (NCP) defines a minimal, structured, machine-readable layer for AI systems to access authoritative, noise-free metadata about a web resource.
It does NOT replace HTML, schema.org, OpenGraph, or JSON-LD. It acts as a canonical AI ingestion layer.
2. Discovery Mechanism (MANDATORY)
One of the following MUST be present:
Option A (Preferred)
<meta name="ncp-payload-url" content="https://example.com/.well-known/ncp.json">
Option B
GET /.well-known/ncp.json
If both exist → meta tag takes precedence.
3. Payload Requirements
Root Structure (STRICT)
{
"protocol": "NCP/1.0",
"semantic_type": "string",
"identity": {...},
"authority": {...},
"entities": {...},
"offer": {...},
"context": {...}
}
4. Field Specification
4.1 protocol (REQUIRED)
- Type: string
- Format: NCP/{major}.{minor}
- Regex:
^NCP\/\d+\.\d+$ - If invalid → BLOCKING ERROR
4.2 semantic_type (REQUIRED)
- Type: string
- Enum (v1.0 allowed values):
universal,product,article,organization,service,person,event - Unknown value → WARNING (not blocking)
Minor Version Policy
Implementations MUST accept
Implementations MUST accept
NCP/1.0 for the lifetime of major version 1.x.
Breaking changes will only occur in NCP/2.0. Minor additions (e.g., new semantic types) MAY be introduced in
NCP/1.x without breaking backward compatibility.
5. Core Pillars
5.1 identity (REQUIRED)
{
"name": "string",
"description": "string",
"url": "absolute HTTPS URL",
"image": "absolute HTTPS URL",
"author": "string"
}
- Rules: name (3–120 chars), description (10–500 chars), url (MUST match domain origin), image (MUST be HTTPS), author (optional but recommended).
- Blocking errors: missing name, non-HTTPS url, invalid URL format.
5.2 authority (REQUIRED)
- Rules:
verified(boolean),trust_score(number 0.0 – 10.0 enforced),external_signals(MUST be array, max 20). - external_signals structure: Array of objects with strict
typeandurlproperties. Examples:{"type": "review_platform", "url": "https://..."} - Blocking errors: trust_score out of range, verified not boolean, external_signals elements are not valid objects, invalid URLs.
5.3 entities (REQUIRED)
- Rules:
primary(at least 1 element, max 10 elements, unique values only),secondary(array). - Blocking errors: empty primary array.
5.4 offer (REQUIRED but may be informational)
- Rules: if
price!= null →currencyREQUIRED. If present, MUST match ISO 4217. - Blocking errors: currency without price, invalid currency format.
5.5 context (REQUIRED)
- Rules:
timestampMUST be ISO 8601,languageMUST be ISO 639-1. - Blocking errors: invalid timestamp, invalid language code.
6. Size Constraints & Transport
- Maximum payload size: 50KB
- MUST respond with:
Content-Type: application/json - SHOULD respond with:
Cache-Control - Timeouts: Ingestion crawlers SHOULD timeout after ≤ 3 seconds and follow a maximum of 1 redirect to strictly prevent stalling. MAY retry once on timeout. (Note: Public diagnostic checkers like the one on this site run with elevated timeouts up to 10s).
7. Validation Levels
The NCP Compliance Validator runs an extraction over your endpoint. AI models MAY use this same structured schema to determine index priority.
NONE
No valid NCP payload found or BLOCKING ERRORS prevent ingestion.
No valid NCP payload found or BLOCKING ERRORS prevent ingestion.
CORE (Minimum Compliance)
Valid discovery + valid protocol field + all 5 pillars present + no blocking errors.
Valid discovery + valid protocol field + all 5 pillars present + no blocking errors.
PLUS
CORE + Semantic Type is an official Enum + summary length ≥ 50 chars + external_signals not empty.
CORE + Semantic Type is an official Enum + summary length ≥ 50 chars + external_signals not empty.
VERIFIED-L1 (Origin Strict)
PLUS + HTTPS strictly enforced + trust_score ≥ 7.0 + authority verified boolean is true. MUST Pass Canonicalization Origin match (payload URL domain perfectly matches ingestion domain, excluding 'www'). Formal Cryptographic signing is reserved for v1.1.
PLUS + HTTPS strictly enforced + trust_score ≥ 7.0 + authority verified boolean is true. MUST Pass Canonicalization Origin match (payload URL domain perfectly matches ingestion domain, excluding 'www'). Formal Cryptographic signing is reserved for v1.1.
Validator Output Schema
{
"ncp_version": "1.0",
"status": "PASS | FAIL | WARNING",
"compliance_level": "NONE | CORE | PLUS | VERIFIED-L1",
"score": 82,
"blocking_errors": [
{
"code": "IDENTITY_URL_INVALID",
"severity": "BLOCKING",
"message": "Identity error: 'url' MUST be an absolute HTTPS URL.",
"path": "$.identity.url"
}
],
"warnings": [
{
"code": "CONTEXT_SUMMARY_LENGTH",
"severity": "WARNING",
"message": "Context warning: 'summary' length is suspiciously short.",
"path": "$.context.summary"
}
],
"recommendations": []
}
8. Test Vectors & Certification
To ensure 3rd party implementations accurately align with the standard, we provide standardized test payloads.
9. Changelog
v1.0 (Stable release)
- Initial freeze of the 5 Core Pillars geometry.
- Strict ISO 8601 & ISO 4217 enforcements applied.
- Canonical Origin matching implemented for VERIFIED-L1.
- Reserved for v1.1: Formal cryptographic payload signing.