<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hood-agtp-composition-02" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="AGTP-COMPOSITION">AGTP Composition Profiles</title>
    <seriesInfo name="Internet-Draft" value="draft-hood-agtp-composition-02"/>
    <author fullname="Chris Hood">
      <organization>Nomotic, Inc.</organization>
      <address>
        <email>chris@nomotic.ai</email>
        <uri>https://nomotic.ai</uri>
      </address>
    </author>
    <date year="2026" month="October" day="30"/>
    <area>Applications and Real-Time</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>AI agents</keyword>
    <keyword>agent protocol composition</keyword>
    <keyword>MCP</keyword>
    <keyword>A2A</keyword>
    <keyword>ACP</keyword>
    <keyword>OAuth</keyword>
    <keyword>OIDC</keyword>
    <keyword>HTTP gateway</keyword>
    <keyword>AGTP substrate</keyword>
    <abstract>
      <?line 155?>

<t>The Agent Transfer Protocol (AGTP) operates as a substrate beneath
several adjacent layers: Agent Group Messaging Protocols (AGMPs) such
as the Model Context Protocol (MCP), the Agent-to-Agent Protocol (A2A),
and the Agent Communication Protocol (ACP); external identity providers
(OAuth, OIDC, enterprise IdPs); and HTTP-based clients that interact
with agents through translation gateways. This document specifies the
composition profiles for each of these adjacent layers, defining
normative mapping rules between the adjacent layer and AGTP.</t>
      <t>Three composition families are specified. The AGMP composition profile
specifies how MCP, A2A, and ACP messages are carried over AGTP, with
mapping rules for identity, authority scope, delegation, and session
fields between the AGMP and AGTP layers. The External Identity Provider
composition profile specifies how AGTP agent identity composes with
externally-issued credentials, treating "which agent" and "on whose
behalf" as orthogonal axes. The HTTP Gateway composition profile
specifies the translation surface for accepting HTTP traffic into AGTP-
served agents as a REST adoption ramp.</t>
      <t>Across all three families, AGTP headers take precedence over equivalent
adjacent-layer fields for all infrastructure-level routing, enforcement,
and audit operations. Agents gain transport-level governance,
observability, and identity without modification to the adjacent layers.</t>
    </abstract>
  </front>
  <middle>
    <?line 181?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="the-composition-problem">
        <name>The Composition Problem</name>
        <t>AGTP <xref target="AGTP"/> is a transfer protocol for AI agent traffic: the
dedicated substrate on which that traffic runs, above TCP, QUIC, or
HTTP/3 and below the agent frameworks. It is designed to compose
with adjacent layers, each of which keeps its own role. Three categories of adjacent layer benefit from explicit
composition profiles with AGTP:</t>
        <t><strong>Agent Group Messaging Protocols (AGMPs).</strong> Protocols such as MCP
<xref target="MCP"/>, A2A <xref target="A2A"/>, ACP <xref target="ACP"/>, and ANP <xref target="ANP"/> define agent-to-
agent communication semantics: what agents say to each other, how
tools are invoked, how tasks are delegated, how capabilities are
advertised. These protocols are well-designed for what they address
but share a common substrate limitation: they typically run over HTTP
and inherit HTTP's constraints for agent traffic.</t>
        <t><strong>External identity providers.</strong> OAuth <xref target="RFC6749"/>, OIDC, SPIFFE,
enterprise IdPs, and similar services issue credentials that answer
"on whose behalf is the agent acting." AGTP identity answers "which
agent is making this call." The axes are orthogonal and require
explicit composition rules so that they compose without conflict.</t>
        <t><strong>HTTP gateways.</strong> Many existing clients communicate over HTTP/REST
and have no AGTP stack. Operators that want to expose AGTP-served agents
to HTTP clients deploy translation gateways. The gateway is a
deployment-time adoption ramp and no protocol of its own; the
translation contract benefits from being specified explicitly so it
is interoperable across implementations.</t>
        <t>This document specifies the composition profile for each of these
three categories. The profiles share a common architectural principle:
AGTP headers take precedence over equivalent fields in the adjacent
layer for all infrastructure-level routing, enforcement, and audit
operations. Adjacent layers retain their own semantics and development
paths.</t>
      </section>
      <section anchor="the-limitation-this-document-addresses">
        <name>The Limitation This Document Addresses</name>
        <t>At the infrastructure layer, an A2A Task message carried over HTTP is
indistinguishable from a human-initiated POST request. An MCP tool
call carries no protocol-level signal of which agent sent it, under
what authority, or within what resource budget. An OAuth bearer token
in an HTTP request says "this principal is authenticated" but says
nothing about which agent acted on that principal's behalf or with
what authority scope. An HTTP gateway translating REST traffic into
agent operations has no canonical mapping from HTTP verbs to agent
semantics.</t>
        <t>Governance, observability, and identity enforcement in such systems
require application-layer instrumentation that is expensive,
inconsistent, and invisible to routing infrastructure.</t>
        <t>AGTP addresses this at the protocol layer. When messages from
adjacent layers are carried over AGTP, every request carries the
sending agent's verified identity and proof of key possession, its
authority scope, its delegation lineage, and its resource budget in
protocol headers, and resolves through the Agent-ID to an Identity
Document that names the accountable owner.
Infrastructure components -- load balancers, gateways, SEPs -- can
route, filter, and enforce governance without parsing message
payloads.</t>
      </section>
      <section anchor="relationship-to-agtp-core">
        <name>Relationship to AGTP Core</name>
        <t>This document is a companion to <xref target="AGTP"/> and is normative for
implementations that compose adjacent layers with AGTP. The core AGTP
specification defines the protocol; this document defines how
specific adjacent-layer concepts map to AGTP constructs.
Implementations that use AGTP as the substrate for AGMP traffic,
implementations that compose external identity providers with AGTP,
and implementations that deploy HTTP gateways in front of AGTP
agents <strong>MUST</strong> follow the mapping rules in this document.</t>
      </section>
      <section anchor="scope">
        <name>Scope</name>
        <t>This document covers three composition profile families:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>AGMP composition profiles</strong> for MCP <xref target="MCP"/>, A2A <xref target="A2A"/>, and
ACP <xref target="ACP"/> (<xref target="agmp-section"/>).</t>
          </li>
          <li>
            <t><strong>External identity provider composition</strong> for OAuth, OIDC, and
similar credential-issuing services (<xref target="idp-section"/>).</t>
          </li>
          <li>
            <t><strong>HTTP gateway composition</strong> for translation of HTTP traffic into
AGTP method invocations (<xref target="gateway-section"/>).</t>
          </li>
        </ol>
        <t>The document modifies no AGMP specification, no identity
provider specification, and never HTTP. AGMPs retain their own schemas,
semantics, and development paths. External identity providers retain
their own credential formats and validation rules. HTTP retains its
semantics. This document specifies only how adjacent-layer concepts
relate to AGTP headers, methods, and operational contracts.</t>
        <t>Additional composition surfaces specific to other AGTP companion
specifications are addressed in those specifications:</t>
        <ul spacing="normal">
          <li>
            <t>Payment provider composition is specified in <xref target="AGTP-COMMERCE"/>.</t>
          </li>
          <li>
            <t>Credit bureau and trust provider composition is specified in
<xref target="AGTP-TRUST"/>.</t>
          </li>
          <li>
            <t>Certificate authority composition is specified in <xref target="AGTP-CERT"/>.</t>
          </li>
          <li>
            <t>Institutional identity composition (LEI/vLEI) is specified in
<xref target="AGTP-LEI"/>.</t>
          </li>
        </ul>
        <t>This document covers only the three composition profile families
named above. Composition surfaces in other documents compose with
this document without being duplicated here. The strategic
positioning, the substrate model, and the precedence rule are
summarized in <xref target="AGTP"/>; this document is where the profiles and the
wire examples live, including the AGMP wire-example appendix that
earlier base revisions carried.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<strong>MUST</strong>", "<strong>MUST NOT</strong>", "<strong>REQUIRED</strong>", "<strong>SHALL</strong>",
"<strong>SHALL NOT</strong>", "<strong>SHOULD</strong>", "<strong>SHOULD NOT</strong>", "<strong>RECOMMENDED</strong>",
"<strong>NOT RECOMMENDED</strong>", "<strong>MAY</strong>", and "<strong>OPTIONAL</strong>" 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.</t>
      <dl>
        <dt>AGMP (Agent Group Messaging Protocol):</dt>
        <dd>
          <t>The collective term for higher-layer AI agent messaging standards that
operate over AGTP as their substrate, including MCP, A2A, ACP,
and ANP. AGMPs define what agents say. AGTP defines how those messages
move.</t>
        </dd>
        <dt>Adjacent Layer:</dt>
        <dd>
          <t>A protocol, service, or interface that composes with AGTP from above
(AGMPs), beside (external identity providers), or in front (HTTP
gateways). Adjacent layers retain their own semantics; AGTP provides
the substrate primitives they consume.</t>
        </dd>
        <dt>Substrate:</dt>
        <dd>
          <t>The protocol layer beneath an adjacent layer, which carries its
messages and supplies the properties it lacks. In this document,
AGTP is the substrate. The substrate is invisible to the adjacent
layer; adjacent layers require no modification to compose with
AGTP.</t>
        </dd>
        <dt>Composition Profile:</dt>
        <dd>
          <t>The normative set of mapping rules specifying how a specific adjacent
layer's identity, delegation, session, capability, or translation
concepts correspond to AGTP header fields, method semantics, and
operational contracts.</t>
        </dd>
        <dt>External Identity Provider (IdP):</dt>
        <dd>
          <t>A service that issues credentials proving the identity of a human
