Skip to main content
Glama

Party timeline

party_timeline
Read-onlyIdempotent

Build a dated countdown plan for a party, with task lists at 6 weeks, 4, 3, 2 and 1 week, 3 days, the day before and the day itself. Use when the date is set and the host needs to know what to do when. Do NOT use for spending (use party_budget) or a categorized supplies list (use party_checklist).

Input Schema

NameRequiredDescriptionDefault
guestsNoOptional guest count 1-1000; adds a cake-sizing task at T-14
event_dateYesParty date YYYY-MM-DD, e.g. 2026-12-20
event_typeNoOptional event label added to the T-21 tasks, e.g. 'birthday', 'bbq' or 'kids party'

Output Schema

NameRequiredDescriptionDefault
noteYesHow to read the milestone dates
event_dateYesParty date YYYY-MM-DD
milestonesYesCountdown milestones from T-42 days to the day itself

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changed
    • changedInput schema / properties / event_date / description
      Previous value: -"Party date in YYYY-MM-DD format"New value: +"Party date YYYY-MM-DD, e.g. 2026-12-20"
    • changedInput schema / properties / event_type / description
      Previous value: -"Optional event label, e.g. 'birthday', 'bbq' or 'kids party'"New value: +"Optional event label added to the T-21 tasks, e.g. 'birthday', 'bbq' or 'kids party'"
    • changedInput schema / properties / guests / description
      Previous value: -"Optional guest count for cake sizing"New value: +"Optional guest count 1-1000; adds a cake-sizing task at T-14"
    • addedInput schema / properties / guests / maximum
      Added value: +1000
    • addedInput schema / properties / guests / minimum
      Added value: +1
    • changedInput schema / properties / guests / type
      Previous value: -"number"New value: +"integer"
    • changedOutput schema / properties / event_date / description
      Previous value: -"The date of the party in YYYY-MM-DD format."New value: +"Party date YYYY-MM-DD"
    • removedOutput schema / properties / event_type
      Removed value: -{
      -  "description": "The type of event, e.g., 'birthday', 'bbq', or 'kids party'.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / guests
      Removed value: -{
      -  "description": "The number of guests attending the party.",
      -  "type": "number"
      -}
    • addedOutput schema / properties / milestones
      Added value: +{
      +  "description": "Countdown milestones from T-42 days to the day itself",
      +  "items": {
      +    "properties": {
      +      "date": {
      +        "description": "Calendar date YYYY-MM-DD to finish these tasks by",
      +        "type": "string"
      +      },
      +      "tasks": {
      +        "description": "Tasks for this milestone",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "when": {
      +        "description": "Offset label, e.g. 'T-14 days'",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "when",
      +      "date",
      +      "tasks"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "How to read the milestone dates",
      +  "type": "string"
      +}
    • removedOutput schema / properties / timeline
      Removed value: -{
      -  "description": "A list of milestones and tasks leading up to the party.",
      -  "items": {
      -    "properties": {
      -      "days_until": {
      -        "description": "The number of days until the party for this milestone.",
      -        "type": "number"
      -      },
      -      "tasks": {
      -        "description": "A list of tasks to complete for this milestone.",
      -        "properties": {
      -          "cake": {
      -            "description": "Tasks related to the cake.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "confirmations": {
      -            "description": "Tasks related to confirmations.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "decorations": {
      -            "description": "Tasks related to decorations.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "invitations": {
      -            "description": "Tasks related to invitations.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "menu": {
      -            "description": "Tasks related to the menu.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "run_sheet": {
      -            "description": "Tasks for the day-of run sheet.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "setup": {
      -            "description": "Tasks related to setup.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "venue": {
      -            "description": "Tasks related to the venue.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedOutput schema / required
      Added value: +[
      +  "event_date",
      +  "milestones",
      +  "note"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "event_date": {
      +      "description": "The date of the party in YYYY-MM-DD format.",
      +      "type": "string"
      +    },
      +    "event_type": {
      +      "description": "The type of event, e.g., 'birthday', 'bbq', or 'kids party'.",
      +      "type": "string"
      +    },
      +    "guests": {
      +      "description": "The number of guests attending the party.",
      +      "type": "number"
      +    },
      +    "timeline": {
      +      "description": "A list of milestones and tasks leading up to the party.",
      +      "items": {
      +        "properties": {
      +          "days_until": {
      +            "description": "The number of days until the party for this milestone.",
      +            "type": "number"
      +          },
      +          "tasks": {
      +            "description": "A list of tasks to complete for this milestone.",
      +            "properties": {
      +              "cake": {
      +                "description": "Tasks related to the cake.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "confirmations": {
      +                "description": "Tasks related to confirmations.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "decorations": {
      +                "description": "Tasks related to decorations.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "invitations": {
      +                "description": "Tasks related to invitations.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "menu": {
      +                "description": "Tasks related to the menu.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "run_sheet": {
      +                "description": "Tasks for the day-of run sheet.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "setup": {
      +                "description": "Tasks related to setup.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "venue": {
      +                "description": "Tasks related to the venue.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds the concrete outputs (milestone weeks) but doesn't go beyond annotations on mutation, auth, or failure behavior; with annotations carrying that load, 3 fits.

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: what it builds, when to use, when not to and where to go instead. Front-loaded and zero waste.

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?

Output schema exists, so return values need no explanation. Purpose, outputs, selection guidance and routing to siblings are all present for a 3-param planning tool.

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 each parameter has its own description (guests adds a T-14 cake task, event_type labels T-21 tasks). The description adds no parameter detail beyond the schema, 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?

States a specific verb+resource ('Build a dated countdown plan for a party') and enumerates the exact milestones produced, so an agent knows precisely what artifact it gets.

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 both a positive condition ('when the date is set and the host needs to know what to do when') and explicit exclusions routing to party_budget and party_checklist.

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.

Resources