<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-blwm-dawn-common-discovery-parameters-00" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="CADDP">Common Agent DNS Discovery Parameters</title>

    <author initials="F." surname="Brockners" fullname="Frank Brockners">
      <organization>Cisco</organization>
      <address>
        <email>fbrockne@cisco.com</email>
      </address>
    </author>
    <author initials="L." surname="Jakab" fullname="Lori Jakab">
      <organization>Cisco</organization>
      <address>
        <email>lojakab@cisco.com</email>
      </address>
    </author>
    <author initials="N." surname="Williams" fullname="Nic Williams">
      <organization>Infoblox, Inc.</organization>
      <address>
        <email>nic@infoblox.com</email>
      </address>
    </author>
    <author initials="J." surname="Mozley" fullname="Jim Mozley">
      <organization>Infoblox</organization>
      <address>
        <email>jmozley@infoblox.com</email>
      </address>
    </author>

    <date year="2026" month="October" day="27"/>

    <area>int</area>
    <workgroup>dawn</workgroup>
    <keyword>DNS</keyword> <keyword>AI</keyword> <keyword>DAWN</keyword> <keyword>Discovery</keyword>

    <abstract>


<?line 52?>

<t>This document defines parameters for AI agents that would be used in DNS and mDNS discovery processes. It provides a set of common parameters for different DNS records to facilitate agents communicating over application layer protocols such as A2A or MCP.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://example.com/LATEST"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-blwm-dawn-common-discovery-parameters/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        DAWN Working Group mailing list (<eref target="mailto:dawn@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dawn/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dawn/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/USER/REPO"/>.</t>
    </note>


  </front>

  <middle>


<?line 56?>

<section anchor="introduction"><name>Introduction</name>

<t>Several approaches to agent discovery use DNS, and this document is scoped to those approaches. Local discovery uses mDNS/DNS-SD to find agents advertised within a local network or discovery domain, while global discovery uses DNS names resolvable beyond that domain. Applications can combine these scopes, for example, by discovering a local available network service and globally accessible service to complete a task. These scenarios require consistent discovery parameters so that agents can interpret endpoint and descriptor information across both scopes. This document specifies a common set of parameters for DNS-based global discovery and mDNS/DNS-SD local discovery, supporting either scope and their combination while keeping discovery records concise.</t>

<t>A discovering agent needs to answer three questions from the DNS record alone, before subsequent discovery processes:</t>

<t><list style="numbers" type="1">
  <t><strong>How do I connect?</strong> Protocol and transport.</t>
  <t><strong>What am I connecting to?</strong> A stable location I can cache and recognize later.</t>
  <t><strong>Is what I know still current?</strong> Has the descriptor changed?</t>
</list></t>

<t>This document defines a set of parameters that answers these. Everything else (capability taxonomy, business metadata, authorization details, etc.) comes from interaction beyond the initial discovery.</t>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</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 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
<section anchor="key-set"><name>Key Set</name>

<t>Parameter keys are divided into two groups, those that carry baseline information for discovery <xref target="tbl-baseline-keys"/>, and those that are important in some cases as necessary to support discovery <xref target="tbl-optional-keys"/>. The intent is to support discovery via DNS with the minimum information needed and not to overload DNS records with information that is provided by other communication layers and protocols.</t>

<section anchor="key-summary"><name>Key Summary</name>

<t>Baseline discovery information:</t>

<texttable title="Baseline Information" anchor="tbl-baseline-keys">
      <ttcol align='left'>Key</ttcol>
      <ttcol align='left'>TXT</ttcol>
      <ttcol align='left'>SVCB</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">alpn</spanx></c>
      <c><bcp14>MAY</bcp14></c>
      <c><bcp14>MUST</bcp14></c>
      <c>HTTP versions</c>
      <c><spanx style="verb">txtvers</spanx></c>
      <c><bcp14>MUST</bcp14></c>
      <c>N/A</c>
      <c>Text record format version</c>
      <c><spanx style="verb">proto</spanx></c>
      <c><bcp14>SHOULD</bcp14></c>
      <c><bcp14>SHOULD</bcp14></c>
      <c>Agent protocol</c>
</texttable>

<t>Optional discovery information that is use case specific depending on the agent protocol and discovery process:</t>

<texttable title="Optional Information" anchor="tbl-optional-keys">
      <ttcol align='left'>Key</ttcol>
      <ttcol align='left'>TXT</ttcol>
      <ttcol align='left'>SVCB</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">desc-ref</spanx></c>
      <c><bcp14>SHOULD</bcp14></c>
      <c><bcp14>SHOULD</bcp14></c>
      <c>Stable descriptor locator</c>
      <c><spanx style="verb">desc-ref-digest</spanx></c>
      <c><bcp14>SHOULD</bcp14></c>
      <c><bcp14>SHOULD</bcp14></c>
      <c>Descriptor locator digest (see note 1)</c>
      <c><spanx style="verb">proto-ver</spanx></c>
      <c><bcp14>MAY</bcp14></c>
      <c><bcp14>MAY</bcp14></c>
      <c>App protocol version</c>
      <c><spanx style="verb">path</spanx></c>
      <c><bcp14>MAY</bcp14></c>
      <c><bcp14>MAY</bcp14></c>
      <c>Endpoint path</c>
      <c><spanx style="verb">well-known</spanx></c>
      <c><bcp14>MAY</bcp14></c>
      <c><bcp14>MAY</bcp14></c>
      <c>.well-known suffix</c>
      <c><spanx style="verb">title</spanx></c>
      <c><bcp14>MAY</bcp14></c>
      <c><bcp14>MAY</bcp14></c>
      <c>Display name</c>
</texttable>

<t>Notes:</t>

<t><list style="numbers" type="1">
  <t>When the endpoint has a descriptor reference, at the protocol's default location or named by <spanx style="verb">well-known</spanx>.</t>
</list></t>

</section>
<section anchor="key-definitions"><name>Key Definitions</name>

<t>Key definitions presented in the same order as <xref target="tbl-baseline-keys"/> and <xref target="tbl-optional-keys"/>.</t>

<section anchor="alpn"><name>alpn</name>

<t>The application-layer protocols the endpoint supports for connection setup, identified by ALPN protocol identifiers (<xref target="RFC7301"/>), for example <spanx style="verb">h2</spanx> and <spanx style="verb">h3</spanx> for HTTP, with <xref target="RFC9460"/> semantics. It never carries the agent protocol, which is carried by <spanx style="verb">proto</spanx>.</t>

<t>For SVCB records, the <spanx style="verb">alpn</spanx> SvcParamKey is defined in <xref section="7.1" sectionFormat="comma" target="RFC9460"/>.</t>

<t>For TXT records, the value is a comma-separated list of ALPN protocol identifiers in order of preference, for example <spanx style="verb">alpn=h2,h3</spanx>.</t>

</section>
<section anchor="txtvers"><name>txtvers</name>

<t>Version number for the DNS text record format.</t>

<section anchor="svcb-record-wire-format"><name>SVCB Record Wire Format</name>

<t>Not applicable. txtvers has no SvcParamKey registration and <bcp14>MUST NOT</bcp14> appear in an SVCB record.</t>

</section>
<section anchor="svcb-record-presentation-format"><name>SVCB Record Presentation Format</name>

<t>Not applicable, for the same reason as above.</t>

<t>The value is a decimal integer in US-ASCII digits, with no sign and no leading zeros other than the single digit "0" itself, following the version-tag convention of <xref section="6.7" sectionFormat="comma" target="RFC6763"/>:</t>

<figure><artwork><![CDATA[
txtvers-value = "0" / (%x31-39 *DIGIT)
]]></artwork></figure>

<t>txtvers <bcp14>MUST</bcp14> be the first key/value pair in the TXT record (<xref section="6.7" sectionFormat="comma" target="RFC6763"/>), so that a client can determine how to interpret the rest of the record before parsing it. This document starts numbering at txtvers=1; a change to the meaning of an existing key would increment the value, while adding a new key that older clients can safely ignore does not require a new one.</t>

<t>Examples</t>

<t>This key has no SVCB representation; only the TXT record string is shown.</t>

<t>The TXT record string is <spanx style="verb">txtvers=1</spanx>.</t>

</section>
</section>
<section anchor="proto"><name>proto</name>

<t>The single agent protocol offered by this DNS-SD instance or SVCB record, e.g. <spanx style="verb">a2a</spanx> or <spanx style="verb">mcp</spanx>. An endpoint that offers several protocols is advertised once per protocol (i.e. one protocol per record in a DNS RRset), and a DNS-SD subtype (<spanx style="verb">_a2a._sub</spanx>), when used, names the same protocol.</t>

