Zovo Raffle Tickets MCP
Prints numbered raffle tickets with matching stubs for fundraisers and performs fair random draws from sold numbers or name lists, providing a draw log with SHA-256 fingerprint.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://raffle-tickets.zovo.one/mcpWhat its tools do
2 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (2)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Make 200 raffle tickets for the Spring Gala Raffle on May 3, $5 each, grand prize a 55-inch TV
- Draw 3 winners from tickets 1-250 and 301-420, excluding 17 and 42
- Pick a raffle winner from: Ava, Liam, Noah, Ava, Mia
Source and maintenance
Protocol and capabilities
- Server
- raffle-tickets 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 2 advertised
- Resources
- 1 advertised
- Resource templates
- 1 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
2 advertised
generate_raffle_tickets — Generate raffle tickets
Use this when the user wants printable raffle tickets, a raffle ticket template, or numbered tickets with stubs for a fundraiser. Returns a print-ready PDF with 10 or 8 numbered tickets per US Letter or A4 sheet, each with a stub carrying the same number, dashed cut lines, and the event name, date, prizes, price and contact line; numbers run in order across sheets with no gaps or repeats. Up to 2,000 tickets per call. Does not sell tickets, collect payments or check whether a raffle is legal where the user lives.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"date": {
"type": [
"string",
"null"
],
"description": "Draw date and time as you want it printed, e.g. May 3, 2027 at 7 pm or 2027-05-03."
},
"color": {
"type": [
"string",
"null"
],
"description": "Accent colour as a name or hex, e.g. blue, green or #1D5FC4. Default red."
},
"count": {
"type": [
"number",
"string",
"null"
],
"description": "How many tickets, 1 to 2,000. Default 100. Example: 200."
},
"paper": {
"type": [
"string",
"null"
],
"description": "letter (US Letter, default) or a4."
},
"price": {
"type": [
"number",
"string",
"null"
],
"description": "Ticket price as printed, e.g. 5 (printed $5), \"$5 or 5 for $20\", or \"€2\"."
},
"digits": {
"type": [
"number",
"string",
"null"
],
"description": "Minimum digits per number with leading zeros, e.g. 4 gives 0001. Default 4."
},
"prefix": {
"type": [
"string",
"null"
],
"description": "Text before each number, e.g. A- gives A-0001. Default none."
},
"prizes": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "Prize lines, up to 3 printed, e.g. [\"Grand prize: 55-inch TV\", \"2nd: $100 gift card\"] or one line."
},
"contact": {
"type": [
"string",
"null"
],
"description": "Organizer contact line, e.g. PTA - pta@example.org - (555) 010-2000."
},
"location": {
"type": [
"string",
"null"
],
"description": "Where the draw happens, e.g. Lincoln High School gym."
},
"per_page": {
"type": [
"number",
"string",
"null"
],
"description": "Tickets per sheet: 10 (2 x 5, each 3.75 x 2 in) or 8 (2 x 4, each 3.75 x 2.5 in). Default 10."
},
"end_number": {
"type": [
"number",
"string",
"null"
],
"description": "Last ticket number instead of count, e.g. 500 for tickets 1 to 500."
},
"event_name": {
"type": [
"string",
"null"
],
"description": "Event or fundraiser name printed on each ticket, e.g. Spring Gala Raffle. Default: Raffle."
},
"fine_print": {
"type": [
"string",
"null"
],
"description": "Short line such as Need not be present to win."
},
"stub_fields": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "Write-in lines on the stub, up to 3. Default Name and Phone. Example: Name, Phone, Email."
},
"start_number": {
"type": [
"number",
"string",
"null"
],
"description": "First ticket number. Default 1. Example: 1001."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"event_name",
"ticket_count",
"first_number",
"last_number",
"per_page",
"sheets",
"paper",
"ticket_size",
"price",
"prizes",
"stub_fields",
"assumptions",
"warnings",
"downloads"
],
"properties": {
"kind": {
"type": "string",
"const": "tickets"
},
"paper": {
"type": "string"
},
"price": {
"type": "string"
},
"prizes": {
"type": "array",
"items": {
"type": "string"
}
},
"sheets": {
"type": "number"
},
"per_page": {
"type": "number"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"downloads": {
"type": "object",
"required": [
"pdf"
],
"properties": {
"pdf": {
"type": "string"
}
},
"additionalProperties": false
},
"event_name": {
"type": "string"
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"last_number": {
"type": "string"
},
"stub_fields": {
"type": "array",
"items": {
"type": "string"
}
},
"ticket_size": {
"type": "string"
},
"first_number": {
"type": "string"
},
"ticket_count": {
"type": "number"
}
},
"additionalProperties": false
}{
"title": "Generate raffle tickets",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}draw_raffle_winners — Draw raffle winners
Use this when the user wants to draw a raffle winner, pick random winners from ticket numbers or names, or use a raffle number generator with no repeats. Draws winners (and optional alternates) without replacement with a secure random number generator from a range such as 1-500, several sold ranges, or a list of names (a name listed twice has two entries); can exclude numbers and assign prizes in draw order. Returns the ordered winners and a draw log PDF and CSV with time, method, entry count and an entry-list fingerprint. Each call is a new draw, so do not call it again to change a result. Does not sell tickets or take payments, and is not legal advice: raffle rules vary by place.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"prizes": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "Prizes in draw order; the first winner gets the first prize. Example: [\"TV\", \"Gift card\", \"Mug\"]."
},
"entries": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": [
"string",
"number",
"null"
]
}
}
]
},
{
"type": "null"
}
],
"description": "What is in the drum: sold ticket numbers, ranges or names, as a list or pasted lines. Ranges like 1-250 or A-0001 to A-0100 are expanded. A name listed 3 times has 3 entries. Example: \"1-250, 301-420\" or [\"Ava Patel\", \"Liam Chen\", \"Ava Patel\"]."
},
"exclude": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": [
"string",
"number",
"null"
]
}
}
]
},
{
"type": "null"
}
],
"description": "Numbers or names to leave out before the draw, e.g. void tickets or earlier winners: \"17, 42\"."
},
"winners": {
"type": [
"number",
"string",
"null"
],
"description": "How many winners to draw, 1 to 100. Default 1, or the number of prizes when prizes are given."
},
"alternates": {
"type": [
"number",
"string",
"null"
],
"description": "Backup winners drawn after the winners, in order, for unclaimed prizes. Default 0."
},
"event_name": {
"type": [
"string",
"null"
],
"description": "Event name for the draw log, e.g. Spring Gala Raffle."
},
"last_number": {
"type": [
"number",
"string",
"null"
],
"description": "Instead of entries: the last ticket number of a range, e.g. 500."
},
"first_number": {
"type": [
"number",
"string",
"null"
],
"description": "Instead of entries: the first ticket number of a range, e.g. 1."
},
"one_prize_per_person": {
"type": [
"boolean",
"string",
"null"
],
"description": "With names: skip further entries of someone who already won. Default true."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"event_name",
"entry_count",
"eligible_count",
"excluded_count",
"entry_type",
"winners",
"alternates",
"drawn_at_utc",
"drawn_at_new_york",
"method",
"entry_fingerprint_sha256",
"assumptions",
"warnings",
"downloads"
],
"properties": {
"kind": {
"type": "string",
"const": "draw"
},
"method": {
"type": "string"
},
"winners": {
"type": "array",
"items": {
"type": "object",
"required": [
"order",
"entry",
"prize"
],
"properties": {
"entry": {
"type": "string"
},
"order": {
"type": "number"
},
"prize": {
"type": "string"
}
},
"additionalProperties": false
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"downloads": {
"type": "object",
"required": [
"log_pdf",
"log_csv"
],
"properties": {
"log_csv": {
"type": "string"
},
"log_pdf": {
"type": "string"
}
},
"additionalProperties": false
},
"alternates": {
"type": "array",
"items": {
"type": "object",
"required": [
"order",
"entry"
],
"properties": {
"entry": {
"type": "string"
},
"order": {
"type": "number"
}
},
"additionalProperties": false
}
},
"entry_type": {
"type": "string"
},
"event_name": {
"type": "string"
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"entry_count": {
"type": "number"
},
"drawn_at_utc": {
"type": "string"
},
"eligible_count": {
"type": "number"
},
"excluded_count": {
"type": "number"
},
"drawn_at_new_york": {
"type": "string"
},
"entry_fingerprint_sha256": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Draw raffle winners",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
raffle-tickets-widget — Zovo Raffle Tickets view
Interactive view for Zovo Raffle Tickets.
ui://widget/raffle-tickets-v2-1.0.0-2084a1b23e8008cd6fcbe954307412c68b75737656b2f45be52a0e44d2f57c1c.htmlraffle-tickets-widget-legacy — Zovo Raffle Tickets view (previous versions)
ui://widget/raffle-tickets-{version}.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 782 ms
- 95th percentile latency
- 782 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 782 ms · metadata changed · 2 tool(s), 1 resource(s), 1 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http zovo-raffle-tickets-mcp https://raffle-tickets.zovo.one/mcpCodex
codex mcp add zovo-raffle-tickets-mcp --url https://raffle-tickets.zovo.one/mcpCursor
{
"mcpServers": {
"zovo-raffle-tickets-mcp": {
"url": "https://raffle-tickets.zovo.one/mcp"
}
}
}Cline
{
"mcpServers": {
"zovo-raffle-tickets-mcp": {
"type": "streamableHttp",
"url": "https://raffle-tickets.zovo.one/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"zovo-raffle-tickets-mcp": {
"type": "http",
"url": "https://raffle-tickets.zovo.one/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http zovo-raffle-tickets-mcp https://raffle-tickets.zovo.one/mcpClaude Desktop
https://raffle-tickets.zovo.one/mcpWindsurf
{
"mcpServers": {
"zovo-raffle-tickets-mcp": {
"serverUrl": "https://raffle-tickets.zovo.one/mcp"
}
}
}Let your agent find its tools
Find servers like Zovo Raffle Tickets MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.