{
  "name": "Rezé Destination Agent",
  "description": "Curated MCP server for Rezé -- places, events, and booking.",
  "protocolVersion": "2025-03-26",
  "transport": "streamable-http",
  "endpoint": "https://ai.benorama.com/mcp",
  "auth": {
    "type": "bearer"
  },
  "serverInfo": {
    "name": "Globetrotters Rezé MCP Server",
    "provider": "Globetrotters"
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    },
    "resources": {
      "listChanged": false,
      "subscribe": false
    }
  },
  "tools": [
    {
      "name": "search_places",
      "description": "Search verified points of interest (attractions, restaurants, hotels, activities) in the destination. Results are policy-filtered and sorted by priority. Each result may carry an `officialUrl` (the destination's own page for the place — prefer it for referrals/citations), a `websiteUrl` (the place's own site), and a `booking.url` (transactional). These are distinct handoffs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Natural-language search term over name, description, and tags."
          },
          "type": {
            "type": "string",
            "enum": [
              "attraction",
              "restaurant",
              "hotel",
              "activity",
              "shop",
              "other"
            ],
            "description": "Filter by place type."
          },
          "season": {
            "type": "string",
            "enum": [
              "spring",
              "summer",
              "autumn",
              "winter"
            ],
            "description": "Filter to places tagged for this season."
          },
          "audience": {
            "type": "string",
            "enum": [
              "family",
              "couples",
              "solo",
              "groups"
            ],
            "description": "Filter to places tagged for this audience."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 5
          }
        }
      }
    },
    {
      "name": "search_events",
      "description": "Search upcoming events (festivals, markets, concerts) in the destination. Defaults to the next 30 days if no date range is provided.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "festival",
              "market",
              "concert",
              "sport",
              "exhibition",
              "other"
            ]
          },
          "dateFrom": {
            "type": "string",
            "format": "date",
            "description": "ISO 8601 date. Defaults to today."
          },
          "dateTo": {
            "type": "string",
            "format": "date",
            "description": "ISO 8601 date. Defaults to today + 30 days."
          },
          "audience": {
            "type": "string",
            "enum": [
              "family",
              "adults",
              "all"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 5
          }
        }
      }
    },
    {
      "name": "handoff_booking",
      "description": "Return a structured booking handoff for a specific place or event. Provide either a placeId or an eventId (placeId wins if both are set). Always returns a fallback_url so the caller is never left stranded.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "placeId": {
            "type": "string",
            "description": "UUID of a place. Wins if both are set."
          },
          "eventId": {
            "type": "string",
            "description": "UUID of an event."
          }
        }
      }
    }
  ],
  "resources": [
    {
      "uri": "destination://overview"
    },
    {
      "uri": "destination://practical-info"
    },
    {
      "uri": "destination://editorial-highlights"
    }
  ]
}