Skip to main content
Glama
chrischall

signupgenius-mcp

by chrischall

signupgenius-mcp

CI npm license

MCP server for SignUpGenius. 15 read tools and 4 write across profile, groups, sign-ups, reports, public sign-up metadata, slot listings, RSVPs, and slot claim/release.

Reading a sign-up needs no credentials at all: signupgenius_get_public_signup (title, description, organizer, required questions) and signupgenius_list_slots (dates, times, locations, capacity, who has signed up and how many spots each entry takes) work on any public sheet, including ones you did not create. The two slot writes — signupgenius_claim_slot and signupgenius_release_slot — need a signed-in session and both require an explicit confirm: true, returning a dry-run preview otherwise.

Three auth modes (tried in this priority order — first match wins):

  1. Pro key mode. Uses the documented Pro API key. Required only for the slot REPORT tools (filled/available/all-participants). Pro subscription needed.

  2. Session mode. Logs in with your normal email/password to call the same web API the signupgenius.com dashboard uses. Free accounts work. No SSO/2FA.

  3. fetchproxy fallback (no env vars needed). When no env vars are set, the server reads accessToken / cfid / cftoken cookies once at startup from your already-signed-in signupgenius.com tab via the fetchproxy browser extension. After that one read, all SignUpGenius API calls go directly from Node — the extension is not in the request hot path. Install the extension once, sign into SignUpGenius, and the MCP just works.

Set SIGNUPGENIUS_DISABLE_FETCHPROXY=1 to opt out of the fallback (turns missing credentials into a hard error — useful in headless CI).

Tools

Domain

Tools

Mode

Profile

signupgenius_get_profile

both

Groups

signupgenius_list_groups, signupgenius_list_group_members, signupgenius_get_group_member, signupgenius_add_group_member (write)

both

Sign-ups

signupgenius_list_created_active, _expired, _all, signupgenius_list_invited, signupgenius_list_signedupfor

both

Sign-ups (extras)

signupgenius_legacy_get_my_signups

session only

Reports

signupgenius_report_all, signupgenius_report_filled, signupgenius_report_available

key only

Notes on session-mode sign-up listings: the v3 endpoints signups/created, signups/invited, and signups/signedupfor return the full list in one paginated call (no separate active/expired URLs). The three signupgenius_list_created_* tools all map to the same endpoint in session mode; filter by enddate client-side. The bonus signupgenius_legacy_get_my_signups calls the same backend the SignUpGenius wizard itself uses and sometimes returns fuller data.

Reports outside key mode fail fast with a KeyModeRequiredError naming the tool, the mode required and the mode in effect, telling the user to set SIGNUPGENIUS_USER_KEY — and pointing at signupgenius_list_slots, which answers slot availability for any sheet with no auth at all.

Related MCP server: whmcs-mcp-server

Configuration

SIGNUPGENIUS_EMAIL=you@example.com
SIGNUPGENIUS_PASSWORD=your-password
SIGNUPGENIUS_NAME=Family               # optional, log label only

The server logs into signupgenius.com on first request, caches the JWT and session cookies, and silently re-logs in on a 401. Treat .env like a password file — it's gitignored here, do not commit.

Direct email/password accounts only. Won't work with Google/Apple/Facebook/Microsoft SSO or 2FA, same caveat as similar sibling MCPs.

Key mode (Pro only)

SIGNUPGENIUS_USER_KEY=your-api-key
SIGNUPGENIUS_NAME=PTA Org              # optional

Find the user key in SignUpGenius under Pro Tools → API Management.

fetchproxy fallback (no env vars)

Install the fetchproxy extension (Chrome Web Store / Safari .dmg), sign into signupgenius.com, and remove the env block from your MCP config. The MCP reads accessToken / cfid / cftoken cookies once at startup and uses them like a session-mode login. No password copy-paste required.

The slot REPORT tools still require Pro key mode — SIGNUPGENIUS_USER_KEY is the only path that hits the documented v2/k Pro API. They are also owner-scoped, so they only answer for sheets the key holder created; for availability and participants on anyone's sheet use signupgenius_list_slots, which needs no auth.

Both at once

Set both Pro key and email/password. Key mode wins. Useful if you have Pro for some accounts and want reports while still using your normal login elsewhere.

Advanced overrides

Env var

Default

Purpose

SIGNUPGENIUS_BASE_URL

key: https://api.signupgenius.com/v2/ksession: https://api.signupgenius.com/v3

Override the JSON API base.

SIGNUPGENIUS_LEGACY_BASE_URL

https://www.signupgenius.com

Override the host for /SUGboxAPI.cfm?go=… legacy calls.

SIGNUPGENIUS_LOGIN_URL

https://www.signupgenius.com

Override the login form host.

SIGNUPGENIUS_DISABLE_FETCHPROXY

unset

Set to 1 to skip the fetchproxy fallback (missing creds become a hard error).

ToS caveat