<t>The proto SvcParamKey is single-valued, not a list. Agent protocols run over a transport identified nu the <spanx style="verb">alpn</spanx> so they are not themselves entries in the IANA Service Name and Transport Protocol Port Number Registry <xref target="RFC6335"/> and a proto value is not required to be registered in, or validated against, that registry. Each decoded value <bcp14>MUST</bcp14> match this ABNF <xref target="RFC5234"/>:</t>

<figure><artwork><![CDATA[
proto-value = ALPHA *( ALPHA / DIGIT / "-" )
]]></artwork></figure>

<section anchor="svcb-record-wire-format-1"><name>SVCB Record Wire Format</name>

<t>The wire-format SvcParamValue is the US-ASCII octets of the protocol identifier. Because the value holds a single item, it contains no internal length field, and its extent is given by the SvcParamValue length field of the enclosing SvcParam (<xref section="2.2" sectionFormat="comma" target="RFC9460"/>). A zero-length value is malformed.</t>

</section>
<section anchor="svcb-record-presentation-format-1"><name>SVCB Record Presentation Format</name>

<figure><artwork><![CDATA[
proto=proto-value
]]></artwork></figure>

<t>The value is the protocol identifier in US-ASCII.</t>

</section>
<section anchor="txt-record-format"><name>TXT Record Format</name>

<t>In a TXT record the string is "proto=" followed by the value, with no further escaping.</t>

</section>
<section anchor="examples"><name>Examples</name>

<t>SVCB record example.</t>

<figure><artwork><![CDATA[
agent-name.example.com. 3600 IN SVCB 1 . (
    alpn="h2,h3"
    proto=mcp
)
]]></artwork></figure>

<t>The corresponding TXT record string is <spanx style="verb">proto=mcp</spanx>.</t>

</section>
</section>
<section anchor="desc-ref-definition"><name>desc-ref</name>

<t>A descriptor reference for the agent being discovered. Different standards and specifications my use descriptors of different formats, such as an <xref target="ARDSpecification"/> URN or an <xref target="I-D.draft-narajala-courtney-ansv2"/> ANSName. This is not any form of universal agent identifier, rather it is used to facilitate discovery by specific implementations. It is not authenticated, so it provides information on locating or using the agent without proving who runs it.</t>

<t>For a discovering entity to properly interact with an agent it needs to discover where the agent instance is and a descriptor of the agent to be used in subsequent stages of discovery. In some standards, the descriptor might be hosted at the same location as the agent instance in a fixed location specified as part of that standard, in which case no extra info may be needed. In other standards the descriptor may be hosted somewhere else, or the location of the descriptor might vary, then two references are needed - one to the location of the agent instance (that is the domain name) and one to the location of the descriptor.</t>

<t>The format is not constrained. Examples could include:
- ARD URN: <spanx style="verb">urn:air:agent-name.example.com:travel:bookings</spanx>
- ANS ANSName: "ans://v1.5.0.support.example.com"</t>

<t>This document places no constraint on its contents beyond excluding the NUL octet; a descriptor reference's own format (e.g. a URN, or URI) is defined by the standard that specifies it, not by this document.</t>

<section anchor="svcb-record-wire-format-2"><name>SVCB Record Wire Format</name>

<t>The wire-format SvcParamValue is the UTF-8 octets of the reference to the descriptor. Because the value holds a single item, it contains no internal length field, and its extent is given by the SvcParamValue length field of the enclosing SvcParam (<xref section="2.2" sectionFormat="comma" target="RFC9460"/>). A zero-length value is malformed.</t>

</section>
<section anchor="svcb-record-presentation-format-2"><name>SVCB Record Presentation Format</name>

<figure><artwork><![CDATA[
desc-ref="locator-value"
]]></artwork></figure>

<t>The value is a single character-string, using the escaping rules of <xref section="2.1" sectionFormat="comma" target="RFC9460"/> and <xref section="A.1" sectionFormat="comma" target="RFC9460"/>. It is not a list, so "," is an ordinary character within the locator value.</t>

</section>
<section anchor="txt-record-format-1"><name>TXT Record Format</name>

<t>In a TXT record the string is "desc-ref=" followed by the value, with no further escaping.</t>

</section>
<section anchor="examples-1"><name>Examples</name>

<t>SVCB record example.</t>

<figure><artwork><![CDATA[
agent-name.example.com. 3600 IN SVCB 1 . (
    alpn="h2,h3"
    desc-ref="urn:air:agent-name.example.com:travel:bookings"
)
]]></artwork></figure>

<t>The corresponding TXT record string is <spanx style="verb">desc-ref=urn:air:agent-name.example.com:travel:bookings</spanx>.</t>

</section>
</section>
<section anchor="desc-ref-digest-definition"><name>desc-ref-digest</name>

<t>An algorithm-prefixed digest of the descriptor reference, used as a freshness signal. This consists of a value from the Named Information Hash Algorithm Registry <xref target="HashFunctionRegistry"/>, colon, and hash value (e.g. <spanx style="verb">sha-256:&lt;base64url&gt;</spanx>). A client whose cached descriptor matches <bcp14>MAY</bcp14> assume the descriptor has not changed; a mismatch means the descriptor changed, not that the endpoint is hostile.</t>

<t>A change in the digest is not a security signal. It means the descriptor reference changed and indicates this to a discovering entity, which <bcp14>MAY</bcp14> use this as a signal to take decisions regarding connecting to the end point.</t>

<t>If the digest doesn't match what's cached, the discovering agent <bcp14>SHOULD</bcp14> perform actions such as:</t>

<t><list style="symbols">
  <t>Re-fetch information from the descriptor and/or other parameters such <spanx style="verb">well-known</spanx>, or</t>
  <t>Query an organizational index such as <spanx style="verb">_index._agents.&lt;domain&gt;</spanx> from <xref target="I-D.draft-mozleywilliams-dnsop-dnsaid"/> or <spanx style="verb">_agent._tcp.local.</spanx> from <xref target="I-D.draft-jakab-dawn-agent-discovery-mdns"/> to see if the agent record has changed, or</t>
  <t>Escalate to the application layer if it needs to decide whether the prior <spanx style="verb">desc-ref</spanx> descriptor is still valid, such as the descriptor altering because of a version change</t>
</list></t>

<t>The desc-ref-digest SvcParamKey is single-valued: its SvcParamValue is one digest, not a list. Each decoded value <bcp14>MUST</bcp14> match this ABNF <xref target="RFC5234"/>:</t>

<figure><artwork><![CDATA[
digest-value     = hash-alg ":" base64url-value
hash-alg         = 1*(ALPHA / DIGIT / "-")
base64url-value  = 1*(ALPHA / DIGIT / "-" / "_" / "=")
]]></artwork></figure>

<t>hash-alg is a name from the Named Information Hash Algorithm Registry <xref target="HashFunctionRegistry"/> (e.g. sha-256); base64url-value is the digest encoded per <xref section="5" sectionFormat="comma" target="RFC4648"/>, with padding included if the registry entry's output length requires it. A value whose hash-alg is not a registered name, or whose base64url-value does not decode to the length that algorithm produces, does not have the expected format, so the RR is malformed (<xref section="2.2" sectionFormat="comma" target="RFC9460"/>). In a TXT record, a client ignores a desc-ref-digest that fails this check.</t>

<section anchor="svcb-record-wire-format-3"><name>SVCB Record Wire Format</name>

<t>The wire-format SvcParamValue is the UTF-8 octets of the digest value (hash algorithm name, ":", Base64url digest). Because the value holds a single item, it contains no internal length field, and its extent is given by the SvcParamValue length field of the enclosing SvcParam (<xref section="2.2" sectionFormat="comma" target="RFC9460"/>). A zero-length value is malformed.</t>

</section>
<section anchor="svcb-record-presentation-format-3"><name>SVCB Record Presentation Format</name>

<figure><artwork><![CDATA[
desc-ref-digest="hash-alg:base64url-value"
]]></artwork></figure>

<t>The value is a single character-string, using the escaping rules of <xref section="2.1" sectionFormat="comma" target="RFC9460"/> and <xref section="A.1" sectionFormat="comma" target="RFC9460"/>. The ":" separating hash-alg from base64url-value is an ordinary character and needs no escaping.</t>

</section>
<section anchor="txt-record-format-2"><name>TXT Record Format</name>

<t>In a TXT record the string is "desc-ref-digest=" followed by the value, with no further escaping.</t>

</section>
<section anchor="examples-2"><name>Examples</name>

<t>SVCB record example.</t>

<figure><artwork><![CDATA[
agent-name.example.com. 3600 IN SVCB 1 . (
    alpn="h2,h3"
    desc-ref-digest="sha-256:base64urlvalue=="
)
]]></artwork></figure>

<t>The corresponding TXT record string is <spanx style="verb">desc-ref-digest=sha-256:base64urlvalue==</spanx>.</t>

</section>
</section>
<section anchor="proto-ver"><name>proto-ver</name>

