{
  "$schema": "https://super-calendar.io/agents/mcp.schema.json",
  "name": "Super Calendar MCP Bootstrap",
  "version": "1.1.0",
  "kind": "agent-mcp-bootstrap",
  "runtime": {
    "endpoint": "/api/mcp",
    "metadata_method": "GET",
    "invocation_method": "POST",
    "transport": "http-post",
    "jsonrpc": "2.0",
    "protocol_version": "2024-11-05",
    "server_info": {
      "name": "super-calendar",
      "version": "2.0.0"
    },
    "openapi": "/api/docs/json#/paths/~1mcp"
  },
  "initialization": [
    {
      "order": 1,
      "method": "initialize",
      "expects_response": true,
      "minimum_params": {
        "protocolVersion": "2024-11-05",
        "capabilities": {},
        "clientInfo": {
          "name": "client-name",
          "version": "client-version"
        }
      }
    },
    {
      "order": 2,
      "method": "notifications/initialized",
      "expects_response": false,
      "minimum_params": {}
    }
  ],
  "methods": {
    "tools": [
      "tools/list",
      "tools/call"
    ],
    "resources": [
      "resources/list",
      "resources/read"
    ],
    "prompts": [
      "prompts/list",
      "prompts/get"
    ]
  },
  "tools": [
    {
      "name": "list_calendar_endpoints",
      "description": "List the available Super Calendar calendar endpoints.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    },
    {
      "name": "generate_calendar_url",
      "description": "Generate a Super Calendar API URL for a calendar endpoint.",
      "inputSchema": {
        "type": "object",
        "required": [
          "endpoint"
        ],
        "properties": {
          "endpoint": {
            "type": "string",
            "enum": [
              "weather",
              "exchange",
              "moon",
              "seasons",
              "religion",
              "events",
              "custom",
              "holidays",
              "trivia",
              "languages",
              "crypto",
              "earnings",
              "sports"
            ]
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "description": "Documented query parameters to include in the calendar URL. Call list_calendar_endpoints before guessing."
          },
          "format": {
            "type": "string",
            "enum": [
              "ics",
              "json",
              "xml",
              "text",
              "ansi",
              "html",
              "csv",
              "tsv",
              "ndjson",
              "jsonl"
            ],
            "description": "Optional response format."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "generate_calendar_data",
      "description": "Generate structured calendar data from an existing Super Calendar endpoint.",
      "inputSchema": {
        "type": "object",
        "required": [
          "endpoint"
        ],
        "properties": {
          "endpoint": {
            "type": "string",
            "enum": [
              "weather",
              "exchange",
              "moon",
              "seasons",
              "religion",
              "events",
              "custom",
              "holidays",
              "trivia",
              "languages",
              "crypto",
              "earnings",
              "sports"
            ]
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "description": "Documented calendar query parameters. Unsupported parameters are ignored with warnings."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "validate_openweather_key",
      "description": "Run the OpenWeather BYOK handshake without exposing the raw credential in the result.",
      "inputSchema": {
        "type": "object",
        "required": [
          "openweather_key"
        ],
        "properties": {
          "openweather_key": {
            "type": "string",
            "description": "User-owned OpenWeather API key."
          },
          "city": {
            "type": "string",
            "description": "City used for the handshake forecast probe."
          },
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial",
              "standard"
            ]
          },
          "lang": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  ],
  "resources": [
    {
      "uri": "super-calendar://openapi",
      "name": "OpenAPI specification",
      "description": "Dereferenced Super Calendar OpenAPI JSON.",
      "mimeType": "application/json"
    },
    {
      "uri": "super-calendar://llms",
      "name": "LLM guide",
      "description": "Machine-readable guidance for using Super Calendar.",
      "mimeType": "text/plain"
    },
    {
      "uri": "super-calendar://endpoints",
      "name": "Calendar endpoints",
      "description": "Available calendar endpoints and basic feature metadata.",
      "mimeType": "application/json"
    }
  ],
  "prompts": [
    {
      "name": "choose_calendar_endpoint",
      "description": "Choose the best Super Calendar endpoint for a user request.",
      "arguments": [
        {
          "name": "user_request",
          "description": "The user request to map to a calendar endpoint.",
          "required": true
        }
      ]
    },
    {
      "name": "build_calendar_url",
      "description": "Build a calendar API URL with documented parameters.",
      "arguments": [
        {
          "name": "endpoint",
          "description": "The Super Calendar endpoint name, such as weather or holidays.",
          "required": true
        },
        {
          "name": "user_request",
          "description": "The user request that describes the desired feed.",
          "required": false
        }
      ]
    }
  ],
  "error_contract": {
    "-32600": "Invalid JSON-RPC request.",
    "-32601": "Method not found.",
    "-32602": "Invalid params, unknown tool, resource, or prompt.",
    "-32603": "Internal error."
  },
  "rules": {
    "discover_before_calling": true,
    "use_tool_input_schema": true,
    "do_not_infer_rest_parameters": true,
    "preserve_private_feed_credentials": true
  }
}
