Testing
Verify FullCalendar WebMCP tool discovery, event reads and mutations, UI refresh, and durable host persistence with a done-when checklist.
Use this checklist after the Quickstart when you want a fuller smoke test. The Quickstart → Verify section is the canonical first-time path (Chrome flag → DevTools WebMCP panel → Run tool).
Before production, also review the Security checklist.
Done when (package integration)
These checks prove the package + repository wiring from the Quickstart. They do not require FullCalendar drag/resize handlers.
- Chrome WebMCP enabled (
chrome://flags/#enable-webmcp-testing) and calendar loaded onlocalhost - Application → WebMCP → Available Tools lists all six
calendar_*tools - Manual
calendar_get_contextmatches the on-screen view and timezones - Manual
calendar_list_eventsmatches visible events - Manual
calendar_create_event/calendar_update_event/calendar_delete_eventupdate the UI without a manual refresh - Hard reload keeps agent (tool) mutations — host persistence works
Steps
Follow Quickstart → Verify for the canonical registration and smoke-test path. Then run create, update, and delete from DevTools and confirm:
- UI updates without manual refresh (
onEventsChanged) - Hard reload retains mutations
calendar_delete_eventreturns{ deleted: true, event }with the pre-delete snapshot
Optional: host human and agent convergence
FullCalendar WebMCP does not automatically persist drag, resize, or other FullCalendar UI edits. The Quickstart does not wire eventDrop / eventResize. Those handlers are host code.
If your app already persists human edits through the same repository (see Existing app → Persist human edits), optionally verify convergence:
- Drag or resize a test event in the FullCalendar UI (your host handler must call
repository.update). - In DevTools WebMCP, run
calendar_get_eventwith that event’s id. - Confirm the tool returns the updated times.
If this fails but agent tools work, the package integration is still fine — wire human callbacks to the repository.
If a required step fails, use Troubleshooting.