OpenDeal

OpenDeal is agent-native negotiation for the open web. It demonstrates how AI agents can discover suppliers, compare structured offers, negotiate price, verify delivery constraints, and recommend a transaction through WebMCP — while the human retains explicit authority over the irreversible financial action.

The mission

Buy 100 ANSI Z89.1 Type II safety helmets with four hard constraints:

  • total budget ≤ $2,500
  • delivery by Friday
  • no substitutions
  • final purchase requires human approval

Three supplier contexts expose WebMCP tools for inventory discovery, product specifications, quotes, counteroffers, and delivery checks.

The deterministic negotiation produces:

  • Alpha Industrial: $2,350, Friday — compliant
  • Bravo Safety Supply: $2,325, Friday — compliant and selected
  • Charlie Works: $2,290, Monday — cheaper, but rejected because it violates the delivery deadline

The agent therefore optimizes for the buyer's actual constraints instead of simply choosing the lowest price.

The core WebMCP idea: bounded authority

OpenDeal does not treat human approval as a cosmetic modal. Authorization changes the browser's actual executable capability surface.

Before approval, the suppliers' search, specification, quote, negotiation, and delivery tools are available — but bravo.create_purchase_order does not exist.

When the human approves Bravo's exact $2,325 offer, OpenDeal dynamically registers the purchase capability. After the order executes, that capability is removed and replaced with bravo.get_order_status.

A live Chrome/WebMCP run verified the lifecycle directly from document.modelContext:

  • PRE-APPROVAL: 15 tools; purchase capability absent
  • APPROVED: 16 tools; bravo.create_purchase_order present
  • ORDERED: 16 tools; purchase capability absent; bravo.get_order_status present

The workflow is:

discover → evaluate → negotiate → recommend → human authorize → execute → observe

Why WebMCP is a strong fit

Without WebMCP, an agent would usually need supplier-specific APIs, DOM scraping, brittle browser automation, or a centralized marketplace integration.

With WebMCP, each website intentionally exposes structured actions using explicit schemas. The website controls which capabilities exist, their scope, and their lifecycle. The agent gets reliable machine-usable actions without guessing how to click through a UI.

That creates a better user experience: the agent handles repetitive discovery, comparison, negotiation, and constraint checking, while the person keeps control over the action that commits money.

What people and agents can do together

The human provides the objective and authority boundary. The agent performs the multi-supplier work that would otherwise require repetitive browsing, quote collection, comparison, and follow-up. The human only steps back in when the transaction crosses the approval boundary.

The important distinction is that the system does not merely say the agent lacks purchasing authority — the purchase operation is genuinely unavailable until authorization occurs.

Implementation

OpenDeal is intentionally dependency-light so the WebMCP behavior remains visible and auditable. It uses:

  • modern JavaScript ES modules
  • HTML and CSS
  • browser Web APIs
  • document.modelContext.registerTool()
  • getTools() and executeTool()
  • structured tool input schemas
  • deterministic supplier pricing and delivery policies
  • AbortController-scoped tool lifecycles
  • an explicit transaction state machine
  • a visible execution ledger and WebMCP inspector
  • automated domain and lifecycle tests

Each supplier registers five base capabilities. The selected supplier's purchase tool is dynamically registered only after approval, then removed after use and replaced by an order-status capability.

The implementation also includes explicit buyer-origin allowlisting support for deployments where supplier contexts live on distinct origins; the challenge deployment is kept same-origin on Netlify for simple, reproducible judging.

Why it matters

Procurement is only the demonstration domain. The same capability-boundary pattern can apply to travel, logistics, reservations, insurance, professional services, or any workflow where agents need meaningful autonomy without unlimited authority.

OpenDeal explores a web where agents do not need to imitate human clicking. Websites become intentional participants in agent-mediated transactions, and humans retain explicit control over the boundaries that matter most.

Built With

Share this project:

Updates