Skip to main content
Glama

Zovo Fair Draw

Server Details

Organize a prize draw that everyone can check.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.5/5.0

Scored across 4 tools

Disambiguation5/5

Each tool maps to a distinct step in the draw lifecycle: create, add entrants, draw winners, and inspect results. The descriptions clearly separate side-effecting actions from read-only inspection and explicitly state what each tool does not do.

Naming Consistency5/5

All tools use consistent snake_case verb_noun naming: add_draw_entries, create_prize_draw, draw_winners, show_draw_results. The pattern is predictable and readable despite slight verb variety (create/add/draw/show).

Tool Count5/5

Four tools is well-scoped for a simple prize-draw workflow, with each tool earning its place. There are no redundant or filler tools.

Completeness3/5

The core workflow is covered: create a draw, add entries, draw winners, and view results. However, there are notable gaps around lifecycle management, such as removing or correcting entrants, cancelling/deleting a draw, and listing existing draws.

Available Tools

4 tools
add_draw_entriesAdd names to prize drawAInspect

Use this when the organizer wants to add entrant names to a draw made with create_prize_draw, before the winners are drawn. Takes the private organizer link and a list of up to 100 names per call (send more in further calls). Duplicate names (ignoring case) are skipped and reported. Does not draw; does not remove names.

NameRequiredDescriptionDefault
namesYesEntrant display names to add, up to 100 per call (send more in further calls), each up to 40 characters, one person per item, e.g. ["Ana", "Ben K.", "Chloe"]. First names or nicknames only.
manage_urlYesThe private organizer link of the draw, e.g. https://fair-draw.zovo.one/m/AbC123.../XyZ789... (contains /m/).

Output Schema

NameRequiredDescription
noteNo
seedYes
addedNo
namesYes
prizeYes
titleYes
actionYes
statusYes
backupsYes
entriesYes
skippedNo
winnersYes
drawn_atYes
commitmentYes
expires_atYes
manage_urlYes
public_urlYes
names_shownYes
public_entryYes
skipped_countNo
backups_wantedYes
winners_wantedYes
entry_list_hashYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare a non-read-only, non-destructive, non-idempotent, open-world operation, and the description adds real behavior on top: duplicates are skipped case-insensitively and reported back, and input is capped at 100 names per call. It does not disclose auth expectations beyond 'private organizer link' or any error behavior for an invalid link, so it stops short of a 5.

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?

Four short sentences, front-loaded with the usage trigger, and every sentence carries a distinct fact: prerequisite, inputs, batching, dedupe, and scope exclusions. The parenthetical '(send more in further calls)' is the only mild echo of the schema.

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 an output schema present, return values need no explanation, and the description still covers the prerequisite draw, the private link requirement, the batch ceiling, duplicate handling, and scope boundaries. For a two-parameter mutation tool with full annotation and schema coverage, nothing an agent needs before calling 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 description coverage is 100%, so both parameters are already documented in detail, including the 100-item cap, the per-item length expectation, and the /m/ pattern of the organizer link. The description restates the batch limit and identifies manage_url as private, but adds no syntax or format meaning beyond the schema, so the baseline 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?

States a specific verb and resource ('add entrant names to a draw') and anchors it to the sibling that creates that resource ('a draw made with create_prize_draw'). An agent can distinguish it from draw_winners and show_draw_results without opening any 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?

Gives an explicit trigger ('Use this when the organizer wants to add entrant names'), a timing condition ('before the winners are drawn'), and explicit exclusions ('Does not draw; does not remove names') that route the agent to the sibling tools for those actions. Both when-to-use and when-not-to-use are covered.

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

create_prize_drawCreate prize drawAInspect

Use this when the user wants a fair random pick of winners from a group: a giveaway, door prize, raffle without tickets, classroom or team pick. Publishes a draw page with a public link where entrants add their names (or only the organizer adds them), and returns a private organizer link. Optionally adds a first list of names. Up to 500 entries, 1 to 20 winners, up to 10 backups. For free draws only: set free_entry to true to confirm nobody pays to enter; it does not handle money. Does not draw yet; use draw_winners for that.

NameRequiredDescriptionDefault
noteNoOptional short note shown on the page, up to 400 characters, e.g. Draw on Friday at the team call.
namesNoEntrant display names, up to 500, each up to 40 characters, one person per item, e.g. ["Ana", "Ben K.", "Chloe"]. First names or nicknames only.
prizeNoWhat the winners get, up to 200 characters, e.g. One 50-minute massage voucher.
titleYesShort title of the draw, up to 120 characters, e.g. Team lunch voucher draw.
backupsNoNumber of backup winners drawn in order after the winners, 0 to 10 (default 0). Example: 2.
winnersNoNumber of winners, 1 to 20 (default 1). Example: 2.
free_entryYesSet true to confirm nobody pays to enter and no money is pooled; this tool does not handle money.
public_entryNotrue (default) = people add their own name on the public page; false = only the organizer adds names.

Output Schema

NameRequiredDescription
noteNo
seedYes
addedNo
namesYes
prizeYes
titleYes
actionYes
statusYes
backupsYes
entriesYes
skippedNo
winnersYes
drawn_atYes
commitmentYes
expires_atYes
manage_urlYes
public_urlYes
names_shownYes
public_entryYes
skipped_countNo
backups_wantedYes
winners_wantedYes
entry_list_hashYes

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations, it explains that a public draw page and link are published, a private organizer link is returned, names may be added by the organizer or entrants, and there are entry and winner limits. It also discloses that the tool does not handle money and does not draw winners yet.

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 front-loaded with the primary use case and then layers constraints and alternatives efficiently. It is appropriately sized and every sentence contributes actionable context.

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?