<t>The version of <spanx style="verb">proto</spanx> the endpoint supports, in that protocol's own syntax (A2A <spanx style="verb">1.0</spanx>, MCP <spanx style="verb">2025-11-25</spanx>). It is a selection hint only; the protocol's own negotiation settles compatibility.</t>

<t>The <spanx style="verb">proto-ver</spanx> SvcParamKey is single-valued: its SvcParamValue is one version identifier, not a list. The value is an opaque character-string in the syntax that protocol's own specification defines for its version identifiers; this document does not otherwise constrain its contents beyond excluding the NUL octet.</t>

<section anchor="svcb-record-wire-format-4"><name>SVCB Record Wire Format</name>

<t>The wire-format SvcParamValue is the UTF-8 octets of the version identifier. Because the value holds a single item, it contains no internal length field, and its extent is given by the SvcParamValue length field of the enclosing SvcParam (<xref section="2.2" sectionFormat="comma" target="RFC9460"/>). A zero-length value is malformed.</t>

</section>
<section anchor="svcb-record-presentation-format-4"><name>SVCB Record Presentation Format</name>

<figure><artwork><![CDATA[
proto-ver="version-identifier"
]]></artwork></figure>

<t>The value is a single character-string, using the escaping rules of <xref section="2.1" sectionFormat="comma" target="RFC9460"/> and <xref section="A.1" sectionFormat="comma" target="RFC9460"/>. It is not a list, so "," is an ordinary character within the version identifier.</t>

</section>
<section anchor="txt-record-format-3"><name>TXT Record Format</name>

<t>In a TXT record the string is "proto-ver=" followed by the value, with no further escaping</t>

</section>
<section anchor="examples-3"><name>Examples</name>

<t>SVCB record example.</t>

<figure><artwork><![CDATA[
agent-name.example.com. 3600 IN SVCB 1 . (
    alpn="h2,h3"
    proto=mcp
    proto-ver="2025-11-25"
)
]]></artwork></figure>

<t>The corresponding TXT record string is <spanx style="verb">proto-ver=2025-11-25</spanx>.</t>

</section>
</section>
<section anchor="path"><name>path</name>

<t>The HTTP path of the protocol endpoint (e.g. <spanx style="verb">/mcp</spanx>), as <spanx style="verb">_http._tcp</spanx> carries it (<xref section="13.3" sectionFormat="comma" target="RFC6763"/>). Needed when the endpoint does not supply a description, such as with MCP version 2026-07-28. A client builds the URL from the SRV or SVCB target and port plus this path; host and port never appear in the TXT record (<xref section="6.3" sectionFormat="comma" target="RFC6763"/>).</t>

<t>The <spanx style="verb">path</spanx> SvcParamKey is single-valued: its SvcParamValue is one path, not a list. The value is the path component only. The scheme and authority come from the SVCB or SRV target and port, and a query or fragment is not permitted. Each decoded value <bcp14>MUST</bcp14> match this ABNF <xref target="RFC5234"/>:</t>

<figure><artwork><![CDATA[
path-value = "/" [ segment-nz *( "/" segment ) ]
]]></artwork></figure>

<t>The segment-nz and segment rules are from <xref section="3.3" sectionFormat="comma" target="RFC3986"/>. Non-ASCII characters <bcp14>MUST</bcp14> be percent-encoded. Invalid percent escapes and segments equal to "." or "..", including their percent-encoded forms, <bcp14>MUST</bcp14> be rejected. Other percent-encoded octets and any trailing "/" <bcp14>MUST</bcp14> be preserved without decoding or normalisation. A value that fails these checks does not have the expected format, so the RR is malformed (<xref section="2.2" sectionFormat="comma" target="RFC9460"/>). In a TXT record, a client ignores a <spanx style="verb">path</spanx> that fails these checks.</t>

<section anchor="svcb-record-wire-format-5"><name>SVCB Record Wire Format</name>

<t>The wire-format SvcParamValue is the octets of the path. Because the value holds a single item, it contains no internal length field, and its extent is given by the SvcParamValue length field of the enclosing SvcParam (<xref section="2.2" sectionFormat="comma" target="RFC9460"/>). A zero-length value is malformed.</t>

</section>
<section anchor="svcb-record-presentation-format-5"><name>SVCB Record Presentation Format</name>

<figure><artwork><![CDATA[
path="absolute-path"
]]></artwork></figure>

<t>The value is a single character-string, using the escaping rules of <xref section="2.1" sectionFormat="comma" target="RFC9460"/> and <xref section="A.1" sectionFormat="comma" target="RFC9460"/>. It is not a list, so "," is an ordinary character within the path.</t>

</section>
<section anchor="txt-record-format-4"><name>TXT Record Format</name>

<t>In a TXT record the string is "path=" followed by the same value, with no further escaping. Each string in a TXT record holds at most 255 octets (<xref section="6.1" sectionFormat="comma" target="RFC6763"/>), so the path is limited to 250 octets. All of an instance's key/value strings share one TXT record, which DNS-SD recommends keeping to 200 octets or less, and under 400 octets to fit in a single 512-byte DNS message (<xref section="6.2" sectionFormat="comma" target="RFC6763"/>); in practice a path is therefore much shorter than 250 octets.</t>

</section>
<section anchor="examples-4"><name>Examples</name>

<t>SVCB record example.</t>

<figure><artwork><![CDATA[
mcp.example.com. 3600 IN SVCB 1 . (
    alpn="h2,h3"
    path="/mcp"
)
]]></artwork></figure>

<t>The corresponding TXT record string is <spanx style="verb">path=/mcp</spanx>.</t>

</section>
</section>
<section anchor="well-known"><name>well-known</name>

<t>The descriptor's suffix under <spanx style="verb">/.well-known/</spanx> (e.g. <spanx style="verb">agent-card.json</spanx>), as <xref target="I-D.draft-mk-dnsop-svcb-well-known"/> defines it for SVCB records. Omitted when the descriptor is at the protocol's default location.</t>

</section>
<section anchor="title"><name>title</name>

<t>A human-readable name for the endpoint, for display only, such as the name a client shows in a list of discovered agents. The value typically comes from the descriptor, for example the A2A Agent Card <spanx style="verb">name</spanx> or the MCP <spanx style="verb">title</spanx>. In DNS-SD the service instance name normally serves this purpose, so <spanx style="verb">title</spanx> is useful mainly when the two differ: after an mDNS name conflict renamed the instance, or when the descriptor's name cannot be an instance name (<xref section="4.1.1" sectionFormat="comma" target="RFC6763"/>). In unicast DNS, owner names are host names, so <spanx style="verb">title</spanx> is the only display name available before the descriptor is fetched.</t>

<t>The value is not authenticated. A client displays it as an unverified name and does not use it to identify or correlate agents. (see <xref target="security-considerations"/>).</t>

<t>The <spanx style="verb">title</spanx> SvcParamKey is single-valued. The value is UTF-8 text in Unicode Normalization Form C, with no control characters. Each decoded value <bcp14>MUST</bcp14> match this ABNF <xref target="RFC5234"/>:</t>

<figure><artwork><![CDATA[
title-value = 1*( %x20-7E / UTF8-2 / UTF8-3 / UTF8-4 )
]]></artwork></figure>

<t>The UTF8-2, UTF8-3, and UTF8-4 rules are from <xref section="4" sectionFormat="comma" target="RFC3629"/>; the C1 control characters U+0080 to U+009F are not allowed. A value that fails these checks makes the RR malformed (<xref section="2.2" sectionFormat="comma" target="RFC9460"/>). In a TXT record, a client ignores a <spanx style="verb">title</spanx> that fails these checks.</t>

<section anchor="wire-format"><name>Wire Format</name>

<t>The wire-format SvcParamValue is the UTF-8 octets of the value, and its extent is given by the SvcParamValue length field of the enclosing SvcParam (<xref section="2.2" sectionFormat="comma" target="RFC9460"/>). A zero-length value is malformed.</t>

</section>
<section anchor="presentation-format"><name>Presentation Format</name>

<figure><artwork><![CDATA[
title="display name"
]]></artwork></figure>

<t>The value is a single character-string, using the escaping rules of <xref section="2.1" sectionFormat="comma" target="RFC9460"/> and the character-string grammar of <xref section="A" sectionFormat="comma" target="RFC9460"/>, which allows only visible ASCII unescaped: non-ASCII octets are written as <spanx style="verb">\DDD</spanx> escapes. It is not a list, so "," is an ordinary character within the title.</t>

</section>
<section anchor="txt-format"><name>TXT Format</name>

<t>In a TXT record the string is "title=" followed by the UTF-8 octets of the value, with no further escaping. Each string in a TXT record holds at most 255 octets (<xref section="6.1" sectionFormat="comma" target="RFC6763"/>), so the title is limited to 249 octets. All of an instance's key/value strings share one TXT record, which DNS-SD recommends keeping to 200 octets or less (<xref section="6.2" sectionFormat="comma" target="RFC6763"/>), so a title is best kept short.</t>

