Preference-aware events discovery MCP server. Knows what you like, surfaces what you'd actually want to do.
Server has 13 tools with basic schemas and descriptions, but significant quality gaps. Naming is inconsistent, three tools named 'search_events' create ambiguity for LLMs. Descriptions are present but generic (avg ~80 chars, below 194-char baseline). No output schemas documented. Error handling absent. Tool composition is poor: multiple overlapping search tools (Dice, Eventbrite, Meetup, RA) should be unified or clearly differentiated. No tool annotations (readOnlyHint, etc.). Parameter validation rules not documented. This is a typical community server with functional but under-specified tools.
Fetch all configured feeds (optionally filtered by category) in parallel.
Fetch a single RSS feed by ID.
Format a forecast list into a human-readable markdown string.
Get a single brewery by ID.
Get full details for a specific RA event.
Fetch NWS 7-day forecast for NYC, returning one entry per period.
Search breweries by city/state.
Three tools named 'search_events' (Dice, Eventbrite, Meetup) create severe ambiguity. LLMs cannot distinguish which to call. Violates naming clarity pattern.
Parameter descriptions missing or minimal. E.g., 'city' param lacks format guidance (is 'new york' or 'New York' expected?). Rubric requires descriptions for every parameter.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. Rubric requires documented return types for all tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
Search events by artist/keyword. Falls back to filter-then-keyword on browse.
Scrape Meetup find page for events near a city. No API key needed — this is a public scraper.
Search for events via Eventbrite API using keyword, city, category, date range, and price filters.
Browse upcoming events in a city on Dice.
Browse electronic music events in a city for a date range.
Fan out across major event categories in parallel and dedupe by event id.
No error handling guidance. Tools lack recovery hints (e.g., 'If city not found, try search_cities() first'). Rubric requires actionable error messages.
Tool composition is poor. Multiple overlapping event search tools (Dice, Eventbrite, Meetup, RA) should be unified under a single 'search_events' with a 'source' parameter, or clearly differentiated by domain (e.g., search_dice_events, search_eventbrite_events).