dayplay-mcp

DayPlay MCP — verified SF Bay Area places, events & walkable itineraries for AI agents. Free.

Should I use this

Quality & Safety

A
Description quality
82%
Schema completeness
84%
Naming quality
96%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (14)

  • LOWTool 'get_happening_today' description lacks action verbin get_happening_today
  • LOWTool 'get_live_now' description lacks action verbin get_live_now
  • LOWTool 'get_weekend' description lacks action verbin get_weekend
  • LOWTool 'get_listing' description lacks action verbin get_listing
  • LOWTool 'get_top_restaurants' description lacks action verbin get_top_restaurants
  • LOWTool 'get_top_venues' description lacks action verbin get_top_venues
  • LOWTool 'get_local_gems' description lacks action verbin get_local_gems
  • LOWTool 'get_event_bridge' description lacks action verbin get_event_bridge
  • LOWTool 'get_marketing_neighborhoods' description lacks action verbin get_marketing_neighborhoods
  • LOWTool 'list_going' description lacks action verbin list_going

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,626Tokens (tool definitions)
~894 BTypical response size
Significant attention impact (2.83% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "dayplay-mcp": {
      "url": "https://www.dayplay.io/api/mcp"
    }
  }
}

Remote endpoints

https://www.dayplay.io/api/mcpstreamable-http
https://api.dayplay.io/mcpstreamable-http

What it can do

Tool inventory

Tools (40)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_happening_today(lat, limit, lng, offset, radius_km, ...)

Events and places happening today.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "limit": {
      "description": "limit",
      "type": "integer"
    },
    "lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "offset": {
      "description": "offset",
      "type": "integer"
    },
    "radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "tz": {
      "description": "tz",
      "type": "string"
    }
  }
}
🟢get_live_now(lat, limit, lng, offset, radius_km, ...)

What is happening right now.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "limit": {
      "description": "limit",
      "type": "integer"
    },
    "lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "offset": {
      "description": "offset",
      "type": "integer"
    },
    "radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "tz": {
      "description": "tz",
      "type": "string"
    }
  }
}
🟢get_weekend(lat, limit, lng, offset, radius_km, ...)

Saturday or Sunday feed. weekend_day is sat or sun.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "limit": {
      "description": "limit",
      "type": "integer"
    },
    "lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "offset": {
      "description": "offset",
      "type": "integer"
    },
    "radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "tz": {
      "description": "tz",
      "type": "string"
    },
    "weekend_day": {
      "description": "sat or sun.",
      "enum": [
        "sat",
        "sun"
      ],
      "type": "string"
    }
  }
}
🟡get_decision_feed(anchor_city, event_week_offset, max_results, offset, preferred_radius_km, ...)

Ranked decision feed. Send user_lat and user_lng as numbers.

Input Schema

{
  "type": "object",
  "properties": {
    "anchor_city": {
      "description": "anchor_city",
      "type": "string"
    },
    "event_week_offset": {
      "description": "event_week_offset",
      "type": "integer"
    },
    "max_results": {
      "description": "max_results",
      "type": "integer"
    },
    "offset": {
      "description": "offset",
      "type": "integer"
    },
    "preferred_radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "search_query": {
      "description": "Natural-language query.",
      "type": "string"
    },
    "selected_genres": {
      "description": "selected_genres",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "selected_price_tiers": {
      "description": "selected_price_tiers",
      "items": {
        "type": "integer"
      },
      "type": "array"
    },
    "selected_subcategories": {
      "description": "selected_subcategories",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "selected_time_bands": {
      "description": "selected_time_bands",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "selected_type": {
      "description": "selected_type",
      "type": "string"
    },
    "tz": {
      "description": "tz",
      "type": "string"
    },
    "user_lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "user_lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "weekend_day": {
      "description": "sat or sun.",
      "enum": [
        "sat",
        "sun"
      ],
      "type": "string"
    }
  },
  "required": [
    "user_lat",
    "user_lng"
  ]
}
⚪browse_places(max_results, radius_km, search_query, selected_genres, selected_price_tiers, ...)

Places inside a radius, sorted by distance. user_lat, user_lng, and radius_km are numbers.

Input Schema

{
  "type": "object",
  "properties": {
    "max_results": {
      "description": "max_results",
      "type": "integer"
    },
    "radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "search_query": {
      "description": "Natural-language query.",
      "type": "string"
    },
    "selected_genres": {
      "description": "selected_genres",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "selected_price_tiers": {
      "description": "selected_price_tiers",
      "items": {
        "type": "integer"
      },
      "type": "array"
    },
    "selected_subcategories": {
      "description": "selected_subcategories",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "user_lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "user_lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    }
  },
  "required": [
    "user_lat",
    "user_lng"
  ]
}
🟢get_listing(id)

One event or place.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Dayplay listing id.",
      "type": "string"
    }
  }
}
🟢get_top_restaurants(city, limit)