</section>
<section anchor="examples-5"><name>Examples</name>

<t><xref target="records-ex-1"/> shows <spanx style="verb">title="Travel Bookings"</spanx> in an SVCB record, and the corresponding TXT record string <spanx style="verb">title=Travel Bookings</spanx>. A title with non-ASCII characters, such as "Café Orders", is <spanx style="verb">title="Caf\195\169 Orders"</spanx> in SVCB presentation format, while the TXT string carries the UTF-8 octets directly.</t>

</section>
</section>
</section>
<section anchor="applicability-to-index-records"><name>Applicability to Index Records</name>

<t>An index of AI resources may be published using a well known DNS label within an organizational domain to indicate the presence of a catalog or agent registry.</t>

<t><spanx style="verb">_index._agents.&lt;domain&gt;</spanx> (unicast) or the browse-domain PTR target (DNS-SD) <bcp14>SHOULD</bcp14> carry:</t>

<t><list style="symbols">
  <t><spanx style="verb">alpn</spanx>, <spanx style="verb">proto</spanx>, <spanx style="verb">well-known</spanx> - how to talk to the index and where to fetch its descriptor if the specification uses well-known</t>
  <t><spanx style="verb">desc-ref</spanx> and <spanx style="verb">desc-ref-digest</spanx> - if needed to locate the index in addition to the domain name</t>
</list></t>

</section>
<section anchor="svcb-and-txt-encoding"><name>SVCB and TXT encoding</name>

<t>Same key names in both. SVCB uses numeric codes (private-use until IANA assigns); TXT uses the string names directly. Sharing names means a client doesn't need two vocabularies.</t>

<t>Until IANA assigns codes, <spanx style="verb">mandatory=proto</spanx> won't work reliably across implementations because the numeric value may differ. TXT at the same owner name is the interoperability fallback.</t>

<t>Examples of records can be seen in <xref target="records-ex-1"/> and <xref target="records-ex-2"/>:</t>

<t>Individual agent - unicast:</t>

<figure title="Individual Agent Examples" anchor="records-ex-1"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="408" viewBox="0 0 408 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<g class="text">
<text x="96" y="36">agent-name.example.com.</text>
<text x="212" y="36">3600</text>
<text x="244" y="36">IN</text>
<text x="276" y="36">SVCB</text>
<text x="304" y="36">1</text>
<text x="320" y="36">.</text>
<text x="336" y="36">(</text>
<text x="76" y="52">alpn=h2,h3</text>
<text x="108" y="68">ipv4hint=192.0.2.1</text>
<text x="68" y="84">port=443</text>
<text x="72" y="100">proto=a2a</text>
<text x="88" y="116">title=&quot;Travel</text>
<text x="184" y="116">Bookings&quot;</text>
<text x="140" y="132">well-known=agent-card.json</text>
<text x="212" y="148">desc-ref=urn:air:example.com:travel:bookings</text>
<text x="196" y="164">desc-ref-digest=sha-256:base64urlvalue==</text>
<text x="8" y="180">)</text>
<text x="96" y="212">agent-name.example.com.</text>
<text x="212" y="212">3600</text>
<text x="244" y="212">IN</text>
<text x="272" y="212">TXT</text>
<text x="296" y="212">(</text>
<text x="80" y="228">&quot;txtvers=1&quot;</text>
<text x="84" y="244">&quot;alpn=h2,h3&quot;</text>
<text x="80" y="260">&quot;proto=a2a&quot;</text>
<text x="88" y="276">&quot;title=Travel</text>
<text x="184" y="276">Bookings&quot;</text>
<text x="148" y="292">&quot;well-known=agent-card.json&quot;</text>
<text x="220" y="308">&quot;desc-ref=urn:air:example.com:travel:bookings&quot;</text>
<text x="204" y="324">&quot;desc-ref-digest=sha-256:base64urlvalue==&quot;</text>
<text x="8" y="340">)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
agent-name.example.com. 3600 IN SVCB 1 . (
    alpn=h2,h3
    ipv4hint=192.0.2.1
    port=443
    proto=a2a
    title="Travel Bookings"
    well-known=agent-card.json
    desc-ref=urn:air:example.com:travel:bookings
    desc-ref-digest=sha-256:base64urlvalue==
)

agent-name.example.com. 3600 IN TXT (
    "txtvers=1"
    "alpn=h2,h3"
    "proto=a2a"
    "title=Travel Bookings"
    "well-known=agent-card.json"
    "desc-ref=urn:air:example.com:travel:bookings"
    "desc-ref-digest=sha-256:base64urlvalue=="
)

]]></artwork></artset></figure>

<t>Individual agent - DNS-SD/mDNS, one instance per protocol (PTR to browse, SRV for host/port, TXT primary):</t>

<figure title="Individual Agent Examples for mDNS using DNS-SD labels" anchor="records-ex-2"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="416" width="736" viewBox="0 0 736 416" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 456,48 L 456,48" fill="none" stroke="black"/>
<g class="text">
<text x="80" y="36">_agents._tcp.local.</text>
<text x="260" y="36">IN</text>
<text x="288" y="36">PTR</text>
<text x="460" y="36">Arena\032Transport._agents._tcp.local.</text>
<text x="80" y="52">_agents._tcp.local.</text>
<text x="260" y="52">IN</text>
<text x="288" y="52">PTR</text>
<text x="380" y="52">Arena\032Transport</text>
<text x="564" y="52">032MCP._agents._tcp.local.</text>
<text x="120" y="68">_a2a._sub._agents._tcp.local.</text>
<text x="260" y="68">IN</text>
<text x="288" y="68">PTR</text>
<text x="460" y="68">Arena\032Transport._agents._tcp.local.</text>
<text x="120" y="84">_mcp._sub._agents._tcp.local.</text>
<text x="260" y="84">IN</text>
<text x="288" y="84">PTR</text>
<text x="488" y="84">Arena\032Transport\032MCP._agents._tcp.local.</text>
<text x="156" y="116">Arena\032Transport._agents._tcp.local.</text>
<text x="324" y="116">IN</text>
<text x="352" y="116">SRV</text>
<text x="376" y="116">0</text>
<text x="392" y="116">0</text>
<text x="416" y="116">443</text>
<text x="556" y="116">eu-west.transport.example.net.</text>
<text x="156" y="132">Arena\032Transport._agents._tcp.local.</text>
<text x="324" y="132">IN</text>
<text x="352" y="132">TXT</text>
<text x="376" y="132">(</text>
<text x="80" y="148">&quot;txtvers=1&quot;</text>
<text x="80" y="164">&quot;proto=a2a&quot;</text>
<text x="96" y="180">&quot;proto-ver=1.0&quot;</text>
<text x="148" y="196">&quot;well-known=agent-card.json&quot;</text>
<text x="260" y="212">&quot;desc-ref=urn:air:transport.example.net:arena:transport&quot;</text>
<text x="204" y="228">&quot;desc-ref-digest=sha-256:base64urlvalue==&quot;</text>
<text x="8" y="244">)</text>
<text x="184" y="276">Arena\032Transport\032MCP._agents._tcp.local.</text>
<text x="380" y="276">IN</text>
<text x="408" y="276">SRV</text>
<text x="432" y="276">0</text>
<text x="448" y="276">0</text>
<text x="472" y="276">443</text>
<text x="612" y="276">eu-west.transport.example.net.</text>
<text x="184" y="292">Arena\032Transport\032MCP._agents._tcp.local.</text>
<text x="380" y="292">IN</text>
<text x="408" y="292">TXT</text>
<text x="432" y="292">(</text>
<text x="80" y="308">&quot;txtvers=1&quot;</text>
<text x="80" y="324">&quot;proto=mcp&quot;</text>
<text x="124" y="340">&quot;proto-ver=2025-11-25&quot;</text>
<text x="80" y="356">&quot;path=/mcp&quot;</text>
<text x="260" y="372">&quot;desc-ref=urn:air:transport.example.net:arena:transport&quot;</text>
<text x="8" y="388">)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
_agents._tcp.local.            IN PTR Arena\032Transport._agents._tcp.local.
_agents._tcp.local.            IN PTR Arena\032Transport\032MCP._agents._tcp.local.
_a2a._sub._agents._tcp.local.  IN PTR Arena\032Transport._agents._tcp.local.
_mcp._sub._agents._tcp.local.  IN PTR Arena\032Transport\032MCP._agents._tcp.local.

