Skip to main content
Glama

Draft Event

draft-event
Destructive

Prepare a person's own event on Pandy Tickets from what they told you (name, date, place, ticket categories with price and quantity). Nothing is published and no account is created: it returns a one-time claim_url, valid 48 hours. The person opens it, signs in with Google, and lands on a screen where they review the event and publish it with one click. Use it when someone wants to organize an event and sell tickets or take registrations. Leave ticket_types empty for a free event. Also fill in, when the person said them: questions to ask each attendee, early-bird price_phases, and transfer_instructions (bank details) so the person only reviews and publishes. Relay the Spanish instructions and the link.

Input Schema

NameRequiredDescriptionDefault
themeNoLook of the event page, checkout, emails and tickets. pandy: El estilo de Pandy Tickets. Sirve para cualquier evento. gala: Para recitales, galas, bodas y cenas benéficas. deportivo: Para carreras, torneos y rodadas. academico: Para congresos, simposios y graduaciones. festival: Para conciertos, fiestas y vida nocturna. comunidad: Para shows infantiles y eventos de colegio o iglesia. minimal: Para talleres y eventos corporativos. Tu foto manda. Pick the one that matches the event. Default: the organizer's last look, else pandy.
titleYesEvent name, up to 160 characters.
venueYesPlace or city, up to 240 characters.
end_atYesEnd, Guatemala local time, YYYY-MM-DDTHH:MM, after start_at.
capacityNoMost people the event takes in total, if there is a limit.
start_atYesStart, Guatemala local time, YYYY-MM-DDTHH:MM. Must be in the future.
templateNoKind of event. Default conference.
questionsNoQuestions every attendee answers when registering or buying, up to 15. Works for free and paid events.
theme_toneNoLight or dark version of a look that has both (gala). auto follows the event image: light image, light page. Default: the organizer's last choice, else auto.
title_fontNoTitle font. Omit to use the look's own font.
descriptionNoWhat the event is about, up to 5000 characters.
accent_colorNoBrand colour as #RRGGBB, if the person gave one.
price_phasesNoEarly-bird style price phases, in order, up to 10. The first phase that has not ended applies. Needs paid ticket_types; a free event has no prices to phase.
ticket_typesNoPaid ticket categories. Empty or omitted for a free event.
transfer_instructionsNoBank, account number and holder for paying by bank transfer, 10 to 2000 characters. The person sees it prefilled when publishing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / accent_color
      Added value: +{
      +  "description": "Brand colour as #RRGGBB, if the person gave one.",
      +  "type": "string"
      +}
    • addedInput schema / properties / price_phases
      Added value: +{
      +  "description": "Early-bird style price phases, in order, up to 10. The first phase that has not ended applies. Needs paid ticket_types; a free event has no prices to phase.",
      +  "items": {
      +    "properties": {
      +      "ends_at": {
      +        "description": "When the phase ends, Guatemala local time, YYYY-MM-DDTHH:MM. Omit if it ends only when its quantity sells out.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Phase name, e.g. \"Preventa\", up to 60 characters.",
      +        "type": "string"
      +      },
      +      "prices": {
      +        "description": "Object mapping a ticket_types name (any letter case) to the price in quetzales in this phase, e.g. {\"General\": \"100\"}. A category left out keeps its base price.",
      +        "type": "object"
      +      },
      +      "quantity": {
      +        "description": "Tickets sold in this phase before the next one starts.",
      +        "minimum": 1,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "prices"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 10,
      +  "type": "array"
      +}
    • addedInput schema / properties / questions
      Added value: +{
      +  "description": "Questions every attendee answers when registering or buying, up to 15. Works for free and paid events.",
      +  "items": {
      +    "properties": {
      +      "kind": {
      +        "description": "Answer type. choice needs options.",
      +        "enum": [
      +          "text",
      +          "long_text",
      +          "number",
      +          "phone",
      +          "date",
      +          "choice",
      +          "yes_no"
      +        ],
      +        "type": "string"
      +      },
      +      "label": {
      +        "description": "The question as the attendee reads it, up to 160 characters.",
      +        "type": "string"
      +      },
      +      "options": {
      +        "description": "Only for kind choice: 2 to 20 distinct answers, up to 100 characters each.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 20,
      +        "minItems": 2,
      +        "type": "array"
      +      },
      +      "required": {
      +        "description": "Whether the attendee must answer.",
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "label",
      +      "kind",
      +      "required"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 15,
      +  "type": "array"
      +}
    • addedInput schema / properties / theme
      Added value: +{
      +  "description": "Look of the event page, checkout, emails and tickets. pandy: El estilo de Pandy Tickets. Sirve para cualquier evento. gala: Para recitales, galas, bodas y cenas benéficas. deportivo: Para carreras, torneos y rodadas. academico: Para congresos, simposios y graduaciones. festival: Para conciertos, fiestas y vida nocturna. comunidad: Para shows infantiles y eventos de colegio o iglesia. minimal: Para talleres y eventos corporativos. Tu foto manda. Pick the one that matches the event. Default: the organizer's last look, else pandy.",
      +  "enum": [
      +    "pandy",
      +    "gala",
      +    "deportivo",
      +    "academico",
      +    "festival",
      +    "comunidad",
      +    "minimal"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / theme_tone
      Added value: +{
      +  "description": "Light or dark version of a look that has both (gala). auto follows the event image: light image, light page. Default: the organizer's last choice, else auto.",
      +  "enum": [
      +    "auto",
      +    "light",
      +    "dark"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / title_font
      Added value: +{
      +  "description": "Title font. Omit to use the look's own font.",
      +  "enum": [
      +    "inter",
      +    "cormorant",
      +    "playfair",
      +    "dm-serif",
      +    "archivo-narrow",
      +    "bricolage",
      +    "fraunces",
      +    "nunito"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / transfer_instructions
      Added value: +{
      +  "description": "Bank, account number and holder for paying by bank transfer, 10 to 2000 characters. The person sees it prefilled when publishing.",
      +  "maxLength": 2000,
      +  "minLength": 10,
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Adds substantial context annotations can't convey: no publishing, no account created, and a one-time claim_url valid 48 hours with the exact reviewer flow. It leaves one gap the annotations raise — destructiveHint=true and idempotentHint=false imply repeated calls produce separate drafts, which the description never addresses.

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?

Front-loaded with what it does and what it doesn't do, then fills, then guidance on optional fields. Every sentence carries operational weight, including the final instruction to relay the Spanish text and link.

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?

With 15 parameters and no output schema, the description correctly supplies the return value (claim_url) and its 48-hour lifetime, plus the human hand-off. It stops short of describing duplicate-draft behavior or any auth expectation on the calling side, which are the remaining unknowns for a mutating 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?

Schema coverage is 100%, so baseline is 3; the description adds real semantic guidance beyond the schema by saying what to populate from the person's own words and to only include questions, price_phases, and transfer_instructions 'when the person said them.' This tells the agent not to invent optional values, which the schema cannot express.

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 (draft/prepare) and resource (a person's event on Pandy Tickets) plus its exact provenance (from what the person told you). Its scope clause, 'Nothing is published and no account is created,' instantly separates it from the read-oriented siblings get-event/search-events.

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 it when someone wants to organize an event and sell tickets or take registrations' gives a clear triggering condition, and 'Leave ticket_types empty for a free event' resolves the main branch decision. It doesn't explicitly route against the sibling tools (get-checkout-link, get-event, search-events) or say when not to call it.

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.

Directories

Listed in ChatGPT · Pandy Tickets

Last observed

Resources