Top restaurants. Optional city.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "description": "city",
      "type": "string"
    },
    "limit": {
      "description": "limit",
      "type": "integer"
    }
  }
}
🟢get_top_venues(limit)

Venues that host the most events.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "limit",
      "type": "integer"
    }
  }
}
🟢get_venue_events(id, limit)

Upcoming events at one venue.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Dayplay listing id.",
      "type": "string"
    },
    "limit": {
      "description": "limit",
      "type": "integer"
    }
  }
}
🟢get_local_gems(limit)

Curated local gems.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "limit",
      "type": "integer"
    }
  }
}
🟢get_locals_favorites(city, limit)

Published locals' favorites.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "description": "city",
      "type": "string"
    },
    "limit": {
      "description": "limit",
      "type": "integer"
    }
  }
}
🟢get_subcategories(lat, lng, radius_km, selected_moods, selected_type)

Catalog subcategories.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "selected_moods": {
      "description": "selected_moods",
      "type": "string"
    },
    "selected_type": {
      "description": "selected_type",
      "type": "string"
    }
  }
}
🟢get_genres(lat, lng, radius_km, selected_subcategories, selected_type)

Catalog genres.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "selected_subcategories": {
      "description": "selected_subcategories",
      "type": "string"
    },
    "selected_type": {
      "description": "selected_type",
      "type": "string"
    }
  }
}
🟢get_event_bridge(lat, lng, lookahead_weeks, radius_km, selected_moods)

Event-bridge taxonomy.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "lookahead_weeks": {
      "description": "lookahead_weeks",
      "type": "integer"
    },
    "radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "selected_moods": {
      "description": "selected_moods",
      "type": "string"
    }
  }
}
🟢get_marketing_events(category, date, limit, neighborhood, offset, ...)

Marketing event catalog. Forwards X-API-Key.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "description": "category",
      "type": "string"
    },
    "date": {
      "description": "Calendar date, YYYY-MM-DD.",
      "type": "string"
    },
    "limit": {
      "description": "limit",
      "type": "integer"
    },
    "neighborhood": {
      "description": "San Francisco, Oakland, or Berkeley neighborhood name, such as Mission.",
      "type": "string"
    },
    "offset": {
      "description": "offset",
      "type": "integer"
    },
    "source": {
      "description": "source",
      "type": "string"
    }
  }
}
🟢get_marketing_places(limit, neighborhood, offset, open_now, sort)

Marketing place catalog. Forwards X-API-Key.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "limit",
      "type": "integer"
    },
    "neighborhood": {
      "description": "San Francisco, Oakland, or Berkeley neighborhood name, such as Mission.",
      "type": "string"
    },
    "offset": {
      "description": "offset",
      "type": "integer"
    },
    "open_now": {
      "description": "When true, only places open now.",
      "type": "boolean"
    },
    "sort": {
      "description": "sort",
      "type": "string"
    }
  }
}
🟢get_marketing_neighborhoods

35 SF Bay Area neighborhood centroids. Forwards X-API-Key.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢list_saves

The signed-in user's saves.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_my_itinerary

The signed-in user's Saved-tab days.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢list_going

Events the signed-in user is attending.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_profile

The signed-in user's profile.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡save_listing(list_name, listing_id)

Bookmark a listing for the signed-in user.

Input Schema

{
  "type": "object",
  "properties": {
    "list_name": {
      "description": "list_name",
      "type": "string"
    },
    "listing_id": {
      "description": "Dayplay listing id.",
      "type": "string"
    }
  }
}
🔴unsave_listing(id)

Remove one save.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Dayplay listing id.",
      "type": "string"
    }
  }
}
🟡save_outing(date, stops)

Write plan stops onto a calendar day. date is YYYY-MM-DD. stops are listing_id objects.

Input Schema

{
  "type": "object",
  "properties": {
    "date": {
      "description": "Calendar date, YYYY-MM-DD.",
      "type": "string"
    },
    "stops": {
      "description": "Stops to save, in order. Each object needs listing_id.",
      "items": {
        "properties": {
          "listing_id": {
            "description": "Dayplay listing id.",
            "type": "string"
          }
        },
        "required": [
          "listing_id"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "date",
    "stops"
  ]
}
⚪mark_going(listing_id)

Mark a listing as going. Requires listing_id.

Input Schema

{
  "type": "object",
  "properties": {
    "listing_id": {
      "description": "Dayplay listing id.",
      "type": "string"
    }
  },
  "required": [
    "listing_id"
  ]
}
🔴unmark_going(id)

Remove a going RSVP.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Dayplay listing id.",
      "type": "string"
    }
  }
}
⚪upvote_listing(id)

Upvote a listing.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Dayplay listing id.",
      "type": "string"
    }
  }
}
🟡share_local_favorite(address, category, city, description, latitude, ...)

Submit a locals' favorite.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "description": "address",
      "type": "string"
    },
    "category": {
      "description": "category",
      "type": "string"
    },
    "city": {
      "description": "city",
      "type": "string"
    },
    "description": {
      "description": "description",
      "type": "string"
    },
    "latitude": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "longitude": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "name": {
      "description": "name",
      "type": "string"
    }
  },
  "required": [
    "name",
    "category",
    "latitude",
    "longitude"
  ]
}
🟡share_gem(category, description, location_text, photo_url, submission_type, ...)

Submit a gem.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "description": "category",
      "type": "string"
    },
    "description": {
      "description": "description",
      "type": "string"
    },
    "location_text": {
      "description": "location_text",
      "type": "string"
    },
    "photo_url": {
      "description": "photo_url",
      "type": "string"
    },
    "submission_type": {
      "description": "submission_type",
      "type": "string"
    },
    "title": {
      "description": "title",
      "type": "string"
    },
    "website_url": {
      "description": "website_url",
      "type": "string"
    }
  },
  "required": [
    "title",
    "category"
  ]
}
🟢search_smart(max_results, query, radius_km, selected_genres, selected_subcategories, ...)

Smart search. Model call; requires the user token.

Input Schema

{
  "type": "object",
  "properties": {
    "max_results": {
      "description": "max_results",
      "type": "integer"
    },
    "query": {
      "description": "Natural-language query.",
      "type": "string"
    },
    "radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "selected_genres": {
      "description": "selected_genres",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "selected_subcategories": {
      "description": "selected_subcategories",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "selected_type": {
      "description": "selected_type",
      "type": "string"
    },
    "user_lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "user_lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    }
  },
  "required": [
    "query"
  ]
}
🟢search_query_router(radius_km, search_query, user_lat, user_lng)

Query router. Model call; requires the user token.

Input Schema

{
  "type": "object",
  "properties": {
    "radius_km": {
      "description": "Radius in kilometers. Send a number, not a string.",
      "type": "number"
    },
    "search_query": {
      "description": "Natural-language query.",
      "type": "string"
    },
    "user_lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "user_lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    }
  },
  "required": [
    "search_query"
  ]
}
🟢search_embed(text, texts)

