<?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.34 (Ruby 3.4.9) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc strict="yes"?>
<?rfc compact="yes"?>

<rfc ipr="trust200902" docName="draft-hood-agtp-composition-00" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="AGTP-COMPOSITION">AGTP Composition with Agent Group Messaging Protocols</title>

    <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="March" day="23"/>

    <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>AGTP substrate</keyword>

    <abstract>


<?line 79?>

<t>Agent Group Messaging Protocols (AGMPs) -- including the Model Context
Protocol (MCP), the Agent-to-Agent Protocol (A2A), and the Agent
Communication Protocol (ACP) -- define what AI agents say to each other.
The Agent Transfer Protocol (AGTP) defines how those messages move across
a network. This document specifies how AGMP messages are carried over AGTP
as a transport substrate, providing normative mapping rules for identity,
authority scope, delegation, and session fields between the AGMP and AGTP
layers. AGTP headers take precedence over equivalent AGMP payload fields
for all infrastructure-level routing, enforcement, and audit operations.
Agents gain transport-level governance, observability, and identity without
modification to the AGMP layer.</t>



    </abstract>



  </front>

  <middle>


<?line 93?>

<section anchor="introduction"><name>Introduction</name>

<section anchor="the-layering-problem"><name>The Layering Problem</name>

<t>AI agent systems in 2026 are characterized by a proliferation of
messaging protocols -- MCP <xref target="MCP"/>, A2A <xref target="A2A"/>, ACP <xref target="ACP"/>, ANP <xref target="ANP"/>
-- each defining rich semantics for agent-to-agent communication, tool
invocation, task delegation, and capability advertisement. These protocols
are well-designed for what they address: the content and structure of
agent communication.</t>

<t>They share a common limitation: they all run over HTTP and inherit its
constraints for agent traffic. At the infrastructure layer, an A2A Task
message 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. Governance, observability,
and identity enforcement require application-layer instrumentation that is
expensive, inconsistent, and invisible to routing infrastructure.</t>

<t>AGTP <xref target="AGTP"/> addresses this at the transport layer. When AGMP messages
are carried over AGTP, every request carries the sending agent's verified
identity, principal authorization, authority scope, delegation lineage,
and resource budget in protocol headers. 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 carry AGMP messages over AGTP. The core AGTP
specification defines the protocol; this document defines how specific
AGMP concepts map to AGTP constructs. Implementations that use AGTP as
a transport for AGMP traffic <strong>MUST</strong> follow the mapping rules in this
document.</t>

</section>
<section anchor="scope"><name>Scope</name>

<t>This document covers composition profiles for MCP <xref target="MCP"/>, A2A <xref target="A2A"/>,
and ACP <xref target="ACP"/>. It does not modify any AGMP specification. AGMPs retain
their own schemas, semantics, and development paths. This document only
specifies how AGMP messages are wrapped in AGTP requests and how AGMP
identity and delegation fields relate to AGTP headers.</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 transport substrate, including MCP, A2A, ACP,
and ANP. AGMPs define what agents say. AGTP defines how those messages
move.</t>
  </dd>
  <dt>Substrate:</dt>
  <dd>
    <t>The transport layer on which an AGMP operates. In this document, AGTP
is the substrate for all AGMPs in scope. The substrate is not visible
to the AGMP layer; AGMPs require no modification to run over AGTP.</t>
  </dd>
  <dt>Composition Profile:</dt>
  <dd>
    <t>The normative set of mapping rules specifying how a specific AGMP's
identity, delegation, session, and capability concepts correspond to
AGTP header fields and method semantics.</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 does not understand TCP
or UDP; it carries their packets. AGTP does not understand MCP or A2A;
it carries their messages. The narrow-waist property means any AGMP can
run over AGTP, and any AGTP-aware infrastructure can observe and govern
any AGMP traffic, without coupling between the layers.</t>

<figure title="AGTP as Narrow-Waist Layer" anchor="narrow-waist"><artwork><![CDATA[
+-----------------------------------------------------------+
|        Agent Application Logic                            |
+-----------------------------------------------------------+
|  AGMP Layer: MCP / A2A / ACP / ANP       [messaging]     |
+-----------------------------------------------------------+
|  AGTP - Agent Transfer Protocol          [this spec]      |
+-----------------------------------------------------------+
|  TLS 1.3+                                [mandatory]      |
+-----------------------------------------------------------+
|  TCP / QUIC / UDP                        [transport]      |
+-----------------------------------------------------------+
]]></artwork></figure>

<t>The composition rules in this document specify how AGMP concepts map to
the AGTP layer below them. The AGMP layer is unaware of AGTP internals;
the AGTP layer carries AGMP payloads without interpreting their content.</t>

</section>
<section anchor="precedence-rule"><name>Precedence Rule</name>

<t>This rule applies universally across all AGMP composition profiles
defined in this document.</t>

<t>AGTP headers (Agent-ID, Principal-ID, Authority-Scope, Delegation-Chain,
Session-ID, Task-ID, Budget-Limit, and AGTP-Zone-ID) take precedence
over equivalent fields in the AGMP message payload for all
infrastructure-level operations, including routing, enforcement, rate
limiting, audit, and attribution.</t>

<t>Specifically:</t>

<t><list style="symbols">
  <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 to make routing or enforcement decisions.</t>
  <t>AGMP payload fields <strong>MAY</strong> carry equivalent identity or delegation
information for application-layer use by the receiving agent. These
fields are not authoritative for infrastructure decisions.</t>
  <t>In the event of a conflict between an AGTP header value and an AGMP
payload field carrying equivalent information, the AGTP header value
<strong>MUST</strong> be treated as authoritative.</t>
  <t>An AGTP request carrying an AGMP payload <strong>MUST</strong> be rejected by
infrastructure if the AGTP headers are absent or invalid, regardless
of whether the AGMP payload itself is well-formed.</t>
</list></t>

<t>This rule enables infrastructure to govern agent traffic uniformly
regardless of which AGMP is in use, without requiring AGMP-specific
parsing.</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>

<texttable title="A2A-to-AGTP Field Mapping">
      <ttcol align='left'>A2A Concept</ttcol>
      <ttcol align='left'>A2A Field</ttcol>
      <ttcol align='left'>AGTP Mapping</ttcol>
      <c>Sending agent identity</c>
      <c><spanx style="verb">agent.id</spanx></c>
      <c><spanx style="verb">Agent-ID</spanx> header</c>
      <c>Accountable principal</c>
      <c><spanx style="verb">agent.owner</spanx></c>
      <c><spanx style="verb">Principal-ID</spanx> header</c>
      <c>Agent capabilities</c>
      <c>Agent Card</c>
      <c>AGTP DESCRIBE response</c>
      <c>Agent identity document</c>
      <c>Agent Card</c>
      <c>AGTP Agent Manifest Document</c>
      <c>Task delegation</c>
      <c>Task object</c>
      <c>AGTP DELEGATE method body</c>
      <c>Task identifier</c>
      <c><spanx style="verb">task.id</spanx></c>
      <c><spanx style="verb">Task-ID</spanx> header</c>
      <c>Delegation provenance</c>
      <c>Task lineage</c>
      <c><spanx style="verb">Delegation-Chain</spanx> header</c>
      <c>Session context</c>
      <c>Conversation ID</c>
      <c><spanx style="verb">Session-ID</spanx> header</c>
      <c>Artifact delivery</c>
      <c>Artifact object</c>
      <c>AGTP NOTIFY body</c>
      <c>Capability scope</c>
      <c>Agent Card capabilities</c>
      <c><spanx style="verb">Authority-Scope</spanx> header</c>
</texttable>

</section>
<section anchor="mapping-rules"><name>Mapping Rules</name>

<section anchor="agent-identity"><name>Agent Identity</name>

<t>The A2A <spanx style="verb">agent.id</spanx> field <strong>MUST</strong> be used to populate the AGTP
<spanx style="verb">Agent-ID</spanx> header when the sending agent's A2A identity is known
at the transport layer. If the sending agent has a canonical AGTP
Agent-ID (agtp:// URI form), that value <strong>MUST</strong> be used in the
<spanx style="verb">Agent-ID</spanx> header; the A2A <spanx style="verb">agent.id</spanx> <strong>MAY</strong> appear in the payload
for application-layer use.</t>

<t>The A2A agent's declared owner or registrant <strong>MUST</strong> be used to
populate the AGTP <spanx style="verb">Principal-ID</spanx> header. If no owner is declared,
the <spanx style="verb">Principal-ID</spanx> <strong>MUST</strong> reflect the organizational identity of
the deploying party.</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>

<t><list style="symbols">
  <t><spanx style="verb">target_agent_id</spanx>: the canonical AGTP Agent-ID of the receiving agent</t>
  <t><spanx style="verb">authority_scope</spanx>: 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>
  <t><spanx style="verb">delegation_token</spanx>: a signed token from the governance platform
authorizing this delegation</t>
  <t><spanx style="verb">task</spanx>: the A2A Task object as the AGTP body payload</t>
</list></t>

<t>The A2A <spanx style="verb">task.id</spanx> <strong>MUST</strong> be used as the AGTP <spanx style="verb">Task-ID</spanx> 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 <strong>MUST</strong> be reflected in the AGTP
<spanx style="verb">Delegation-Chain</spanx> header. Each agent in the A2A provenance chain
<strong>MUST</strong> appear as a canonical AGTP Agent-ID in the <spanx style="verb">Delegation-Chain</spanx>
header, in origination-to-current order.</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's canonical URI
(<spanx style="verb">agtp://[domain]/agents/[label]</spanx>) <strong>MUST</strong> return a Capability
Document that reflects the agent's A2A capabilities translated
into AGTP capability domain format.</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 <spanx style="verb">content_type</spanx>
field with value <spanx style="verb">a2a-artifact</spanx>.</t>

</section>
</section>
<section anchor="wire-example-a2a-task-over-agtp"><name>Wire Example: A2A Task over AGTP</name>

<figure><artwork><![CDATA[
AGTP/1.0 DELEGATE
Agent-ID: agtp://agtp.acme.tld/agents/orchestrator
Principal-ID: usr-chris-hood
Authority-Scope: agents:delegate documents:query
Delegation-Chain: agtp://agtp.acme.tld/agents/orchestrator
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": "agtp://agtp.acme.tld/agents/analyst",
    "authority_scope": "documents:query",
    "delegation_token": "[signed token]",
    "task": {
      "a2a_task_id": "a2a-task-7f3a",
      "message": {
        "role": "user",
        "parts": [{"type": "text",
          "text": "Summarize Q1 financial reports"}]
      },
      "artifacts": []
    }
  }
}

AGTP/1.0 200 OK
Task-ID: task-0099
Server-Agent-ID: agtp://agtp.acme.tld/agents/analyst
Attribution-Record: [signed attribution token]
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></figure>

</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>

<texttable title="MCP-to-AGTP Field Mapping">
      <ttcol align='left'>MCP Concept</ttcol>
      <ttcol align='left'>MCP Field</ttcol>
      <ttcol align='left'>AGTP Mapping</ttcol>
      <c>Client identity</c>
      <c><spanx style="verb">client_id</spanx></c>
      <c><spanx style="verb">Agent-ID</spanx> header</c>
      <c>Server identity</c>
      <c><spanx style="verb">server_id</spanx></c>
      <c><spanx style="verb">Server-Agent-ID</spanx> response header</c>
      <c>Session context</c>
      <c><spanx style="verb">context</spanx></c>
      <c><spanx style="verb">Session-ID</spanx> header + LEARN method</c>
      <c>Conversation state</c>
      <c>Message history</c>
      <c>AGTP Session persistent state</c>
      <c>Tool call</c>
      <c><spanx style="verb">tools/call</spanx></c>
      <c>AGTP QUERY method body</c>
      <c>Resource request</c>
      <c><spanx style="verb">resources/read</spanx></c>
      <c>AGTP QUERY with <spanx style="verb">scope: documents:*</spanx></c>
      <c>Sampling request</c>
      <c><spanx style="verb">sampling/createMessage</spanx></c>
      <c>AGTP QUERY with <spanx style="verb">modality: inference</spanx></c>
      <c>Prompt</c>
      <c><spanx style="verb">prompts/get</spanx></c>
      <c>AGTP QUERY with <spanx style="verb">scope: knowledge:query</spanx></c>
      <c>Capability list</c>
      <c><spanx style="verb">capabilities</spanx></c>
      <c>AGTP DESCRIBE response</c>
      <c>Tool result</c>
      <c>Tool response</c>
      <c>AGTP QUERY response body</c>
</texttable>

</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 <spanx style="verb">Agent-ID</spanx> header
using its canonical AGTP Agent-ID. The MCP <spanx style="verb">client_id</spanx> field <strong>MAY</strong>
appear in the payload for application-layer use.</t>

<t>When the MCP server has a canonical AGTP Agent-ID, it <strong>MUST</strong> return
that value in the <spanx style="verb">Server-Agent-ID</spanx> response header. The MCP server's
capability list <strong>SHOULD</strong> be accessible via AGTP DESCRIBE at the
server's canonical AGTP URI.</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 <spanx style="verb">Session-ID</spanx>. 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 <spanx style="verb">principal</spanx> or
<spanx style="verb">global</spanx> as appropriate.</t>

</section>
<section anchor="tool-calls"><name>Tool Calls</name>

<t>An MCP <spanx style="verb">tools/call</spanx> operation <strong>MUST</strong> be carried as an AGTP QUERY
method invocation. The AGTP QUERY <spanx style="verb">intent</spanx> parameter <strong>MUST</strong> describe
the tool being called. The <spanx style="verb">modality</spanx> parameter <strong>SHOULD</strong> be set to
<spanx style="verb">tool</spanx> to distinguish tool calls from information retrieval queries.</t>

</section>
<section anchor="resource-access"><name>Resource Access</name>

<t>An MCP <spanx style="verb">resources/read</spanx> operation <strong>MUST</strong> be carried as an AGTP QUERY
method invocation. The AGTP <spanx style="verb">Authority-Scope</spanx> header <strong>MUST</strong> include
the appropriate resource scope (e.g., <spanx style="verb">documents:query</spanx> for document
resources).</t>

</section>
<section anchor="sampling"><name>Sampling</name>

<t>An MCP <spanx style="verb">sampling/createMessage</spanx> operation <strong>MUST</strong> be carried as an
AGTP QUERY method invocation with <spanx style="verb">modality: inference</spanx>. This signals
to AGTP infrastructure that the request involves LLM 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>

<figure><artwork><![CDATA[
AGTP/1.0 QUERY
Agent-ID: agtp://agtp.acme.tld/agents/assistant
Principal-ID: usr-chris-hood
Authority-Scope: documents:query knowledge:query
Session-ID: sess-mcp-b2c3d4
Task-ID: task-0100
Budget-Limit: tokens=5000 ttl=60
Content-Schema: https://modelcontextprotocol.io/schema/tool-call/v1
Content-Type: application/agtp+json

{
  "method": "QUERY",
  "task_id": "task-0100",
  "parameters": {
    "intent": "Search for recent IETF agent protocol drafts",
    "modality": "tool",
    "mcp_tool_name": "web_search",
    "mcp_tool_input": {
      "query": "IETF agent protocol drafts 2026"
    },
    "format": "structured",
    "confidence_threshold": 0.75
  }
}

AGTP/1.0 200 OK
Task-ID: task-0100
Server-Agent-ID: agtp://agtp.acme.tld/agents/search-tool
Attribution-Record: [signed attribution token]
Cost-Estimate: calls=1
Content-Type: application/agtp+json

{
  "status": 200,
  "task_id": "task-0100",
  "result": {
    "mcp_tool_name": "web_search",
    "content": [
      {
        "type": "text",
        "text": "draft-hood-independent-agtp-02 ..."
      }
    ]
  }
}
]]></artwork></figure>

</section>
<section anchor="wire-example-mcp-sampling-over-agtp"><name>Wire Example: MCP Sampling over AGTP</name>

<figure><artwork><![CDATA[
AGTP/1.0 QUERY
Agent-ID: agtp://agtp.acme.tld/agents/assistant
Principal-ID: usr-chris-hood
Authority-Scope: knowledge:query
Session-ID: sess-mcp-b2c3d4
Task-ID: task-0101
Budget-Limit: tokens=10000 ttl=120
Content-Type: application/agtp+json

{
  "method": "QUERY",
  "task_id": "task-0101",
  "parameters": {
    "intent": "Generate a summary of the search results",
    "modality": "inference",
    "mcp_messages": [
      {
        "role": "user",
        "content": {
          "type": "text",
          "text": "Summarize these IETF drafts for me."
        }
      }
    ],
    "mcp_model_preferences": {
      "hints": [{"name": "claude"}],
      "maxTokens": 1000
    }
  }
}
]]></artwork></figure>

</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>

<texttable title="ACP-to-AGTP Field Mapping">
      <ttcol align='left'>ACP Concept</ttcol>
      <ttcol align='left'>ACP Field</ttcol>
      <ttcol align='left'>AGTP Mapping</ttcol>
      <c>Sender identity</c>
      <c>Sender agent ID</c>
      <c><spanx style="verb">Agent-ID</spanx> header</c>
      <c>Recipient</c>
      <c>Recipient agent ID</c>
      <c>AGTP NOTIFY <spanx style="verb">recipient</spanx> parameter</c>
      <c>Broadcast</c>
      <c>Multi-recipient message</c>
      <c>AGTP NOTIFY with broadcast group</c>
      <c>Capability discovery</c>
      <c>Capability query</c>
      <c>AGTP DESCRIBE method</c>
      <c>Message</c>
      <c>Message object</c>
      <c>AGTP NOTIFY or COLLABORATE body</c>
      <c>Multi-agent task</c>
      <c>Coordinated task</c>
      <c>AGTP COLLABORATE method</c>
</texttable>

</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
<spanx style="verb">recipient</spanx> 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 <spanx style="verb">recipient</spanx>
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>

<figure><artwork><![CDATA[
AGTP/1.0 NOTIFY
Agent-ID: agtp://agtp.acme.tld/agents/coordinator
Principal-ID: usr-ops-team
Authority-Scope: agents:notify
Session-ID: sess-acp-c3d4e5
Task-ID: task-0201
Content-Type: application/agtp+json

{
  "method": "NOTIFY",
  "task_id": "task-0201",
  "parameters": {
    "recipient": "agtp://agtp.acme.tld/agents/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></figure>

</section>
</section>
<section anchor="cross-agmp-interoperability"><name>Cross-AGMP Interoperability</name>

<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. The AGTP Agent Manifest Document
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 but are not 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 <spanx style="verb">Session-ID</spanx>. AGTP
session semantics persist across AGMP message types within the session.</t>

</section>
<section anchor="identity-consistency"><name>Identity Consistency</name>

<t>An agent operating across multiple AGMPs <strong>MUST</strong> use the same canonical
AGTP Agent-ID in all AGTP headers, regardless of which AGMP is carrying
the message. AGMP-layer identity fields (A2A <spanx style="verb">agent.id</spanx>, MCP <spanx style="verb">client_id</spanx>)
<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>
<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 Section 4
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 AGTP Delegation-Chain header <strong>MUST</strong> be maintained
across AGMP boundaries. Each re-delegation <strong>MUST</strong> result in a new
AGTP DELEGATE invocation with a scope that is a strict subset of the
delegating agent's Authority-Scope. Scope <strong>MUST NOT</strong> increase across
AGMP composition boundaries.</t>

</section>
<section anchor="payload-schema-validation"><name>Payload Schema Validation</name>

<t>Implementers <strong>SHOULD</strong> use the AGTP <spanx style="verb">Content-Schema</spanx> header 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>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document defines no new IANA registrations. All AGTP method,
header, and status code registrations are defined in <xref target="AGTP"/>. AGMP
specifications retain their own registrations. The <spanx style="verb">Content-Schema</spanx>
URIs used in this document reference external schema registries
maintained by the respective AGMP specification bodies.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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="AGTP" >
  <front>
    <title>Agent Transfer Protocol (AGTP)</title>
    <author fullname="Chris Hood">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-hood-independent-agtp-02"/>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<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></organization>
    </author>
    <date year="2025"/>
  </front>
</reference>
<reference anchor="AGTP-CERT" >
  <front>
    <title>AGTP Agent Certificate Extension</title>
    <author fullname="Chris Hood">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-hood-agtp-agent-cert-00"/>
</reference>
<reference anchor="AGTP-DISCOVER" >
  <front>
    <title>AGTP Agent Discovery and Name Service</title>
    <author fullname="Chris Hood">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-hood-agtp-discovery-00"/>
</reference>


    </references>

</references>


<?line 673?>

<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, not competitive with it.
Thank you to Anthropic, Linux Foundation A2A team, and IBM ACP.</t>

</section>


  </back>

<!-- ##markdown-source:
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
MdA7FP8LqCOX//lcAAA=

-->

</rfc>