SignUpGenius's terms generally prohibit scripted/automated access. Session mode is "your own account, your own risk" — fine for personal automation but not something you should run at scale or on accounts you don't own.

Local dev

npm install
npm run build
npm test

Point an MCP host at dist/bundle.js with the env vars above, or run npm run dev after creating a .env.

Tests: vitest, 100% line/branch/function coverage. End-to-end tests against the SignUpGenius API are not in CI by design — running them requires real credentials.

Notes

  • The Pro v2/k API authenticates via a user_key query param. The session API uses a JWT Bearer + session cookie. The client picks the right one based on which env vars you set.

  • All response envelopes are normalized to { data, message, success } (lowercase) regardless of which surface served the request — the legacy SUGboxAPI dispatcher's uppercase envelope is rewritten internally.

  • For testing the Pro v2/k surface without an account, SignUpGenius publishes a frozen demo key: V0FzMkxZcmVOZlVnclZMVEl6dGhWQT09.

Developed and maintained by AI (Claude). Use at your own discretion.

Acknowledgement of Terms

By using this MCP server, you acknowledge and agree to the following:

1. This server accesses your own SignUpGenius account. Auth happens via your own credentials. It does not — and cannot — access anyone else's account or signups.

2. SignUpGenius's Terms of Service govern your use of this server, just as they govern your direct use of signupgenius.com. The clauses most relevant here:

Users may not bypass any robot exclusion headers or other measures we take to restrict access to the Services or use any software, technology, or device to scrape, spider, or crawl the Services.

And: "You are responsible for maintaining the confidentiality of your account user name and password… You agree to accept responsibility for any and all activities or actions that occur in connection with your User Credentials."

You are agreeing to those terms — read by the maintainer 2026-05-23 — every time you invoke a tool in this server. Notably, SignUpGenius does offer an official API for paid plans; where possible, prefer the official API over the endpoints this MCP exercises.

3. Personal, organizer/participant use only. This project is not affiliated with, endorsed by, sponsored by, or in partnership with SignUpGenius, Inc. It is a personal automation tool for an authenticated user to manage their own signups and groups. Do not use it to scrape other organizers' signups, spam participants, or bulk-add fake group members.

4. Stability is not guaranteed. This server may call internal endpoints that SignUpGenius can change without notice. If a tool here breaks, the canonical fix is to use the official API where available.

5. You accept full responsibility for any consequences of using this server in connection with your SignUpGenius account — rate limiting, account warnings, suspension, or any enforcement action. Per the ToS, everything done under your credentials is attributed to you. If SignUpGenius objects to your use, stop using this server.

This section is the maintainer's good-faith summary of the terms — it is not legal advice and does not modify or supersede SignUpGenius's actual ToS.

Available Tools

20 tools
signupgenius_add_group_memberA

Add a member to a SignUpGenius group by email address. First/last name are optional. Writes data — confirm with the user before invoking.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupIdYes
lastnameNo
firstnameNo
emailaddressYesEmail of the member to add to the group.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=false already flags a write operation, and the description reinforces it with 'Writes data' while adding a confirmation requirement beyond the annotation. This is genuinely useful behavioral guidance for a mutating tool, though it does not cover side effects like duplicate-member behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with zero waste: the core action is front-loaded, parameter notes follow, and the write-caution closes. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple add-operation with no output schema, the description covers the action, key parameters, and the confirmation gate. The only notable gaps are what the tool returns on success/failure and the semantics of groupId, both minor for this tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25% (only emailaddress is described), so the description must compensate. It adds that first/last name are optional and that membership is keyed by email, but the required-array already encodes optionality, and groupId receives no additional meaning in either the schema or the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Add a member to a SignUpGenius group by email address.' The operation is distinct from all 19 siblings, which are predominantly read/list/report tools or slot-management tools; none perform group-member addition, so an agent can select this tool unambiguously.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (when adding a member by email) and adds a safety gate ('confirm with the user before invoking'), but it never names alternatives or states when not to use it. No explicit exclusions or comparison to sibling read tools are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_claim_slotA

Claim (sign up for) a slot on a slot-based SignUpGenius sheet. Two-step by design: call WITHOUT confirm first to get a preview of the slot, identity and payload, show it to the user, then call again with confirm:true. WRITES DATA — never call with confirm:true unless the user has explicitly approved this specific slot. For Yes/No/Maybe headcount sheets use signupgenius_rsvp instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesSign-up URL or slug.
emailYes
commentNoOptional comment shown to the organizer.
confirmNoMust be true to actually submit. Omit (or false) to get a dry-run preview of exactly what would be sent, including the identity and the slot.
lastnameYes
quantityNoSpots to take. Default 1.
firstnameYes
slotitemidYesThe slot to claim. Get this from signupgenius_list_slots.
customFieldsNoAnswers to the sheet's required custom questions. Read the required set from signupgenius_get_public_signup.customFields — omitting a required field makes the server reject the claim.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

