experimental-ext-triggers-e.../docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Peter Alexander 641eca02a7
Revise Events design sketch: webhook cursor model, subscription identity, security hardening
Resolve internal contradictions and design gaps found in review:
- Webhook cursors are now client-owned (per-event retry, no server watermark); name/params/delivery.url are immutable identity fields; unsubscribe requires delivery.url
- Unify error/terminated shape across modes; define heartbeat and terminated notifications; renumber error codes to -32011..-32016 to avoid base-spec collision
- SSRF: validate at delivery time, block fe80::/10, MUST NOT follow redirects; HMAC: X-MCP-Subscription-Id header, hex-lowercase encoding, mandatory timestamp, retry regenerates
- events/stream scoped to event notifications only (existing GET SSE retained); StreamEventsResult send rules clarified per transport
- Broadcast emit now uses author-supplied match/transform hooks with ctx; poll lease keyed on (principal, eventName, hash(params)); eventId SHOULD be upstream's stable identifier
- Qualify at-least-once for emit-only types; refresh reactivates suspended delivery; capability uses listChanged
- Add Open Questions on multi-event-name subscriptions and ownership-verification handshake

Add design-sketch-revision-deltas.md documenting all changes for implementations built against the prior revision.
2026-04-17 11:52:12 +01:00
..
design-sketch-proposal.md Revise Events design sketch: webhook cursor model, subscription identity, security hardening 2026-04-17 11:52:12 +01:00
design-sketch-revision-deltas.md Revise Events design sketch: webhook cursor model, subscription identity, security hardening 2026-04-17 11:52:12 +01:00