Arena\032Transport._agents._tcp.local. IN SRV 0 0 443 eu-west.transport.example.net.
Arena\032Transport._agents._tcp.local. IN TXT (
    "txtvers=1"
    "proto=a2a"
    "proto-ver=1.0"
    "well-known=agent-card.json"
    "desc-ref=urn:air:transport.example.net:arena:transport"
    "desc-ref-digest=sha-256:base64urlvalue=="
)

Arena\032Transport\032MCP._agents._tcp.local. IN SRV 0 0 443 eu-west.transport.example.net.
Arena\032Transport\032MCP._agents._tcp.local. IN TXT (
    "txtvers=1"
    "proto=mcp"
    "proto-ver=2025-11-25"
    "path=/mcp"
    "desc-ref=urn:air:transport.example.net:arena:transport"
)

]]></artwork></artset></figure>

<t>One instance per protocol rather than <spanx style="verb">proto=a2a,mcp</spanx> in one TXT. Browse <spanx style="verb">_agents._tcp</spanx> for every agent, or the <spanx style="verb">_a2a._sub</spanx> / <spanx style="verb">_mcp._sub</spanx> subtype for one protocol. IF both instances carry the same <spanx style="verb">desc-ref</spanx>, a client that sees both can infer they are one agent. The MCP instance has no <spanx style="verb">well-known</spanx> or <spanx style="verb">location-digest</spanx> yet, because MCP has no settled location descriptor (Server Cards, SEP-2127, still open). It carries <spanx style="verb">path=/mcp</spanx> instead: MCP requires a single endpoint path but defines no default, so without <spanx style="verb">path</spanx> a client could not reach the server. The A2A instance needs no <spanx style="verb">path</spanx>, because its endpoint URL comes from the Agent Card.</t>

</section>
</section>
<section anchor="open-questions"><name>Open questions</name>

<t>This section lists questions on which the authors seek input. It will be removed before publication.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The <spanx style="verb">title</spanx> key carries a display name chosen by whoever publishes the record. It is not authenticated, so an advertiser can use a title that imitates another agent or a trusted organization, such as "Official Stadium Taxi". Clients present it as an unverified name, do not use it to identify or authorize an agent, and rely on subsequent processes for those purposes. A client that shows titles to users also needs to consider visually confusable characters.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This section will be revised based on consensus of the parameter keys and value.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

<reference anchor="HashFunctionRegistry" target="https://www.iana.org/assignments/named-information">
  <front>
    <title>IANA registry of Named Information Hash Algorithm Registry</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="I-D.draft-mk-dnsop-svcb-well-known">
   <front>
      <title>An SVCB Service Parameter for Well-Known URI Paths</title>
      <author fullname="Jim Mozley" initials="J." surname="Mozley">
         <organization>Infoblox, Inc.</organization>
      </author>
      <author fullname="Daniel King" initials="D." surname="King">
         <organization>Old Dog Consulting</organization>
      </author>
      <date day="19" month="October" year="2026"/>
      <abstract>
	 <t>   This document defines the &quot;well-known&quot; Service Parameter Key
   (SvcParamKey) for SVCB and HTTPS resource records.  It carries one or
   more well-known URI suffixes, identifying resources under &quot;/.well-
   known/&quot; that are available at the service endpoint.  It specifies the
   presentation and wire formats and requests registration of the key
   with IANA.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-mk-dnsop-svcb-well-known-01"/>
   
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="ARDSpecification" target="https://agenticresourcediscovery.org/spec/">
  <front>
    <title>Agentic Resource Discovery Specification</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


<reference anchor="RFC7301">
  <front>
    <title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
    <author fullname="S. Friedl" initials="S." surname="Friedl"/>
    <author fullname="A. Popov" initials="A." surname="Popov"/>
    <author fullname="A. Langley" initials="A." surname="Langley"/>
    <author fullname="E. Stephan" initials="E." surname="Stephan"/>
    <date month="July" year="2014"/>
    <abstract>
      <t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7301"/>
  <seriesInfo name="DOI" value="10.17487/RFC7301"/>
</reference>
<reference anchor="RFC9460">
  <front>
    <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
    <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
    <author fullname="M. Bishop" initials="M." surname="Bishop"/>
    <author fullname="E. Nygren" initials="E." surname="Nygren"/>
    <date month="November" year="2023"/>
    <abstract>
      <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9460"/>
  <seriesInfo name="DOI" value="10.17487/RFC9460"/>
</reference>
<reference anchor="RFC6763">
  <front>
    <title>DNS-Based Service Discovery</title>
    <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
    <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
    <date month="February" year="2013"/>
    <abstract>
      <t>This document specifies how DNS resource records are named and structured to facilitate service discovery. Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6763"/>
  <seriesInfo name="DOI" value="10.17487/RFC6763"/>
</reference>
<reference anchor="RFC6335">
  <front>
    <title>Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry</title>
    <author fullname="M. Cotton" initials="M." surname="Cotton"/>
    <author fullname="L. Eggert" initials="L." surname="Eggert"/>
    <author fullname="J. Touch" initials="J." surname="Touch"/>
    <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
    <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
    <date month="August" year="2011"/>
    <abstract>
      <t>This document defines the procedures that the Internet Assigned Numbers Authority (IANA) uses when handling assignment and other requests related to the Service Name and Transport Protocol Port Number registry. It also discusses the rationale and principles behind these procedures and how they facilitate the long-term sustainability of the registry.</t>
      <t>This document updates IANA's procedures by obsoleting the previous UDP and TCP port assignment procedures defined in Sections 8 and 9.1 of the IANA Allocation Guidelines, and it updates the IANA service name and port assignment procedures for UDP-Lite, the Datagram Congestion Control Protocol (DCCP), and the Stream Control Transmission Protocol (SCTP). It also updates the DNS SRV specification to clarify what a service name is and how it is registered. This memo documents an Internet Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="165"/>
  <seriesInfo name="RFC" value="6335"/>
  <seriesInfo name="DOI" value="10.17487/RFC6335"/>
</reference>
<reference anchor="RFC5234">
  <front>
    <title>Augmented BNF for Syntax Specifications: ABNF</title>
    <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
    <author fullname="P. Overell" initials="P." surname="Overell"/>
    <date month="January" year="2008"/>
    <abstract>
      <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="68"/>
  <seriesInfo name="RFC" value="5234"/>
  <seriesInfo name="DOI" value="10.17487/RFC5234"/>
</reference>

<reference anchor="I-D.draft-narajala-courtney-ansv2">
   <front>
      <title>Agent Name Service v2 (ANS): A Domain-Anchored Identity Layer for Autonomous AI Agents</title>
      <author fullname="Scott Courtney" initials="S." surname="Courtney">
         <organization>GoDaddy</organization>
      </author>
      <author fullname="Vineeth Sai Narajala" initials="V. S." surname="Narajala">
         <organization>OWASP</organization>
      </author>
      <author fullname="Ken Huang" initials="K." surname="Huang">
         <organization>DistributedApps.ai</organization>
      </author>
      <author fullname="Idan Habler" initials="I." surname="Habler">
         <organization>OWASP</organization>
      </author>
      <author fullname="Akram Sheriff" initials="A." surname="Sheriff">
         <organization>Cisco Systems</organization>
      </author>
      <date day="26" month="October" year="2026"/>
      <abstract>
	 <t>   Autonomous AI agents now invoke one another across organizational
   boundaries over protocols such as the Model Context Protocol (MCP)
   and Agent2Agent (A2A).  A relying party has no interoperable way to
   bind a discoverable agent endpoint to the holder of its domain
   (optionally verified as a legal entity), a specific software release,
   and an auditable issuance history.  This document specifies the
   architecture of Agent Name Service version 2 (ANS v2), an identity
   layer, anchored in DNS domains, that binds an agent endpoint to its
   domain holder, its release, and its history.  ANS v2 composes systems
   the Internet already runs (the DNS with DNSSEC; the Web PKI, with
   DANE where operators publish it; and an append-only transparency log)
   and introduces no new root of trust.

   Every ANS v2 agent carries a versioned name rooted in a DNS domain
   that the registrant controls.  When a registrant registers an agent,
   the Registration Authority (RA) checks the registrant&#x27;s control of
   that domain, can issue an Identity Certificate that binds the
   versioned name to the agent&#x27;s key, and submits a signed registration
   record to a Merkle-tree transparency log.  Under the current
   specifications, a new version is a new registration and a new log
   entry, so a verifier can pin an agent to a specific release.  Any
   third party can detect a rewritten log by computing, from the log&#x27;s
   public tiles, a consistency proof between two of its signed
   checkpoints.

   For discovery, ANS v2 adopts the SVCB records and SvcParams of DNS
   for AI Discovery (DNS-AID) as its default format, and keeps an older
   TXT-based format only as an opt-in profile.  Beyond those discovery
   records, ANS v2 specifies one DNS record, an &quot;_ans-badge&quot; TXT record
   that points to the agent&#x27;s transparency-log entry; the log seals the
   fingerprint of the agent server&#x27;s certificate, and operators can add
   DANE records.  With these records, a verifier resolves an agent,
   authenticates its TLS endpoint, and confirms that the presented name,
   version, and key match a logged registration.

   This document also states a threat model covering agent
   impersonation, DNS spoofing, CA and Registration Authority
   compromise, version rollback, agent card tampering, and log
   rewriting, and names what each ANS check does and does not prevent.
   The reference registry, transparency log, verifier, JSON Schemas,
   SDKs, and CLI are open source.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-narajala-courtney-ansv2-02"/>
   
