SF Rec & Park Events MCP. Public events & programming in San Francisco parks and public spaces, from the keyless sfrecpark.org events RSS feed (custom calendarEvent: namespace). Free/outdoor/community civic events that complement the commercial APIs — the SF counterpart to the NYC Parks pack. Parsed + normalized in-pack.
Single tool 'events' has a clear, descriptive name and well-structured schema with four parameters. Description (158 chars) is within baseline range (p10=34, p90=392) and explains the tool's purpose. All parameters have type definitions and descriptions. However, output schema is not documented, LLMs cannot predict the response structure. Parameter descriptions lack format constraints (e.g., date regex, limit bounds stated as 1-100 but not in schema). No error handling guidance. Tool is read-only (low risk) but lacks idempotent/readonly annotations.
Upcoming San Francisco Rec & Park events & programming (parks, plazas, rec centers). Filter by date window and keyword (title/location/description). Free/outdoor/community civic events.
Output schema not documented. LLMs cannot predict response structure (metro, source, date_from, date_to, total_matching, count, events array). Without documented output, agents cannot plan downstream operations or extract fields reliably.
Parameter 'limit' description states '1-100, default 50' but JSON Schema lacks minItems/maxItems constraints. LLMs cannot read constraint text reliably, they need formal schema bounds (minimum: 1, maximum: 100).
Date parameters 'from' and 'to' lack format specification. Description says 'YYYY-MM-DD' but schema has no format: 'date' or pattern. LLMs may pass invalid dates like '2026-13-45' without validation guidance.
No error handling guidance. If feed fetch fails (HTTP 500, timeout, malformed XML), the error message 'SF Rec & Park: HTTP 500' gives the LLM no recovery path. Should suggest retry, fallback, or user notification.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Tool lacks readonly annotation. The MCP spec supports toolAnnotations (readOnlyHint, destructiveHint, idempotentHint). This tool is read-only and idempotent, annotating it helps agents reason about safety and retry logic.