principal, service account, or workload identity. Examples include
OAuth authorization servers, OIDC identity providers, SPIFFE
identity controllers, and enterprise IdPs. External IdPs answer "on
whose behalf is the agent acting"; AGTP identity answers "which
agent is making this call."</t>
        </dd>
        <dt>HTTP Gateway:</dt>
        <dd>
          <t>A translation surface that accepts inbound HTTP requests, translates
them into AGTP method invocations, and dispatches them through the
same response-finalization path as native AGTP traffic. The gateway
is a deployment-time adoption ramp outside the AGTP wire protocol.</t>
        </dd>
      </dl>
    </section>
    <section anchor="the-narrow-waist-architecture">
      <name>The Narrow-Waist Architecture</name>
      <t>AGTP functions as the narrow-waist layer of the AI agent protocol stack,
analogous to IP in the internet architecture. IP has no understanding
of TCP or UDP; it carries their packets. AGTP has no understanding of
MCP, A2A, OAuth bearer tokens, or HTTP semantics; it carries the
messages, composes with the credentials, and absorbs the
translations. The narrow-waist property
means any adjacent layer can compose with AGTP, and any AGTP-aware
infrastructure can observe and govern traffic across all adjacent layers,
without coupling between the layers.</t>
      <figure anchor="narrow-waist">
        <name>AGTP as Narrow-Waist Composition Layer</name>
        <artwork><![CDATA[
+-----------------------------------------------------------+
|        Agent Application Logic                            |
+-----------------------------------------------------------+
|  AGMP Layer: MCP / A2A / ACP / ANP       [messaging]      |
|  External IdP Layer: OAuth / OIDC        [authorization]  |
|  HTTP Gateway Layer: REST translation    [adoption ramp]  |
+-----------------------------------------------------------+
|  AGTP - Agent Transfer Protocol          [this composes]  |
+-----------------------------------------------------------+
|  TLS 1.3+                                [mandatory]      |
+-----------------------------------------------------------+
|  TCP / QUIC / HTTP3+WebTransport         [bindings]       |
+-----------------------------------------------------------+
]]></artwork>
      </figure>
      <t>The composition rules in this document specify how adjacent-layer concepts
map to the AGTP layer below them. The adjacent layers are unaware of AGTP
internals; the AGTP layer carries adjacent-layer payloads, validates
adjacent-layer credentials, and translates adjacent-layer requests without
interpreting their content beyond the mapping rules specified here.</t>
    </section>
    <section anchor="precedence">
      <name>Precedence Rule</name>
      <t>This rule applies universally across all composition profiles defined in
this document.</t>
      <t>AGTP headers (Agent-ID, Request-Signature, Authority-Scope,
Delegation-Chain, Session-ID, Task-ID, Budget-Limit, and AGTP-Zone-ID)
and the Identity Document the Agent-ID resolves to (which carries
the owner) take precedence
over equivalent fields in any adjacent-layer payload, credential, or
translated HTTP request for all infrastructure-level operations,
including routing, enforcement, rate limiting, audit, and attribution.</t>
      <t>Specifically:</t>
      <ul spacing="normal">
        <li>
          <t>Infrastructure components including SEPs, governance gateways, load
balancers, and monitoring systems <strong>MUST</strong> use AGTP header values
for all protocol-level decisions. They <strong>MUST NOT</strong> parse AGMP
payload fields, external IdP claims, or HTTP headers to make
routing or enforcement decisions, even when those fields appear
to carry equivalent information.</t>
        </li>
        <li>
          <t>Adjacent-layer fields <strong>MAY</strong> carry equivalent identity or
delegation information for application-layer use by the receiving
agent. These fields carry no authority for infrastructure
decisions.</t>
        </li>
        <li>
          <t>In the event of a conflict between an AGTP header value and an
adjacent-layer field carrying equivalent information, the AGTP
header value <strong>MUST</strong> be treated as authoritative.</t>
        </li>
        <li>
          <t>An AGTP request carrying an adjacent-layer payload <strong>MUST</strong> be
rejected by infrastructure if the AGTP headers are absent or
invalid, regardless of whether the adjacent-layer payload itself
is well-formed.</t>
        </li>
      </ul>
      <t>This rule enables infrastructure to govern agent traffic uniformly
regardless of which adjacent layer is composed, without requiring
adjacent-layer-specific parsing.</t>
    </section>
    <section anchor="agmp-section">
      <name>AGMP Composition Profiles</name>
      <t>The AGMP composition profiles specify how messages from Agent Group
Messaging Protocols are carried over AGTP. Each profile maps the
AGMP's identity, delegation, session, capability, and message
concepts to AGTP headers and method semantics.</t>
    </section>
    <section anchor="a2a-composition-profile">
      <name>A2A Composition Profile</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>The Agent-to-Agent Protocol (A2A) <xref target="A2A"/> defines semantics for
agent-to-agent task delegation, capability advertisement, artifact
exchange, and provenance tracking. A2A runs over HTTP in its base
specification. When running over AGTP, A2A messages are carried in
AGTP request and response bodies, with A2A task, capability, and
identity concepts mapped to AGTP headers.</t>
      </section>
      <section anchor="a2a-concept-mapping">
        <name>A2A Concept Mapping</name>
        <table>
          <name>A2A-to-AGTP Field Mapping</name>
          <thead>
            <tr>
              <th align="left">A2A Concept</th>
              <th align="left">A2A Field</th>
              <th align="left">AGTP Mapping</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Sending agent identity</td>
              <td align="left">
                <tt>agent.id</tt></td>
              <td align="left">
                <tt>Agent-ID</tt> header, proven by <tt>Request-Signature</tt></td>
            </tr>
            <tr>
              <td align="left">Accountable principal</td>
              <td align="left">
                <tt>agent.owner</tt></td>
              <td align="left">
                <tt>owner_id</tt> of the Agent Identity Document the Agent-ID resolves to (<xref target="AGTP-IDDOC"/>); there is no request header for it</td>
            </tr>
            <tr>
              <td align="left">Agent capabilities</td>
              <td align="left">Agent Card</td>
              <td align="left">AGTP DESCRIBE response</td>
            </tr>
            <tr>
              <td align="left">Agent identity document</td>
              <td align="left">Agent Card</td>
              <td align="left">AGTP Agent Identity Document (<xref target="AGTP-IDDOC"/>); the Card is a self-asserted description, the Identity Document an issuer-signed credential</td>
            </tr>
            <tr>
              <td align="left">Task delegation</td>
              <td align="left">Task object</td>
              <td align="left">AGTP DELEGATE method body</td>
            </tr>
            <tr>
              <td align="left">Task identifier</td>
              <td align="left">
                <tt>task.id</tt></td>
              <td align="left">
                <tt>Task-ID</tt> header</td>
            </tr>
            <tr>
              <td align="left">Delegation provenance (pre-authorization)</td>
              <td align="left">Task lineage</td>
              <td align="left">Delegation Sequence in the <tt>Delegation-Chain</tt> header (<xref target="AGTP"/>)</td>
            </tr>
            <tr>
              <td align="left">Delegation provenance (attribution)</td>
              <td align="left">Task lineage</td>
              <td align="left">
                <tt>prior_actions</tt> chain of the Attribution-Record (<xref target="AGTP-IDENTIFIERS"/>)</td>
            </tr>
            <tr>
              <td align="left">Session context</td>
              <td align="left">Conversation ID</td>
              <td align="left">
                <tt>Session-ID</tt> header</td>
            </tr>
            <tr>
              <td align="left">Artifact delivery</td>
              <td align="left">Artifact object</td>
              <td align="left">AGTP NOTIFY body</td>
            </tr>
            <tr>
              <td align="left">Capability scope</td>
              <td align="left">Agent Card capabilities</td>
              <td align="left">
                <tt>Authority-Scope</tt> header</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="mapping-rules">
        <name>Mapping Rules</name>
        <section anchor="agent-identity">
          <name>Agent Identity</name>
          <t>The AGTP <tt>Agent-ID</tt> header carries the sending agent's Canonical
Agent-ID, proven per request by <tt>Request-Signature</tt> (<xref target="AGTP"/>); the
A2A <tt>agent.id</tt> <strong>MAY</strong> appear in the payload for application-layer
use and <strong>MUST NOT</strong> be used to populate <tt>Agent-ID</tt>. An A2A agent
with no Canonical Agent-ID has no AGTP identity and cannot send over
AGTP until one is issued through Agent Genesis.</t>
          <t>The A2A agent's declared owner or registrant is recorded as the
<tt>owner_id</tt> of its Agent Identity Document at registration
(<xref target="AGTP-IDDOC"/>), where a relying party reads it by resolving the
Agent-ID. Owner identity rides in no request header. Where the A2A
<tt>agent.owner</tt> and the Identity Document's <tt>owner_id</tt> differ, the
Identity Document governs and the receiving agent <strong>SHOULD</strong> log the
difference.</t>
        </section>
        <section anchor="task-delegation">
          <name>Task Delegation</name>
          <t>An A2A Task sent from one agent to another <strong>MUST</strong> be carried as
an AGTP DELEGATE method invocation. The AGTP DELEGATE parameters
<strong>MUST</strong> include:</t>
          <ul spacing="normal">
            <li>
              <t><tt>target_agent_id</tt>: the canonical AGTP Agent-ID of the receiving agent</t>
            </li>
            <li>
              <t><tt>authority_scope</tt>: the subset of the sending agent's Authority-Scope
applicable to this task; <strong>MUST NOT</strong> exceed the sending agent's
declared scope</t>
            </li>
            <li>
              <t><tt>delegation_token</tt>: the delegating agent's token for this hop,
signed with its <tt>agent_public_key</tt> over the delegate, the scope,
and the digest of its own parent hop, per the Delegation Token
Format of <xref target="AGTP"/></t>
            </li>
            <li>
              <t><tt>task</tt>: the A2A Task object as the AGTP body payload</t>
            </li>
          </ul>
          <t>The A2A <tt>task.id</tt> <strong>MUST</strong> be used as the AGTP <tt>Task-ID</tt> header