</reference>

<reference anchor="I-D.draft-mozleywilliams-dnsop-dnsaid">
   <front>
      <title>DNS for AI Discovery</title>
      <author fullname="Jim Mozley" initials="J." surname="Mozley">
         <organization>Infoblox, Inc.</organization>
      </author>
      <author fullname="Nic Williams" initials="N." surname="Williams">
         <organization>Infoblox, Inc.</organization>
      </author>
      <author fullname="Behcet Sarikaya" initials="B." surname="Sarikaya">
         <organization>Unaffiliated</organization>
      </author>
      <author fullname="Roland Schott" initials="R." surname="Schott">
         <organization>Deutsche Telekom</organization>
      </author>
      <author fullname="Jeffrey Damick" initials="J." surname="Damick">
         <organization>Amazon</organization>
      </author>
      <date day="27" month="May" year="2026"/>
      <abstract>
	 <t>   The document standardizes an approach for publishing AI agents in the
   Domain Name System (DNS) so that other agents can discover them.
   Discovery is then initiated based on one of three generic use cases,
   in increasing computational and latency cost: (1) the requestor knows
   both the organization and agent (2) the requestor knows the
   organization that provides a capability, but not the specific agent
   (3) the requestor knows the required capability, but not the
   organization or agent.  Of these use cases only (1) and (2) are in
   scope for this document, although (3) can be derived from this
   specification.

   DNS for AI Discovery (DNS-AID) is designed so that, once a client has
   learned an organization&#x27;s agents, subsequent transactions can utilize
   the first use case with the benefit of cacheable connectivity
   information that is learnable as an agentic skill.  The mechanism
   uses Service Binding (SVCB) records for connectivity information and
   key meta data, a well known entry point using DNS-Based Service
   Discovery (DNS-SD) labels into an organization&#x27;s agent index, and
   optionally DNS Security Extensions (DNSSEC) and DNS-Based
   Authentication of Named Entities (DANE) TLSA records for trust and
   security.  DNS-AID provides consumers of agent services with a direct
   connection method for agentic workloads not mediated by a third
   party.  Organizations can use the same approach across public and
   private networks networks, providing consistency and common
   operational models, including publishing agents that are hosted in
   service provider domains.

   This document introduces no new resource record types, opcodes, or
   response codes.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-mozleywilliams-dnsop-dnsaid-02"/>
   
</reference>

<reference anchor="I-D.draft-jakab-dawn-agent-discovery-mdns">
   <front>
      <title>Zero-Configuration Agent Discovery</title>
      <author fullname="Loránd Jakab" initials="L." surname="Jakab">
         <organization>Cisco Systems</organization>
      </author>
      <author fullname="Frank Brockners" initials="F." surname="Brockners">
         <organization>Cisco Systems</organization>
      </author>
      <date day="6" month="July" year="2026"/>
      <abstract>
	 <t>   Protocols for communication between autonomous software agents
   typically discover agents through documents retrieved over HTTPS from
   a well-known URI.  This model requires a discovering party to already
   know an agent&#x27;s host name or URL, or to consult a centralized
   catalog.  It provides no zero-configuration mechanism for enumerating
   agents that are present on a local network.

   This document describes how existing, widely deployed protocols,
   Multicast DNS (mDNS) and DNS-Based Service Discovery (DNS-SD), can be
   used to advertise and discover agents on a local link, with no new
   protocol machinery.  It presents a general, protocol-independent two-
   stage discovery model in which lightweight enumeration over DNS-SD is
   followed by retrieval of full agent metadata over the agent&#x27;s native
   transport.  It gives a worked instantiation of that model for the
   Agent2Agent (A2A) protocol, as an example.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-jakab-dawn-agent-discovery-mdns-00"/>
   
</reference>
<reference anchor="RFC4648">
  <front>
    <title>The Base16, Base32, and Base64 Data Encodings</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <date month="October" year="2006"/>
    <abstract>
      <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4648"/>
  <seriesInfo name="DOI" value="10.17487/RFC4648"/>
</reference>
<reference anchor="RFC3986">
  <front>
    <title>Uniform Resource Identifier (URI): Generic Syntax</title>
    <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
    <author fullname="R. Fielding" initials="R." surname="Fielding"/>
    <author fullname="L. Masinter" initials="L." surname="Masinter"/>
    <date month="January" year="2005"/>
    <abstract>
      <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="66"/>
  <seriesInfo name="RFC" value="3986"/>
  <seriesInfo name="DOI" value="10.17487/RFC3986"/>
</reference>
<reference anchor="RFC3629">
  <front>
    <title>UTF-8, a transformation format of ISO 10646</title>
    <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
    <date month="November" year="2003"/>
    <abstract>
      <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="63"/>
  <seriesInfo name="RFC" value="3629"/>
  <seriesInfo name="DOI" value="10.17487/RFC3629"/>
</reference>
<reference anchor="RFC6762">
  <front>
    <title>Multicast DNS</title>
    <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
    <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
    <date month="February" year="2013"/>
    <abstract>
      <t>As networked devices become smaller, more portable, and more ubiquitous, the ability to operate with less configured infrastructure is increasingly important. In particular, the ability to look up DNS resource record data types (including, but not limited to, host names) in the absence of a conventional managed DNS server is useful.</t>
      <t>Multicast DNS (mDNS) provides the ability to perform DNS-like operations on the local link in the absence of any conventional Unicast DNS server. In addition, Multicast DNS designates a portion of the DNS namespace to be free for local use, without the need to pay any annual fee, and without the need to set up delegations or otherwise configure a conventional DNS server to answer for those names.</t>
      <t>The primary benefits of Multicast DNS names are that (i) they require little or no administration or configuration to set them up, (ii) they work when no infrastructure is present, and (iii) they work during infrastructure failures.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6762"/>
  <seriesInfo name="DOI" value="10.17487/RFC6762"/>
</reference>



    </references>

</references>


<?line 503?>

<section anchor="stadium-use-case"><name>Stadium Use Case</name>

<t>This appendix illustrates how a user's personal agent can use local-network and global discovery, separately and together, during a stadium visit. The examples show how the discovery parameters described in this document apply to these scenarios.</t>

<section anchor="local-services-in-the-stadium"><name>Local Services in the Stadium</name>

<t>When the user enters the stadium, the user's personal agent can browse the venue's local DNS-SD domain to discover agent services advertised on the stadium network. The available services may vary with the user's location and the services enabled for the event.</t>

<t>These services provide information and capabilities relevant to the stadium visit. For example, a live-statistics service could provide statistics and updates through MCP or A2A. A replay service could provide access to venue media through MCP, with the media delivered using MOQ. If the replay service is accessible only through the stadium's Wi-Fi network, the user's device must connect to that network to use it.</t>

</section>
<section anchor="food-ordering-through-local-and-global-services"><name>Food Ordering Through Local and Global Services</name>

<t>During the game, the user might ask, "Have two burgers and two soft drinks delivered to seat 34B." The personal agent could use a local food-ordering service offered by the stadium or consider a global food-ordering service.</t>

<t>A local service could support ordering from stadium vendors and delivery to the user's seat. Global providers could complement these vendors by arranging a meal for pickup outside the venue or delivery to the user's home after the event. The personal agent must account for venue access and delivery restrictions: discovering a global food-delivery service does not imply that the service can deliver to a stadium seat.</t>

<t>The selected food-ordering agent would maintain order state and coordinate payment and delivery. The personal agent could also combine information from local and global services, such as using venue-specific pickup instructions when arranging an order through a global provider.</t>

</section>
<section anchor="transportation-through-local-and-global-services"><name>Transportation Through Local and Global Services</name>

<t>After the game, the user might ask, "Get me home as quickly as possible." The personal agent could consider both local and global transportation services.</t>

<t>The stadium could offer a local transportation service that provides access to a preferred set of ride-share and taxi companies selected by the venue. Booking through this service could provide negotiated rates or discounts unavailable through direct bookings. The service could obtain offers from participating companies and help arrange pickup at a designated meeting point.</t>

<t>Global transportation services could provide additional options, including ride-share services, taxis, buses, and metro connections. The personal agent could combine these options with local information from the stadium, such as guidance to the most appropriate exit or pickup location. Local services would therefore complement global services even when the transportation itself is arranged through a global provider.</t>

