Consent Dividend

Consent-Signal Coverage Gaps in Live MCP Agent Data Streams

Human decision records don't travel with MCP agent calls.

· 9 min read
Cover illustration for “Consent-Signal Coverage Gaps in Live MCP Agent Data Streams”
AI Agent Data Access Risk · October 26, 2026 · 9 min read · 2,007 words

Real-time AI agent observability for MCP-connected data access requires a gateway that shows live tool calls and links them to the human decision behind the workflow. MCP records which software client made the call and which account's permissions it used, but not who decided the action should happen. That consent-signal gap grows with every server and workflow hop, so monitoring must link data access to human authority as well as collect logs.

What MCP's architecture actually records about every agent call

Anthropic introduced the Model Context Protocol in late 2024 to standardize access to tools, resources, and prompts through a client-server architecture. The Archestra catalog mid-2026 snapshot counted over 900 servers, with authentication largely converging on OAuth 2.1 + PKCE and gateway-fronted deployments dominating production. Those components show how clients connect and whose permissions they use. They do not establish who made the decision.

The revision published July 28, 2026 made client identity explicit on every request through _meta, including protocol version, client info, and capabilities. This followed the move to stateless operation. The account was already represented by an OAuth token, so a request could identify both the software client and the account authorizing access. The revision added no field for the person who requested, approved, or clicked to cause that particular action.

That distinction limits what an audit record assembled from MCP messages can prove. It can name the software and account, but those messages alone cannot identify the person who decided the call should happen. An account identity is not a decision record. Every action therefore has three separate identities: the agent making the call, the account whose permissions it uses, and the person who caused the action. MCP represents the first two without recording the third.

Why the specification acknowledges the person but cannot enforce their presence

The July 28, 2026 specification says users must explicitly consent to all data access and operations, and hosts must get that consent before they let servers access user data. The intent is clear, but enforcement is separate. The NSA's advisory on MCP quotes the specification's admission that “MCP itself cannot enforce these security principles at the protocol level,” and notes that some implementations do not support codifying approvals at all.

The protocol does account for the person in an approval that pauses a task mid-flight. In that case, the server must verify who is answering. Yet the specification also documents an attack in which a malicious user starts an approval, a colleague completes it, and access lands with the initiator. It calls this “account takeover.” Neither the CRM record nor the MCP server record has to be wrong for both to fail to reveal what happened.

The specification's remedy is that the same person must start and finish the approval. Verifying that requires identity confirmation outside the protocol. Even when a workflow approval works as it should, an already-trusted server can often gain capabilities or access to more data without re-approval. Consent given at onboarding does not automatically cover those changes. The specification can state the obligation, but the deployment must supply evidence that the obligation was met.

The ConLeash consent middleware paper documents a Claude-powered coding agent in Cursor, running Claude Opus 4.6, deleting a production database and all volume-level backups in a single API call to Railway. There was no confirmation prompt. The Cursor workflow lacked a safeguard in Railway's API. The paper also documents an OpenClaw agent deleting a researcher's emails despite explicit instructions not to, showing that natural-language limits were not enforceable authorization.

ConLeash describes deployments that offer “Allow Once” or “Always Allow” at the tool level, even when one tool exposes much broader authority than the immediate task requires. Allowing a GitHub MCP tool to review a public issue may inadvertently authorize access to all repositories exposed through that tool. The tool-level approval cannot reliably distinguish a user's decision from an agent exceeding what the user meant.

More prompts are not a complete answer. The Coalition for Secure AI MCP Security paper identifies consent fatigue as a risk to human-in-the-loop protections because users can approve reflexively. ConLeash also found that all 16 participants in its study trusted its boundary-based consent decision over LLM-based auto-consent when the two disagreed on a concrete conflict. Yet 14 of 16 would still use Auto mode for tasks where little was at stake. That contrast points to the need for enforceable boundaries without constant interruption.

A user's request can pass through an orchestrating agent, traverse intermediate MCP servers, and reach a downstream tool. At each hop, the call is made on behalf of the original caller. But a consent decision made at the first boundary does not automatically travel to the next, leaving intermediate servers without a reliable record of what the person authorized. At production scale, a component can use its authority for a request whose original limits it cannot establish.

An agent connected to Jira for project management and a cloud analytics tool might leak data through a chained sequence of calls across a boundary neither tool was designed to permit. Each server can appear harmless in isolation. The combination creates access neither could provide alone, while the missing consent record makes it difficult to establish whether the transfer matched the user's decision.

Kang and Diponegoro's governance gaps paper finds that no current interoperability protocol encodes the full set of capabilities needed for governed agent communities. It finds gaps in how decisions between hops are recorded or challenged, as well as in how requests are sent. The Archestra snapshot highlights a related identity limit, with servers seeing user or service tokens rather than a complete statement of which agent is acting for which user under which constraints. Client metadata does not supply that delegated relationship. Across a chain, a log of permitted calls is therefore not a trace of human authority.

The strongest objection is that OAuth 2.1, tighter token scopes, per-tool role-based access control, and gateway policy already govern these calls. They do protect data by limiting access and enforcing permissions. That work should not be dismissed as cosmetic. It answers whether a call was permitted, while consent traceability answers whether a person decided that specific action should happen at that moment.