value, or if no A2A task ID is present, a new Task-ID <strong>MUST</strong> be
generated by the AGTP layer.</t>
        </section>
        <section anchor="delegation-provenance">
          <name>Delegation Provenance</name>
          <t>A2A's task provenance chain maps to two AGTP artifacts, as
<xref target="AGTP"/> states for this profile. On the pre-authorization side, a
request the delegate makes under the delegated authority carries
the Delegation Sequence in the <tt>Delegation-Chain</tt> header: one hop
per DELEGATE, each hop the parent's Agent-ID and its delegation
token, origination to current, verified per <xref target="AGTP"/> (strict-subset
attenuation, parent re-verification, depth and cycle limits). The
DELEGATE invocation itself carries <tt>Delegation-Chain</tt> only when the
delegating agent is itself acting under delegation. On the
attribution side, the completed action's Attribution-Record records
the same sequence through <tt>prior_actions</tt> per <xref target="AGTP-IDENTIFIERS"/>.
A2A lineage fields in the payload are informational; where they
diverge from the Delegation Sequence, the sequence governs
(<xref target="precedence"/>).</t>
        </section>
        <section anchor="capability-advertisement">
          <name>Capability Advertisement</name>
          <t>When an agent exposes an A2A Agent Card, the same capability
information <strong>SHOULD</strong> be exposed via the AGTP DESCRIBE method.
An AGTP DESCRIBE request to the agent <strong>MUST</strong> return a Capability
Document (<xref target="AGTP"/>) that reflects the agent's A2A capabilities
translated into AGTP capability domain format. The Agent Card and
the Agent Identity Document are different kinds of document. The
agent writes the Card about itself; the issuer signs the Identity
Document about the agent. Only the latter is a credential
(<xref target="AGTP-IDDOC"/>).</t>
        </section>
        <section anchor="artifact-delivery">
          <name>Artifact Delivery</name>
          <t>A2A Artifact objects <strong>MUST</strong> be carried as AGTP NOTIFY method
invocations when delivered asynchronously. The NOTIFY body
<strong>MUST</strong> include the A2A Artifact object and a <tt>content_type</tt>
field with value <tt>a2a-artifact</tt>.</t>
        </section>
      </section>
      <section anchor="wire-example-a2a-task-over-agtp">
        <name>Wire Example: A2A Task over AGTP</name>
        <t>The orchestrator acts under its own authority, so its DELEGATE
carries no <tt>Delegation-Chain</tt>; the analyst's subsequent requests
under the delegated scope carry one hop, <tt>&lt;orchestrator
Agent-ID&gt;;&lt;token&gt;</tt>.</t>
        <artwork><![CDATA[
AGTP/1.0 DELEGATE /tasks
Agent-ID: agt-orchestrator
Authority-Scope: agents:delegate documents:query
Request-Signature: <JWS per AGTP>
Session-ID: sess-a1b2c3d4
Task-ID: task-0099
Budget-Limit: tokens=50000, ttl=300
Content-Schema: https://a2aprotocol.ai/schema/task/v1
Content-Type: application/agtp+json

{
  "method": "DELEGATE",
  "task_id": "task-0099",
  "parameters": {
    "target_agent_id": "agt-analyst",
    "authority_scope": "documents:query",
    "delegation_token": "<compact JWS, kid = agt-orchestrator>",
    "task": {
      "a2a_task_id": "a2a-task-7f3a",
      "message": {
        "role": "user",
        "parts": [{"type": "text",
          "text": "Summarize Q1 financial reports"}]
      },
      "artifacts": []
    }
  }
}

AGTP/1.0 200 OK
Server-ID: srv-acme-01
Agent-ID: agt-orchestrator
Task-ID: task-0099
Owner-ID: acme.tld
Attribution-Record: <JWS per AGTP-IDENTIFIERS>
Cost-Estimate: tokens=12450
Content-Type: application/agtp+json

{
  "status": 200,
  "task_id": "task-0099",
  "result": {
    "a2a_task_id": "a2a-task-7f3a",
    "status": "completed",
    "artifacts": [
      {
        "name": "Q1 Summary",
        "mimeType": "text/plain",
        "parts": [{"type": "text", "text": "..."}]
      }
    ]
  }
}
]]></artwork>
      </section>
    </section>
    <section anchor="mcp-composition-profile">
      <name>MCP Composition Profile</name>
      <section anchor="overview-1">
        <name>Overview</name>
        <t>The Model Context Protocol (MCP) <xref target="MCP"/> defines structured communication
between AI models and tools, resources, and context providers. MCP
distinguishes between clients (AI models) and servers (tool/resource
providers). When running over AGTP, MCP messages are carried in AGTP
request and response bodies, with MCP session, context, and tool-call
semantics mapped to AGTP constructs.</t>
      </section>
      <section anchor="mcp-concept-mapping">
        <name>MCP Concept Mapping</name>
        <table>
          <name>MCP-to-AGTP Field Mapping</name>
          <thead>
            <tr>
              <th align="left">MCP Concept</th>
              <th align="left">MCP Field</th>
              <th align="left">AGTP Mapping</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Client identity</td>
              <td align="left">
                <tt>client_id</tt></td>
              <td align="left">
                <tt>Agent-ID</tt> header, proven by <tt>Request-Signature</tt></td>
            </tr>
            <tr>
              <td align="left">Server identity</td>
              <td align="left">
                <tt>server_id</tt></td>
              <td align="left">The responding agent's Identity Document, reached through the <tt>Server-ID</tt> response header and the signer of the Attribution-Record (<xref target="AGTP-IDENTIFIERS"/>)</td>
            </tr>
            <tr>
              <td align="left">Session context</td>
              <td align="left">
                <tt>context</tt></td>
              <td align="left">
                <tt>Session-ID</tt> header (<xref target="AGTP-SESSION"/>) + LEARN method</td>
            </tr>
            <tr>
              <td align="left">Conversation state</td>
              <td align="left">Message history</td>
              <td align="left">AGTP persistent session state</td>
            </tr>
            <tr>
              <td align="left">Tool call</td>
              <td align="left">
                <tt>tools/call</tt></td>
              <td align="left">AGTP EXECUTE with <tt>payload_type: application/vnd.mcp+json</tt>, <tt>action: tools/call</tt></td>
            </tr>
            <tr>
              <td align="left">Resource request</td>
              <td align="left">
                <tt>resources/read</tt></td>
              <td align="left">AGTP QUERY with <tt>scope: documents:*</tt></td>
            </tr>
            <tr>
              <td align="left">Sampling request</td>
              <td align="left">
                <tt>sampling/createMessage</tt></td>
              <td align="left">AGTP EXECUTE with <tt>action: sampling/createMessage</tt></td>
            </tr>
            <tr>
              <td align="left">Prompt</td>
              <td align="left">
                <tt>prompts/get</tt></td>
              <td align="left">AGTP QUERY with <tt>scope: knowledge:query</tt></td>
            </tr>
            <tr>
              <td align="left">Capability list</td>
              <td align="left">
                <tt>capabilities</tt></td>
              <td align="left">AGTP DESCRIBE response</td>
            </tr>
            <tr>
              <td align="left">Tool result</td>
              <td align="left">Tool response</td>
              <td align="left">AGTP EXECUTE response body</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="mapping-rules-1">
        <name>Mapping Rules</name>
        <section anchor="client-and-server-identity">
          <name>Client and Server Identity</name>
          <t>The MCP client <strong>MUST</strong> be identified in the AGTP <tt>Agent-ID</tt> header
using its canonical AGTP Agent-ID. The MCP <tt>client_id</tt> field <strong>MAY</strong>
appear in the payload for application-layer use.</t>
          <t>The MCP server is itself an agent with a Canonical Agent-ID; its
responses carry <tt>Server-ID</tt> (the host) and an Attribution-Record
signed under its key, from which the responding agent's identity is
established per <xref target="AGTP-IDENTIFIERS"/>. Earlier revisions named a
<tt>Server-Agent-ID</tt> response header, which <xref target="AGTP"/> retired. The MCP
server's capability list <strong>SHOULD</strong> be accessible via AGTP DESCRIBE.</t>
        </section>
        <section anchor="session-and-context-management">
          <name>Session and Context Management</name>
          <t>MCP's context window (the accumulated message history and state for a
conversation) <strong>MUST</strong> be associated with an AGTP <tt>Session-ID</tt>. The
AGTP session persists across multiple MCP message exchanges within a
single conversation.</t>
          <t>Context that should persist beyond the current AGTP session <strong>SHOULD</strong>
be written using the AGTP LEARN method with scope <tt>principal</tt> or
<tt>global</tt> as appropriate.</t>
        </section>
        <section anchor="tool-calls">
          <name>Tool Calls</name>
          <t>An MCP <tt>tools/call</tt> operation <strong>MUST</strong> be carried as an AGTP EXECUTE
method invocation, the generic carrier <xref target="AGTP"/> names for framework
payloads, with <tt>payload_type</tt> set to <tt>application/vnd.mcp+json</tt>,
<tt>action</tt> set to <tt>tools/call</tt>, and the MCP request as <tt>payload</tt>. The
<tt>Authority-Scope</tt> header is enforced against the tool being called.
Version 01 of this document carried tool calls on QUERY; QUERY is a
safe method, eligible for early data under <xref target="AGTP"/>'s bindings, and
a tool call may have side effects, so EXECUTE is the correct
carrier. Clients <strong>SHOULD</strong> supply <tt>idempotency_key</tt> for tools whose
effects are unsafe to repeat.</t>
        </section>
        <section anchor="resource-access">
          <name>Resource Access</name>
          <t>An MCP <tt>resources/read</tt> operation <strong>MUST</strong> be carried as an AGTP QUERY