<t>The stadium's transportation service could expose both A2A and MCP endpoints. Following the one-instance-per-protocol approach in <xref target="records-ex-2"/>, it would advertise a separate DNS-SD instance for each protocol. Both instances would carry the same <spanx style="verb">desc-ref</spanx> value, allowing the personal agent to correlate them as protocol endpoints of the same logical service. The A2A endpoint could support goal-oriented interaction, while the MCP endpoint could provide access to tools or resources. The personal agent could select the protocol appropriate to the task and its own capabilities.</t>

</section>
<section anchor="complementary-discovery-scopes"><name>Complementary Discovery Scopes</name>

<t>These scenarios illustrate two complementary discovery scopes. Local DNS-SD discovery identifies services advertised within the venue's local discovery domain, while global DNS discovery identifies services through globally resolvable names. The personal agent can use services discovered through either scope or combine them to fulfill the user's request.</t>

<t>Each endpoint's application protocol is conveyed using <spanx style="verb">proto</spanx>. When the same logical service supports both A2A and MCP, it is advertised through separate protocol instances that can be correlated using <spanx style="verb">desc-ref</spanx>.</t>

</section>
</section>
<section anchor="alternatives"><name>Design Alternatives Considered</name>

<t>This appendix records alternatives that were considered while designing the parameters in this document but were not adopted, with the reasons for each. All of them are plausible, and several appear in earlier versions of related drafts. The entries show which trade-offs have already been weighed, and what new information would justify revisiting a decision. They run from the most general question, what DNS should carry at all, to the most specific, key syntax.</t>

<section anchor="alt-http-only"><name>Relying on HTTP Alone</name>

<t>A2A and MCP both run over HTTP, so DNS could limit itself to locating an HTTP server, as HTTPS records <xref target="RFC9460"/> already do, and leave the agent layer to bootstrap itself from <spanx style="verb">.well-known</spanx> resources. Each layer would then carry only what is needed to bootstrap the next one. That is sufficient when a client already knows which endpoint it wants.</t>

<t>It is not sufficient for discovery. Browsing <spanx style="verb">_agents._tcp</spanx> on a busy local network can return many instances, and without a hint in the advertisement a client has to complete a TLS handshake and an application-layer exchange with every candidate just to discard most of them. The parameters in <xref target="key-set"/> are therefore limited to what a client needs to choose an endpoint before connecting: the agent protocol and HTTP versions, where to find the endpoint or its descriptor, which logical agent the endpoint belongs to, and whether a cached descriptor is still current. Everything else is left to the descriptor and the agent protocol.</t>

<t>The saving is largest for local discovery. In global discovery a client often starts from a single known name, and the parameters mainly provide the freshness check of <spanx style="verb">desc-ref-digest</spanx> and a vocabulary shared with local discovery.</t>

<t>Relying on HTTP alone would also tie agent discovery to HTTP. A2A and MCP run over HTTP today, but future agent protocols might not, and this document is not meant to exclude them. Because <spanx style="verb">proto</spanx> identifies the agent protocol independently of HTTP, a client can select such a protocol in the same way, and keys that apply only to HTTP, such as <spanx style="verb">path</spanx> and <spanx style="verb">well-known</spanx>, are omitted for it.</t>

</section>
<section anchor="alt-new-rrtype"><name>A Dedicated Resource Record Type</name>

<t>A new RR type for agent discovery could carry structured data without the constraints of TXT key/value strings. Before any deployment could use it, however, authoritative servers, provisioning systems, DNS hosting interfaces, and mDNS implementations would all need to support it. The record types that DNS-SD already uses (PTR, SRV, and TXT <xref target="RFC6763"/>) and SVCB <xref target="RFC9460"/> are deployed today and can hold the small set of parameters in <xref target="key-set"/>. This document therefore defines conventions for existing record types and introduces no new ones.</t>

</section>
<section anchor="alt-caps"><name>Capabilities in DNS Records</name>

<t>Advertising what an agent can do, for example <spanx style="verb">caps=bookings,refunds</spanx>, would let a client filter candidates by function. There is no shared vocabulary for such values, and examples tend to mix protocol features, such as MCP tools, resources, and prompts, with business categories, which serve different purposes. Capabilities also change more often than DNS records should: the tools an MCP server offers are listed at run time through the protocol itself and can change during a session. Long capability lists also strain the size limits of TXT records (<xref section="6.2" sectionFormat="comma" target="RFC6763"/>). Capabilities are therefore left to the descriptor and to the agent protocol. If coarse categories are needed in the future, DNS-SD subtypes (<xref section="7.1" sectionFormat="comma" target="RFC6763"/>) can filter at query time, which a TXT key cannot: a client has to receive and parse every TXT record before it can apply a key-based filter.</t>

</section>
<section anchor="alt-alpn"><name>Agent Protocol in ALPN</name>

<t>The agent protocol could be carried in the <spanx style="verb">alpn</spanx> SvcParam, as in <spanx style="verb">alpn=h2,mcp</spanx>. ALPN identifiers <xref target="RFC7301"/> name the protocol that runs directly over TLS, and the <spanx style="verb">alpn</spanx> SvcParam lists alternatives a client can choose from, not the layers of a protocol stack (<xref section="7.1" sectionFormat="comma" target="RFC9460"/>). A value of <spanx style="verb">alpn=h2,mcp</spanx> therefore advertises either HTTP/2 or a protocol named <spanx style="verb">mcp</spanx> running directly over TLS, whereas A2A and MCP both run over HTTP. In this document, <spanx style="verb">alpn</spanx> carries only the HTTP versions an endpoint supports, and the agent protocol is carried in <spanx style="verb">proto</spanx> (<xref target="key-definitions"/>).</t>

</section>
<section anchor="alt-service-types"><name>Per-Protocol Service Types</name>

<t>A DNS-SD service type identifies "what the service does and what application protocol it uses to do it" (<xref section="7" sectionFormat="comma" target="RFC6763"/>), which suggests one service type per agent protocol, such as <spanx style="verb">_a2a._tcp</spanx> and <spanx style="verb">_mcp._tcp</spanx>. This raises several problems:</t>

<t><list style="symbols">
  <t>Every service type needs its own entry in the Service Name registry <xref target="RFC6335"/>. The name <spanx style="verb">mcp</spanx> is already registered for an unrelated protocol, so MCP would need a different name, such as <spanx style="verb">mcp-ai</spanx>, which would then differ from the protocol's own name.</t>
  <t>No single service type would cover all agents. An agent using a new protocol could not be discovered until its service type was registered and clients were updated to browse for it.</t>
  <t>mDNS gateways and proxies that forward selected service types would need to be reconfigured for every new protocol, whereas a single service type needs to be permitted only once.</t>
  <t>Instance names are unique only within a service type, so two unrelated agents could advertise the same name under <spanx style="verb">_a2a._tcp</spanx> and <spanx style="verb">_mcp-ai._tcp</spanx>, and a client merging the two lists would take them for one agent. DNS-SD resolves this with a "flagship" service type that reserves the name across all related types (<xref section="8" sectionFormat="comma" target="RFC6763"/>), which amounts to a generic service type after all.</t>
</list></t>

<t>This document uses one generic service type, <spanx style="verb">_agents._tcp</spanx>, which needs a single registration, and DNS-SD subtypes such as <spanx style="verb">_a2a._sub._agents._tcp</spanx> for protocol-specific browsing (<xref section="7.1" sectionFormat="comma" target="RFC6763"/>). The subtype namespace is separate for each service type, so <spanx style="verb">_mcp</spanx> is available as a subtype of <spanx style="verb">_agents._tcp</spanx> even though <spanx style="verb">mcp</spanx> is a registered Service Name. Encoding the protocol as an extra label in front of the instance name, as in <spanx style="verb">_mcp.agent-name._agents._tcp</spanx>, does not work either: the instance portion of a Service Instance Name is a single DNS label (<xref section="4.1.1" sectionFormat="comma" target="RFC6763"/>), and subtypes provide the selection such a label was meant to provide.</t>

</section>
<section anchor="alt-multi-txt"><name>Multiple TXT Records per Instance</name>

<t>A service instance that offers two protocols could carry a separate TXT record for each, one containing <spanx style="verb">proto=a2a</spanx> and its keys, and the other <spanx style="verb">proto=mcp</spanx> and its keys. DNS-SD allows multiple TXT records only when each describes "a different variant of the same logical service, offered using the same underlying protocol on the same port", and advises future protocol designs not to follow the example of the only service type that uses them (<xref section="6.8" sectionFormat="comma" target="RFC6763"/>). Multiple records also cannot reduce traffic, since a responder that sends any member of the TXT RRset "<bcp14>MUST</bcp14> send the entire RRSet" (<xref section="10.2" sectionFormat="comma" target="RFC6762"/>).</t>

