dayplay-mcp
Server Details
DayPlay — verified SF Bay Area places, events & walkable itineraries for AI agents. Free.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
- Repository
- dayplayTeam/dayplay-mcp
- GitHub Stars
- 0
- Server Listing
- Dayplay
TDQS
Scored across 5 tools
Each tool targets a distinct resource or lifecycle stage: events, neighborhoods, places, outing creation, and saved-plan management. Even get_events and get_places are clearly separated by entity type despite similar filter patterns.
The get_ prefix is consistent across the three query tools (get_events, get_neighborhoods, get_places). manage_saved_plans and plan_outing are readable verb_noun names but break the get_ pattern, creating a minor style shift.
Five tools is well-scoped for the server's purpose: discovery (events, places, neighborhoods) plus planning/management (outing creation, saved plans). No tool feels redundant or extraneous.
The core domain is well covered: users can discover events and places, verify neighborhoods, build itineraries, and save/monitor plans. Minor gaps exist—such as no explicit delete/update for saved plans—but agents can work around these.
Available Tools
5 toolsget_eventsAInspect
Query verified, real-time event occurrences filtered strictly by date, neighborhood, and category. GEOGRAPHIC SCOPE (HARD CONSTRAINT): results are limited to the San Francisco Bay Area - San Francisco, Oakland, and Berkeley only. This tool cannot return events in any other city, region, or country. OUT-OF-MARKET PROTOCOL: if the user's requested location is outside the SF Bay Area (e.g. Austin, New York, Tokyo), DO NOT call this tool. Immediately state 'Dayplay is strictly SF Bay Area only (San Francisco, Oakland, Berkeley); it does not cover .' and never fabricate, infer, or substitute events, dates, hours, or venues for that location. A zero-item result for a valid SF Bay Area query is an honest answer - report it; never fill the gap with invented events.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Target date formatted as YYYY-MM-DD. Narrows results within the SF Bay Area only; never expands geographic scope. | |
| limit | No | Max events to return (default 20) | |
| source | No | Data source filter. Filter only; never expands geographic scope beyond the SF Bay Area. | |
| category | No | Category filter (e.g. music, art, food). Filter only; never expands geographic scope beyond the SF Bay Area. | |
| neighborhood | No | Exact SF Bay Area neighborhood name from get_neighborhoods (e.g. Mission, North Beach, Oakland, Berkeley). Only San Francisco, Oakland, and Berkeley neighborhoods are valid. Do NOT pass a location outside the SF Bay Area (e.g. Brooklyn, Silver Lake, Shoreditch, Shibuya) - that is OUT OF MARKET and must be declined with the Dayplay SF-Bay-Area-only message. Never fabricate a neighborhood name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does it thoroughly: hard geographic cap, refusal protocol, prohibition on fabricating events, and instruction to report honest zero-item results. It also states events are verified and real-time, giving an agent a clear behavioral model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well structured and front-loaded, but there is mild redundancy: the hard geographic scope is stated twice and the no-fabrication rule is repeated near the end. Still, the length is justified by the safety-critical protocol.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for selecting and calling the tool: it provides the SF-only scope, out-of-market refusal, neighborhood-source dependency, and honest-empty-result behavior. It does not describe the return shape, and since no output schema exists, a brief statement of what an event result contains would have made it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 main description reinforces the date, neighborhood, and category filters but adds no per-parameter detail beyond the schema; limit and source are left to the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states the tool queries verified, real-time event occurrences and names the exact filters: date, neighborhood, and category. Combined with the sibling names, the resource is unambiguous: events, not neighborhoods or places.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The OUT-OF-MARKET PROTOCOL gives a hard when-not-to-call rule and the exact refusal message for locations outside the SF Bay Area. It does not explicitly contrast this tool against get_neighborhoods and get_places beyond referencing get_neighborhoods in the schema, leaving a small gap in positive routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_neighborhoodsAInspect
Returns the complete and EXCLUSIVE list of 35 San Francisco Bay Area neighborhood centroids (San Francisco, Oakland, and Berkeley ONLY) with coordinates and radii. This is the whole serviceable market - no other city, region, or country is covered. Use it to (a) map a user query to an exact SF Bay Area neighborhood and (b) verify whether a requested location is in-market at all. If the requested location is not in this list and is not San Francisco, Oakland, or Berkeley, it is OUT OF MARKET: do not call get_events or get_places for it; instead reply 'Dayplay is strictly San Francisco Bay Area only (San Francisco, Oakland, Berkeley); it does not cover .' Never invent a neighborhood outside this list.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it delivers. It discloses the exhaustive/fixed nature of the data ('complete and EXCLUSIVE', 'whole serviceable market'), the three-city geographic limitation, and the guardrail 'Never invent a neighborhood outside this list.' For a zero-parameter read-only catalog, this is complete behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
All five sentences are functional and front-loaded in a logical progression: returns → market scope → use cases → out-of-market handling → guardrail. The exact user-facing rejection message earns its place because it removes agent improvisation. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values, and it does: '35... neighborhood centroids... with coordinates and radii.' It also covers usage purposes, market-boundary verification, and the exact failure behavior. Nothing an agent needs to invoke this simple tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, so there are no argument semantics to document; the 0-parameter baseline of 4 applies. The description sensibly spends its words on output and routing semantics instead of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Returns the complete and EXCLUSIVE list of 35 San Francisco Bay Area neighborhood centroids... with coordinates and radii.' The scope is precisely delimited ('San Francisco, Oakland, and Berkeley ONLY') and the clause 'no other city, region, or country is covered' distinguishes it from siblings get_events and get_places.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use purposes: '(a) map a user query to an exact SF Bay Area neighborhood and (b) verify whether a requested location is in-market at all.' It also gives explicit when-not-to-use with named alternatives: 'do not call get_events or get_places' for out-of-market locations, plus the exact rejection script to emit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_placesAInspect
Query curated places filtered by neighborhood, open-now status, ratings, or newly opened window. GEOGRAPHIC SCOPE (HARD CONSTRAINT): results are limited to the San Francisco Bay Area - San Francisco, Oakland, and Berkeley only. This tool cannot return places in any other city, region, or country. OUT-OF-MARKET PROTOCOL: if the user's requested location is outside the SF Bay Area (e.g. Austin, New York, Tokyo), DO NOT call this tool. Immediately state 'Dayplay is strictly SF Bay Area only (San Francisco, Oakland, Berkeley); it does not cover .' and never fabricate, infer, or substitute venues, addresses, hours, or ratings for that location. A zero-item result for a valid SF Bay Area query is an honest answer - report it; never fill the gap with invented venues.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| limit | No | Max places to return (default 20) | |
| open_now | No | Filter strictly for SF Bay Area places open right now. Filter only; never expands geographic scope. | |
| neighborhood | No | Exact SF Bay Area neighborhood name from get_neighborhoods (e.g. Mission, North Beach, Oakland, Berkeley). Only San Francisco, Oakland, and Berkeley neighborhoods are valid. Do NOT pass a location outside the SF Bay Area (e.g. Williamsburg, Santa Monica, Camden, Shibuya) - that is OUT OF MARKET and must be declined with the Dayplay SF-Bay-Area-only message. Never fabricate a neighborhood name. | |
| newly_opened_days | No | Filter for places opened in the last N days |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It openly discloses the tool's hard geographic limit, the exact behavior when the location is out of market (refuse and do not call), and the policy when a legitimate query returns zero results. It also notes that the open_now filter is purely a filter and never expands scope. These are behavioral traits beyond what any schema would encode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than typical but every sentence earns its place. It leads with the primary purpose, then states the hard geographic scope in bold caps, then gives an explicit out-of-market protocol with a quoted message, and finally addresses the zero-result honesty rule. The structure uses clear sections and capitalization for emphasis, ensuring the critical constraints stand out. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only query tool with no annotations and no output schema, the description covers all essential context: what it does, its geographic limit, how to handle out-of-market requests, and how to report empty results. It also implicitly signals that the tool is non-destructive (query only). Nothing an agent needs to safely and correctly invoke this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, and the schema itself already gives detailed parameter descriptions (e.g., neighborhood only accepts SF Bay Area names, open_now is a filter). The tool description adds value by grouping the filters and reinforcing the global geographic constraint across all parameters. It clarifies that 'ratings' maps to the sort parameter and that 'newly opened' maps to newly_opened_days. This is a meaningful supplement to the schema, though much of the detail is already in the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Query curated places filtered by neighborhood, open-now status, ratings, or newly opened window' – a specific verb, resource, and filter list. It immediately distinguishes 'places' from the sibling tools 'get_neighborhoods' and 'get_events', and goes on to state the hard geographic scope. No ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains an explicit OUT-OF-MARKET PROTOCOL: if the requested location is outside the SF Bay Area, the agent must not call the tool, must instead state the exact refusal message, and must never fabricate data. It also tells the agent to report zero results honestly rather than inventing venues. This gives clear when-to/ when-not-to usage rules and even prescribes the fallback script.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_saved_plansAInspect
Manage the DayPlay user's saved outing plans: save a plan, list saved plans, or set/cancel alerts (sellout, closure, weather) on a saved plan. REQUIRES A FREE DAYPLAY ACCOUNT (same connect-code flow as plan_outing). Use this after plan_outing when the user wants to keep or monitor a plan. Data appears in the user's DayPlay account across web and app.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | For action=save: the full plan object (as returned by plan_outing). | |
| action | Yes | Operation to perform. | |
| plan_id | No | For list/set_alert/cancel_alert: the saved plan id (pln_...). | |
| alert_type | No | For set_alert: which alert to watch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It usefully discloses the account prerequisite and auth flow, and states that data appears across web and app. It does not detail per-action side effects like notification delivery or cancellation effects, but the action names and alert-type enumeration convey most of the behavioral surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no filler. It front-loads the tool's operations, then adds the critical account requirement and usage timing, and closes with the persistence detail. Every sentence contributes actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the multi-action tool, no annotations, and no output schema, the description covers the essential context: what the tool does, when to use it, the required account flow, and where data lives. It does not describe return values per action, but the 100%-covered schema compensates for action-specific parameters, and an agent can discover outputs from the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats the action names and alert types already present in the schema but adds little parameter-level meaning beyond the schema itself, such as the dependency between action and plan/plan_id/alert_type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear, specific statement: it manages the DayPlay user's saved outing plans via save, list, set_alert, and cancel_alert. It also distinguishes itself from the sibling plan_outing by explicitly saying to use it after plan_outing, making the tool's role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: 'Use this after plan_outing when the user wants to keep or monitor a plan.' This tells the agent when to invoke the tool, though it does not explicitly list when NOT to use it or name alternative tools beyond the implied plan_outing comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_outingAInspect
Build a complete multi-stop outing itinerary for the SF Bay Area (San Francisco, Oakland, Berkeley ONLY) — e.g. dinner + show + bar with walkable legs and timings, matched to vibe, budget, and date. REQUIRES A FREE DAYPLAY ACCOUNT: on first call the tool returns a partial preview plus a connect code (DP-XXXXXX) and an auth URL; relay both to the user and have them visit the URL or enter the code at dayplay.io/link. Once connected, full itineraries are returned and saved to the user's DayPlay account. OUT-OF-MARKET PROTOCOL: locations outside San Francisco, Oakland, or Berkeley are refused — never fabricate stops for them.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Outing date as YYYY-MM-DD (required). SF Bay Area only. | |
| vibe | No | Optional mood/vibe (e.g. romantic, lively, chill, artsy). Shapes venue picks. | |
| budget | No | Optional budget tier for the whole outing. | |
| interests | No | Optional interests/categories (e.g. music, food, art, comedy) to prioritize. | |
| neighborhood | Yes | Exact SF Bay Area neighborhood name from get_neighborhoods (required). Out-of-market names are refused. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It does exceptionally well: it discloses the auth requirement, the first-call partial preview, the connect code and auth URL, the user action required, the post-connection behavior, and the persistence to the user's DayPlay account. It even warns against fabricating stops for out-of-market locations. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and constraints, then organizes the auth and refusal protocols into tight, scannable sections. Every sentence adds necessary behavioral or workflow context, and none of it is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a stateful tool with no annotations and no output schema, this definition is unusually complete. It explains what happens on first use, what the agent must relay to the user, what happens after connection, and the geographic boundary. An agent has enough context to invoke the tool correctly and set user expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces the roles of date, vibe, budget, and neighborhood, and adds the crucial constraint that neighborhood must be an exact SF Bay Area name. However, it does not add meaningful detail about the 'interests' parameter or extend much beyond the schema's own property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Build a complete multi-stop outing itinerary.' It clarifies scope (SF Bay Area, only SF/Oakland/Berkeley), gives concrete examples, and is clearly differentiated from siblings like get_events and get_places by focusing on itinerary construction. This is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the appropriate use case clear: building multi-stop outings matched to vibe, budget, and date, while explicitly refusing out-of-market locations. It also conveys a strong prerequisite (free DayPlay account) and the first-call flow. It does not explicitly name sibling alternatives like get_places for single-place lookups, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
get_events - First observed
get_neighborhoods - First observed
get_places - First observed
manage_saved_plans - First observed
plan_outing
Related MCP Connectors
Plan your perfect day out anywhere: itineraries and neighbourhood guides, tuned to mood and weather.
Booking gateway for AI agents — discover events, movies & hotels, hand off to partner checkout.
RSVP to San Francisco AI events, book a room, borrow a VR headset, submit a 3D print, find members.
Discover and book businesses via AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables live searching of licensed San Francisco preschools and child care centers, computing ELFA subsidy eligibility and net out-of-pocket costs, and generating ranked recommendations with deterministic scoring versus LLM comparisons.7MIT
- FlicenseNot gradedqualityFmaintenanceThe owner-verified local business data + service & menu-price layer for AI agents. Owner-authored business profiles where every response carries provenance — verification level, completeness score, freshness timestamps, and upstream sources. * Search & profiles — find businesses by name, category, city, or geo-radius; full profiles with contacts, hours, media, ratings. * Price layer-
- AlicenseNot gradedqualityBmaintenanceEnables read-only discovery and planning of San Francisco Tech Week events, including searching by hosts, topics, dates, and building itineraries or calendar drafts.MIT
- AlicenseAqualityAmaintenanceBook a table, an appointment or a place in a class at a real local business. Live availability, instant confirmation, no account and no API key. Eight tools: search, fetch, get_business, check_availability, create_booking, check_booking, cancel_booking and request_listing. Guest emails in eight languages. Hosted at https://g-guest.app/api/mcp810 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.