MSP-1 specification

Discovery

MSP-1 discovery is anchored to a single canonical well-known endpoint. Implementations may additionally include a discovery object to make this explicit and reduce inference-based filename guessing by automated agents.

Canonical endpoint: /.well-known/msp.json MSP-1.0.x

Normative rules

These rules define how MSP-1 declarations are discovered.

Canonical endpoint

The canonical MSP-1 discovery endpoint is: /.well-known/msp.json

No inference-based probing

Consumers and agents SHOULD NOT infer alternate filenames (for example, msp-1.json) when the canonical endpoint is absent or unreachable. If retrieval fails, the implementation should be treated as unavailable rather than guessed.

Backwards compatibility

The discovery object is an additive clarity layer. If it is missing, prior implementations remain valid. Consumers MAY fall back to the canonical endpoint /.well-known/msp.json.

The discovery object

A compact, explicit declaration of canonical discovery.

discovery.wellKnown

Root-relative path to the site’s MSP-1 well-known declaration.

Example: "/.well-known/msp.json"

discovery.canonical

Indicates that the declared well-known path is authoritative for discovery.

Example: true

Example

{
  "discovery": {
    "wellKnown": "/.well-known/msp.json",
    "canonical": true
  }
}

Notes on naming

Preventing ambiguity around “MSP-1”.

MSP-1 is the protocol name, not a version label. Protocol versions are declared within the MSP-1 object (for example, protocol.version).

Related

Supporting definitions and schema references.