method invocation. The AGTP <tt>Authority-Scope</tt> header <strong>MUST</strong> include
the appropriate resource scope (e.g., <tt>documents:query</tt> for document
resources).</t>
        </section>
        <section anchor="sampling">
          <name>Sampling</name>
          <t>An MCP <tt>sampling/createMessage</tt> operation <strong>MUST</strong> be carried as an
AGTP EXECUTE method invocation with <tt>action: sampling/createMessage</tt>
and a <tt>Budget-Limit</tt> in tokens. Sampling consumes budget and
produces a fresh result on every invocation, so it belongs on the
mechanics carrier and off QUERY; the <tt>action</tt> value signals to
AGTP infrastructure that the request involves model inference,
enabling differentiated routing and budget enforcement.</t>
        </section>
      </section>
      <section anchor="wire-example-mcp-tool-call-over-agtp">
        <name>Wire Example: MCP Tool Call over AGTP</name>
        <artwork><![CDATA[
AGTP/1.0 EXECUTE /tools
Agent-ID: agt-assistant
Authority-Scope: tools:web_search
Request-Signature: <JWS per AGTP>
Session-ID: sess-mcp-b2c3d4
Task-ID: task-0100
Budget-Limit: calls=1, ttl=60
Content-Schema: https://modelcontextprotocol.io/schema/tool-call/v1
Content-Type: application/agtp+json

{
  "method": "EXECUTE",
  "task_id": "task-0100",
  "parameters": {
    "action": "tools/call",
    "payload_type": "application/vnd.mcp+json",
    "idempotency_key": "01J9Z...",
    "payload": {
      "name": "web_search",
      "arguments": {
        "query": "IETF agent protocol drafts 2026"
      }
    }
  }
}

AGTP/1.0 200 OK
Server-ID: srv-acme-tools
Agent-ID: agt-assistant
Task-ID: task-0100
Attribution-Record: <JWS per AGTP-IDENTIFIERS>
Cost-Estimate: calls=1
Content-Type: application/agtp+json

{
  "status": 200,
  "task_id": "task-0100",
  "result": {
    "payload_type": "application/vnd.mcp+json",
    "content": [
      {
        "type": "text",
        "text": "draft-hood-independent-agtp-02 ..."
      }
    ]
  }
}
]]></artwork>
      </section>
      <section anchor="wire-example-mcp-resource-fetch-over-agtp">
        <name>Wire Example: MCP Resource Fetch over AGTP</name>
        <t>A resource read is read-only and maps onto QUERY, since no
application-side action is performed. This is the example the base
specification's appendix carried through v09.</t>
        <artwork><![CDATA[
AGTP/1.0 QUERY /resources
Agent-ID: agt-assistant
Authority-Scope: documents:query, knowledge:query
Request-Signature: <JWS per AGTP>
Session-ID: sess-mcp-b2c3d4
Task-ID: task-0102
Content-Type: application/agtp+json

{
  "method": "QUERY",
  "task_id": "task-0102",
  "parameters": {
    "intent": "fetch document corpus for Q1 financial analysis",
    "scope": ["documents:financial"],
    "modality": "mcp.resource",
    "mcp_resource_uri": "mcp://corpus/financial/q1-2026"
  }
}
]]></artwork>
      </section>
      <section anchor="wire-example-mcp-sampling-over-agtp">
        <name>Wire Example: MCP Sampling over AGTP</name>
        <artwork><![CDATA[
AGTP/1.0 EXECUTE /inference
Agent-ID: agt-assistant
Authority-Scope: inference:sample
Request-Signature: <JWS per AGTP>
Session-ID: sess-mcp-b2c3d4
Task-ID: task-0101
Budget-Limit: tokens=10000, ttl=120
Content-Type: application/agtp+json

{
  "method": "EXECUTE",
  "task_id": "task-0101",
  "parameters": {
    "action": "sampling/createMessage",
    "payload_type": "application/vnd.mcp+json",
    "payload": {
      "messages": [
        {
          "role": "user",
          "content": {
            "type": "text",
            "text": "Summarize these IETF drafts for me."
          }
        }
      ],
      "modelPreferences": {
        "hints": [{"name": "claude"}]
      },
      "maxTokens": 1000
    }
  }
}
]]></artwork>
      </section>
    </section>
    <section anchor="acp-composition-profile">
      <name>ACP Composition Profile</name>
      <section anchor="overview-2">
        <name>Overview</name>
        <t>The Agent Communication Protocol (ACP) <xref target="ACP"/> defines messaging
semantics for agent-to-agent communication, including message routing,
broadcast, and capability discovery. When running over AGTP, ACP
messages are carried in AGTP request and response bodies.</t>
      </section>
      <section anchor="acp-concept-mapping">
        <name>ACP Concept Mapping</name>
        <table>
          <name>ACP-to-AGTP Field Mapping</name>
          <thead>
            <tr>
              <th align="left">ACP Concept</th>
              <th align="left">ACP Field</th>
              <th align="left">AGTP Mapping</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Sender identity</td>
              <td align="left">Sender agent ID</td>
              <td align="left">
                <tt>Agent-ID</tt> header</td>
            </tr>
            <tr>
              <td align="left">Recipient</td>
              <td align="left">Recipient agent ID</td>
              <td align="left">AGTP NOTIFY <tt>recipient</tt> parameter</td>
            </tr>
            <tr>
              <td align="left">Broadcast</td>
              <td align="left">Multi-recipient message</td>
              <td align="left">AGTP NOTIFY with broadcast group</td>
            </tr>
            <tr>
              <td align="left">Capability discovery</td>
              <td align="left">Capability query</td>
              <td align="left">AGTP DESCRIBE method</td>
            </tr>
            <tr>
              <td align="left">Message</td>
              <td align="left">Message object</td>
              <td align="left">AGTP NOTIFY or COLLABORATE body</td>
            </tr>
            <tr>
              <td align="left">Multi-agent task</td>
              <td align="left">Coordinated task</td>
              <td align="left">AGTP COLLABORATE method</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="mapping-rules-2">
        <name>Mapping Rules</name>
        <section anchor="unicast-messages">
          <name>Unicast Messages</name>
          <t>ACP unicast messages sent from one agent to a specific recipient
<strong>MUST</strong> be carried as AGTP NOTIFY method invocations. The NOTIFY
<tt>recipient</tt> parameter <strong>MUST</strong> carry the canonical AGTP Agent-ID of
the intended recipient.</t>
        </section>
        <section anchor="broadcast-messages">
          <name>Broadcast Messages</name>
          <t>ACP broadcast messages <strong>MUST</strong> be carried as AGTP NOTIFY method
invocations with a broadcast group identifier in the <tt>recipient</tt>
parameter. The broadcast group <strong>MUST</strong> be registered in the
governance platform before use.</t>
        </section>
        <section anchor="multi-agent-coordination">
          <name>Multi-Agent Coordination</name>
          <t>ACP multi-agent coordination workflows <strong>SHOULD</strong> be carried as AGTP
COLLABORATE method invocations where two or more agents work in
parallel or defined roles toward a shared objective. AGTP COLLABORATE
is peer-to-peer, consistent with ACP's coordination model.</t>
        </section>
        <section anchor="capability-discovery">
          <name>Capability Discovery</name>
          <t>ACP capability queries <strong>MUST</strong> be carried as AGTP DESCRIBE method
invocations. The AGTP DESCRIBE response <strong>MUST</strong> include all
capability domains relevant to the querying agent's task.</t>
        </section>
      </section>
      <section anchor="wire-example-acp-unicast-message-over-agtp">
        <name>Wire Example: ACP Unicast Message over AGTP</name>
        <artwork><![CDATA[
AGTP/1.0 NOTIFY /messages
Agent-ID: agt-coordinator
Authority-Scope: agents:notify
Request-Signature: <JWS per AGTP>
Session-ID: sess-acp-c3d4e5
Task-ID: task-0201
Content-Type: application/agtp+json

{
  "method": "NOTIFY",
  "task_id": "task-0201",
  "parameters": {
    "recipient": "agt-worker-01",
    "content": {
      "acp_message_type": "task_assignment",
      "payload": {
        "task": "Process batch-2026-Q1",
        "deadline": "2026-04-01T00:00:00Z"
      }
    },
    "urgency": "normal",
    "delivery_guarantee": "at_least_once"
  }
}
]]></artwork>
      </section>
    </section>
    <section anchor="idp-section">
      <name>External Identity Provider Composition</name>
      <t>The External Identity Provider composition profile specifies how AGTP
agent identity composes with externally-issued credentials such as
OAuth bearer tokens, OIDC <tt>id_token</tt>s, SPIFFE SVIDs, and enterprise
IdP session tokens.</t>
      <section anchor="the-two-axis-model">
        <name>The Two-Axis Model</name>
        <t>AGTP identity and external IdP credentials answer different questions
and <strong>MUST</strong> be treated as orthogonal axes:</t>
        <ul spacing="normal">
          <li>
            <t><strong>AGTP identity answers "which agent is making this call."</strong>
Hash-anchored on the Agent Genesis (<xref target="AGTP"/>), presented via the
Agent-ID header, proven per request by <tt>Request-Signature</tt>,
optionally bound to a client certificate per <xref target="AGTP-CERT"/>, scoped
by Authority-Scope. The trust root is the
Genesis-issuer registrar per <xref target="AGTP-TRUST"/>.</t>
          </li>
          <li>
            <t><strong>External IdP credentials answer "on whose behalf is the agent
acting."</strong> A human principal, a service account, or a workload
identity in an enterprise identity stack. The trust root is the
IdP.</t>
          </li>
        </ul>
        <t>The axes compose. AGTP places no constraints on how external
credentials are validated; servers <strong>MAY</strong> require external
credentials on specific methods, <strong>MAY</strong> lift a named claim from the
validated credential into the Attribution-Record, and <strong>MUST</strong> treat
the failure modes of the two axes as independent.</t>
      </section>
      <section anchor="three-composition-patterns">
        <name>Three Composition Patterns</name>
        <t><strong>Pattern 1: AGTP identity only.</strong> Agent-ID plus optional Agent
Certificate plus Authority-Scope. No external IdP. Trust anchored in
the Genesis-issuer registrar. Appropriate for closed agent ecosystems
where the registrar is the trust root and no human-on-whose-behalf
claim is required.</t>
        <t><strong>Pattern 2: AGTP identity plus external IdP credential.</strong> The
request carries Agent-ID (wire-layer identity) and an <tt>Authorization</tt>
header carrying an IdP-issued credential (application-layer
principal). Both ride on the same request. AGTP Authority-Scope and
external authorization scope (e.g., OAuth scopes per <xref target="RFC6749"/>) are
independent: Authority-Scope is the agent's <em>capacity</em> to act, the
IdP scope is the <em>delegation</em> from a principal authorizing the agent
to do so on its behalf. A server's <tt>[policies.oauth]</tt> block (defined
operationally outside this document) declares which methods require
an external credential and which validator processes the credential.
On validation success, the configured claim (typically <tt>sub</tt>) is
lifted into the request context as the acting-principal identifier
and stamped on the Attribution-Record as <tt>principal_id</tt> per
<xref target="AGTP-IDENTIFIERS"/>.</t>
        <t><strong>Pattern 3: OIDC-federated Genesis-issuer trust.</strong> The
Genesis-issuer key itself is attested by an IdP. Trust anchors that
would otherwise be a static trusted-registrars list are replaced by
OIDC discovery: the verifier configures one or more OIDC anchors
(discovery URL plus trusted issuer), fetches the JWKS at runtime,
and confirms the <tt>issuer_public_key</tt> on the Agent Genesis matches
one of the IdP's published keys. The Genesis schema is unchanged;
the change is the resolution path the verifier uses to decide
whether a recorded issuer key is trusted. See <xref target="AGTP-TRUST"/> for the
trust-anchor schema.</t>
      </section>
      <section anchor="authorization-header">
        <name>Authorization Header</name>
        <t>AGTP servers process the <tt>Authorization</tt> request header per HTTP
semantics (<xref target="RFC9110"/>). The header value is opaque to AGTP itself;
the configured validator interprets it. Common forms include:</t>
        <ul spacing="normal">
          <li>
            <t><tt>Bearer TOKEN</tt>: OAuth 2.0 / OIDC bearer tokens per <xref target="RFC6750"/>.</t>
          </li>
          <li>
            <t>Other schemes (<tt>Basic</tt>, <tt>Digest</tt>, custom schemes): passed
through to the configured validator unchanged.</t>
          </li>
        </ul>
        <t>Validation failures <strong>MUST</strong> return <tt>401 Unauthorized</tt> with a
response body carrying a structured <tt>reason</tt> from the vocabulary:</t>
        <table>
          <name>External IdP Composition 401 Reason Vocabulary</name>
          <thead>
            <tr>
              <th align="left">Reason</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>oauth-required</tt></td>
              <td align="left">The invoked method is in the server's <tt>required_on_methods</tt> list and no <tt>Authorization</tt> header was presented</td>
            </tr>
            <tr>
              <td align="left">
                <tt>oauth-invalid</tt></td>
              <td align="left">An <tt>Authorization</tt> header was presented and the configured validator rejected it (bad signature, expired token, untrusted issuer, etc.)</td>
            </tr>
          </tbody>
        </table>
        <t>The 401 codes for external-credential failures are the same 401
code AGTP uses for other authentication failures; the <tt>reason</tt>
field disambiguates.</t>
      </section>
      <section anchor="token-opacity-and-attribution">
        <name>Token Opacity and Attribution</name>
        <t>AGTP <strong>MUST NOT</strong> stamp the raw <tt>Authorization</tt> header value or the
raw token onto the Attribution-Record. The Attribution-Record is
signed and may be replayed by chain walkers and audit consumers;
embedding bearer tokens would create a credential-disclosure
surface. Only the validated, lifted claim (the <tt>principal_id</tt>)
appears on the Attribution-Record per <xref target="AGTP-IDENTIFIERS"/>.</t>
      </section>
      <section anchor="backward-compatibility">
        <name>Backward Compatibility</name>
        <t>The External IdP composition surface is opt-in. Servers with no
<tt>[policies.oauth]</tt> configuration process requests identically to
servers built without IdP composition awareness. Requests without an
<tt>Authorization</tt> header on servers that require none are
dispatched normally. This preserves Pattern 1 deployments
byte-for-byte.</t>
      </section>
      <section anchor="wire-example-agtp-request-with-oidc-bearer-token">
        <name>Wire Example: AGTP Request with OIDC Bearer Token</name>
        <artwork><![CDATA[
AGTP/1.0 EXECUTE /loans
Agent-ID: agt-loan-evaluator
Authority-Scope: loan:evaluate documents:read
Request-Signature: <JWS per AGTP>
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
Session-ID: sess-loan-eval-001
Task-ID: task-2026-0601
Content-Type: application/agtp+json

{
  "method": "EXECUTE",
  "task_id": "task-2026-0601",
  "parameters": {
    "payload_type": "application/vnd.bank.loan-eval+json",
    "action": "evaluate-application",
    "payload": {
      "application_id": "app-12345",
      "applicant_consent_ref": "consent-2026-001"
    }
  }
}
]]></artwork>
        <t>The bearer token in the <tt>Authorization</tt> header authorizes the
loan-evaluator agent to act on behalf of a specific banking customer.
The server's <tt>[policies.oauth]</tt> block requires Bearer tokens on the
<tt>loan:evaluate</tt> scope, validates the token against the configured
IdP, lifts the <tt>sub</tt> claim as <tt>principal_id</tt>, and stamps it on the
Attribution-Record. The Identity Document that <tt>agt-loan-evaluator</tt>
resolves to records the bank as owner (<tt>owner_id</tt> carrying an
LEI-anchored institutional identity per <xref target="AGTP-LEI"/>); the bearer
token identifies the customer. Owner and customer are independent
axes.</t>
      </section>
    </section>
    <section anchor="gateway-section">
      <name>HTTP Gateway Composition</name>
      <t>The HTTP Gateway composition profile specifies the translation
surface for accepting HTTP traffic into AGTP-served agents. The
gateway is a deployment-time adoption ramp outside the AGTP wire
protocol; this profile specifies the translation contract so it is
interoperable across implementations.</t>
      <section anchor="architectural-position">
        <name>Architectural Position</name>
        <t>Operators that need to accept inbound HTTP/REST traffic on the same
agent surface that serves AGTP <strong>MAY</strong> deploy an HTTP gateway sidecar
alongside the AGTP daemon. The gateway is a parallel listener that
accepts HTTP requests, translates them into AGTP method invocations,
and dispatches them through the same response-finalization path as
native AGTP traffic.</t>
        <t>The gateway is no substitute for an AGTP binding. Two AGTP servers
