Skip to main content
Glama
chrischall

onthecheap-mcp

by chrischall

List a city’s events for a day

otc_list_events
Read-onlyIdempotent

Find free and cheap events in an On the Cheap city for any date. Get each listing's time, price, and venue, or filter to show only free events.

Instructions

List everything happening in an "on the Cheap" city on a given date, from that site’s events calendar — each with its time, price (most are free) and venue. Pass the site key for the city (see otc_list_sites) and an ISO date (YYYY-MM-DD); the date defaults to today in that city. Set free_only to keep just the no-cost listings. The national hub has no local calendar and is not a valid site here. Use otc_get_post on a listing's url for the full write-up. Read-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoDay to list, as ISO YYYY-MM-DD. Defaults to today in the city’s own time zone.
siteYesWhich "on the Cheap" city to read. Required — there is no default site. One of: charlotte, denver, atlanta, chicago, columbus, seattle, kansascity, miami, orlando, portland, richmond, southernmaine, triangle, national. Common aliases also work (milehigh, raleigh, rva, southflorida, kc, …). Use otc_list_sites for the full list with the area each one covers.
free_onlyNoOnly listings marked FREE

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.2
    • changedInput schema / properties / date / description
      Previous value: -"Day to list, as ISO YYYY-MM-DD. Defaults to today."New value: +"Day to list, as ISO YYYY-MM-DD. Defaults to today in the city’s own time zone."
  2. Changed1 schema field changedv1.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  3. First observedv0.3.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare read-only and idempotent behavior. The description adds meaningful behavioral context: the date defaults to today in the city's time zone, the national hub is invalid, listings include time/price/venue, and the operation is read-only. No contradictions with annotations.

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 focused sentences, front-loaded with the core action gift, then parameter notes, an exclusion, and a pointer to a sibling tool. No filler or redundant restatement of the title.

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 no output schema, the description compensates by stating what each listing contains (time, price, venue) and the behavior of each parameter. It also covers the invalid site case and directs users to otc_get_post for full write-ups, so an agent has enough to invoke it correctly.

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 the baseline is 3. The description adds value beyond the schema by explaining that `date` defaults to today, `free_only` filters to no-cost listings, and `site` must be a valid local calendar—reinforcing the schema's provided list and aliases.

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: "List everything happening in an 'on the Cheap' city on a given date." It clearly distinguishes itself from siblings by noting the site-scoped calendar listing and pointing to otc_get_post for full write-ups.

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 explicit usage instructions: pass `site` key, use ISO `date`, set `free_only` for no-cost listings. It also mentions when not to use it (the national hub has no local calendar) and directs to otc_get_post for richer detail.

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