MSP-1 Specification

url

The url term identifies the primary web-addressable location associated with an MSP-1 resource.

Category: Addressing & location

Status: Normative

Version: MSP-1 v1.0.1

1. Purpose

The url term allows agents, validators, and implementation tools to locate, resolve, reference, and associate metadata with the correct web resource. It allows systems to:

  • Identify the primary web-accessible location of a resource.
  • Associate MSP-1 metadata with the correct site, page, section, resource, or entity.
  • Resolve web-addressable resources without relying only on surrounding context.
  • Distinguish web location from stable identity and canonical representation.

URL clarity supports reliable retrieval, citation, and resource association across MSP-1 declarations.

2. Normative definition

An MSP-1 url is an absolute URI string identifying the primary web-addressable location associated with a resource. A URL should be:

  • Absolute — includes a scheme such as https://.
  • Stable — remains stable unless the resource permanently moves.
  • Unambiguous — resolves to the intended resource without unnecessary ambiguity.
  • Clean — avoids tracking parameters, session identifiers, or ephemeral query strings in MSP-1 declarations.

The url term states the resource's web-addressable location. It should not be conflated with canonical, which identifies the preferred authoritative URL representation when multiple URLs, copies, mirrors, variants, or representations exist.

3. Required fields

  • url — contextual; when present, should be a valid absolute URI string.

The broad url term is not universally required. It is required only where the active schema or declaration context requires a web-accessible location.

Alternate, previous, redirect, URL-status, and URL-format metadata are not part of the canonical core url term unless separately defined by an active profile or schema.

4. AI interpretation rules

  • AI agents should treat url as the resource's primary web-addressable location.
  • Agents should not treat url, id, and canonical as interchangeable.
  • Conflicting URL declarations for the same resource should be treated as a non-ideal structural condition.
  • When no URL is present, agents may rely on surrounding page context, discovery context, or canonical metadata where available.
  • If expanded object-form URL metadata is encountered, validators may treat it as structured URL metadata or schema drift and issue an advisory warning when graceful degradation is appropriate.

Clean URL declarations reduce ambiguity by giving agents a direct web location to associate with the described resource.

5. Relationship to related MSP-1 terms

  • id — identifies the resource or entity; url locates it on the web.
  • canonical — identifies the preferred authoritative URL representation when applicable.
  • site — may declare a site-level URL for the website root or primary site location.
  • page — may declare the URL of an individual page or page-equivalent resource.
  • section — may declare a section-level URL or fragment address where applicable.
  • parent — may help resolve structural relationships among located resources.
  • provenance — may use URLs to connect a resource to source materials or related references.

Do not confuse url with id or canonical. url locates the resource on the web; id identifies the resource or entity; canonical identifies the preferred authoritative URL representation when applicable.

6. Examples

Primary URL declaration:

{
  "url": "https://msp-1.org/protocol-overview/"
}

Page-level URL declaration:

{
  "page": {
    "id": "intro",
    "url": "https://msp-1.org/intro/"
  }
}

Site-level URL declaration:

{
  "site": {
    "id": "msp-1-org",
    "url": "https://msp-1.org/"
  }
}

7. Conformance

A resource conforms to the MSP-1 url specification when:

  • It expresses url as a valid absolute URI string.
  • It uses url to identify the primary web-addressable location of the resource.
  • It avoids tracking parameters, session identifiers, or ephemeral query strings in MSP-1 declarations.
  • It does not treat url as interchangeable with id or canonical.
  • It treats expanded URL metadata as outside the core url term unless defined by an active profile or schema.