{
  "serverInfo": {
    "name": "cronalert",
    "version": "1.2.0"
  },
  "description": "Uptime monitoring MCP server. Create monitors, check results, manage incidents, and view status pages.",
  "url": "https://cronalert.com/mcp",
  "transport": "streamable-http",
  "authentication": {
    "type": "header",
    "header": "CRONALERT_API_KEY",
    "description": "CronAlert API key from cronalert.com/app/settings/api-keys"
  },
  "tools": [
    {
      "name": "list_monitors",
      "description": "List all uptime monitors",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "page": {
            "type": "number"
          },
          "limit": {
            "type": "number",
            "maximum": 100
          },
          "status": {
            "type": "string",
            "enum": [
              "up",
              "down",
              "unknown"
            ]
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "create_monitor",
      "description": "Create a new HTTP monitor",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "checkInterval": {
            "default": 180,
            "type": "number"
          },
          "method": {
            "default": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE",
              "HEAD"
            ]
          },
          "expectedStatusCode": {
            "default": 200,
            "type": "number"
          }
        },
        "required": [
          "name",
          "url"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "get_monitor",
      "description": "Get monitor details",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "update_monitor",
      "description": "Update a monitor",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "checkInterval": {
            "type": "number"
          },
          "paused": {
            "type": "boolean"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "delete_monitor",
      "description": "Delete a monitor permanently",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "get_check_results",
      "description": "Get check history and uptime stats",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "page": {
            "type": "number"
          },
          "limit": {
            "type": "number",
            "maximum": 100
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "get_monitor_incidents",
      "description": "Get incidents for a monitor",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "page": {
            "type": "number"
          },
          "limit": {
            "type": "number",
            "maximum": 100
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "list_incidents",
      "description": "List all active incidents",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {}
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "list_status_pages",
      "description": "List public status pages",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {}
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "add_incident_update",
      "description": "Post a status update on an active incident",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "incidentId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": ["investigating", "identified", "monitoring", "update", "resolved"]
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["incidentId", "status", "message"]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "get_incident_updates",
      "description": "Get status updates for a specific incident",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "incidentId": {
            "type": "string"
          }
        },
        "required": ["incidentId"]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "import_monitors",
      "description": "Import monitors from other monitoring services (UptimeRobot, Pingdom, Better Stack, StatusCake, Checkly, Oh Dear, Cronitor, Healthchecks.io, Dead Man's Snitch, Datadog, CronAlert JSON, CSV)",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "enum": ["uptimerobot", "pingdom", "betterstack", "statuscake", "checkly", "ohdear", "cronitor", "healthchecks", "deadmanssnitch", "datadog", "cronalert", "csv"]
          },
          "data": {
            "type": "string",
            "description": "Raw JSON or CSV string exported from the source service"
          }
        },
        "required": ["format", "data"]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    }
  ],
  "homepage": "https://cronalert.com",
  "repository": "https://github.com/jaredhobbs/cronalert-mcp"
}