Skip to main content
Glama

fetch_participants

Read-onlyIdempotent

Get a paginated list of participants from a sweepstakes (20 per page). Use fetch_sweepstakes first to get the sweepstakes_token. Supports search by name, email, or phone, and filtering by opt-in date or date range. Results are sorted by creation date (newest first). For full participant details, use get_participant with a specific email, phone, or token. NEVER fabricate or hallucinate participant data — only report what the API returns. Use them internally for tool chaining but present only human-readable information (names, emails, phones, dates).

fetch_participants

When to use

Get a paginated list of participants from a sweepstakes (20 per page). Use fetch_sweepstakes first to get the sweepstakes_token. Supports search by name, email, or phone, and filtering by opt-in date or date range. Results are sorted by creation date (newest first). For full participant details, use get_participant with a specific email, phone, or token. NEVER fabricate or hallucinate participant data — only report what the API returns. Use them internally for tool chaining but present only human-readable information (names, emails, phones, dates).

Pre-calls required

  1. fetch_sweepstakes if the user gave you a sweepstakes name instead of a token

Parameters to validate before calling

  • sweepstakes_token (string, required) — The sweepstakes token (UUID format)

  • page (number, optional) — Page number for pagination (default: 1, 20 results per page)

  • search (string, optional) — Search by first name, last name, email, or phone number (case-insensitive)

  • opt_in_date (string, optional) — Filter by specific opt-in date (YYYY-MM-DD)

  • start_date (string, optional) — Start of date range filter (YYYY-MM-DD, requires end_date)

  • end_date (string, optional) — End of date range filter (YYYY-MM-DD, requires start_date)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1, 20 results per page)
searchNoSearch by first name, last name, email, or phone number (case-insensitive)
end_dateNoEnd of date range filter (YYYY-MM-DD, requires start_date)
start_dateNoStart of date range filter (YYYY-MM-DD, requires end_date)
opt_in_dateNoFilter by specific opt-in date (YYYY-MM-DD)
sweepstakes_tokenYesThe sweepstakes token (UUID format)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds behavioral details: pagination size (20 per page), sorting by creation date (newest first), supported search and date filters, and an instruction to present only human-readable information. This adds value beyond the annotations.

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

Conciseness3/5

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

The main paragraph is nearly duplicated in the 'When to use' section, creating redundancy. It is structured with headers and front-loaded with the key summary, but the repetition makes it longer than necessary.

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 read-only paginated list tool with no output schema, the description covers required pre-calls, parameter validation, sorting, search/filter options, and presentation rules. It does not detail the exact return field names, but it addresses the main contextual needs for correct invocation and chaining.

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 the schema fully documents all six parameters including interdependencies (start_date requires end_date, etc.). The description repeats this information but does not add new meaning beyond the schema, so the baseline score of 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+resource: 'Get a paginated list of participants from a sweepstakes (20 per page).' It clearly distinguishes from siblings by stating 'Use fetch_sweepstakes first to get the sweepstakes_token' and 'For full participant details, use get_participant with a specific email, phone, or token.'

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?

Explicit guidance is provided: pre-call requirement ('Use fetch_sweepstakes first'), alternatives ('For full participant details, use get_participant'), and a strong anti-hallucination directive ('NEVER fabricate or hallucinate participant data'). This tells the agent when and how to use the tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation4/5

Most tools follow a clear resource+action pattern (fetch_* for lists, get_* for single items, create/update/delete for writes), making them distinguishable. A few near-overlaps exist (fetch_billing_transactions vs fetch_wallet_transactions, draw_winners vs schedule_drawing) but the descriptions clarify the boundaries.

Naming Consistency4/5

Tool names consistently use snake_case verb_noun, with fetch_ for list operations and get_ for single-item retrieval. Some verb variation (add_participant, count_participants, draw_winners, schedule_drawing) deviates from the dominant create/fetch/update/delete pattern but remains predictable and readable.

Tool Count1/5

With 83 tools, this is far beyond a well-scoped server (typically 3-15, with 25+ considered too many). Even though the platform has broad functionality, the sheer number of tools creates significant agent confusion and selection overhead.

Completeness4/5

The sweepstakes domain is thoroughly covered: lifecycle management, participants, groups, rules, drawings, winners, calendar, notes, todos, tickets, surveys, invoices, billing, files, and entry settings. A few minor gaps exist (e.g., no general participant field update, no archive action) but the surface is remarkably complete for its scope.

Resources