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_orderpresent - ORDERED: 16 tools; purchase capability absent;
bravo.get_order_statuspresent
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()andexecuteTool()- 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
- css3
- es-modules
- github
- html5
- javascript
- netlify
- web-apis
- webmcp
Log in or sign up for Devpost to join the conversation.