Who's In WebMCP Tools — Live
Call all 7 read-only tools directly from your browser. No API key, no setup. These are the same tools AI agents (Claude, Gemini, ChatGPT) use via navigator.modelContext.
Suggested workflow
Start with search_events or get_popular_events to find an event ID, then use that ID in get_event_details, check_availability, and get_rsvp_link.
All 7 Tools
search_eventsSearch public events by keyword, location, or date range.
get_event_detailsRetrieve full event data by ID or URL slug.
check_availabilityCheck remaining capacity, waitlist status, and next action.
get_rsvp_linkGet the direct RSVP/booking URL. Agents present this — never auto-submit.
get_popular_eventsBrowse events sorted by attendance — most popular first.
list_categoriesList all 21 event category types with values and emoji icons.
get_club_infoRetrieve public club info by ID or URL slug.
Browser Console Access
All tools are also callable directly from DevTools — no WebMCP required.
// Search events
await window.__whosin.searchEvents({ query: "yoga", location: "London" })
// Get popular events by category
await window.__whosin.getPopularEvents({ limit: 5, category: "hiking" })
// List all categories
await window.__whosin.listCategories()
// Get RSVP link (human confirmation required)
await window.__whosin.getRsvpLink('your-event-id')
// Get club info
await window.__whosin.getClubInfo('your-club-slug')
Rate Limits & Safety
In-session (per page load)
Max 30 calls/min per tool (60/min for list_categories). Prevents runaway agent loops.
Server-side (REST API)
100 req/min across all public endpoints. Enforced at the Firebase function level.
Human-in-the-loop
get_rsvp_link returns an agentInstruction field explicitly preventing auto-submit.
Audit logging
All tool calls are logged to Firestore (_agentCalls) for monitoring and transparency.