exchanging traffic with one another <strong>MUST NOT</strong> use the gateway as
their hop; AGTP runs on its own bindings, and gateway-mediated
AGTP-to-AGTP flows would lose the wire-level identity, attribution,
and trust-posture guarantees AGTP defines. The gateway exists to translate non-AGTP
clients into AGTP method invocations.</t>
        <figure anchor="gateway-arch">
          <name>HTTP Gateway Translation Pattern</name>
          <artwork><![CDATA[
+--------------------+              +--------------------+
|  HTTP/REST Client  |  HTTP/1.1    |  HTTP Gateway      |
|  (non-AGTP-aware)  | -----------> |  (Sidecar)         |
+--------------------+              +--------------------+
                                              |
                                              | AGTP method
                                              | invocation
                                              v
                                    +--------------------+
                                    |  AGTP Daemon       |
                                    |  (port 4480)       |
                                    +--------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="translation-rules">
        <name>Translation Rules</name>
        <t>The gateway applies the following translation rules:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>HTTP method to AGTP method.</strong> The HTTP method is run through
the server's <tt>policies.methods.aliases</tt> map per <xref target="AGTP-METHODS"/>; the
resolved canonical AGTP method is used for dispatch. The default
alias seed (GET to FETCH, POST to CREATE, PUT to REPLACE, DELETE
to REMOVE, PATCH to MODIFY) handles the five common verbs. The
original HTTP method is preserved on the Attribution-Record as
<tt>requested_method</tt> per <xref target="AGTP-IDENTIFIERS"/>.</t>
          </li>
          <li>
            <t><strong>HTTP path to AGTP path.</strong> The path is forwarded verbatim,
subject to the path grammar in <xref target="AGTP-METHODS"/>.</t>
          </li>
          <li>
            <t><strong>HTTP headers to AGTP headers.</strong> The gateway <strong>MAY</strong> forward
selected headers (e.g., <tt>Authorization</tt> mapped to AGTP
authentication context per the External IdP composition profile
in <xref target="idp-section"/>); the specific header forwarding policy is
operator-defined.</t>
          </li>
          <li>
            <t><strong>Response.</strong> The AGTP response (status, headers, body) is
translated into an HTTP response. The gateway <strong>MUST</strong> invoke the
standard response-finalization path so the AGTP response carries
a valid Attribution-Record; the resulting Audit-ID and Server-ID
participate in the same per-agent chain as native AGTP responses.</t>
          </li>
        </ol>
      </section>
      <section anchor="constraints">
        <name>Constraints</name>
        <ul spacing="normal">
          <li>
            <t><strong>The gateway **MUST</strong> strip the <tt>Allow-RCNS</tt> header from inbound
HTTP requests before dispatch.** HTTP callers cannot opt into
Runtime Contract Negotiation Substrate (<xref target="AGTP-RCNS"/>) through the
gateway by design; RCNS is a substrate feature for AGTP-native callers whose
identity, trust tier, and scope are bound at the AGTP layer.
Operators that want to expose RCNS to HTTP callers <strong>MUST</strong> layer
AGTP-native authentication on top of the gateway, in which case
the gateway is no longer the right abstraction.</t>
          </li>
          <li>
            <t><strong>The gateway is a translation surface and no binding.</strong>
Two AGTP servers exchanging traffic with one another <strong>MUST NOT</strong>
use the gateway as their hop; AGTP runs on its own bindings, and
gateway-mediated AGTP-to-AGTP flows would lose the wire-level
identity, attribution, and trust-posture guarantees this
specification defines.</t>
          </li>
          <li>
            <t><strong>The gateway **MUST NOT</strong> synthesize AGTP identity headers from
HTTP request properties.** The <tt>Agent-ID</tt> forwarded to the AGTP
daemon <strong>MUST</strong> be the gateway's own Canonical Agent-ID, signed
with the gateway's own key in <tt>Request-Signature</tt> (the agent on
whose behalf the gateway is calling into the AGTP layer); any
identity inferred from the HTTP client is prohibited; the owner recorded on the
gateway's Identity Document is therefore the gateway operator. HTTP
clients that need authenticated agent identity at the AGTP layer
<strong>MUST</strong> present credentials the gateway can validate and lift
into a Pattern 2 External IdP composition.</t>
          </li>
        </ul>
      </section>
      <section anchor="reference-deployment-pattern">
        <name>Reference Deployment Pattern</name>
        <t>The reference implementation pattern is an operational module
distributed as <tt>mod_http_gateway</tt> or equivalent, listening on a
separate port from the AGTP listener (default <tt>127.0.0.1:8080</tt> for
the gateway, port 4480 for AGTP), so the two protocols never share
a socket.</t>
      </section>
      <section anchor="wire-example-http-get-translated-to-agtp-fetch">
        <name>Wire Example: HTTP GET Translated to AGTP FETCH</name>
        <artwork><![CDATA[
GET /agents/library/books/2026-spring HTTP/1.1
Host: library.example.com
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
Accept: application/json
]]></artwork>
        <t>The gateway translates this to:</t>
        <artwork><![CDATA[
AGTP/1.0 FETCH /agents/library/books/2026-spring
Agent-ID: agt-http-bridge
Authority-Scope: catalog:read
Request-Signature: <JWS per AGTP, gateway key>
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
Session-ID: sess-http-bridge-9f3a
Task-ID: task-http-001
Content-Type: application/agtp+json

{
  "method": "FETCH",
  "task_id": "task-http-001",
  "parameters": {
    "path": "/agents/library/books/2026-spring",
    "format": "structured"
  }
}
]]></artwork>
        <t>The Agent-ID is the gateway's own agent identity; nothing is
synthesized from the HTTP client. The bearer token from the HTTP request is forwarded
and validated by the AGTP server's External IdP composition per
Pattern 2. The original HTTP method (<tt>GET</tt>) is preserved on the
Attribution-Record as <tt>requested_method</tt> for audit reconstruction.</t>
      </section>
    </section>
    <section anchor="content-schema">
      <name>The Content-Schema Header</name>
      <t><xref target="AGTP"/> lists <tt>Content-Schema</tt> among the headers reserved for a
companion to specify; this document is that companion, since the
header exists for carried payloads.</t>
      <t><tt>Content-Schema</tt> is an <strong>OPTIONAL</strong> request header whose value is an
absolute URI identifying the schema (JSON Schema or the adjacent
layer's own schema language) that the request body, or the
<tt>payload</tt> parameter of an EXECUTE, conforms to:</t>
      <artwork><![CDATA[
Content-Schema = absolute-URI
]]></artwork>
      <t>Semantics:</t>
      <ul spacing="normal">
        <li>
          <t>The sender asserts that the body conforms to the named schema.
<tt>Request-Signature</tt> covers the body digest and leaves this header
outside its signed set, so the header is an unsigned hint about a
signed body: a receiver that validates learns whether the body
conforms, and an altered header is caught by that validation;
the signature plays no part in catching it.</t>
        </li>
        <li>
          <t>A receiver <strong>MAY</strong> validate the body against the schema. A
receiver that validates and finds the body non-conformant <strong>MUST</strong>
reject with <tt>422</tt> and reason <tt>schema-mismatch</tt>; one that lacks the
schema <strong>MAY</strong> proceed and <strong>SHOULD</strong> record <tt>schema-unverified</tt>
in the Attribution-Record's evaluation fields.</t>
        </li>
        <li>
          <t>Infrastructure <strong>MUST NOT</strong> route or enforce on <tt>Content-Schema</tt>;
it is a payload property, below the precedence line of
<xref target="precedence"/>.</t>
        </li>
        <li>
          <t>Schema URIs are owned by the adjacent-layer specification bodies;
this document registers none.</t>
        </li>
      </ul>
    </section>
    <section anchor="cross-composition-interoperability">
      <name>Cross-Composition Interoperability</name>
      <t>This section addresses interoperability concerns that arise when
multiple composition families are active simultaneously: an agent
serving MCP and A2A workflows on the same session, a Pattern 2 IdP
composition combined with an HTTP gateway, or a cross-AGMP delegation
chain that traverses an external IdP boundary.</t>
      <section anchor="agent-discovery-across-agmps">
        <name>Agent Discovery Across AGMPs</name>
        <t>An agent registered with an AGTP governance platform is discoverable
regardless of which AGMP it uses: it is found by search and
discovered by Agent-ID per <xref target="AGTP-DISCOVERY"/> and <xref target="AGTP-PRESENCE"/>.
The AGTP Agent Identity Document (<xref target="AGTP-IDDOC"/>) exposes the
agent's supported methods and modalities; the AGTP DESCRIBE method
exposes its capabilities. AGMP-specific capability formats (A2A
Agent Cards, MCP capability lists) <strong>MAY</strong> be included as extensions
to the AGTP Capability Document and are never required.</t>
      </section>
      <section anchor="session-continuity-across-agmps">
        <name>Session Continuity Across AGMPs</name>
        <t>A single AGTP session <strong>MAY</strong> carry messages from multiple AGMPs within
the same workflow. For example, an orchestrator agent might use A2A to
delegate a task, then use MCP to invoke a tool within that task, all
within a single AGTP session identified by the same <tt>Session-ID</tt>. AGTP
session semantics (<xref target="AGTP-SESSION"/>) persist across AGMP message
types within the session.</t>
      </section>
      <section anchor="identity-consistency-across-composition-families">
        <name>Identity Consistency Across Composition Families</name>
        <t>An agent operating across multiple composition families <strong>MUST</strong> use the
same canonical AGTP Agent-ID in all AGTP headers, regardless of which
adjacent layer is composed. AGMP-layer identity fields (A2A <tt>agent.id</tt>,
MCP <tt>client_id</tt>), external IdP claims, and HTTP-client identifiers
<strong>MAY</strong> differ from the canonical AGTP Agent-ID for backward
compatibility with non-AGTP deployments, but the AGTP Agent-ID is
authoritative for all governance and audit purposes.</t>
      </section>
      <section anchor="idp-and-gateway-combined">
        <name>IdP and Gateway Combined</name>
        <t>An HTTP request with a Bearer token arriving at an HTTP gateway
composes both the External IdP profile and the HTTP Gateway profile:</t>
        <ol spacing="normal" type="1"><li>
            <t>The gateway translates the HTTP request to an AGTP method
invocation per <xref target="gateway-section"/>, forwarding the
<tt>Authorization</tt> header.</t>
          </li>
          <li>
            <t>The AGTP server validates the bearer token per the External IdP
composition Pattern 2 in <xref target="idp-section"/>, lifting the configured
claim as <tt>principal_id</tt>.</t>
          </li>
          <li>
            <t>The Attribution-Record carries both the gateway's Agent-ID
(which agent invoked the method) and the lifted <tt>principal_id</tt>
(on whose behalf the call was made).</t>
          </li>
        </ol>
        <t>The gateway is the agent at the AGTP layer; the bearer token's
subject is the principal. Both fit the existing
two-axis model.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="agmp-payload-injection">
        <name>AGMP Payload Injection</name>
        <t>Threat: A malicious actor embeds forged identity or scope fields in an
AGMP message payload, attempting to override or supplement the AGTP
header values with elevated permissions.</t>
        <t>Mitigation: Infrastructure components <strong>MUST NOT</strong> parse AGMP payloads
for identity or scope information. The precedence rule in <xref target="precedence"/>
is absolute: AGTP headers govern all infrastructure decisions. Application
code <strong>SHOULD</strong> validate that AGMP payload identity fields are consistent
with the AGTP headers and <strong>MUST</strong> reject requests where they conflict
in ways that suggest an escalation attempt.</t>
      </section>
      <section anchor="cross-agmp-delegation-elevation">
        <name>Cross-AGMP Delegation Elevation</name>
        <t>Threat: An agent uses AGMP composition to cross protocol boundaries in
a way that circumvents AGTP scope enforcement. For example, receiving
a task via A2A with a delegated scope, then re-delegating it via MCP
with an elevated scope.</t>
        <t>Mitigation: the delegation rules of <xref target="AGTP"/> apply unchanged across
AGMP boundaries. Each re-delegation is a new AGTP DELEGATE
invocation, minting a new hop whose scope is a strict subset of the
delegating agent's effective scope, and every request under the
delegated authority carries the full Delegation Sequence, which the
receiving server verifies hop by hop. An elevation attempted through
an AGMP payload fails at the first conformant verifier, because the
payload carries no authority (<xref target="precedence"/>).</t>
      </section>
      <section anchor="payload-schema-validation">
        <name>Payload Schema Validation</name>
        <t>Implementers <strong>SHOULD</strong> use the <tt>Content-Schema</tt> header
(<xref target="content-schema"/>) to declare the schema of the AGMP payload.
Recipients <strong>SHOULD</strong> validate the payload against the declared
schema before processing. This mitigates injection attacks that rely
on schema ambiguity at the AGMP layer.</t>
      </section>
      <section anchor="bearer-token-leakage-via-attribution-record">
        <name>Bearer Token Leakage via Attribution-Record</name>
        <t>Threat: An implementation incorrectly stamps the raw <tt>Authorization</tt>
header value or the raw bearer token onto the Attribution-Record. Since
Attribution-Records are signed and may be replayed by chain walkers and
audit consumers, this would create a credential-disclosure surface.</t>
        <t>Mitigation: AGTP <strong>MUST NOT</strong> stamp the raw <tt>Authorization</tt> header
value or the raw token onto the Attribution-Record. Only the
validated, lifted claim (the <tt>principal_id</tt>) appears on the
Attribution-Record per <xref target="AGTP-IDENTIFIERS"/>. Implementations <strong>MUST</strong>
verify this constraint in their attribution-record builder before
release.</t>
      </section>
      <section anchor="external-idp-validator-confusion">
        <name>External IdP Validator Confusion</name>
        <t>Threat: A server with multiple configured IdP validators dispatches a
credential to the wrong validator, causing a credential issued by one
IdP to be interpreted as if issued by another. An attacker could
exploit this to present a credential to a validator that accepts it
when the intended validator would have rejected it.</t>
        <t>Mitigation: Servers <strong>MUST</strong> route credentials to the correct
validator based on policy-defined matching rules (token issuer,
audience claim, header marker). Servers <strong>MUST NOT</strong> dispatch a
credential to multiple validators in parallel and accept any
success; this creates the confusion surface described above.</t>
      </section>
      <section anchor="http-gateway-identity-synthesis">
        <name>HTTP Gateway Identity Synthesis</name>
        <t>Threat: An HTTP gateway implementation synthesizes AGTP identity
headers from HTTP request properties (client IP, user-agent string,
hostname), creating a forgeable identity surface.</t>
        <t>Mitigation: The gateway <strong>MUST NOT</strong> synthesize <tt>Agent-ID</tt> from HTTP
request properties per the constraints in <xref target="gateway-section"/>, and
cannot forge <tt>Request-Signature</tt> for an identity whose key it lacks.
The Agent-ID forwarded to the AGTP daemon <strong>MUST</strong> identify the
gateway's own agent identity. HTTP clients that need authenticated
agent identity at the AGTP layer <strong>MUST</strong> present credentials the
gateway can validate and lift into a Pattern 2 External IdP
composition.</t>
      </section>
      <section anchor="http-gateway-rcns-bypass">
        <name>HTTP Gateway RCNS Bypass</name>
        <t>Threat: An HTTP client attempts to opt into Runtime Contract
Negotiation Substrate (RCNS) through the gateway by sending an
<tt>Allow-RCNS</tt> header, gaining access to a substrate feature that is
designed for AGTP-native callers with bound identity, trust tier, and
scope.</t>
        <t>Mitigation: The gateway <strong>MUST</strong> strip the <tt>Allow-RCNS</tt> header from
inbound HTTP requests before dispatch per <xref target="gateway-section"/>.
Operators that want to expose RCNS to HTTP-originating callers
<strong>MUST</strong> layer AGTP-native authentication on top of the gateway, in
which case the gateway is no longer the right abstraction.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests registration of the <tt>Content-Schema</tt> request
header (<xref target="content-schema"/>) in the AGTP Header Field registry of
<xref target="AGTP"/>, status Permanent, with this document as reference, and of
the reason tokens <tt>schema-mismatch</tt> (status 422) and
<tt>schema-unverified</tt> (evaluation) in the AGTP reason vocabulary. All
other AGTP method, header, and status code registrations are defined
in <xref target="AGTP"/>.
External identity providers retain their own registrations
(<xref target="RFC6749"/>, <xref target="RFC6750"/>). AGMP specifications retain their own
registrations. The <tt>Content-Schema</tt> URIs used in this document
reference external schema registries maintained by the respective
adjacent-layer specification bodies.</t>
    </section>
    <section anchor="changes-from-v01">
      <name>Changes from v01</name>
      <t>Version 02 aligns the profiles with draft-hood-independent-agtp-10
and the companions it split out. The three profile families and
their structure are unchanged.</t>
      <section anchor="substantive-changes">
        <name>Substantive Changes</name>
        <ol spacing="normal" type="1"><li>
            <t><strong>Owner identity is a document field.</strong> <tt>Owner-ID</tt> is removed
from the precedence header list, the A2A mapping, the mapping
rules, and all wire examples; the owner is read from the Agent
Identity Document the Agent-ID resolves to (<xref target="AGTP-IDDOC"/>). The
response-side <tt>Owner-ID</tt> header of <xref target="AGTP"/> is unaffected.</t>
          </li>
          <li>
            <t><strong>Delegation restated against base v10.</strong> The A2A provenance
rule now maps to the Delegation Sequence (pre-authorization) and
<tt>prior_actions</tt> (attribution), with the hop format, token
signer, and verification rules by reference to <xref target="AGTP"/>; the
independent MUSTs of v01 are withdrawn. The DELEGATE example no
longer carries <tt>Delegation-Chain</tt> on an undelegated invocation,
and <tt>delegation_token</tt> is the parent's signature, where v01 had a
governance-platform token.</t>
          </li>
          <li>
            <t><strong>MCP tool calls and sampling move from QUERY to EXECUTE.</strong> QUERY
is safe and early-data eligible; a tool call may have side
effects and sampling consumes budget. EXECUTE with
<tt>payload_type: application/vnd.mcp+json</tt> is the carrier <xref target="AGTP"/>
names. Resource reads and prompts stay on QUERY. The MCP resource
fetch example from the base appendix is added.</t>
          </li>
          <li>
            <t><strong><tt>Request-Signature</tt></strong> shown on every example; <tt>Agent-ID</tt>
values shown as canonical identifiers; request lines carry a
path; <tt>Server-Agent-ID</tt> replaced by <tt>Server-ID</tt> and the
Attribution-Record signer.</t>
          </li>
          <li>
            <t><strong><tt>Content-Schema</tt> specified</strong> (<xref target="content-schema"/>) as the
reserved header's home, with the 422 reason <tt>schema-mismatch</tt>.</t>
          </li>
          <li>
            <t><strong>Agent Card distinguished from Agent Identity Document</strong>: a
self-asserted description versus an issuer-signed credential.</t>
          </li>
          <li>
            <t><strong>AGMP wire-example appendix</strong> from base v09 absorbed; the base
document now summarizes and points here.</t>
          </li>
          <li>
            <t><strong>Title shortened</strong> to "AGTP Composition Profiles"; the three
families remain the first sentence of the abstract.</t>
          </li>
          <li>
            <t>References: base to -10; AGTP-API split into AGTP-METHODS and
AGTP-RCNS; AGTP-IDENTIFIERS -03, AGTP-LOG -03, AGTP-DISCOVERY -02,
AGTP-PRESENCE -01, AGTP-LEI -01, AGTP-COMMERCE -01; AGTP-IDDOC and
AGTP-SESSION added. Transfer-protocol wording in place of
transport. House style pass.</t>
          </li>
        </ol>
      </section>
      <section anchor="wire-format-compatibility">
        <name>Wire Format Compatibility</name>
        <t>Removing <tt>Owner-ID</tt> from requests and moving MCP tool calls to
EXECUTE are breaking for v01 implementations of those two profiles;
both track changes already made in base AGTP v10, so a v01
implementation updated to base v10 needs the same changes. The A2A
header shape is otherwise unchanged. <tt>Content-Schema</tt> is additive.</t>
      </section>
    </section>
    <section anchor="changes-from-v00">
      <name>Changes from v00</name>
      <t>Version 01 broadens the document's scope from AGMP-only composition
to a three-family composition profile structure. The AGMP profiles
are updated to track the v08 AGTP method floor and renamed
identifiers. Two new composition profile families are introduced:
External Identity Provider composition and HTTP Gateway composition.
These were previously specified in the v08 base spec's "Composition
with Higher-Level Frameworks" section; v01 of this document is the
canonical location for the normative specification.</t>
      <section anchor="substantive-changes-1">
        <name>Substantive Changes</name>
        <ol spacing="normal" type="1"><li>
            <t><strong>Title expanded</strong> to "AGTP Composition Profiles: Agent Group
Messaging Protocols, External Identity Providers, and HTTP
Gateways" reflecting the broader scope.</t>
          </li>
          <li>
            <t><strong>External Identity Provider composition profile added</strong> as
<xref target="idp-section"/>. Three composition patterns (AGTP-only,
AGTP+IdP, OIDC-federated Genesis trust). Authorization header
semantics. Token opacity rule. 401 reason vocabulary
(<tt>oauth-required</tt>, <tt>oauth-invalid</tt>). Backward compatibility
guidance. Wire example showing OIDC bearer token composition.</t>
          </li>
          <li>
            <t><strong>HTTP Gateway composition profile added</strong> as <xref target="gateway-section"/>.
Architectural position. Translation rules (HTTP method to AGTP
method via alias map; HTTP path verbatim; header forwarding
policy; response finalization). Constraints (Allow-RCNS header
stripping; transport-vs-translation distinction; no identity
synthesis from HTTP properties). Reference deployment pattern.
Wire example showing HTTP GET translated to AGTP FETCH.</t>
          </li>
          <li>
            <t><strong>Cross-AGMP Interoperability renamed and broadened</strong> to
Cross-Composition Interoperability. New subsection covering the
combined IdP-plus-Gateway case.</t>
          </li>
          <li>
            <t><strong>Identifier rename applied throughout.</strong> The <tt>Principal-ID</tt>
wire header is renamed to <tt>Owner-ID</tt> in all AGMP mapping tables,
mapping rules, and wire examples, tracking the locked AGTP
taxonomy from <xref target="AGTP-IDENTIFIERS"/>.</t>
          </li>
          <li>
            <t><strong>Security Considerations expanded</strong> to cover the new profile
families. Four new subsections: Bearer Token Leakage via
Attribution-Record; External IdP Validator Confusion; HTTP
Gateway Identity Synthesis; HTTP Gateway RCNS Bypass.</t>
          </li>
          <li>
            <t><strong>Normative reference to <xref target="AGTP"/> updated to v08</strong> (was v02
in v00).</t>
          </li>
          <li>
            <t><strong>Informative references added</strong> to AGTP-API (since split into
<xref target="AGTP-METHODS"/> and <xref target="AGTP-RCNS"/>),
<xref target="AGTP-IDENTIFIERS"/>, <xref target="AGTP-TRUST"/>, <xref target="AGTP-LOG"/>,
<xref target="AGTP-PRESENCE"/>, <xref target="AGTP-LEI"/>, <xref target="AGTP-COMMERCE"/>, and
<xref target="AGTP-DISCOVERY"/>, reflecting the broader AGTP draft family
that has emerged since v00 of this document.</t>
          </li>
          <li>
            <t><strong>Normative reference to <xref target="RFC9110"/></strong> added to support the
Authorization header semantics in the External IdP composition
profile. Informative references to <xref target="RFC6749"/> (OAuth 2.0) and
<xref target="RFC6750"/> (Bearer tokens) added.</t>
          </li>
          <li>
            <t><strong>Method floor references updated.</strong> Where v00 referenced the
12-method or 16-method floor, v01 references the current
18-method floor per <xref target="AGTP"/>.</t>
          </li>
        </ol>
      </section>
      <section anchor="composition-profile-boundary-clarifications">
        <name>Composition Profile Boundary Clarifications</name>
        <t>This document covers three composition profile families. Other
composition surfaces specific to AGTP companion specifications are
addressed in those specifications and only referenced here:</t>
        <ul spacing="normal">
          <li>
            <t>Payment provider composition is specified in <xref target="AGTP-COMMERCE"/>.</t>
          </li>
          <li>
            <t>Credit bureau and trust provider composition is specified in
<xref target="AGTP-TRUST"/>.</t>
          </li>
          <li>
            <t>Certificate authority composition is specified in <xref target="AGTP-CERT"/>.</t>
          </li>
          <li>
            <t>Institutional identity composition (LEI/vLEI) is specified in
<xref target="AGTP-LEI"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="wire-format-compatibility-1">
        <name>Wire Format Compatibility</name>
        <t>The v01 changes are additive (new profile families, expanded
security considerations, broader scope) and identifier-alignment
(Principal-ID to Owner-ID rename). No AGMP composition wire format
changes are introduced beyond the identifier rename that tracks the
broader AGTP taxonomy update. Implementations conforming to v00
require the Owner-ID rename to interoperate with v01 implementations
and AGTP v08 servers.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="AGTP">
          <front>
            <title>Agent Transfer Protocol (AGTP)</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-independent-agtp-10"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC6750">
          <front>
            <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6750"/>
          <seriesInfo name="DOI" value="10.17487/RFC6750"/>
        </reference>
        <reference anchor="A2A" target="https://a2aprotocol.ai">
          <front>
            <title>Agent-to-Agent Protocol Specification</title>
            <author>
              <organization>Linux Foundation</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="ACP">
          <front>
            <title>Agent Communication Protocol</title>
            <author>
              <organization>IBM Research</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io">
          <front>
            <title>Model Context Protocol</title>
            <author>
              <organization>Anthropic</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="ANP">
          <front>
            <title>Agent Network Protocol</title>
            <author>
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="AGTP-METHODS">
          <front>
            <title>AGTP Methods (AGTP Verbs)</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-methods-00"/>
        </reference>
        <reference anchor="AGTP-RCNS">
          <front>
            <title>AGTP Runtime Contract Negotiation Substrate</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-rcns-00"/>
        </reference>
        <reference anchor="AGTP-IDDOC">
          <front>
            <title>AGTP Agent Identity Document</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-identity-document-00"/>
        </reference>
        <reference anchor="AGTP-SESSION">
          <front>
            <title>AGTP Session Protocol</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-session-01"/>
        </reference>
        <reference anchor="AGTP-CERT">
          <front>
            <title>AGTP Agent Certificate Extension</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-agent-cert-04"/>
        </reference>
        <reference anchor="AGTP-IDENTIFIERS">
          <front>
            <title>AGTP Identifier Chain</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-identifiers-03"/>
        </reference>
        <reference anchor="AGTP-TRUST">
          <front>
            <title>AGTP Trust and Verification Specification</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-trust-03"/>
        </reference>
        <reference anchor="AGTP-LOG">
          <front>
            <title>AGTP Transparency Log</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-log-03"/>
        </reference>
        <reference anchor="AGTP-DISCOVERY">
          <front>
            <title>AGTP Discovery and Naming</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-discovery-02"/>
        </reference>
        <reference anchor="AGTP-PRESENCE">
          <front>
            <title>AGTP Presence: Ambient Discovery and Visibility for Agents</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-presence-01"/>
        </reference>
        <reference anchor="AGTP-LEI">
          <front>
            <title>AGTP Binding to the Legal Entity Identifier (LEI and vLEI)</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-lei-01"/>
        </reference>
        <reference anchor="AGTP-COMMERCE">
          <front>
            <title>AGTP-Commerce: Open Commerce Specification for Agent-to-Agent Transactions</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-commerce-01"/>
        </reference>
      </references>
    </references>
    <?line 1503?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The AGMP composition profiles in this document build on the foundational
work of the MCP, A2A, and ACP specification teams. AGTP is designed to
be additive to and compatible with their work.
Thank you to Anthropic, Linux Foundation A2A team, and IBM ACP.</t>
      <t>The External Identity Provider composition profile builds on the
foundational work of the OAuth and OIDC communities. The composition
treats AGTP identity and external IdP credentials as orthogonal axes
that compose without modification to either.</t>
      <t>The HTTP Gateway composition profile addresses the practical reality
that many existing clients communicate over HTTP. The translation
contract specified here makes the adoption ramp interoperable across
implementations without requiring HTTP to be modified.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7W9a3fb1rUu/B2/AkP5UMklaUlJ2kba7XgVWUnUbVuqpKSn
uyPDBElIQk0CPAAohTv1+e3vfOZlXUBQltPEu7sVSWBd5ppr3i/D4TBpi3ae
H6U7J9/eXKan1WJZNUVbVGV6WVe3xTxvdpJsMqnzB31meHrx5vLi+vzm/OLt
TjKrpmW2oPdndXbbDu+rajbM7trlcOpHGu4fJtOsze+qen2UFuVtlTSryaJo
GvqxXS9zfDnLlzn9V9kmxbI+Stt61bSH+/tf0btZnWeYfLmcFzQOvdSkWTlL
r/JsPrwpFvlO8ljV7+/qarWk5879WOm1m2cneZ+v6bHZUZKmw/TkPM3u6ImG
P/Gf6bKu2mpazdNg7fzzm9NLeenwRP5XP1+crNp7+ev81Sn/8d0NQfGONvuY
reVZgJW227Q1fZskTUtLf5fNq5K2vc6bZFlgRTSxfEzTpqrbOr9t3Of1IvrY
1sW0tU9YamYfk4zWU9Wyw9vVfC5Hc3pfF036HR0N/ZCmVX2XlcX/MiCP0rfV
omqL6SA9L6cj/j1fZMX8KJ3irf+vlJ9HWcG/reriKL1v22Vz9PJl8FtSVvWC
RnzIMfnVN6eHBwdf6Z9/OvjjF/rnVwcH+/gTQDniAR328Qnc1FnZ3OY1cE+O
YheP7u3ws353+Ld1f01eF3kDNLNHz8s2r8u8Hb4Ckka4GiCe4O3BPr80o8M6
Sg/3D/+QJBgq3t0f/vjFV+7PL2VLhyc9Oxq21VC25nZ0vcynxa0ict/G6HyO
0tdFufop/aZalbNM8TBY1JcyU1bf5a0/j+wwMxSW8yI87YMyXfLFqtQVuIVt
Xcr512/oqjV5Vk/vN5fxpjvHm2qWz2kOgvlP7cdHPynb+7paFtN46C96d7jA
2FMZ2m21qLDVt71bfZu3IA2dZUQbYJr25uzmu4tX150hcHXf5LTkWSOImP6Q
15PmN0RHRsGFTDnc30BFXe3V6du+pV6typaoIcO+JqJAu7+jCyrHfG0k6Dde
fD0tn1j5+atXF6c9S5fTOsc1LNp1+qqarhb092+81kLnG850vu0Lvz67viaG
17P065z5y5OY/iuuuZHphvsHW1Z6enZ1sxXCp3ndCvHJ07Of2rxsthChX3HF
zFyHU5p5uP/FVrw4e3tz/s352VUfYgte3BbEGE7vs+K3XnDhpiNM/nzLim+u
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
q6mbdK1rtnm5Vb5wMAfRCUTAkP9/yfZ0c3TsAAA=

-->

</rfc>
