<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     ipr="trust200902"
     docName="draft-soden-wellknown-mcp-commerce-00"
     category="info"
     submissionType="independent"
     xml:lang="en"
     version="3">

  <front>
    <title abbrev="well-known MCP Commerce Profile">
      A Well-Known URI Profile for Agent-Callable Commerce Endpoints
    </title>

    <seriesInfo name="Internet-Draft" value="draft-soden-wellknown-mcp-commerce-00"/>

    <author initials="D." surname="Soden" fullname="David Soden">
      <organization>Beacon Spec</organization>
      <address>
        <email>david@beaconspec.com</email>
      </address>
    </author>

    <author initials="D." surname="Walker" fullname="Duane Walker">
      <organization>Beacon Spec</organization>
      <address>
        <email>duane@beaconspec.com</email>
      </address>
    </author>

    <date/>

    <area>Applications</area>
    <workgroup>Independent Submission</workgroup>

    <keyword>MCP</keyword>
    <keyword>well-known</keyword>
    <keyword>discovery</keyword>
    <keyword>AI agents</keyword>
    <keyword>commerce</keyword>

    <abstract>
      <t>
        This document defines an informational profile for the Server Card
        document retrieved from the <tt>/.well-known/mcp.json</tt> Well-Known
        URI defined by the Model Context Protocol (MCP) project. The profile
        adds an optional commerce extension to the Server Card, carried in the
        Server Card's <tt>_meta</tt> object under the reverse-DNS key
        <tt>com.beaconspec/commerce</tt>, for commercial businesses operating
        MCP servers. The extension carries
        business identity, geographic location, industry classification,
        offering type, and advertised capability categories. The
        purpose of the profile is to give AI agents enough machine-readable
        information about a commercial MCP server to filter, select, and
        bootstrap an interaction without first opening an MCP session against
        every candidate server.
      </t>
    </abstract>

    <note title="Note to Readers">
      <t>
        Discussion of this draft takes place on the IETF DISPATCH mailing
        list (<eref target="https://mailarchive.ietf.org/arch/browse/dispatch/">https://mailarchive.ietf.org/arch/browse/dispatch/</eref>).
        Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/beaconspec/mcp-commerce-profile">https://github.com/beaconspec/mcp-commerce-profile</eref>.
      </t>
    </note>
  </front>

  <middle>

    <section anchor="introduction">
      <name>Introduction</name>

      <t>
        The Model Context Protocol (MCP, see <xref target="MCP-SPEC"/>)
        provides a standardized mechanism by which Large Language Model
        (LLM) applications can invoke tools and retrieve context from
        external services. As of the 2025-11-25 specification release,
        MCP is hosted under the Linux Foundation (LF Projects, LLC) and
        governed by a Core Maintainer group.
      </t>

      <t>
        A Specification Enhancement Proposal (SEP-1649) currently under
        review within the MCP project proposes a standardized discovery
        mechanism, the <tt>/.well-known/mcp.json</tt> endpoint, that
        allows an MCP client to retrieve a Server Card describing an MCP
        server's capabilities prior to establishing a session. This document
        does not duplicate or conflict with that work. It defines an
        optional commerce extension layered on top of the Server Card,
        addressed at the specific use case of discovering and transacting
        with commercial businesses through an AI agent.
      </t>

      <section anchor="motivating-flow">
        <name>Motivating Flow</name>

        <t>
          The profile exists to enable interactions of the following form.
          An end user asks a digital assistant: "find me a pair of size 10
          running shoes under $20 near me, and order a pair if you find
          something in stock." A well-implemented assistant decomposes
          this into three steps:
        </t>

        <ol spacing="normal">
          <li>
            Query a marketplace or registry of MCP servers that index
            commercial businesses, filtering by geographic proximity to
            the user, by industry classification (apparel, footwear),
            and by advertised capability (the ability to take an order
            programmatically).
          </li>
          <li>
            For each candidate result, open the candidate's MCP server
            and use the standard MCP capability-listing methods (such
            as <tt>tools/list</tt>) to obtain the precise inventory and
            order-placement tools.
          </li>
          <li>
            Identify a small number of viable candidates, surface them to
            the end user for confirmation, and place the order via the
            chosen server's MCP tools.
          </li>
        </ol>

        <t>
          Without a shared vocabulary for business-level metadata, step 1
          either fragments across vendor-specific directories or forces
          the assistant to open MCP sessions against every candidate to
          inspect tool descriptions, both of which are expensive and slow.
          This profile defines the shared vocabulary.
        </t>
      </section>

      <section anchor="relationship-to-other-work">
        <name>Relationship to Other Work</name>

        <t>
          This profile depends on the Server Card schema defined by
          <xref target="MCP-SERVER-CARDS">SEP-1649</xref> as a baseline.
          Where SEP-1649 specifies how an MCP client connects to a
          server (transport, identity of the server, MCP-level
          authorization), this profile does not re-specify those
          mechanisms. It only adds business-level information about the
          entity operating the server.
        </t>

        <t>
          This profile is not a competitor to Schema.org's
          <tt>LocalBusiness</tt> vocabulary
          (<xref target="SCHEMA-ORG-LB"/>). Schema.org describes
          businesses for human-facing web pages. This profile describes
          businesses for agent-facing MCP discovery. Publishers may
          publish both; an optional field of this profile carries a
          Schema.org type for cross-referencing.
        </t>

        <t>
          This profile is not a replacement for, nor a competitor to,
          the llms.txt convention
          (<eref target="https://llmstxt.org">https://llmstxt.org</eref>).
          llms.txt is for passive LLM context; this profile is for active
          agent discovery and invocation. The two are complementary.
        </t>
      </section>

      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>
          The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
          "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>",
          "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>",
          "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>",
          "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and
          "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted
          as described in BCP&nbsp;14 <xref target="RFC2119"/>
          <xref target="RFC8174"/> when, and only when, they appear in
          all capitals, as shown here.
        </t>
      </section>

      <section anchor="terminology">
        <name>Terminology</name>
        <dl>
          <dt>Server Card</dt>
          <dd>
            The discovery document retrieved from
            <tt>/.well-known/mcp.json</tt>, as defined by the core MCP
            specification (referenced here as [MCP-SERVER-CARDS]). The same
            document may also be served at
            <tt>/.well-known/mcp/server-card.json</tt>, the location proposed
            by <xref target="MCP-SERVER-CARDS-2127"/>.
          </dd>

          <dt>Commerce Profile (or "this profile")</dt>
          <dd>
            The set of additional fields defined by this document, placed
            inside the Server Card's <tt>_meta</tt> object under the key
            <tt>com.beaconspec/commerce</tt>.
          </dd>

          <dt>Marketplace (or Registry)</dt>
          <dd>
            A service that indexes Server Cards from multiple commercial
            MCP servers and exposes a query interface to AI agents. A
            marketplace is consumed by AI clients; it is not part of the
            normative protocol defined here.
          </dd>

          <dt>Profile Publisher</dt>
          <dd>
            The party operating an MCP server who authors and publishes
            a Server Card carrying a Commerce Profile in its <tt>_meta</tt>
            object.
          </dd>

          <dt>Origin</dt>
          <dd>As defined in <xref target="RFC6454"/>.</dd>
        </dl>
      </section>
    </section>

    <section anchor="commerce-profile">
      <name>The Commerce Profile Extension</name>

      <section anchor="location">
        <name>Location Within the Server Card</name>
        <t>
          The Commerce Profile is carried within the Server Card's
          <tt>_meta</tt> object, the metadata extension mechanism defined by
          the MCP base specification <xref target="MCP-META"/>. The profile
          occupies a single member whose key is
          <tt>com.beaconspec/commerce</tt>.
        </t>
        <t>
          This profile is independent of the path at which the Server Card is
          published. A Profile Publisher <bcp14>SHOULD</bcp14> serve the same
          Server Card document at both <tt>/.well-known/mcp.json</tt> (the
          canonical location) and <tt>/.well-known/mcp/server-card.json</tt>
          (the location proposed by <xref target="MCP-SERVER-CARDS-2127"/>), so
          that clients following either convention can discover it. Because the
          Commerce Profile travels inside the Server Card's <tt>_meta</tt>
          object, it is carried unchanged regardless of which path a client
          retrieves.
        </t>
        <t>
          The key uses the reverse-DNS prefix form that MCP defines for
          <tt>_meta</tt> members. Per <xref target="MCP-META"/>, only prefixes
          whose second label is <tt>modelcontextprotocol</tt> or <tt>mcp</tt>
          are reserved for the MCP project; <tt>com.beaconspec</tt> is
          controlled by Beacon Spec, so <tt>com.beaconspec/commerce</tt> is a
          conformant third-party key.
        </t>
        <t>
          Implementations that do not understand the
          <tt>com.beaconspec/commerce</tt> member <bcp14>MUST</bcp14> ignore
          it, which is the default handling for unrecognized <tt>_meta</tt>
          members.
        </t>
        <t>
          The value of the <tt>com.beaconspec/commerce</tt> member
          <bcp14>MUST</bcp14> be a JSON object. The object
          <bcp14>MUST</bcp14> conform to the schema defined in
          <xref target="fields"/>.
        </t>
      </section>

      <section anchor="profile-version">
        <name>Profile Version</name>
        <t>
          The <tt>version</tt> field within the <tt>commerce</tt> object
          carries the version of this Commerce Profile that the document
          conforms to. Versions follow Semantic Versioning 2.0.0
          <xref target="SEMVER"/>, formatted as the string
          <tt>"MAJOR.MINOR.PATCH"</tt>. This document defines version
          <tt>"1.0.0"</tt>.
        </t>
        <t>
          Major-version increments indicate backward-incompatible schema
          changes. Minor-version increments indicate backward-compatible
          additions. Patch-version increments indicate editorial
          clarifications without schema change.
        </t>
      </section>
    </section>

    <section anchor="fields">
      <name>Fields</name>

      <t>
        Unless otherwise stated, all fields in the <tt>commerce</tt> object
        are <bcp14>OPTIONAL</bcp14>. Fields explicitly marked
        "<bcp14>REQUIRED</bcp14>" below <bcp14>MUST</bcp14> be present in
        every <tt>commerce</tt> block.
      </t>

      <section anchor="field-version">
        <name>version (REQUIRED)</name>
        <t>
          A string in Semantic Versioning 2.0.0 format. <bcp14>MUST</bcp14>
          equal <tt>"1.0.0"</tt> for documents conforming to this profile.
        </t>
      </section>

      <section anchor="field-lastupdated">
        <name>lastUpdated (REQUIRED)</name>
        <t>
          An ISO 8601 timestamp (<xref target="RFC3339"/>) indicating when
          the <tt>commerce</tt> block was last modified. Marketplace
          implementations <bcp14>SHOULD</bcp14> use this field to skip
          re-indexing unchanged entries.
        </t>
      </section>

      <section anchor="field-businessname">
        <name>businessName (REQUIRED)</name>
        <t>
          The business name as it should be displayed to end users. This
          may differ from the legal entity name. UTF-8 string, recommended
          maximum length 200 characters.
        </t>
      </section>

      <section anchor="field-businessdescription">
        <name>businessDescription (REQUIRED)</name>
        <t>
          A short paragraph describing the business in plain language, for
          presentation to end users by AI agents. UTF-8 string, recommended
          maximum length 1000 characters.
        </t>
      </section>

      <section anchor="field-endpoint">
        <name>endpoint (REQUIRED)</name>
        <t>
          An object identifying the single hosted endpoint an AI client
          connects to, and the protocol spoken there. It has two members:
        </t>
        <dl>
          <dt><tt>type</tt> (REQUIRED)</dt>
          <dd>
            Either <tt>"mcp"</tt> (a Model Context Protocol server) or
            <tt>"api"</tt> (a plain HTTPS REST API described by an OpenAPI
            document). A commerce listing exposes exactly one hosted
            endpoint. The server self-describes its catalog on connection:
            for <tt>mcp</tt>, via the MCP <tt>initialize</tt> and
            <tt>tools/list</tt> exchange; for <tt>api</tt>, via its OpenAPI
            document.
          </dd>
          <dt><tt>url</tt> (REQUIRED)</dt>
          <dd>
            A fully-qualified HTTPS URL for the endpoint. <tt>url</tt>
            <bcp14>MUST</bcp14> begin with <tt>https://</tt>.
          </dd>
        </dl>
        <t>
          A commerce listing addresses a live, hosted endpoint, not a
          package to be installed. Where the SEP-1649 Server Card already
          specifies an MCP endpoint for the same server, the values
          <bcp14>SHOULD</bcp14> be consistent.
        </t>
      </section>

      <section anchor="field-naics">
        <name>naics (REQUIRED)</name>
        <t>
          A non-empty array of strings. Each string is a NAICS 2022
          industry classification code (the North American Industry
          Classification System, jointly maintained by the United States
          Census Bureau, Statistics Canada, and INEGI Mexico; see
          <xref target="NAICS"/>).
        </t>
        <t>
          Real businesses commonly span multiple codes; the array shape is
          intentional. Codes <bcp14>MUST</bcp14> be six-digit strings.
          Numeric encoding is not permitted, because leading zeros are
          significant.
        </t>
        <t>
          NAICS is North American by origin but widely used as a key in
          customer-relationship-management, sales, and business-to-business
          systems globally. International classification systems (ISIC,
          NACE) are out of scope for this version of the profile.
        </t>
      </section>

      <section anchor="field-schemaorgtype">
        <name>schemaOrgType (OPTIONAL)</name>
        <t>
          A string equal to a Schema.org <tt>LocalBusiness</tt> subtype
          identifier (e.g., <tt>"Plumber"</tt>, <tt>"HVACBusiness"</tt>,
          <tt>"Restaurant"</tt>). Provided as a complement to NAICS for AI
          agents that consume Schema.org JSON-LD natively. See
          <xref target="SCHEMA-ORG-LB"/>.
        </t>
      </section>

      <section anchor="field-offeringtype">
        <name>offeringType (REQUIRED)</name>
        <t>
          A controlled-vocabulary string identifying what the business
          fundamentally offers. <bcp14>MUST</bcp14> be one of:
        </t>
        <dl>
          <dt><tt>"product"</tt></dt>
          <dd>The business sells physical or digital goods.</dd>
          <dt><tt>"service"</tt></dt>
          <dd>
            The business performs work for a customer (including
            Software-as-a-Service).
          </dd>
          <dt><tt>"content"</tt></dt>
          <dd>
            The business produces or hosts informational content (news,
            reference, documentation, community).
          </dd>
          <dt><tt>"mixed"</tt></dt>
          <dd>
            The business combines two or more of the above as primary
            offerings.
          </dd>
        </dl>
      </section>

      <section anchor="field-locality">
        <name>locality (REQUIRED)</name>
        <t>
          A controlled-vocabulary string identifying whether the business
          serves a defined geographic region or operates online without
          location dependence. <bcp14>MUST</bcp14> be one of:
        </t>
        <dl>
          <dt><tt>"local"</tt></dt>
          <dd>
            Service or fulfillment is geographically bounded (e.g., a
            plumber, a restaurant). The <tt>geo</tt> field
            <bcp14>MUST</bcp14> be present.
          </dd>
          <dt><tt>"online-only"</tt></dt>
          <dd>
            The business operates without geographic constraint (e.g., a
            global SaaS). The <tt>geo</tt> field <bcp14>MAY</bcp14> be
            omitted.
          </dd>
          <dt><tt>"hybrid"</tt></dt>
          <dd>
            Both modes apply (e.g., a manufacturer that ships globally but
            also operates a flagship retail location). The <tt>geo</tt>
            field <bcp14>MUST</bcp14> be present.
          </dd>
        </dl>
      </section>

      <section anchor="field-geo">
        <name>geo (REQUIRED when locality is "local" or "hybrid")</name>
        <t>
          An object with at minimum the following fields:
        </t>
        <dl>
          <dt><tt>country</tt> (REQUIRED, string)</dt>
          <dd>
            ISO 3166-1 alpha-2 country code (e.g., <tt>"US"</tt>,
            <tt>"DE"</tt>, <tt>"JP"</tt>).
          </dd>
          <dt><tt>city</tt> (REQUIRED, string)</dt>
          <dd>City name in UTF-8.</dd>
          <dt><tt>region</tt> (OPTIONAL, string)</dt>
          <dd>
            State, province, or other first-level subdivision; ISO 3166-2
            <bcp14>RECOMMENDED</bcp14>.
          </dd>
          <dt><tt>postalCode</tt> (OPTIONAL, string)</dt>
          <dd>Postal or ZIP code as published locally.</dd>
        </dl>
      </section>

      <section anchor="field-capabilitytags">
        <name>capabilityTags (REQUIRED, possibly empty)</name>
        <t>
          An array of capability identifiers advertising what the endpoint
          can do. These are not drawn from a fixed
          vocabulary. They are the function names discovered from the
          endpoint at ingestion time: the MCP tool names returned by
          <tt>tools/list</tt> for an <tt>mcp</tt> endpoint, or the operation
          identifiers in the OpenAPI document for an <tt>api</tt> endpoint.
          The full tool or operation definitions live in the Server Card
          itself; <tt>capabilityTags</tt> is the flat, filterable list a
          marketplace indexes.
        </t>
        <t>
          The array <bcp14>MAY</bcp14> be empty (for example, before an
          endpoint has been probed). Entries <bcp14>MUST</bcp14> be unique.
          Account registration and authentication functions carry no
          special meaning here; registration and authentication are handled
          by the endpoint itself and are out of scope for this profile.
        </t>
      </section>

      <section anchor="optional-fields">
        <name>Other Optional Fields</name>

        <dl>
          <dt><tt>contact</tt></dt>
          <dd>
            Object with optional <tt>email</tt> and <tt>phone</tt> string
            members. For human-escalation paths when an AI agent cannot
            resolve a transaction.
          </dd>

          <dt><tt>currency</tt></dt>
          <dd>
            ISO 4217 currency code (e.g., <tt>"USD"</tt>). Indicates the
            primary currency in which prices are quoted. Independent of
            <tt>geo.country</tt> (a US-based site may quote in
            <tt>"USD"</tt> while serving customers worldwide).
          </dd>

          <dt><tt>languages</tt></dt>
          <dd>
            Array of ISO 639-1 (or 639-3 where 639-1 does not exist)
            language codes that the MCP server's user-facing surfaces
            understand. Defaults to whatever the site's primary language
            is.
          </dd>

          <dt><tt>privacyPolicyUrl</tt>, <tt>termsOfServiceUrl</tt></dt>
          <dd>
            HTTPS URLs to the publisher's privacy policy and terms of
            service. AI agents acting on user behalf
            <bcp14>SHOULD</bcp14> surface these to end users before
            transacting.
          </dd>

          <dt><tt>displayName</tt></dt>
          <dd>
            Branding name to be used for display when it differs from
            <tt>businessName</tt>.
          </dd>

          <dt><tt>logoUrl</tt></dt>
          <dd>
            HTTPS URL to a square logo image suitable for AI client
            display. PNG or SVG <bcp14>RECOMMENDED</bcp14>.
          </dd>
        </dl>
      </section>
    </section>

    <section anchor="marketplace-consumption">
      <name>Marketplace Consumption</name>

      <t>
        This profile defines a publication format. It does not define a
        federation protocol between marketplaces and AI clients.
        Integration of marketplaces with end-user AI clients (such as
        chat-based assistants, IDE-integrated coding agents, or operating
        system-level digital assistants) is currently client-specific and
        is outside the scope of this document.
      </t>

      <t>
        Marketplaces <bcp14>MAY</bcp14> populate their indexes by any
        means consistent with the policies of the sites they index. Two
        common patterns are recognized:
      </t>

      <ol>
        <li>
          <strong>Submission.</strong> The Profile Publisher submits the
          URL of their <tt>/.well-known/mcp.json</tt> to the marketplace
          via a marketplace-specific submission form or API.
        </li>
        <li>
          <strong>Crawl.</strong> The marketplace fetches
          <tt>/.well-known/mcp.json</tt> from a known set of origins on a
          schedule.
        </li>
      </ol>

      <t>
        Marketplaces that accept submissions <bcp14>SHOULD</bcp14> verify
        that the submitter controls the origin from which the Server Card
        is served before listing the entry. This document defines two
        compatible challenge methods. The marketplace issues a one-time
        token and the submitter satisfies the challenge by either method
        (the submitter chooses based on their available control surfaces):
      </t>

      <dl>
        <dt>HTTP file challenge</dt>
        <dd>
          The submitter publishes the token at the path
          <tt>/.well-known/mcp/marketplaceValidation.txt</tt> on the
          origin. The marketplace fetches this URL and matches the body
          against the issued token. Mirrors the HTTP-01 challenge type of
          <xref target="RFC8555"/>.
        </dd>
        <dt>DNS TXT challenge</dt>
        <dd>
          The submitter publishes the token as a DNS TXT record at a
          conventional name beneath the origin's apex (e.g.,
          <tt>_mcp-marketplace-validation.example.com</tt>). The
          marketplace resolves the record and matches it against the
          issued token. Mirrors the DNS-01 challenge type of
          <xref target="RFC8555"/>.
        </dd>
      </dl>

      <t>
        Marketplaces <bcp14>SHOULD</bcp14> re-fetch the Server Card on a
        schedule consistent with the <tt>lastUpdated</tt> field, and
        <bcp14>SHOULD</bcp14> reject or de-list entries whose ownership
        challenge can no longer be satisfied.
      </t>
    </section>

    <section anchor="security-considerations">
      <name>Security Considerations</name>

      <t>
        Documents conforming to this profile are public by definition;
        they describe a business's intent to be discovered by AI agents.
        Profile Publishers <bcp14>MUST NOT</bcp14> place secrets,
        end-user data, or session credentials in the <tt>commerce</tt>
        block.
      </t>

      <t>
        AI agents that consume Commerce Profile data <bcp14>MUST</bcp14>
        treat it as self-asserted by the publisher and not, in itself, a
        statement of identity verification. Trust establishment is
        out-of-band and not specified by this document. The
        ownership-of-origin challenges defined in
        <xref target="marketplace-consumption"/> establish that the
        submitter controlled the origin at submission time; they do not
        establish anything about the legal identity, regulatory status,
        or solvency of the business behind the origin.
      </t>

      <t>
        AI agents <bcp14>SHOULD</bcp14> surface
        <tt>privacyPolicyUrl</tt> and <tt>termsOfServiceUrl</tt> (when
        present) to end users before initiating an irreversible
        transaction (for example, a payment) on the user's behalf.
      </t>
    </section>

    <section anchor="iana-considerations">
      <name>IANA Considerations</name>

      <t>
        This document requests no new IANA registrations on its own
        authority. The path <tt>/.well-known/mcp.json</tt> is registered
        under the procedure described by SEP-1649; this profile defines
        a <tt>_meta</tt> member inside the document served at that path.
      </t>

      <t>
        Editor's note for IANA reviewer: should circumstances require a
        sub-suffix registration for the artifact at
        <tt>/.well-known/mcp/marketplaceValidation.txt</tt> defined in
        <xref target="marketplace-consumption"/>, the authors are
        prepared to file a separate registration request consistent with
        <xref target="RFC8615"/>.
      </t>
    </section>

    <section anchor="examples">
      <name>Examples</name>
      <t>
        A reference example Server Card with a populated
        <tt>commerce</tt> block is published in the source repository
        for this draft at
        <eref target="https://github.com/beaconspec/mcp-commerce-profile/blob/main/examples/.well-known/mcp.json">https://github.com/beaconspec/mcp-commerce-profile/blob/main/examples/.well-known/mcp.json</eref>.
        A normative JSON Schema is published at
        <eref target="https://github.com/beaconspec/mcp-commerce-profile/blob/main/schema/commerce-profile-v1.0.0.json">https://github.com/beaconspec/mcp-commerce-profile/blob/main/schema/commerce-profile-v1.0.0.json</eref>.
      </t>
    </section>

  </middle>

  <back>

    <references>
      <name>References</name>

      <references>
        <name>Normative References</name>

        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner"><organization/></author>
            <date year="1997" month="March"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
        </reference>

        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba"><organization/></author>
            <date year="2017" month="May"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
        </reference>

        <reference anchor="RFC3339" target="https://www.rfc-editor.org/info/rfc3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author initials="G." surname="Klyne" fullname="G. Klyne"><organization/></author>
            <author initials="C." surname="Newman" fullname="C. Newman"><organization/></author>
            <date year="2002" month="July"/>
          </front>
          <seriesInfo name="RFC" value="3339"/>
        </reference>

        <reference anchor="RFC6454" target="https://www.rfc-editor.org/info/rfc6454">
          <front>
            <title>The Web Origin Concept</title>
            <author initials="A." surname="Barth" fullname="A. Barth"><organization/></author>
            <date year="2011" month="December"/>
          </front>
          <seriesInfo name="RFC" value="6454"/>
        </reference>


        <reference anchor="RFC8615" target="https://www.rfc-editor.org/info/rfc8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author initials="M." surname="Nottingham" fullname="M. Nottingham"><organization/></author>
            <date year="2019" month="May"/>
          </front>
          <seriesInfo name="RFC" value="8615"/>
        </reference>

        <reference anchor="RFC8555" target="https://www.rfc-editor.org/info/rfc8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author initials="R." surname="Barnes" fullname="R. Barnes"><organization/></author>
            <author initials="J." surname="Hoffman-Andrews" fullname="J. Hoffman-Andrews"><organization/></author>
            <author initials="D." surname="McCarney" fullname="D. McCarney"><organization/></author>
            <author initials="J." surname="Kasten" fullname="J. Kasten"><organization/></author>
            <date year="2019" month="March"/>
          </front>
          <seriesInfo name="RFC" value="8555"/>
        </reference>

        <reference anchor="SEMVER" target="https://semver.org/spec/v2.0.0.html">
          <front>
            <title>Semantic Versioning 2.0.0</title>
            <author initials="T." surname="Preston-Werner" fullname="T. Preston-Werner"><organization/></author>
            <date year="2013"/>
          </front>
        </reference>

        <reference anchor="NAICS" target="https://www.census.gov/naics">
          <front>
            <title>North American Industry Classification System, 2022 Edition</title>
            <author><organization>U.S. Census Bureau / Statistics Canada / INEGI</organization></author>
            <date year="2022"/>
          </front>
        </reference>
      </references>

      <references>
        <name>Informative References</name>

        <reference anchor="MCP-SERVER-CARDS" target="https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1649">
          <front>
            <title>SEP-1649: MCP Server Cards: HTTP Server Discovery via .well-known</title>
            <author><organization>Model Context Protocol Project</organization></author>
            <date year="2025"/>
          </front>
        </reference>

        <reference anchor="MCP-SERVER-CARDS-2127" target="https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2127">
          <front>
            <title>SEP-2127: MCP Server Cards (HTTP Server Discovery via .well-known), successor to SEP-1649</title>
            <author><organization>Model Context Protocol Project</organization></author>
            <date year="2026"/>
          </front>
        </reference>

        <reference anchor="MCP-SPEC" target="https://modelcontextprotocol.io">
          <front>
            <title>Model Context Protocol Specification</title>
            <author><organization>Model Context Protocol Project</organization></author>
            <date year="2025"/>
          </front>
        </reference>

        <reference anchor="MCP-META" target="https://modelcontextprotocol.io/specification/2025-11-25/basic">
          <front>
            <title>Model Context Protocol, Base Protocol: General fields (the _meta property)</title>
            <author><organization>Model Context Protocol Project</organization></author>
            <date year="2025" month="November"/>
          </front>
        </reference>

        <reference anchor="SCHEMA-ORG-LB" target="https://schema.org/LocalBusiness">
          <front>
            <title>Schema.org: LocalBusiness</title>
            <author><organization>Schema.org Community Group (W3C)</organization></author>
            <date/>
          </front>
        </reference>

      </references>
    </references>

    <section anchor="acknowledgements" numbered="false">
      <name>Acknowledgements</name>
      <t>
        The authors thank the authors of SEP-1649 for the core Server Card
        specification on which this profile depends.
      </t>
    </section>

  </back>

</rfc>
