Read your SignUpGenius sign-ups, groups, and slot reports — and add members or RSVP.
Documents
signupgenius
Try itRead sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like "check SignUpGenius", "what am I signed up for", "what slots are left for [event]", "available slots", "list my SignUpGenius groups", "add [person] to my [group] group", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.
What it does
Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like "check SignUpGenius", "what am I signed up for", "what slots are left for [event]", "available slots", "list my SignUpGenius groups", "add [person] to my [group] group", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.
The skill document
signupgenius-mcp
MCP server for SignUpGenius — 14 read tools + 2 write across profile, groups, sign-ups, and reports.
Setup
Three auth modes, tried in priority order — first match wins. You only need one.
Mode 1 — fetchproxy fallback (zero env vars, recommended)
Install the fetchproxy extension once, sign into signupgenius.com, and add to .mcp.json (project) or ~/.claude/mcp.json (global):
{
"mcpServers": {
"signupgenius": {
"command": "npx",
"args": ["-y", "signupgenius-mcp"]
}
}
}
At startup the MCP reads your accessToken / cfid / cftoken cookies once via the extension, then talks to SignUpGenius directly — the extension is not in the request hot path after that. Works with free accounts.
Mode 2 — session login (email + password)
Add an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):
{
"mcpServers": {
"signupgenius": {
"command": "npx",
"args": ["-y", "signupgenius-mcp"],
"env": {
"SIGNUPGENIUS_EMAIL": "you@example.com",
"SIGNUPGENIUS_PASSWORD": "your-password"
}
}
}
}
Mode 3 — Pro API key (required for slot reports)
The three signupgenius_report_* tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from Pro Tools → API Management in your SignUpGenius dashboard (Pro subscription required), then:
"env": { "SIGNUPGENIUS_USER_KEY": "your-api-key" }
Modes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.
Tools
Profile
signupgenius_get_profile— Your own profile (name, email, account type).
Groups
signupgenius_list_groups— Every group you own or belong to.signupgenius_list_group_members— Members of one of your groups.signupgenius_get_group_member— One member's full record.signupgenius_add_group_member(write) — Add a person to one of your groups.
Sign-ups — created by you
signupgenius_list_created_active— Sign-ups you've created that are still open.signupgenius_list_created_expired— Sign-ups you've created that have ended.signupgenius_list_created_all— Both active and expired in one call.
Sign-ups — others'
signupgenius_list_invited— Sign-ups you've been invited to.signupgenius_list_signedupfor— Sign-ups you've taken a slot on. (Session-mode also includes the bonussignupgenius_legacy_get_my_signupswhich calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)signupgenius_legacy_get_my_signups(session only) — Bonus richer "what am I signed up for" lookup.
Public sign-up
signupgenius_get_public_signup— Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. No auth required. Metadata only — it carries no slots.signupgenius_list_slots— Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). No auth required, and it works on sheets the user did not create. Reach for this first for "what's still open" — the report tools below cannot answer it for someone else's sheet.signupgenius_rsvp(write) — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Not for slot-based sheets.signupgenius_claim_slot(write) — Sign up for a slot on a slot-based sheet. Call it WITHOUTconfirmfirst to get a dry-run preview of the slot and identity, show that to the user, then call again withconfirm: true. Pass the sheet's required custom fields (read them fromsignupgenius_get_public_signup).signupgenius_release_slot(write) — Give up a slot the user signed up for. Same two-step confirm as above. Takesitem_member_idandslotitemidfrom the samesignupgenius_list_slotsrow; it only ever withdraws the signed-in user's own entry and refuses anyone else's.
Reports — slots for a sign-up (Pro key only, owner-scoped)
signupgenius_report_all— Every slot + participant on a sign-up.signupgenius_report_filled— Filled slots only.signupgenius_report_available— Available slots only.
These need SIGNUPGENIUS_USER_KEY and answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use signupgenius_list_slots for availability and participant names on any sheet; the reports add only what it cannot carry: custom-question answers.
Outside key mode these fail fast with a KeyModeRequiredError naming the tool, the mode required and the mode in effect, and instructing the user to set SIGNUPGENIUS_USER_KEY.
Trigger examples
- "Check SignUpGenius — what am I signed up for this week?" →
signupgenius_list_signedupfor(+_legacy_get_my_signupsin session mode) - "What slots are still open on the PTA potluck sign-up?" →
signupgenius_list_slots(no auth, works on anyone's sheet) - "Who signed up for which slot on MY potluck?" →
signupgenius_report_all(Pro key, own sheets only) - "List my SignUpGenius groups" →
signupgenius_list_groups - "Add Jordan Smith () to my Scouts group" →
signupgenius_add_group_member - "What sign-ups have I created that are still active?" →
signupgenius_list_created_active - "RSVP me to slot 3 on this SignUpGenius link" →
signupgenius_rsvp
Gotchas
- Reports require Pro.
signupgenius_report_*only work withSIGNUPGENIUS_USER_KEY— session/fetchproxy users get a clear error pointing at the key. - SSO accounts not supported. Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.
- Session listings collapse. In session mode the v3
signups/createdendpoint returns active + expired in one paginated call — the threelist_created_*tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction. - Write surface is small. Only
signupgenius_add_group_memberandsignupgenius_rsvpmutate; everything else is read-only. - ToS caveat. SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.
Related skills
Access SignUpGenius (sign-ups, groups, RSVPs) from a shell with curl instead of running the signupgenius-mcp server — server-side email/password login to a JWT + cfid/cftoken cookies, then curl the v3 API and legacy /SUGboxAPI.cfm dispatcher directly. Use when you want SignUpGenius data without the MCP, in a script, or on a machine where the MCP isn't installed.
Generate private meeting briefings from Fulcra calendar data with optional CRM notes and web research.
Organize child activity registrations with deadline tracking, document checklists, payments, gear, schedules, transportation, and follow-up reminders.
Extract staffing plans from event documents
Read and manage Google Calendar events through authenticated REST API calls.