{
  "name": "loyaltyvip",
  "title": "LoyaltyVIP",
  "description": "MCP server for LoyaltyVIP. Search the public U.S. casino directory (rewards programs + tier ladders) without a key, and access a player's own loyalty data with a Bearer API key.",
  "version": "1.1.0",
  "serverUrl": "https://loyaltyvip.com/mcp",
  "transport": "streamable-http",
  "documentationUrl": "https://loyaltyvip.com/developers",
  "provider": { "name": "movaMedia", "url": "https://github.com/movaMedia-Inc" },
  "authentication": {
    "type": "bearer",
    "required": false,
    "description": "Optional. Public casino tools need no key. Player/host tools require a personal API key (lvip_live_...) in the Authorization header. Scopes: read, write, tax, host."
  },
  "tools": [
    {
      "name": "search_casinos",
      "description": "Search the public U.S. casino directory by name, state (two-letter code), type (commercial|tribal|racino), or rewards availability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": { "type": "string", "description": "Name search" },
          "state": { "type": "string", "description": "Two-letter state code, e.g. NV" },
          "type": { "type": "string", "description": "casino_type: commercial | tribal | racino" },
          "has_rewards": { "type": "boolean" },
          "limit": { "type": "integer", "default": 24, "maximum": 100 },
          "offset": { "type": "integer", "default": 0 }
        }
      }
    },
    {
      "name": "get_casino",
      "description": "Get a casino's detail including its rewards/players-club program and full tier ladder, by slug.",
      "inputSchema": {
        "type": "object",
        "required": ["slug"],
        "properties": { "slug": { "type": "string", "description": "Casino slug, e.g. bellagio-nv-880e8400" } }
      }
    },
    {
      "name": "list_rewards_programs",
      "description": "List casino rewards/players-club programs, optionally filtered by search term or brand.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": { "type": "string" },
          "brand": { "type": "string" },
          "limit": { "type": "integer", "default": 50, "maximum": 200 }
        }
      }
    },
    {
      "name": "player_action",
      "description": "Authenticated. Invoke any LoyaltyVIP player/host action (proxies POST /v1/player). Requires a Bearer API key. Examples: tier_status, bankroll_status, list_trips, list_w2g, tax_year_summary, host_dashboard.",
      "inputSchema": {
        "type": "object",
        "required": ["action"],
        "properties": {
          "action": { "type": "string", "description": "Action name, e.g. tier_status" },
          "params": { "type": "object", "description": "Optional action parameters", "additionalProperties": true }
        }
      }
    }
  ]
}