<t>Implementations also disagree. Apple's mDNSResponder publishes multiple TXT records and returns all of them; Avahi refuses to publish a second record and keeps only the first when resolving; python-zeroconf keeps only the last. The same advertisement can therefore present a different protocol to each client, and none of these implementations reports the discrepancy. This document uses exactly one TXT record per service instance.</t>

</section>
<section anchor="alt-multi-proto"><name>Several Protocols in One Instance</name>

<t>A single instance could list all the protocols it offers, as in <spanx style="verb">proto=a2a,mcp</spanx>, with protocol-specific keys distinguished by a prefix, such as <spanx style="verb">a2a-card</spanx> and <spanx style="verb">mcp-path</spanx>. This is compact, but the protocols then share one host and port, every protocol-specific key needs a prefix, and a client interested in one protocol still receives and parses the keys of the others. A change to one protocol, such as a new version or its withdrawal, also changes the record that clients of the other protocols have cached. This document advertises one instance per protocol instead (<xref target="records-ex-2"/>), and instances of the same logical agent carry the same <spanx style="verb">desc-ref</spanx>, so a client that sees several of them can tell they belong together. The unit of multiplicity is the instance, not the record or the key.</t>

</section>
<section anchor="alt-parallel-lists"><name>Parallel Value Lists</name>

<t>Keys with parallel lists, such as <spanx style="verb">proto=mcp,a2a ver=1,2</spanx>, associate values by position. The association is fragile, because a missing or extra item silently shifts every value after it, and it cannot express two versions of the same protocol. Repeating a key does not provide a hierarchy either, since a DNS-SD client ignores all but the first occurrence of a key in a TXT record (<xref section="6.4" sectionFormat="comma" target="RFC6763"/>). With one protocol per instance (<xref target="alt-multi-proto"/>), each key has a single meaning and no values need to be associated across keys.</t>

</section>
<section anchor="alt-generic-ver"><name>A Single Version Key</name>

<t>A single <spanx style="verb">ver</spanx> key would conflate three different versions: of the TXT record format, which <spanx style="verb">txtvers</spanx> carries (<xref section="6.7" sectionFormat="comma" target="RFC6763"/>); of the agent protocol, which <spanx style="verb">proto-ver</spanx> carries; and of the agent's implementation. The implementation version is left to the descriptor, so that a software upgrade does not require a change to DNS.</t>

</section>
<section anchor="alt-no-ver"><name>No Protocol Version in DNS</name>

<t>Leaving protocol versions out of DNS would keep records smaller, but a client that supports only some versions of a protocol would have to contact every candidate to find out which ones it can use. The <spanx style="verb">proto-ver</spanx> key is therefore an optional selection hint (<xref target="tbl-optional-keys"/>), and the agent protocol's own negotiation still determines compatibility.</t>

</section>
<section anchor="alt-urls"><name>Full URLs in TXT Records</name>

<t>A TXT key could carry the complete URL of an endpoint or descriptor, as in <spanx style="verb">cardUrl=https://agent.example.com/.well-known/agent-card.json</spanx>. This duplicates the host and port that the SRV record already carries, which DNS-SD prohibits (<xref section="6.3" sectionFormat="comma" target="RFC6763"/>), and URLs are among the longest values a TXT record would hold. This document carries only the path (<spanx style="verb">path</spanx>) or the <spanx style="verb">.well-known</spanx> suffix (<spanx style="verb">well-known</spanx>), and a client builds the URL from the target and port of the SRV or SVCB record, the way the <spanx style="verb">_http._tcp</spanx> service carries <spanx style="verb">path</spanx> (<xref section="13.3" sectionFormat="comma" target="RFC6763"/>). Carrying only a path also leaves a single source for the host a client connects to: any policy the client applies to the SRV or SVCB target, such as permitted hosts or address ranges, also covers the URL it builds, and a value that is not a path, such as a complete URL, is ignored (<xref target="key-definitions"/>).</t>

</section>
<section anchor="alt-key-syntax"><name>Different Key Names per Encoding</name>

<t>TXT keys could follow their own conventions, such as camelCase names like <spanx style="verb">cardUrl</spanx> and <spanx style="verb">a2aProtoVer</spanx>, with different names for the same parameters in SVCB. SvcParamKey names are limited to lowercase letters, digits, and hyphens, with at most 63 characters (<xref section="2.1" sectionFormat="comma" target="RFC9460"/>), while TXT keys are case-insensitive and are recommended to be no more than nine characters long (<xref section="6.4" sectionFormat="comma" target="RFC6763"/>). Names that satisfy both rules can be used unchanged in both encodings, so a client needs only one vocabulary, and a parameter means the same thing in local and global discovery. The one key longer than nine characters, <spanx style="verb">well-known</spanx>, keeps the name used for the corresponding SVCB parameter.</t>

</section>
<section anchor="usage-of-desc-ref"><name>Use of desc-ref</name>

<t><spanx style="verb">desc-ref</spanx> was chosen after discussion on several possible names including <spanx style="verb">cap</spanx> (for capability) and <spanx style="verb">locator</spanx> (to locate agent description or capability). Naming it as a description reference was chosen as it is generic and allows the parameter to support different protocols and specifications without the name referring to a single property of a description.</t>

</section>
<section anchor="both-desc-ref-and-well-known"><name>Use of desc-ref and well-known</name>

<t>Agent protocols may use <spanx style="verb">.well-known</spanx> URI suffixes and hence in some cases this does not need to be specified. However, more than one well-known suffix might be used and offered as alternatives during discovery (with a preference order) to discovering entities, or this may be used in conjunction with an agent descriptor that is not a well-known suffix and contained in the <xref target="desc-ref-definition"/> parameter. Having both desc-ref and well-known allows for these use cases and flexibility in supporting multiple agent protocols.</t>

</section>
</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors would like to thank Ben Schwartz and Scott Courtney for their feedback and discussion.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIALVp4GoAA+196XIbR5rgfzxFDRwTFr0o8NBhmWq2m7pszsiUmqTaOzE9
YSaABFBWoQqurCII0+pn2b/7Grsvtt+ZmVUAKUvu3u6JaHe0JABVeXz53Vem
adqrszq3h0n/WblYlEVyPLNFnTw/PU+eZ25cXtlqnbwxlVnY2lau3zOjUWWv
8Pnj58/f9HtjU9tZWa0PE1dPer1JOS7g2cNkUplpnY7y1SKdmFWRjmn4dKKD
pks/aLq313PNaJE5l5XFxXoJr5+8uHjZK5rFyFaHvXFZOFu4xh0mU5M724P5
7/dMZc1hkhV1b1VW72ZV2SxhWpir986u4avJYS9JUtwK/X18wh+Pvz/lf+hK
ele2aCw+LGPIIzUt5HsYOytmyTf4G3y7MFnO0/whs/V0WFYz+NZU4/lhMq/r
pTvc3cVn8Jvsyg71oV38YndUlStnd/H1XZwwq+fN6DB5e/7ibPfsxZvX8F0O
AHV1GMxem8Uyt0MA4O6r44sX5xe9nmnqeVnx/hjc/ZeVKd4lT6ty/K6gg0rg
P5gXTwp3yl9YXn5/OuIH/zDG33DsfjzYq7LKkn8z78zoA+Pk5Y/41PZhTrNx
8n2W55lZuDDMSTEtR3l5PYB/jYfxaEU2/kMmv+JY8Yr+LVsk35U/53Ydr0jH
ai/qxwU92Bqr3+sVZbUwNZwJwu1b4+Yvm2JcA8ad2VnmakBhGqU21cxG8F+t
VsPMFIYPEVB0ViyARNwurmyS4iQ0blnw60xOJ8enx0klAyflNDnFp2nz8jQt
ITnOgXgACxaJrqLX80PyUo/Pnp8v7TibZmN6cfsyDdJtNq6sK5tqbD2d0bId
vL8bL++Yn4ZJ+fGI2Ftz9XrD4bDXS9M0MSNYnRnXvd7FPHMJEHqDcEgmdpoV
1iWBnhNYPpBbQktyST03dbIqm3ySjGzSOABDVhCHMcUkWeA//GqTJeCldc66
YXJS46erbAKDm8TZGsHIbKQ72SSbTm2ljKuyY6B+mLgEdjHO8qwGktLV4ABN
QdsDqsZJE7Nc5rJfoL41fAPz1uW4zF3imvE8MS45PjgGnEu+e/ZGwLHIJpPc
9nqfwZnWVTlpxgyvcwtDmhwHrUoznltaB00ebROggEsdEAjqFjzh3/DUEqAE
7wGZw5NhrGHyqhzD6K2RHAFxF/6fnj+nXWcwquzXTOCxOkOorwDPAPImyWmM
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
7P0//K8mvZOgAAA=

-->

</rfc>