It goes beyond readOnlyHint/destructiveHint by explicitly stating 'WRITES DATA' and describes the dry-run behavior when confirm is omitted. It also defines the approval gate before mutating data, which annotations cannot convey. This is strong behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose, and every sentence earns its place: purpose, two-step behavior, safety warning, and sibling routing. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter write operation with no output schema, it covers the key contexts an agent needs: preview-then-confirm, write-active, explicit user approval, and which sibling to use for other sheet types. It is complete enough to call and show a user a preview confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds operational meaning to confirm (preview vs submit), but most parameter meaning is already in the schema, with about 67% coverage. Fields like firstname, lastname, and url are self-explanatory, and slotitemid/customFields are documented in the schema. The description contributes workflow context rather than new parameter-level detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Claim (sign up for) a slot on a slot-based SignUpGenius sheet.' It also distinguishes this tool from the headcount-focused sibling signupgenius_rsvp, and references how slot IDs are obtained via signupgenius_list_slots in the schema. An agent can tell exactly what this tool does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit two-step workflow: call without confirm to preview, show the user, then call again with confirm:true. It also warns not to set confirm:true without explicit user approval and tells the agent to use signupgenius_rsvp instead for Yes/No/Maybe sheets. This is clear, actionable guidance with exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_get_group_memberA
Read-only

Get detailed info for a group member (address, phone, email) when the member has provided it via a sign-up.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupIdYes
memberIdYescommunitymemberid returned by signupgenius_list_group_members.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation already provides readOnlyHint=true, but the description adds useful behavioral context: data availability is conditioned on whether the member provided it via a sign-up. This warns the agent that fields may be absent or missing, which goes beyond the annotation. It does not contradict the read-only annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the verb and resource, followed by clarifying detail. It contains no filler or redundant information, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only operation with no output schema, the description adequately covers the function and return fields. It notes the condition for data availability. However, it could be slightly more explicit about edge cases (e.g., what happens if the member did not provide the info), so it stops short of a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema documents memberId with a description, but groupId has no description. The description text does not clarify groupId or add any parameter meaning beyond the schema, so it fails to compensate for the 50% coverage gap. It mentions return fields, but not the parameters themselves.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: retrieving detailed info for a group member, listing specific fields (address, phone, email). The verb 'Get' plus resource 'group member' distinguishes it from siblings like list_group_members, which lists members, and get_profile, which targets a different entity. The condition 'when the member has provided it via a sign-up' further scopes the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: use this when you need detailed contact info for a single member, especially if they provided it via a sign-up. However, it does not explicitly name alternatives or state when not to use it, such as comparing with signupgenius_list_group_members for a list of members. This is only implicit guidance, not explicit differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_get_profileA
Read-only

Get the SignUpGenius profile of the authenticated user (name, email, member ID, subscription level). Useful as a first call to confirm credentials. Key mode hits /v2/k/user/profile; session mode hits /v3/member/profile.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses that there are two distinct modes ('key mode hits /v2/k/user/profile; session mode hits /v3/member/profile'), which is significant behavioral context that affects invocation and interpretation. It also specifies the returned user attributes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the purpose, followed by usage guidance and endpoint details. Every sentence adds value with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema tool, the description is complete: it states what it returns, suggests a use case, and clarifies the two endpoint modes. No critical information appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description adds no parameter details, but none are needed. It compensates by explaining what the profile contains, which is the output semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the specific resource 'SignUpGenius profile', listing the returned fields (name, email, member ID, subscription level). This distinguishes it from sibling tools focused on signups, reports, and groups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage context: 'Useful as a first call to confirm credentials.' It does not name alternatives, but the sibling tools are clearly about other domain objects, so the intended usage is clear. The key/session mode distinction adds practical guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_get_public_signupA
Read-only