Embed text. Model call; requires the user token.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "description": "Natural-language query.",
      "type": "string"
    },
    "texts": {
      "description": "Alternate list of strings to embed.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "text"
  ]
}
🟢search_parse_intent(action, query)

Parse a search query into filters. Model call; requires the user token.

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "description": "action",
      "type": "string"
    },
    "query": {
      "description": "Natural-language query.",
      "type": "string"
    }
  },
  "required": [
    "query"
  ]
}
🟢search_rerank(items, query)

Rerank listings. Model call; requires the user token.

Input Schema

{
  "type": "object",
  "properties": {
    "items": {
      "description": "Listings to rerank. Each item needs an id and title.",
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "query": {
      "description": "Natural-language query.",
      "type": "string"
    }
  },
  "required": [
    "query",
    "items"
  ]
}
🟡search_web(max_results, query, search_query, user_lat, user_lng)

Web supplement. Model call; requires the user token. Send search_query.

Input Schema

{
  "type": "object",
  "properties": {
    "max_results": {
      "description": "max_results",
      "type": "integer"
    },
    "query": {
      "description": "Natural-language query.",
      "type": "string"
    },
    "search_query": {
      "description": "Natural-language query.",
      "type": "string"
    },
    "user_lat": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    },
    "user_lng": {
      "description": "Decimal degrees. Send a number, not a string.",
      "type": "number"
    }
  },
  "required": [
    "search_query"
  ]
}
🟢get_neighborhoods

35 San Francisco, Oakland, and Berkeley neighborhood centroids. Locations outside that area are out of market.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_events(category, date, limit, neighborhood, source)

Events for a date and neighborhood in San Francisco, Oakland, or Berkeley. Decline locations outside that area.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "description": "category",
      "type": "string"
    },
    "date": {
      "description": "Calendar date, YYYY-MM-DD.",
      "type": "string"
    },
    "limit": {
      "description": "limit",
      "type": "integer"
    },
    "neighborhood": {
      "description": "San Francisco, Oakland, or Berkeley neighborhood name, such as Mission.",
      "type": "string"
    },
    "source": {
      "description": "source",
      "type": "string"
    }
  }
}
🟢get_places(category, limit, neighborhood, newly_opened_days, open_now, ...)

Places in San Francisco, Oakland, or Berkeley. Decline locations outside that area.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "description": "category",
      "type": "string"
    },
    "limit": {
      "description": "limit",
      "type": "integer"
    },
    "neighborhood": {
      "description": "San Francisco, Oakland, or Berkeley neighborhood name, such as Mission.",
      "type": "string"
    },
    "newly_opened_days": {
      "description": "newly_opened_days",
      "type": "integer"
    },
    "open_now": {
      "description": "When true, only places open now.",
      "type": "boolean"
    },
    "sort": {
      "description": "sort",
      "type": "string"
    }
  }
}
🟡plan_outing(budget, date, interests, neighborhood, vibe)

Save an outing for a date and neighborhood onto the signed-in user's Saved tab. Requires Google connect. San Francisco, Oakland, and Berkeley only.

Input Schema

{
  "type": "object",
  "properties": {
    "budget": {
      "type": "string"
    },
    "date": {
      "description": "YYYY-MM-DD",
      "type": "string"
    },
    "interests": {
      "type": "string"
    },
    "neighborhood": {
      "type": "string"
    },
    "vibe": {
      "type": "string"
    }
  },
  "required": [
    "date",
    "neighborhood"
  ]
}
🟡manage_saved_plans(action, alert_type, plan, plan_id)

List or save the signed-in user's Dayplay itinerary. Requires Google connect. Sellout, closure, and weather alerts are not available yet.

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "enum": [
        "save",
        "list",
        "set_alert",
        "cancel_alert"
      ],
      "type": "string"
    },
    "alert_type": {
      "type": "string"
    },
    "plan": {
      "type": "object"
    },
    "plan_id": {
      "type": "string"
    }
  },
  "required": [
    "action"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded40 tools
verifiedversion not recorded5 tools