{
  "name": "session-booker-pro-mcp",
  "version": "1.0.0",
  "status": "ready",
  "protocolVersion": "2024-11-05",
  "capabilities": {
    "tools": {
      "listChanged": false
    }
  },
  "transports": [
    "http-jsonrpc-post",
    "http-sse",
    "http-get"
  ],
  "toolsCount": 4,
  "tools": [
    {
      "name": "get_available_sessions",
      "description": "Query active scheduled training sessions with real-time remaining capacity. Optionally filter by date range or category.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "description": "Start of the query window (ISO 8601 string, e.g. 2026-09-12T00:00:00Z)"
          },
          "endDate": {
            "type": "string",
            "description": "End of the query window (ISO 8601 string, e.g. 2026-09-19T23:59:59Z)"
          },
          "category": {
            "type": "string",
            "description": "Category name filter (e.g. Strength Training, HIIT & Cardio, Yoga & Mobility)"
          }
        }
      }
    },
    {
      "name": "get_session_details",
      "description": "Retrieve full details, coach info, base price, and remaining spots for a specific session ID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string",
            "description": "The UUID of the session to inspect"
          }
        },
        "required": [
          "sessionId"
        ]
      }
    },
    {
      "name": "get_my_bookings",
      "description": "Retrieve the authenticated client's upcoming and past session bookings. Requires user session.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "book_session",
      "description": "Reserve a spot in an active session for the authenticated client. Requires user session.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string",
            "description": "The UUID of the session to book"
          }
        },
        "required": [
          "sessionId"
        ]
      }
    }
  ]
}