{
  "name": "SupaPark",
  "description": "Walt Disney World park intelligence for AI agents: live and \"Real Wait\" wait times, which park to visit today, crowd forecasts, Lightning Lane prices and sellout times, and dining reservation drop odds. Public tools need no authentication; account tools (ride and dining watches) need a pairing key the user creates in SupaPark. The interface is an MCP server (streamable HTTP, stateless JSON-RPC 2.0, tools only) with the same tools as plain JSON REST calls described by an OpenAPI 3.1 document; SupaPark does not implement the A2A message/task protocol. Independent service; not affiliated with Disney.",
  "version": "0.2.0",
  "supportedInterfaces": [
    {
      "url": "https://supapark.com/api/agent/mcp",
      "protocolBinding": "MCP",
      "protocolVersion": "2025-06-18",
      "transport": "streamable-http"
    }
  ],
  "provider": {
    "organization": "SupaPark",
    "url": "https://supapark.com"
  },
  "iconUrl": "https://supapark.com/icon-512.png",
  "documentationUrl": "https://supapark.com/developers",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "pairingKey": {
      "httpAuthSecurityScheme": {
        "scheme": "Bearer",
        "description": "Optional SupaPark pairing key (sp_…) created by a signed-in user in SupaPark → Settings → Connected assistants. Only the account tools use it. See https://supapark.com/auth.md."
      }
    }
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "which_park_today",
      "name": "Which park is best today",
      "description": "Ranks the four Walt Disney World theme parks for visiting right now, combining live crowd levels, today's forecast and remaining park hours. Returns each park's rank, live average wait, open/close times and a one-line reason.",
      "tags": [
        "walt-disney-world",
        "park-choice",
        "live",
        "crowds"
      ],
      "examples": [
        "Which Disney World park should we go to today?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_live_wait_times",
      "name": "Live wait times",
      "description": "Current posted wait times for Walt Disney World attractions plus SupaPark's Real Wait estimate of the actual wait, a low/high range, confidence, and a flag for \"ghost\" waits that are posted but not real. Refreshes every few minutes during park hours.",
      "tags": [
        "walt-disney-world",
        "wait-times",
        "live"
      ],
      "examples": [
        "What is the wait for Space Mountain right now?",
        "Live waits at EPCOT"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_crowd_forecast",
      "name": "Crowd forecast",
      "description": "Day-by-day crowd forecast for one Walt Disney World park: a 0-100 crowd index, a label (low/moderate/high…) and the drivers behind it (holidays, events, school breaks). Covers the next few weeks when no dates are given.",
      "tags": [
        "walt-disney-world",
        "crowds",
        "forecast",
        "trip-planning"
      ],
      "examples": [
        "How crowded will Magic Kingdom be next Tuesday?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_dining_drop_odds",
      "name": "Dining reservation drop odds",
      "description": "For hard-to-book Walt Disney World restaurants: how often cancelled reservations reappear (\"drops\"), the probability of catching one, and the best day-of-week and hour to look.",
      "tags": [
        "walt-disney-world",
        "dining",
        "reservations"
      ],
      "examples": [
        "What are my chances of getting Cinderella's Royal Table?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_lightning_lane_prices",
      "name": "Lightning Lane prices and value",
      "description": "Today's Lightning Lane Single Pass prices per attraction at a Walt Disney World park, with 30-day min/median/max, the current posted wait, minutes saved per dollar and a value verdict (e.g. \"great deal\").",
      "tags": [
        "walt-disney-world",
        "lightning-lane",
        "prices"
      ],
      "examples": [
        "Is the Lightning Lane for Guardians worth it today?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_multi_pass_price",
      "name": "Lightning Lane Multi Pass price",
      "description": "The Lightning Lane Multi Pass price for a Walt Disney World park on a given date (defaults to today).",
      "tags": [
        "walt-disney-world",
        "lightning-lane",
        "prices"
      ],
      "examples": [
        "How much is Lightning Lane Multi Pass at Hollywood Studios on Saturday?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_attraction_details",
      "name": "Attraction details and wait history",
      "description": "Details for one Walt Disney World attraction (height requirement, land, thrill level, Lightning Lane tier) plus its recent wait-time history and downtime. Takes an attraction slug, e.g. \"space-mountain\".",
      "tags": [
        "walt-disney-world",
        "attractions",
        "wait-times",
        "history"
      ],
      "examples": [
        "How tall do you have to be for Expedition Everest?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_lightning_lane_sellouts",
      "name": "Lightning Lane sellout times",
      "description": "When each Walt Disney World ride's Lightning Lane sold out, measured by SupaPark. range \"today\": today's sellout times so far (or \"still available\"). range \"week\": the typical sellout time over the last seven complete days, with how many days sold out and how many were gone before 7:00 AM. Times are Eastern.",
      "tags": [
        "walt-disney-world",
        "lightning-lane",
        "sellouts"
      ],
      "examples": [
        "When does the Seven Dwarfs Lightning Lane sell out?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_hardest_dining_reservations",
      "name": "Hardest dining reservations",
      "description": "Walt Disney World restaurants ranked by how rarely a reservation opens, from SupaPark's own availability checks: difficulty tier, the share of checks that found a table, and cancellations (\"drops\") caught in the last 30 days.",
      "tags": [
        "walt-disney-world",
        "dining",
        "reservations"
      ],
      "examples": [
        "What are the hardest Disney World dining reservations to get?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_my_account",
      "name": "My SupaPark account",
      "description": "Shows whether this assistant is linked to a SupaPark account, the plan (free, silver or gold) and how alerts are delivered. Requires a linked SupaPark account (pairing key).",
      "tags": [
        "walt-disney-world",
        "account",
        "requires-pairing-key"
      ],
      "examples": [
        "Is my SupaPark account linked?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_my_watches",
      "name": "My watches",
      "description": "Lists the active ride and dining watches (alerts) on the linked SupaPark account, with each watch's id. Requires a linked SupaPark account (pairing key).",
      "tags": [
        "walt-disney-world",
        "account",
        "alerts",
        "requires-pairing-key"
      ],
      "examples": [
        "What alerts do I have set in SupaPark?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "watch_ride",
      "name": "Watch a ride",
      "description": "Creates an alert on the linked SupaPark account for a Walt Disney World ride. kind \"lightning_lane\": alert when Lightning Lane return times open up (optionally for a specific date). kind \"wait_drop\": alert when the standby wait drops to threshold_minutes or less. Delivery channel follows the account's plan. Requires a linked SupaPark account (pairing key).",
      "tags": [
        "walt-disney-world",
        "account",
        "alerts",
        "requires-pairing-key"
      ],
      "examples": [
        "Alert me when the TRON wait drops under 40 minutes"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "watch_dining",
      "name": "Watch a dining reservation",
      "description": "Creates an alert on the linked SupaPark account that fires when a reservation opens at a Walt Disney World restaurant for the given date and party size. Requires a linked SupaPark account (pairing key).",
      "tags": [
        "walt-disney-world",
        "account",
        "alerts",
        "dining",
        "requires-pairing-key"
      ],
      "examples": [
        "Watch Be Our Guest for 4 people on 2026-11-14"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "remove_watch",
      "name": "Remove a watch",
      "description": "Turns off one watch on the linked SupaPark account, by watch id. It can be restored in the SupaPark app. Requires a linked SupaPark account (pairing key).",
      "tags": [
        "walt-disney-world",
        "account",
        "alerts",
        "requires-pairing-key"
      ],
      "examples": [
        "Stop watching that restaurant"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "additionalDiscovery": {
    "mcpServerCard": "https://supapark.com/.well-known/mcp/server-card.json",
    "openapi": "https://supapark.com/api/agent/openapi.json",
    "apiCatalog": "https://supapark.com/.well-known/api-catalog",
    "agentSkills": "https://supapark.com/.well-known/agent-skills/index.json",
    "auth": "https://supapark.com/auth.md"
  }
}
