Skip to main content
Glama

Search kids' activities in a metro

search_activities
Read-only

Find kids' and family events, classes, and places in a chosen metro, filtered by date, price, age, category, or keywords. Returns soonest listings with official links and last-checked dates.

Instructions

Find kids' and family events, classes/programs and places in one Grassy Knees metro area, filtered by date, price, age, category and keywords. Returns at most 20 listings, soonest first, each with its grassyknees.com page URL, the organizer's official link and the last-checked date. Dates are in the metro's local time.

Input Schema

NameRequiredDescriptionDefault
ageNoChild's age in years; keeps listings whose published age range includes it (listings without an age range are kept).
kindNoevent = dated one-offs (default); program = classes and multi-week series; place = museums, parks, rinks and other places to go; any = all three.
whenNoDate window. Default next-7-days. Ignored when start_date is given.
limitNoHow many listings to return, 1–20 (default 10).
metroYesMetro id from list_metros (e.g. denver, new-york, washington-dc, dallas-fort-worth). Common names like 'NYC' or 'Dallas' also work.
queryNoKeywords matched against title, description, venue, organizer and address (all words must match), e.g. 'pumpkin', 'library storytime', 'Boulder'.
categoryNo
end_dateNoEnd of the custom range, YYYY-MM-DD. Defaults to start_date.
free_onlyNoOnly free listings.
start_dateNoStart of a custom date range, YYYY-MM-DD (metro local time).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

readOnlyHint and openWorldHint already establish the safety profile, and the description adds real context beyond them: result cap of 20, soonest-first ordering, per-listing URL/official-link/last-checked-date payload, and that dates are in metro local time. It stops short of noting pagination absence or any rate limits.

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 sentences, front-loaded with purpose, then result shape, then time-zone caveat. Every clause carries information an agent would otherwise have to guess.

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?

There is no output schema, and the description compensates by describing the return payload and ordering. What remains unexplained is minor: result-count defaults and the start_date-overrides-when interaction, both of which live only in the schema.

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 90%, so the schema already carries parameter meaning (enums for kind/when/category, age range semantics, limit bounds). The description only re-summarizes the dimensions as a filter list (date, price, age, category, keywords), adding no syntax or interaction detail such as how start_date overrides when.

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 ('Find kids' and family events, classes/programs and places') plus the scoping constraint 'in one Grassy Knees metro area'. This contrasts sharply with get_activity (single listing) and list_metros (metro ids), so an agent can separate it from its siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the filter list signals 'search in the metro', but the description never says when to prefer get_activity or seasonal_guide, nor that the metro id typically comes from list_metros. A competent agent can infer the flow, but the routing guidance is absent.

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