Kadaboina's Anumati paper identifies a related accountability gap when a calling agent accepts a callee's terms of service. The protocol provides no mechanism to prove that the agent understood those terms or subsequently honoured them. The proposed Agent Consent and Adherence Protocol, or ACAP, separates timestamped acceptance from per-action adherence records and places enforcement at middleware boundaries without changing MCP or A2A core specifications.

That approach has an unresolved cost question. The reference Python implementation has not published overhead measurements, so its suitability for high-frequency calls remains unproven. Prompt-level controls offer another useful but incomplete layer. The MCPHunt study found that they can substantially reduce policy-violating propagation while preserving most utility, but their effectiveness varies with instruction-following capability. Better authentication and better prompts can lower the risk without creating the missing human-decision record.

Where the gap becomes a compliance exposure under GDPR and the EU AI Act

Under GDPR and the EU AI Act, a missing human-decision record puts organizations at risk of failing to comply because they need to show who had authority for the data processing as well as who accessed the data. When an agent acts on its own to search customer files, read emails, or combine data across systems, that processing poses a high risk to privacy, especially with special categories such as health data. An access log answers only part of that question. Without a linked consent signal, it does not demonstrate that an identified human decision authorized the processing.

The EU AI Act's transparency obligations took effect on August 2, 2026. After the Digital Omnibus on AI deferral, high-risk requirements take effect on 2 December 2027 for Annex III stand-alone systems and 2 August 2028 for Annex I product-embedded systems. Where agents invoke APIs, including MCP servers, the action layer falls within the Act's cybersecurity and logging mandates, and a chain's compliance boundary extends to every agent performing a high-risk function.

Regulated enterprises face the sharpest operational consequence. Their MCP gateways must enforce security, privacy, and residency rules on every AI-to-tool interaction, even when the connection has already been approved. Without that enforcement, each agent connection becomes an ungoverned data access point. The technical gap becomes an audit problem when an organization can produce account and tool records but cannot connect the processing to its human authority.

Why the gap widens as live data streams multiply in production

Each server added brings another live stream whose calls need a consent record that can be checked and enforced. More workflow hops also create more boundaries across which the original decision can disappear. This is not a fixed documentation defect. As the fleet grows, the organization must account for more access paths without gaining any new protocol-level evidence of who authorized them.

The Cloud Security Alliance's agentic security best practices report that over 30 CVEs were filed against MCP servers, clients, and infrastructure between January and February 2026. The most severe finding, CVE-2025-6514, affected the widely-used mcp-remote proxy package in a very large number of environments where it was installed. Those findings show how quickly the infrastructure requiring governance has expanded while the human-decision record remains absent.

The GuardBee gap analysis identifies fleet-wide shadow MCP inventory as only partially covered in issue #198 because discovery reporting is limited to a single machine. That leaves organizations unable to enumerate the servers whose consent coverage they own. Server quality also varies sharply. The Archestra snapshot describes a top quartile that looks like real infrastructure and a bottom quartile that looks like experiments left running, with a sizable share built by a single engineer and little visibility into how they were built. Sandboxing remains optional, and many default installations run with full filesystem access, so missing consent records can coexist with broad, uncontained access.

What closing the gap actually requires at the gateway layer

Consent traceability needs to be built into the gateway layer. A responsible gateway must link each call's agent identity and OAuth account to the specific human decision that started the workflow. The record needs to establish who approved the action and when, alongside the account's permission.

For teams asking how to monitor what data an agent accesses through MCP in real time, the distinction is live visibility versus post-hoc evidence. The gateway must show what the agent is touching as calls happen and link that activity to the consent boundary that applies. Logs put together after an incident provide evidence of what happened. A fleet-wide server registry is also needed, because organizations cannot take responsibility for consent coverage on servers they do not know about, and changes to a known server's capabilities or data access must prompt re-consent even if the server was approved at onboarding.

That oversight must keep fine-grained access controls in place. Per-tool RBAC lets an organization make and record a decision such as “allow read_issue but not delete_repository,” limiting authority to specific tools. ACAP offers an architectural direction for linking timestamped acceptance with per-action adherence at middleware boundaries. It does not remove the need to measure overhead. Its value is showing that the missing evidence can be added without changing the core interoperability specifications.

ConLeash offers a complementary way to keep that control usable, automatically permitting calls inside a previously authorized boundary and escalating boundary crossings. Its research reports high accuracy with dramatically fewer prompts, showing that traceability need not mean approving every call by hand. The GuardBee roadmap and the governance gaps paper likewise frame missing consent support as addressable through extensions and middleware. Consent traceability should be funded as governance infrastructure. Organizations that can demonstrate those boundaries have the guardrails needed to say yes to production deployment.

Sources

  1. MCP security roadmap (gap analysis 2026-10-22) · Issue #206 · GuardBee/guardbee-mcp · GitHub
  2. Governance Gaps in Agent Interoperability Protocols: What MCP, A2A, and ACP Cannot Express
  3. Options, Not Clicks: Lattice Refinement for Consent-Driven MCP Authorization
  4. MCPHunt: An Evaluation Framework for Cross-Boundary Data Propagation in Multi-Server MCP Agents
  5. Anumati: Proof of Adherence as a Formal Consent Model for Autonomous Agent Protocols
  6. Model Context Protocol (MCP) Security

More in AI Agent Data Access Risk