Look up a SignUpGenius sign-up by its public URL or slug (e.g. https://www.signupgenius.com/go/<urlid>-<signupid>-<vanity>). Returns the real sheet metadata: title, description, organization, category, creator + contact email, timezone, created/modified dates, whether it is an RSVP or slot-based sheet, and which custom fields a participant must supply to sign up. Requires NO SignUpGenius auth and works for sheets the user did not create. Use signupgenius_list_slots for the actual dates/times and availability — this tool returns metadata only.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesEither a full SignUpGenius sign-up URL (e.g. https://www.signupgenius.com/go/<slug>) or just the slug. The slug looks like `<hex>-<signupid>[-<vanity>]`.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as read-only, and the description adds useful context: no authentication is required, it works for public/external sheets, and it returns metadata only, not availability or slot data. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: what it does, what it returns, and how it differs from the closest sibling. The most important scoping detail (metadata only) is placed at the end but is clearly stated, and there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description enumerates the returned metadata fields in sufficient detail and clarifies the no-auth/public-sheet scope. It also tells the agent where to go for slot-level data, making the tool contextually complete for a single-parameter lookup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter has 100% schema description coverage, including the slug format and accepted forms. The tool description adds a slightly different URL example, but the schema already carries the meaning, so the description provides only marginal additional value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Look up') and resource (a SignUpGenius sign-up by public URL or slug), and it distinguishes itself from sibling tools by explicitly saying it returns metadata only and not slots. This is unambiguous and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use this tool (public signup lookup by URL/slug, no auth, works for sheets the user did not create) and names the alternative for a different need: use signupgenius_list_slots for dates/times and availability. This gives the agent a clear decision rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_healthcheckVerify credentials and upstream reachabilityA
Read-onlyIdempotent

Resolves the credential the way real tools do, then makes one authenticated request to api.signupgenius.com. Reports which source supplied the credential, whether api.signupgenius.com accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a api.signupgenius.com-side problem'. Read-only; never returns the credential itself. Call this when a real tool fails and you want to know which hop broke.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and idempotentHint annotations, the description explains how the credential is resolved, that exactly one authenticated request is made, which diagnostic results are reported, and that the credential itself is never returned. This is substantial behavioral context that annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler: the first states the core action, the second enumerates the output categories, and the third gives the usage trigger. Every sentence earns its place despite minor repetition of the domain name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter health check with no output schema, the description is complete. It covers how it behaves, what it reports, why it is read-only, and when to call it, leaving no essential ambiguity for an agent selecting or invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing for the description to document. The description still clarifies that credential resolution uses the same mechanism as real tools, which is sufficient given the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific diagnostic purpose: resolve the credential and make one authenticated request to api.signupgenius.com to verify it. It distinguishes itself from the CRUD/listing sibling tools by describing itself as the health check to run when a real tool fails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit trigger: call this when a real tool fails and you need to know which hop broke. It does not spell out when not to use it or name alternatives, but the context is clear and no sibling tool performs this health-check role.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_legacy_get_my_signupsA
Read-only

Session mode only. Returns the same sign-up listing the SignUpGenius wizard sees (via /SUGboxAPI.cfm?go=t.getMySignups). Use when you want fuller data than signupgenius_list_created_* provides.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the meaningful constraint 'Session mode only', which is not captured in the annotations (readOnlyHint: true). It also references the specific endpoint, providing context about the underlying behavior. Since readOnlyHint already covers the read-only nature, the description adds supplementary behavioral context without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with the most important constraint ('Session mode only') front-loaded. It delivers purpose, endpoint reference, and usage guidance without any redundant content, making every sentence earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only tool with no output schema, the description is sufficiently complete. It states what the tool does, when to use it, and a key behavioral constraint (session mode). The level of detail matches the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the baseline is 4 per the rubric. The description doesn't need to explain parameters because there are none, and it does not introduce any misleading parameter-related statements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Returns the same sign-up listing the SignUpGenius wizard sees', identifying the specific resource and action. It also differentiates from siblings by noting it provides 'fuller data than signupgenius_list_created_*', which helps distinguish it from similar list tools, though the reference to a wildcard group is slightly less explicit than naming a specific sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use when you want fuller data than signupgenius_list_created_* provides', giving clear when-to-use guidance. It also states 'Session mode only' as a prerequisite, effectively telling the agent when it is applicable. This is strong usage direction beyond simply describing the function.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_list_created_activeA
Read-only

List sign-ups created by the authenticated user. In session mode this returns the full list (active + expired) — filter on enddate client-side if you need only active.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavioral context beyond the readOnlyHint annotation by revealing that session mode returns the full list instead of just active ones, and suggests client-side filtering. This discloses an unexpected behavior and helps the agent avoid misinterpreting the tool's name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first states the core purpose, the second provides a necessary caveat. It is concise, front-loaded, and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains session mode behavior but is silent on non-session mode and how this tool differs from siblings like list_created_all and list_created_expired. Without an output schema, the return format is unspecified, leaving the agent with incomplete context for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty (0 parameters), so the description has no parameter details to add. Per the baseline for 0 params, a score of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists sign-ups created by the authenticated user, but the 'active' aspect is ambiguous: it says 'In session mode this returns the full list (active + expired)', which contradicts the tool's name suggesting an active-only filter. It doesn't clearly distinguish from sibling tools like list_created_all or list_created_expired.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a usage hint for session mode (returns full list, filter client-side for active), but it doesn't explicitly say when to choose this tool over alternatives like list_created_all or list_created_expired. The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_list_created_allA
Read-only

List ALL sign-ups created by the authenticated user (active and expired).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=true already signals a safe read operation. The description adds the context that both active and expired sign-ups are included, which is helpful but doesn't disclose other behaviors like pagination or return format. Given the simple nature of the tool and the annotation, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that immediately states the verb, resource, and scope. It contains no filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list-all tool with no parameters and readOnlyHint annotation, the description provides sufficient context for selection and invocation. It doesn't mention return format or ordering, but such details are not critical for this tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty input schema, so there are no parameter details to explain. The baseline for 0 params is 4, and the description does not need to compensate since there is nothing to clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists ALL sign-ups created by the authenticated user, explicitly including both active and expired. This distinguishes it from sibling tools like list_created_active and list_created_expired, which have narrower scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description's mention of 'ALL' and 'active and expired' implicitly tells the agent to use this tool when needing the full set of sign-ups, versus status-specific siblings. However, it does not explicitly name alternatives or state when not to use, so it's clear but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_list_created_expiredB
Read-only

Alias of signupgenius_list_created_active in session mode (v3 returns active + expired together). Filter on enddate client-side.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavioral disclosure beyond the readOnlyHint annotation by stating that v3 returns active and expired records together, and that client-side filtering on enddate is necessary. This is valuable because it warns the agent that the tool does not actually return only expired signups despite the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is front-loaded with the alias relationship and then explains the v3 behavior and filtering requirement. Every phrase carries meaningful information, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although there are no parameters and a readOnly annotation, the description is incomplete because it never explicitly states what the tool returns. It relies on the agent already knowing what signupgenius_list_created_active does, and there is no output schema to fall back on. The agent is left without a clear understanding of the list structure or return behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so per the rubric the baseline is 4. The description does not need to add parameter details because there are none to explain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description does not clearly state what the tool does. It calls it an 'alias of signupgenius_list_created_active', which is ambiguous and does not differentiate it from other siblings. The name implies it lists expired created signups, but the description says v3 returns active + expired together, making the purpose confusing rather than specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as signupgenius_list_created_active or signupgenius_list_created_all. The only operational note is 'Filter on enddate client-side', which is a filtering instruction rather than a usage guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_list_group_membersA
Read-only

List members of a SignUpGenius group (basic info: name, email, memberid).

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNo
groupIdYesGroup ID returned by signupgenius_list_groups.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already marks this as a safe read operation, and the description's 'List' is consistent with that. The description adds useful context by specifying the returned fields ('name, email, memberid'), which is not present in the schema. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action and resource, contains no filler, and effectively conveys the tool's purpose and return content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one required parameter and a readOnly annotation, the description adequately covers the action, resource, and return fields. It omits sort/pagination behavior, but the schema documents sort and the operation is low-complexity, so the lack of extra detail is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents groupId with a reference to signupgenius_list_groups and sort with an enum, covering 50% of parameters with descriptions. The description adds minimal parameter-level meaning beyond reinforcing that groupId refers to a group, so the schema carries most of the semantic load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'List' with the resource 'members of a SignUpGenius group' and indicates the basic fields returned (name, email, memberid). This clearly distinguishes it from sibling signupgenius_get_group_member, which targets a single member.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use case: when you need to list members of a group. It does not explicitly mention alternatives or exclusions, but the context is unambiguous and directly implies when to invoke this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_list_groupsA
Read-only

List groups created by the authenticated user. Returns groupid, title, and member count for each group.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort order for group results.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds value beyond the readOnlyHint annotation by explicitly stating that it returns groupid, title, and member count for each group. It also clarifies the scope (created by the authenticated user). No contradictions with annotations exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, with the main action front-loaded. The first sentence states the purpose, and the second gives return value details. No words are wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is no output schema, the description appropriately lists the return fields. The tool has only one optional param and a readOnly annotation, so the description is sufficient for a simple list tool. A minor gap is lack of pagination or default sort behavior, but this is not critical for expected usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single 'sort' parameter fully documented in the schema (enum asc/desc and description). The description adds no additional parameter info, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists groups created by the authenticated user, specifies the resource (groups) and the action (list), and clarifies the scope. It distinguishes itself from sibling tools like list_group_members and get_group_member by focusing on the group collection itself, not members.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: when listing groups owned by the authenticated user. It does not explicitly mention alternatives, but the scope is well-defined and no exclusions are needed. The sibling names themselves differentiate this from signup/report tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_list_invitedA
Read-only

List sign-ups the user has been invited to.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, and the description's 'List' is consistent with that. However, the description adds no extra behavioral context (e.g., whether only pending invitations are listed, return format, or other nuances). It does not contradict annotations, but provides no additional transparency beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that immediately states the purpose. It is front-loaded and contains no unnecessary words or filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool (no parameters, no output schema), the description is adequate. It clearly defines what the tool lists. The only minor gap is not clarifying the distinction from similar sibling tools, but that is more of a usage guideline issue. The core function is sufficiently described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the schema fully covers them (100% coverage). The baseline for zero parameters is 4, and the description does not need to explain parameter semantics since there are none. No additional meaning is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and the resource ('sign-ups the user has been invited to'). This directly distinguishes it from sibling tools like 'signupgenius_list_signedupfor' (sign-ups the user registered for) and 'signupgenius_list_created_active' (sign-ups the user created).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the meaning implies when to use it (when the user wants to see invitations), there is no explicit guidance on when not to use it or which alternative to choose. Given the close sibling 'signupgenius_list_signedupfor', the usage context is only implied rather than clearly differentiated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_list_signedupforA
Read-only

List sign-ups the user has personally signed up for.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already marks the tool as read-only, and the description aligns with that by saying 'List'. The additional phrase 'personally signed up for' adds slight contextual scope but no deeper behavioral traits such as return format, pagination, or authentication requirements. This is consistent with the annotations and adds only marginal value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is front-loaded with the action. It contains no redundant or filler content, making it appropriately sized for a zero-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only listing tool with no output schema, the description is largely complete. It clearly states what the tool returns. However, it does not clarify the difference from the legacy 'get_my_signups' sibling, leaving a small ambiguity in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty, so there are no parameters to describe. The baseline for zero parameters is 4, and the description correctly makes no claim about parameters. No additional semantic information is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('sign-ups the user has personally signed up for'), clearly indicating the tool's function. It differentiates from related sibling tools like signupgenius_list_invited and signupgenius_list_created by specifying the user's own sign-ups, but does not explicitly distinguish from the similar signupgenius_legacy_get_my_signups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, use cases, or exclusions. Given the presence of several similar list tools, the lack of usage direction is a notable gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_list_slotsA
Read-only

List every SLOT on a SignUpGenius sign-up — date, day of week, start/end time, title, location, capacity, how many spots are filled vs still available, and who has already signed up (with the quantity each entry consumes). Accepts a sign-up URL, slug, or numeric id. Requires NO auth and works for sheets the user did NOT create, which is exactly the case the Pro signupgenius_report_* tools cannot serve (they are key-only AND owner-scoped). This is the right tool for "what is still open?".

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesA SignUpGenius sign-up URL, its slug (`<urlid>-<signupid>[-<vanity>]`), or just the numeric sign-up id.
onlyAvailableNoReturn only slots that still have room. Default false (return all).
includeParticipantsNoFetch the name + quantity of everyone already signed up (default true). Costs one extra request per slot row; set false for a fast availability-only view.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal readOnlyHint and openWorldHint, and the description adds valuable behavior beyond that: no auth required, works for unowned sheets, and includeParticipants costs one extra request per slot row. It could additionally mention pagination or error behavior, but the disclosure is strong for a read-only public listing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place: output fields, auth scope, comparison to alternatives, and a crisp usage recommendation. The most important signal, 'List every SLOT', is front-loaded, and there is no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of explaining the return value, and it does so by naming date, day, times, title, location, capacity, filled/available counts, and participant details. It also covers auth/ownership context and the performance implication of includeParticipants, making it complete for an agent to decide whether and how to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter is already fully documented including formats, defaults, and side effects. The description reinforces the url formats and the includeParticipants cost, but it does not materially add meaning beyond what the input schema already provides, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'List every SLOT on a SignUpGenius sign-up' and enumerates the exact fields returned. It also distinguishes itself from the sibling signupgenius_report_* tools by noting they are key-only and owner-scoped, so an agent can tell this tool apart without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: it requires NO auth and works for sheets the user did NOT create, which is exactly the case the Pro signupgenius_report_* tools cannot serve. It also positions the tool as the right choice for 'what is still open?', giving clear selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_release_slotA
Destructive

Withdraw (give up) a slot the user previously signed up for. Call WITHOUT confirm first to preview which entry would be removed, then again with confirm:true. WRITES DATA — this removes a real sign-up.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesSign-up URL or slug.
confirmNoMust be true to actually withdraw.
memberIdNoOptional. The signed-in member id is resolved automatically; supplying a DIFFERENT one is rejected, because this tool only withdraws the current user's own sign-up.
slotitemidYesThe slot the entry sits in (`slotitemid` from the same signupgenius_list_slots row). Used to verify afterwards that the entry actually disappeared.
itemMemberIdYesThe sign-up entry to withdraw — `participants[].item_member_id` from signupgenius_list_slots. This is the wizard's `imid`.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint and readOnlyHint annotations, the description reveals a two-phase behavior: a no-confirm preview call and a confirm:true execution call. It also explicitly warns 'WRITES DATA — this removes a real sign-up,' which is exactly the kind of destructive detail an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences deliver purpose, scope, call protocol, and a destructive warning with no wasted words. The critical warning is front-loaded before the how-to.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation with no output schema, the description gives enough to call it safely: what it does, the preview-then-confirm workflow, and the irreversible effect. It does not mention return values, but that is not necessary for deciding whether and how to invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents all five parameters with 100% coverage, so the baseline is 3. The description earns an extra point by explaining that the confirm flag controls a preview/execute distinction and by framing the slot as one the user previously signed up for, which clarifies the roles of itemMemberId and slotitemid.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Withdraw (give up) a slot the user previously signed up for.' This makes the drop action unmistakable and clearly differentiates it from sign-up tools like signupgenius_claim_slot or signupgenius_rsvp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a concrete call sequence: invoke without confirm to preview, then with confirm:true, and warns that this removes a real sign-up. It does not explicitly name a sibling alternative or state when not to use it, but the 'previously signed up for' scope provides the key context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_report_allA
Read-only

Full report for a sign-up: every slot plus the participant who claimed it (with custom-question answers when present). Requires SIGNUPGENIUS_USER_KEY (Pro subscription) — session mode is not supported for reports — AND only covers sheets the key-holder created. For slot dates, times and availability on ANY sign-up (including sheets the user did not create) prefer signupgenius_list_slots, which needs no auth.

ParametersJSON Schema
NameRequiredDescriptionDefault
signupIdYesSign-up ID (signupid).

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds valuable behavioral constraints: session mode is unsupported, SIGNUPGENIUS_USER_KEY is required, and coverage is limited to sheets created by the key-holder. It also describes the report contents, which goes beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler; the core purpose is front-loaded, followed by essential auth/scope limitations and the sibling alternative. Every clause adds decision-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only report tool, the description covers what the report contains, who can use it, what credentials are required, what it does not cover, and which alternative to choose for broader slot data. No meaningful gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single signupId parameter, which the schema already documents as the sign-up ID. The description implies the ID identifies the sign-up for the report but adds no additional format or behavior beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific deliverable: a full report of every slot plus the claiming participant, including custom-question answers. This clearly distinguishes it from slot-oriented listing tools, and the scope (only sheets the key-holder created) is explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use this tool (full reports on the key-holder's own created sheets) and when to prefer signupgenius_list_slots instead (slot dates/times/availability on any sign-up). It also flags the Pro subscription and auth requirement, giving an agent a concrete decision rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_report_availableA
Read-only

Report for a sign-up restricted to slots that are still open/empty. Requires SIGNUPGENIUS_USER_KEY (Pro subscription) — session mode is not supported for reports — AND only covers sheets the key-holder created. For slot dates, times and availability on ANY sign-up (including sheets the user did not create) prefer signupgenius_list_slots, which needs no auth.

ParametersJSON Schema
NameRequiredDescriptionDefault
signupIdYesSign-up ID (signupid).

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool read-only, and the description adds meaningful operational context: required auth key, Pro subscription requirement, unsupported session mode, and ownership scope. This helps the agent anticipate failures and scope without contradicting the readOnlyHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded in the first sentence, and the remaining sentences each carry necessary usage/scoping or alternative-routing information. Slightly heavier formatting (em-dashes, full caps) keeps it dense but not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only report tool without an output schema, the description covers the input, auth, ownership constraint, and the sibling to prefer when the user needs broader availability. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with signupId already described as 'Sign-up ID (signupid).' The description reinforces that a sign-up is meant but adds no new syntactic or source details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: a report of a sign-up limited to open/empty slots, which is clearly distinct from report_filled and report_all. It also differentiates itself by naming the sibling signupgenius_list_slots for broader availability data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states prerequisites (SIGNUPGENIUS_USER_KEY/Pro subscription), exclusions (session mode not supported, only key-holder-created sheets), and names the preferred alternative for broader use cases (signupgenius_list_slots, no auth). This leaves no ambiguity about when to invoke this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_report_filledA
Read-only

Report for a sign-up restricted to slots that have already been filled. Requires SIGNUPGENIUS_USER_KEY (Pro subscription) — session mode is not supported for reports — AND only covers sheets the key-holder created. For slot dates, times and availability on ANY sign-up (including sheets the user did not create) prefer signupgenius_list_slots, which needs no auth.

ParametersJSON Schema
NameRequiredDescriptionDefault
signupIdYesSign-up ID (signupid).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true; the description adds substantive context: authentication requires a Pro subscription key, session mode is unsupported, and the tool is limited to sheets the key-holder created. It does not describe the report's output shape, but given the simple read-only report nature, this is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences deliver the purpose, constraints, and routing to the correct sibling with no filler. The core definition is front-loaded and every clause carries useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only report tool, the description covers purpose, auth prerequisites, scope restrictions, and the alternative tool. The only missing piece is the exact return format, but no output schema exists and the report name implies the content.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single signupId parameter is already described as 'Sign-up ID (signupid).' The description confirms the scope ('a sign-up') but adds no parameter-specific meaning beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and resource: 'Report for a sign-up restricted to slots that have already been filled.' This clearly distinguishes the tool from report_all and report_available without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly names signupgenius_list_slots as the preferred alternative for slot dates/times/availability and states the conditions: reports need a SIGNUPGENIUS_USER_KEY, session mode is not supported, and only key-holder-created sheets are covered. This is clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signupgenius_rsvpA

RSVP to a SignUpGenius sign-up (the Yes/No/Maybe-style sheets, including invitations from family/friends). Walks the PreProcessSignup → getSignupInfo → processSignUpFormHandler flow under the hood. Writes data — confirm with the user before invoking. Slot-based sign-ups (e.g. "claim the 3pm slot") are NOT handled here — use signupgenius_claim_slot for those.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesSignUpGenius sign-up URL (https://www.signupgenius.com/go/<slug>) or just the slug.
emailYes
adultsNoAdult guest count. Defaults to 1 for yes/maybe, 0 for no.
commentNoOptional comment shown to the sign-up owner.
childrenNoChild guest count. Defaults to 0.
lastnameYes
responseYesRSVP response. Maps to the wizard's Yes / No / Maybe buttons.
firstnameYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate readOnlyHint=false, but the description adds critical behavioral context: 'Writes data — confirm with the user before invoking.' It also discloses that the tool walks a multi-step internal flow, helping the agent understand it automates a wizard rather than a simple API call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with no filler. The purpose is front-loaded, the write behavior and user-confirmation requirement are included, and the exclusion of slot-based workflows is handled in one clear sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write tool with no output schema and eight parameters, the description covers the essential context: what it does, what kind of sign-ups it applies to, what it does not handle, and the need for user confirmation. It does not describe return values or failure behavior, but those are less critical given the clear usage and safety guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is about 63%, and the input schema already documents url, email, adults, children, comment, and response. The description adds little parameter-level meaning beyond clarifying that response values map to the wizard's Yes/No/Maybe buttons; firstname and lastname remain undocumented but are self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: RSVP to a SignUpGenius sign-up using Yes/No/Maybe responses. It also explicitly distinguishes this tool from slot-based sign-ups by naming signupgenius_claim_slot, so an agent can tell them apart immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly says when to use this tool: for Yes/No/Maybe-style sheets, including invitations from family and friends. It also gives an explicit when-not-to-use condition and names the alternative tool, signupgenius_claim_slot, for slot-based sign-ups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.8.1
    • Changedsignupgenius_add_group_member1 field changed
      • changedInput schema / properties / emailaddress / pattern
        Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • Changedsignupgenius_claim_slot1 field changed
      • changedInput schema / properties / email / pattern
        Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • Changedsignupgenius_rsvp1 field changed
      • changedInput schema / properties / email / pattern
        Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  2. 1 tool updatev1.8.0
    • Addedsignupgenius_healthcheck
  3. 4 tool updatesv1.6.0
    • Addedsignupgenius_claim_slot
    • Removedsignupgenius_get_signup_slots
    • Addedsignupgenius_list_slots
    • Addedsignupgenius_release_slot
  4. 17 tool updatesv1.3.0
    • First observedsignupgenius_add_group_member
    • First observedsignupgenius_get_group_member
    • First observedsignupgenius_get_profile
    • First observedsignupgenius_get_public_signup
    • First observedsignupgenius_get_signup_slots
    • First observedsignupgenius_legacy_get_my_signups
    • First observedsignupgenius_list_created_active
    • First observedsignupgenius_list_created_all
    • First observedsignupgenius_list_created_expired
    • First observedsignupgenius_list_group_members
    • First observedsignupgenius_list_groups
    • First observedsignupgenius_list_invited
    • First observedsignupgenius_list_signedupfor
    • First observedsignupgenius_report_all
    • First observedsignupgenius_report_available
    • First observedsignupgenius_report_filled
    • First observedsignupgenius_rsvp

TDQS

A3.5/5.0

Scored across 20 tools

Disambiguation2/5

The tool set has clear overlap: signupgenius_list_created_active, signupgenius_list_created_expired, and signupgenius_list_created_all all list sign-ups created by the user, with the expired variant explicitly documented as an alias of active in session mode. signupgenius_legacy_get_my_signups also returns a similar listing, adding further confusion. While other tools (rsvp vs claim_slot, reports vs list_slots) are well-separated, these four listing tools create real ambiguity for an agent.

Naming Consistency4/5

All tools follow a consistent prefix (signupgenius_) and snake_case verb_noun pattern (e.g., list_groups, get_profile, claim_slot). The naming is predictable and descriptive. Minor deviations like 'healthcheck' (noun as verb) and the long 'list_created_all' suffix are acceptable, but the overall pattern is strong.

Tool Count3/5

20 tools is on the higher end of the scale (16-25 feels heavy). The server covers a broad domain—profiles, groups, sign-up listings, reports, slots, and participation actions—so the count is not egregious, but some tools are redundant (list_created_* variants) and could be consolidated. It's borderline appropriate.

Completeness3/5

The tool surface covers core workflows: authentication verification, group management (list, members, add), sign-up listing (created/invited/signed up), reporting, slot availability, and participation (RSVP, claim, release). However, notable gaps exist: no tool to remove a group member, no creation/update/delete of sign-ups, and reports are limited to key-holders only. Agents can work around most gaps but may hit dead ends for group removal or sign-up management.

Maintenance

ActivityActive
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers