MCP server for searching and retrieving event information from Eventfinda API
Single tool with basic schema and minimal description. Tool name 'list_events' follows verb_noun convention (+). Input schema present with type and description (+). However, description is only 67 chars, below the 194-char baseline for production tools. No output schema documented; tool returns JSON.stringify() of processed events without formal schema declaration. No error handling guidance (UserError thrown but no recovery hints). No parameter constraints (location is free-form string, invites hallucinated values). Tool does not document prerequisites (requires EVENTFINDA_USERNAME/PASSWORD env vars) or expected output structure. Missing pagination despite potentially returning up to 10 events. No idempotency guarantees stated.
List all events within this week for a given location.
No output schema documented. Tool returns JSON.stringify() of event objects, but LLM cannot infer field names, types, or structure. Agents cannot reliably extract event_id, title, or url for downstream calls.
Tool description is 67 characters, below the 194-char production baseline. Lacks WHEN to use (vs. other event discovery tools), WHAT it returns, and any prerequisites. LLM cannot determine if this is the right tool for the user's intent.
Location parameter accepts free-form string with no enum, pattern, or validation. LLM may pass invalid location names, causing 'Could not find location' errors with no recovery guidance. Should accept location names OR location IDs and provide search hints.
Error handling does not guide recovery. UserError('Could not find location: X') tells LLM nothing, should suggest 'Try search_locations() first' or return available locations. No retry guidance for API failures.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | <=2025-11-25 | v2 |
Credentials (EVENTFINDA_USERNAME, EVENTFINDA_PASSWORD) are environment variables, which is correct. However, tool does not document this dependency or what happens if they are missing. Server throws at startup, blocking all tool use.