EventReady documentation
WebMCP implementation
Understand how EventReady exposes one visible event plan to people and agents through nine page-owned WebMCP tools.
Architecture
EventReady is a dependency-free static application. Pure planning modules evaluate provider contracts and event requirements. A single EventSession coordinates those outputs, and both the consumer interface and WebMCP registry operate on that same session.
The page remains the source of truth. A tool does not maintain a hidden copy of the plan or produce a result the user cannot inspect.
Experience model
The tool surface follows the customer journey instead of mirroring buttons or internal endpoints.
- 1Understand
Structure the brief and preserve provenance.
- 2Assess
Find coverage, timing, budget, and ownership gaps.
- 3Compare
Rank complete service plans by operational fit.
- 4Compose
Refine the event basket and service level.
- 5Coordinate
Give each remaining responsibility an owner.
- 6Confirm
Keep external commitments explicit and human-controlled.
- 7Run
Produce a chronological operating plan.
Tool contracts
Nine contracts are registered on the page: three read-only Answer tools, five product Actions, and one clearly separated demo utility.
get_event_briefAnswerRead current event facts and provenance.
assess_event_readinessActionAssess coverage, timing, ownership, and blockers.
get_readiness_reportAnswerRead domains, risks, responsibilities, and status.
select_event_planActionChoose one visible service-plan alternative.
assign_responsibilityActionGive required work an explicit owner.
change_service_levelActionRecalculate provider and human responsibilities.
confirm_event_assumptionActionCorrect an assumption without losing intent.
get_run_of_showAnswerRead the chronological operating handoff.
reset_demo_eventUtilityRestore the canonical wedding scenario.
No tool books a provider, sends a message, charges a card, or accepts terms.
Safety boundaries
External provider content is data, never instruction. The planning engine reads a fixed allowlist of fields, quarantines instruction-like content, escapes output before rendering, and ranks deterministically.
- Fixed schemasUnknown provider fields do not influence planning or ranking.
- Injection quarantineInstruction-like copy is removed while legitimate service data remains usable.
- Human controlExternal commitments remain confirmations and handoffs, not simulated transactions.
- Explicit uncertaintyMissing availability, pricing, or terms remain unknown rather than inferred.
Verification
The implementation is designed to be inspectable without special credentials or a WebMCP-capable browser.
npm test # 212 deterministic tests
npm run smoke # artifacts, contracts, scenarios, and production routes
npm run visual # responsive screenshots, overflow, errors, and receipt flow
Resources
- Application
- eventready-webmcp.vercel.app
- Repository
- github.com/royvergara/eventready-webmcp
- License
- MIT License
- Prototype boundary
- Fictional providers; no real booking or payment