Skip to main contentSkip to footer
Application GuidePublic Web

Every agent-callable web action is a transaction.

Hidden browser automation makes public website actions unsafe. WebMCP action surfaces define the four parts of any safe transaction: inputs, state, review, approval.

Updated April 21, 2026

Key Facts

Best fit
Product teams designing public websites with agent-callable actions, especially commerce, travel, support, forms, and account operations
Primary risk
Opaque action commitment: the agent crosses from preparation into execution without a visible approval boundary
Core shift
Hidden browser automation → explicit website transactions with declared inputs, states, and approval rules
Success signal
Users can see what the agent prepared, what is blocked, what needs approval, and what was committed
Doctrine mapping
P1, P7, P8, P9
Every agent-callable web action is a transaction.

In this section

From clickable UI to transaction design

WebMCP changes the design problem for public websites. Once agents can call declared tools instead of guessing through the DOM, your action surfaces stop being interface shortcuts and become operational contracts. A booking, submission, account update, payment, or bulk change now needs a clear boundary, visible progress, explicit blockers, and a named approval moment. If you do not design those elements directly, your users still delegate work, but they do it through hidden automation with weak trust and poor control. Written by the AI Design Blueprint editorial team. Doctrine grounded in the 10 Blueprint Principles.

Why does the standard WebMCP action approach fail?

Most teams start from the wrong inheritance: a website built for an attentive human, then lightly wrapped for an agent. That produces recurring failure modes.

Failure mode 1: Opaque Click Commit.

A single action bundles validation, side effects, and commitment into one hidden step. The agent can trigger the action, but the user cannot inspect what changed before it becomes real. The consequence is accidental execution and poor accountability.

Failure mode 2: Background Drift.

The site lets the agent search, compare, and queue work asynchronously, but exposes little state beyond a spinner or chat message. Users cannot tell whether the agent is waiting, blocked, retrying, or ready for review. That creates abandonment and duplicate work.

Failure mode 3: Auditless Automation.

The system produces an outcome without a legible trace of inputs, decisions, and blockers. When a booking fails or a bulk action affects the wrong items, the team has no usable inspection surface to debug or justify the result.

How do you implement WebMCP action surfaces?

Use a transaction-first design based on P4 – Apply progressive disclosure to system agency, P8 – Make hand-offs, approvals, and blockers explicit, and P10 – Optimise for steering, not only initiating.

Define the delegation boundary before writing any prompt: what the agent may prepare, what it may commit, and what it may never execute.
Separate preparation from commitment so the system can show a review state before any real-world side effect occurs.
Name the operational states in user language, such as Drafting, Waiting for approval, Blocked by missing document, or Completed.
Attach explicit blockers to each transaction with the reason, required actor, and next action.
Provide a compact default review view, then expandable evidence such as source pages, field diffs, and validation checks.
Add steering controls during execution: pause, reprioritise, edit constraints, retry one step, or cancel safely.
Task: prepare and submit a website action as a bounded transaction
Scope: use only declared fields, constraints, and tool permissions for this surface
Escalate when: the action becomes binding, irreversible, regulated, or missing required evidence
Success signal: the user can review the prepared change, approve or reject it, and inspect the final outcome

How should WebMCP approval tiers and governance work?

Anti-pattern

Click-replay commitment

Blueprint pattern

Declared transaction with separate prepare, review, and commit stages

Anti-pattern

Screenshot-based status guessing

Blueprint pattern

Named operational states such as Running, Waiting for approval, or Blocked

Anti-pattern

Chat-only approvals

Blueprint pattern

Dedicated approval surface with field diffs, evidence, and explicit accept or reject actions

Anti-pattern

Raw API or automation errors

Blueprint pattern

User-relevant blockers with cause, owner, and next step

Anti-pattern

One-shot initiation flow

Blueprint pattern

Steerable work with pause, edit constraints, reprioritise, retry, and cancel controls

What does real-world WebMCP proof look like?

These traces show P7 – Establish trust through inspectability and P8 – Make hand-offs, approvals, and blockers explicit in practice.

What is a WebMCP action surface?

It is the declared interface your website exposes for an agent-callable action. Instead of relying on DOM imitation, the site defines the action’s inputs, constraints, state, outputs, and approval rules in a form the agent and the user can both understand.

When should I add an approval boundary?

Add one whenever the action becomes binding, costly, identity-sensitive, regulated, destructive, or difficult to reverse. Read-only retrieval and low-risk drafting often fit Tier 1, but submissions, bookings, messages, and updates usually need at least Tier 2.

Does every agent action need human approval?

No. The goal is not maximum friction. The goal is explicit governance. Low-risk actions can run autonomously if the policy is clear and the result remains inspectable. Approval should appear where consequence appears.

How is this different from browser automation?

Browser automation imitates how a human moves through the page. A WebMCP action surface declares what the action means. That makes it easier to validate inputs, expose progress, explain blockers, and inspect how a result was produced.

What should users see while the agent works in the background?

Show meaningful operational state, not low-level process noise. Users should be able to tell whether the agent is searching, waiting for approval, blocked by missing data, retrying, or done. Those states should persist beyond the current chat turn or page view.

What tooling do I need to support inspectable transactions?

At minimum, you need declared tool schemas, transaction logs, state labels, a review surface, and policy-based approval routing. For higher-risk workflows, add evidence capture, field-level diffs, batch controls, and role-based permissions.

How do I handle multi-step flows like checkout, returns, or onboarding?

Model them as a system of stages rather than a single action or a chat transcript. Each stage should have its own inputs, blockers, outputs, and escalation rule, so the user can steer work in progress instead of restarting the whole flow.

Getting started checklist for WebMCP action surfaces

Use this rollout list to apply P1 – Design for delegation rather than direct manipulation and P8 – Make hand-offs, approvals, and blockers explicit.

List every public website action an agent could call directly.
Mark where each action moves from preparation into real-world commitment.
Assign Tier 1, Tier 2, or Tier 3 governance to every action surface.
Define user-facing operational states and blocker messages for each transaction.
Add a review surface with evidence, diffs, and explicit approve or reject controls.
Instrument logs so teams can inspect how outcomes were produced.
Open Blueprint to validate your architecture

Next steps for WebMCP transaction design

If you are formalising approval-bound action surfaces, continue with P7 – Establish trust through inspectability and P9 – Represent delegated work as a system, not merely as a conversation.

Basic → Complete Foundations
Pro → Validate in Pro
Teams → Install Context Package

Apply the doctrine