Skip to main content
Every RCP/1 message shape — requests, results, errors, capabilities, hits, filters, Content blocks — is described by a normative JSON Schema (draft 2020-12) at /schema/rcp-1.0.json.

Download the schema

schema/rcp-1.0.json — validate messages, generate types, or drive a linter.

Using it

Validate messages

Point any draft-2020-12 validator (ajv, jsonschema, jschema) at a message to check conformance in tests and CI.

Generate types

Feed it to quicktype, datamodel-code-generator, or json-schema-to-typescript to derive types in your language.
The schema is a companion to the prose specification, not a replacement: where the schema constrains shape, the specification constrains behaviour (gating, negotiation, error semantics). A message can be schema-valid and still violate a MUST — conformance requires both.
The reference SDKs already encode these shapes, so if you build on an SDK you get schema-correct messages for free.