Given the annotations, rich input schema, and presence of an output schema, the description supplies everything needed to select and invoke the tool correctly. It covers purpose, setup behavior, limits, free-entry constraint, and the handoff to draw_winners.

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 has full description coverage, so the baseline is 3. The description adds useful semantics around free_entry (confirming no payment is involved) and public_entry behavior (entrants add names versus organizer-only), though the size limits it mentions are already present in 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 verb and resource: creating a prize draw for a fair random pick of winners. It clearly distinguishes the tool from draw_winners by saying "Does not draw yet; use draw_winners for that."

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 gives explicit when-to-use guidance (giveaway, door prize, raffle without tickets, classroom or team pick) and a when-not-to-use condition (drawing is handled by draw_winners). It also states the free-draw constraint and that free_entry must be true to confirm nobody pays to enter.

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

draw_winnersDraw prize winnersA
DestructiveIdempotent
Inspect

Use this when the organizer is ready to pick the winners of a draw made with create_prize_draw. Takes the private organizer link. Closes entries, picks the winners and backups with the published method, and reveals the seed on the public page so anyone can verify. The result is final: running it again returns the same winners. Needs at least one entry. Does not add or remove names and does not redraw.

NameRequiredDescriptionDefault
manage_urlYesThe private organizer link of the draw, e.g. https://fair-draw.zovo.one/m/AbC123.../XyZ789... (contains /m/).

Output Schema

NameRequiredDescription
noteNo
seedYes
addedNo
namesYes
prizeYes
titleYes
actionYes
statusYes
backupsYes
entriesYes
skippedNo
winnersYes
drawn_atYes
commitmentYes
expires_atYes
manage_urlYes
public_urlYes
names_shownYes
public_entryYes
skipped_countNo
backups_wantedYes
winners_wantedYes
entry_list_hashYes

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that entries are closed (the concrete destructive effect behind destructiveHint), that the seed is published on the public page for verification, that a minimum of one entry is required, and that reruns are safe because results are final — matching idempotentHint with a plain-language reason.

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?

Five short sentences, front-loaded with the trigger condition, then mechanics, then the idempotency guarantee and exclusions — 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?

An output schema exists so return values need not be explained; the description instead covers the preconditions, side effects, verifiability, and repeat-run behavior an agent needs before invoking a destructive, one-way operation.

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?

Only one parameter and schema coverage is 100%, so the schema already documents manage_url with an example format. The description only restates that it takes the private organizer link, adding no new syntax or constraints.

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 ('pick the winners of a draw'), names the sibling that creates the draw it operates on, and distinguishes itself from add_draw_entries and show_draw_results by ruling out adding names and redrawing.

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?

Explicitly conditions use on the organizer being ready, references the create_prize_draw prerequisite, and states exclusions ('does not add or remove names and does not redraw'), which routes the agent away from the entry and results tools.

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

show_draw_resultsShow prize drawA
Read-onlyIdempotent
Inspect

Use this when the user wants the state of a draw made with create_prize_draw: number of entries, the names, the commitment, and after the draw the winners, backups and proof values. Takes the private organizer link. Does not change the draw.

NameRequiredDescriptionDefault
manage_urlYesThe private organizer link of the draw, e.g. https://fair-draw.zovo.one/m/AbC123.../XyZ789... (contains /m/).

Output Schema

NameRequiredDescription
noteNo
seedYes
addedNo
namesYes
prizeYes
titleYes
actionYes
statusYes
backupsYes
entriesYes
skippedNo
winnersYes
drawn_atYes
commitmentYes
expires_atYes
manage_urlYes
public_urlYes
names_shownYes
public_entryYes
skipped_countNo
backups_wantedYes
winners_wantedYes
entry_list_hashYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the lower bar applies. The description still adds real context: access is gated by possession of the private organizer link (an authorization detail absent from annotations) and the output shape changes before versus after the draw. "Does not change the draw" does restate readOnlyHint, which is minor redundancy rather than contradiction.

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, front-loaded with the usage trigger, then the input, then the safety note. No filler and every clause carries information the agent needs.

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 tool with full annotation coverage and an output schema, the description covers trigger, prerequisite, authorization model and a preview of returned content. Nothing required for correct invocation is missing, and listing return fields is mild redundancy rather than a gap.

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 parameter's schema entry already explains that manage_url is the private organizer link containing /m/ and gives an example. "Takes the private organizer link" echoes the schema without adding format, validation, or failure-mode detail, so baseline 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 names a specific operation (retrieve the state of a draw) and enumerates exactly what is returned: entry count, names, commitment, and post-draw winners, backups and proof values. It also anchors the tool to its sibling create_prize_draw, so an agent can separate it from draw_winners and add_draw_entries without opening any schema.

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?

"Use this when the user wants the state of a draw made with create_prize_draw" gives a clear triggering condition and implies the prerequisite that the draw must already exist. It stops short of naming an explicit alternative or a when-not-to-use case (e.g. versus draw_winners for actually performing the draw), so it is strong but not exhaustive.

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. 4 tool updates
    • First observedadd_draw_entries
    • First observedcreate_prize_draw
    • First observeddraw_winners
    • First observedshow_draw_results

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables fair random picks, team splits and wheel spins inside chat assistants and other MCP clients, with results shown in chat. It also runs certified draws that seal the winner before the spin and publish a verifiable public proof page, so anyone can check the outcome.
    8
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables running verifiable raffle draws using the public drand randomness beacon: pick winners instantly, schedule a future draw sealed to a committed drand round, and later verify results by recomputing winners from the published randomness.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server enabling provably-fair random selection and winner picking using drand randomness, with tools for instant picks, scheduled draws, and verification.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for provably-fair random selection using public drand randomness, enabling verifiable winner picks for giveaways, raffles, and tie-breaks.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources