Layer boundaries
MCP moves tool calls; HACP governs accountable work
Giving an agent a clean way to call a deployment tool solves capability access. It does not answer who approved this deployment, which evidence they saw, what scope they allowed, or what should happen when the request no longer matches.
These layers compose
MCP, REST APIs, queues, CLIs, and agent frameworks can describe capabilities, carry requests, return responses, and enforce their own runtime controls. HACP addresses a different boundary: the accountable work record around those calls.
Consider a tool exposed through MCP as deploy_canary(service, revision). The MCP surface can define and transport that call. A HACP task packet can record why the work was requested, the exact service and revision, the evidence expected, production as forbidden scope, and the stop conditions. A human decision can approve one bounded successor. A report can return the tool result as evidence for another decision.
Responsibility matrix
| Question | MCP/API/runtime layer | HACP layer |
|---|---|---|
| What capability exists? | Defines tools, endpoints, parameters, and protocol messages. | May reference an approved tool profile and command shape. |
| How are bytes moved? | Transport, session, queue, or CLI semantics. | Records transport references without treating delivery as authority. |
| Who approved this bounded work? | Application-specific unless separately designed. | Records the exact human decision and its authority boundary. |
| What evidence supported it? | May return tool results. | Binds findings and evidence to the packet and decision. |
| What if scope or context does not match? | Runtime may reject invalid calls. | Defines typed, reviewable stop outcomes for coordination mismatches. |
| Did an external effect happen exactly once? | Requires provider/runtime-specific evidence. | Does not claim to prove it. |
Approval is not a transport side effect
A tool becoming reachable does not grant permission to use it. A successful JSON-RPC or HTTP acknowledgement does not show that a human approved the exact request. And a HACP record does not override the tool server’s authentication, authorization, policy, or safety checks.
The task-packet schema represents bounded intent and denied authority. The human-decision schema binds the authority-bearing act. The non-goals keep runtime dispatch, hosted execution, and transport replacement out of scope.
What this does not prove
- HACP is not a replacement for MCP, REST, queues, CLIs, or agent frameworks.
- HACP is not runtime authorization enforcement and does not bypass it.
- Transport acknowledgement does not prove reading, comprehension, execution, or approval.
- Tool results are evidence; they are not automatically completion or permission for the next transition.
- HACP records authority but does not create organizational authority.