Stackpulse

8,900+ services' status, and your Stackpulse dashboards and URL monitors. Needs Pro.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
94%
Naming quality
99%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'get_service' description lacks action verbin get_service
  • LOWTool 'rename_dashboard' description lacks action verbin rename_dashboard

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~7,836Tokens (tool definitions)
~5.1 KBTypical response size
Significant attention impact (6.12% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "url": "https://stackpulse.app/mcp"
    }
  }
}

Remote endpoints

https://stackpulse.app/mcpstreamable-http

What it can do

Tool inventory

Tools (16)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_services(query)

Finds services in the catalog of 9,700+ status pages by name, with their status now. Use it to find a service’s slug.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "A name, e.g. \"github\" or \"aws\""
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "services": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "description": "online, issue, major_outage, critical, maintenance or unknown"
          },
          "color": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "description": "What its status page says, e.g. an incident’s name"
          },
          "since": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ],
            "description": "When the status began; null when it was so at our first check"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "name",
          "status",
          "color",
          "text",
          "since",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "query",
    "services"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_service(slug)

One service’s status from its official status page: what’s wrong, the components with a problem, 90 days of history and recent incidents.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The service’s slug, e.g. \"github\"; search_services finds it"
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "statusPage": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "since": {
      "anyOf": [
        {
          "type": "string",
          "description": "ISO 8601"
        },
        {
          "type": "null"
        }
      ]
    },
    "checkedAt": {
      "anyOf": [
        {
          "type": "string",
          "description": "ISO 8601"
        },
        {
          "type": "null"
        }
      ]
    },
    "checkedEverySeconds": {
      "type": [
        "number",
        "null"
      ]
    },
    "components": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "group": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "group",
          "status"
        ],
        "additionalProperties": false
      },
      "description": "The components that aren’t online"
    },
    "componentsTotal": {
      "description": "How many components the page lists",
      "type": "number"
    },
    "last90Days": {
      "type": "object",
      "properties": {
        "daysTracked": {
          "type": "number"
        },
        "incidents": {
          "type": "number"
        },
        "noReportedIssuesShare": {
          "type": "number"
        },
        "typicalIncidentMinutes": {
          "type": [
            "number",
            "null"
          ]
        }
      },
      "required": [
        "daysTracked",
        "incidents",
        "noReportedIssuesShare",
        "typicalIncidentMinutes"
      ],
      "additionalProperties": false
    },
    "incidents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "ISO 8601"
          },
          "startKnown": {
            "type": "boolean"
          },
          "end": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "minutes": {
            "type": "number"
          }
        },
        "required": [
          "startKnown",
          "status",
          "title",
          "minutes"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "name",
    "slug",
    "url",
    "statusPage",
    "status",
    "summary",
    "text",
    "checkedAt",
    "checkedEverySeconds",
    "components",
    "last90Days",
    "incidents"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢list_outages(all, limit)

Services reporting a problem right now, the newest first: the 25 best-known, unless all is true or a limit is given.

Input Schema

{
  "type": "object",
  "properties": {
    "all": {
      "description": "Every service in the catalog with a problem (often around 300), not only the best-known",
      "type": "boolean"
    },
    "limit": {
      "description": "How many to list, the newest first; 25 by default",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "total": {
      "type": "number",
      "description": "How many report a problem, of which services lists `limit`"
    },
    "services": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "description": "online, issue, major_outage, critical, maintenance or unknown"
          },
          "color": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "description": "What its status page says, e.g. an incident’s name"
          },
          "since": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ],
            "description": "When the status began; null when it was so at our first check"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "name",
          "status",
          "color",
          "text",
          "since",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "total",
    "services"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢list_dashboards

The account’s dashboards (the ones this connection can see), with how many services and URL monitors each has and its worst status now.

Input Schema

{
  "type": "object",
  "properties": {}
}

Output Schema

{
  "type": "object",
  "properties": {
    "dashboards": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "services": {
            "type": "number"
          },
          "monitors": {
            "type": "number"
          },
          "worst": {
            "type": "string"
          },
          "public": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "services",
          "monitors",
          "worst",
          "public"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "dashboards"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_stack_status(dashboard, include)

What’s going on now on a dashboard: a summary, then every service and URL monitor with a problem, with when the problem began and when its current status did. A URL monitor that’s down lists what started around then. Without a dashboard, every dashboard.

Input Schema

{
  "type": "object",
  "properties": {
    "dashboard": {
      "description": "A dashboard’s name or id; every dashboard when left out",
      "type": "string"
    },
    "include": {
      "description": "\"all\" for every item, not only the ones with problems",
      "type": "string",
      "enum": [
        "problems",
        "all"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "dashboards": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "total": {
            "type": "number",
            "description": "Services and URL monitors on it"
          },
          "summary": {
            "type": "string"
          },
          "worst": {
            "type": "string"
          },
          "counts": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "number"
            }
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "enum": [
                    "service",
                    "url"
                  ]
                },
                "id": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "display": {
                  "description": "A URL monitor’s address",
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "color": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                },
                "since": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "ISO 8601"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "When its current status or wording began"
                },
                "problemSince": {
                  "description": "When the problem (or maintenance) going on now began",
                  "type": "string"
                },
                "startKnown": {
                  "description": "False when the problem began before problemSince: at our first check, or before the kept history",
                  "type": "boolean"
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "statusPage": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "responseMs": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "aroundThen": {
                  "description": "A down URL monitor: what started around then (a clue, never a cause)",
                  "type": "object",
                  "properties": {
                    "started": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "slug": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "text": {
                            "type": "string"
                          },
                          "start": {
                            "type": "string",
                            "description": "ISO 8601"
                          },
                          "end": {
                            "anyOf": [
                              {
                                "type": "string",
                                "description": "ISO 8601"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "slug",
                          "name",
                          "status",
                          "text",
                          "start",
                          "end"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "alreadyGoing": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "started",
                    "alreadyGoing"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "kind",
                "id",
                "name",
                "status",
                "color",
                "text",
                "since"
              ],
              "additionalProperties": false
            },
            "description": "The ones that aren’t online, or every one with include \"all\""
          }
        },
        "required": [
          "id",
          "name",
          "total",
          "summary",
          "worst",
          "counts",
          "items"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "dashboards"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_incident_history(dashboard, from, to, days)

Incidents on a dashboard in a window: the ones that started in it (with what else started at the same time) and the ones already going on. As far back as the plan’s history goes.

Input Schema

{
  "type": "object",
  "properties": {
    "dashboard": {
      "type": "string",
      "description": "A dashboard’s name or id"
    },
    "from": {
      "description": "The window’s start, ISO 8601",
      "type": "string"
    },
    "to": {
      "description": "The window’s end, ISO 8601; now when left out",
      "type": "string"
    },
    "days": {
      "description": "Without from: how many days back from to, 7 by default",
      "type": "number"
    }
  },
  "required": [
    "dashboard"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "dashboard": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "additionalProperties": false
    },
    "from": {
      "type": "string",
      "description": "ISO 8601"
    },
    "to": {
      "type": "string",
      "description": "ISO 8601"
    },
    "note": {
      "type": "string"
    },
    "started": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "service",
              "url"
            ]
          },
          "id": {
            "type": "string"
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "maintenance": {
            "type": "boolean"
          },
          "title": {
            "type": "string"
          },
          "start": {
            "type": "string",
            "description": "ISO 8601"
          },
          "startKnown": {
            "type": "boolean",
            "description": "False when it began before start, so minutes is a minimum"
          },
          "end": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ]
          },
          "minutes": {
            "type": "number"
          },
          "atTheSameTime": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A clue, never a cause"
          }
        },
        "required": [
          "kind",
          "id",
          "slug",
          "name",
          "status",
          "color",
          "maintenance",
          "title",
          "start",
          "startKnown",
          "end",
          "minutes",
          "atTheSameTime"
        ],
        "additionalProperties": false
      }
    },
    "alreadyGoing": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "service",
              "url"
            ]
          },
          "id": {
            "type": "string"
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "maintenance": {
            "type": "boolean"
          },
          "title": {
            "type": "string"
          },
          "start": {
            "type": "string",
            "description": "ISO 8601"
          },
          "startKnown": {
            "type": "boolean",
            "description": "False when it began before start, so minutes is a minimum"
          },
          "end": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ]
          },
          "minutes": {
            "type": "number"
          },
          "atTheSameTime": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A clue, never a cause"
          }
        },
        "required": [
          "kind",
          "id",
          "slug",
          "name",
          "status",
          "color",
          "maintenance",
          "title",
          "start",
          "startKnown",
          "end",
          "minutes",
          "atTheSameTime"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "dashboard",
    "from",
    "to",
    "started",
    "alreadyGoing"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_monitor(monitor)

One of the account’s URL monitors: its status, its uptime over the last 30 days (or since it started) with the failed checks apart, response times, its certificate and its latest checks.

Input Schema

{
  "type": "object",
  "properties": {
    "monitor": {
      "type": "string",
      "description": "The monitor’s name, address or id"
    }
  },
  "required": [
    "monitor"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "display": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "description": "up, slow, down, paused or checking"
    },
    "text": {
      "type": "string"
    },
    "since": {
      "anyOf": [
        {
          "type": "string",
          "description": "ISO 8601"
        },
        {
          "type": "null"
        }
      ]
    },
    "notChecked": {
      "type": "boolean"
    },
    "responseMs": {
      "description": "The median response time of the last 5 checks that answered, in ms",
      "type": [
        "number",
        "null"
      ]
    },
    "certificate": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "expires": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "ISO 8601"
                },
                {
                  "type": "null"
                }
              ]
            },
            "issuer": {
              "type": "string"
            }
          },
          "required": [
            "expires",
            "issuer"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "blockedSince": {
      "anyOf": [
        {
          "type": "string",
          "description": "ISO 8601"
        },
        {
          "type": "null"
        }
      ]
    },
    "last30Days": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string",
          "description": "Where the figures start: the UTC day 29 days ago (30 days with today), or when the monitor was made if later"
        },
        "trackedSince": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO 8601"
            },
            {
              "type": "null"
            }
          ]
        },
        "uptime": {
          "description": "Share of the time it wasn’t down (slow counts as up), 0 to 1",
          "type": [
            "number",
            "null"
          ]
        },
        "checks": {
          "type": "number"
        },
        "failedChecks": {
          "type": "number",
          "description": "Checks that failed; one failure is checked again, and only two make it down"
        },
        "failedDays": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "day": {
                "type": "string"
              },
              "failed": {
                "type": "number"
              }
            },
            "required": [
              "day",
              "failed"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "from",
        "trackedSince",
        "uptime",
        "checks",
        "failedChecks",
        "failedDays"
      ],
      "additionalProperties": false
    },
    "days": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "day": {
            "type": "string"
          },
          "checks": {
            "type": "number"
          },
          "failed": {
            "type": "number"
          },
          "medianMs": {
            "type": "number"
          },
          "slowest5Ms": {
            "type": "number"
          }
        },
        "required": [
          "day",
          "checks",
          "failed",
          "medianMs",
          "slowest5Ms"
        ],
        "additionalProperties": false
      }
    },
    "lastChecks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "at": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ]
          },
          "up": {
            "type": "boolean"
          },
          "code": {
            "type": "number"
          },
          "reason": {
            "type": "string"
          },
          "ms": {
            "type": "number"
          }
        },
        "required": [
          "at",
          "up",
          "code",
          "reason",
          "ms"
        ],
        "additionalProperties": false
      },
      "description": "The last 10 checks, newest first"
    },
    "changes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "at": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "at",
          "status",
          "text"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "id",
    "name",
    "display",
    "status",
    "text",
    "since",
    "responseMs",
    "certificate",
    "blockedSince",
    "last30Days",
    "days",
    "lastChecks",
    "changes"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_reliability(dashboard, days)

How reliable a dashboard’s services and URL monitors were over 7, 30 or 90 days: the least reliable first, with the share of time without a reported problem (minor issues count, so one long minor issue makes it low), time in each severity, incidents and recovery, and what tends to break together.

Input Schema

{
  "type": "object",
  "properties": {
    "dashboard": {
      "type": "string",
      "description": "A dashboard’s name or id"
    },
    "days": {
      "description": "7, 30 (the default) or 90",
      "anyOf": [
        {
          "type": "number",
          "const": 7
        },
        {
          "type": "number",
          "const": 30
        },
        {
          "type": "number",
          "const": 90
        }
      ]
    }
  },
  "required": [
    "dashboard"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "dashboard": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "additionalProperties": false
    },
    "days": {
      "type": "number"
    },
    "medianRecoveryMinutes": {
      "type": [
        "number",
        "null"
      ]
    },
    "services": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "service",
              "url"
            ]
          },
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "trackedSince": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ]
          },
          "uptime": {
            "description": "Share of tracked time without a problem",
            "type": [
              "number",
              "null"
            ]
          },
          "uptimeBefore": {
            "type": [
              "number",
              "null"
            ]
          },
          "incidents": {
            "type": "number"
          },
          "minutesWithProblems": {
            "type": "number"
          },
          "problemDays": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "number"
            },
            "description": "The UTC days the period touches, by their worst problem status"
          },
          "problemMinutes": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "number"
            },
            "description": "Minutes in each problem status, over the same period as uptime"
          },
          "longestMinutes": {
            "type": "number"
          },
          "medianRecoveryMinutes": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "kind",
          "id",
          "name",
          "trackedSince",
          "uptime",
          "uptimeBefore",
          "incidents",
          "minutesWithProblems",
          "problemDays",
          "problemMinutes",
          "longestMinutes",
          "medianRecoveryMinutes"
        ],
        "additionalProperties": false
      }
    },
    "breaksTogether": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "first": {
            "type": "string"
          },
          "times": {
            "type": "number"
          },
          "followedBy": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "times": {
                  "type": "number"
                },
                "minutesLater": {
                  "type": "number"
                }
              },
              "required": [
                "name",
                "times",
                "minutesLater"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "first",
          "times",
          "followedBy"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "dashboard",
    "days",
    "medianRecoveryMinutes",
    "services",
    "breaksTogether"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡create_dashboard(name, services)

Makes a dashboard with a name and, optionally, services by slug (search_services finds them), within the plan’s dashboards and services. Answers with its address.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The dashboard’s name, e.g. \"Checkout\""
    },
    "services": {
      "description": "Slugs to start with, e.g. [\"stripe\", \"shopify\"]",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "The dashboard in the app"
    },
    "added": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "notFound": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "services": {
      "type": "number"
    }
  },
  "required": [
    "id",
    "name",
    "url",
    "added",
    "notFound",
    "services"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
⚪rename_dashboard(dashboard, name)

Renames a dashboard. Its status page shares the name.

Input Schema

{
  "type": "object",
  "properties": {
    "dashboard": {
      "type": "string",
      "description": "A dashboard’s name or id"
    },
    "name": {
      "type": "string",
      "description": "Its new name"
    }
  },
  "required": [
    "dashboard",
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "previousName": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "previousName"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡add_services(dashboard, services)

Adds services to a dashboard by slug (search_services finds them), within the plan’s limit.

Input Schema

{
  "type": "object",
  "properties": {
    "dashboard": {
      "type": "string",
      "description": "A dashboard’s name or id"
    },
    "services": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Slugs, e.g. [\"github\", \"vercel\"]"
    }
  },
  "required": [
    "dashboard",
    "services"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "added": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "already": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "notFound": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "services": {
      "type": "number"
    }
  },
  "required": [
    "added",
    "already",
    "notFound",
    "services"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🔴remove_services(dashboard, services)

Takes services off a dashboard. Their history stays; adding one back shows it again.

Input Schema

{
  "type": "object",
  "properties": {
    "dashboard": {
      "type": "string",
      "description": "A dashboard’s name or id"
    },
    "services": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Slugs, e.g. [\"heroku\"]"
    }
  },
  "required": [
    "dashboard",
    "services"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "removed": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "notOnDashboard": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "services": {
      "type": "number"
    }
  },
  "required": [
    "removed",
    "notOnDashboard",
    "services"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡add_monitor(dashboard, url, name)

Watches a website or API endpoint on a dashboard: checks the address once first, and refuses what the app refuses (private addresses, other ports, past the plan). Without a name, the page’s title names it. Headers and request bodies stay in the app.

Input Schema

{
  "type": "object",
  "properties": {
    "dashboard": {
      "type": "string",
      "description": "A dashboard’s name or id"
    },
    "url": {
      "type": "string",
      "description": "The address to watch, e.g. \"https://shop.example.com\""
    },
    "name": {
      "description": "What to call it; the page’s title when left out",
      "type": "string"
    }
  },
  "required": [
    "dashboard",
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "display": {
      "type": "string"
    },
    "dashboard": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "additionalProperties": false
    },
    "test": {
      "type": "object",
      "properties": {
        "up": {
          "type": "boolean"
        },
        "code": {
          "type": "number"
        },
        "reason": {
          "type": "string"
        },
        "ms": {
          "type": "number"
        },
        "title": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "up",
        "code",
        "reason",
        "ms",
        "title"
      ],
      "additionalProperties": false,
      "description": "The check before it was added"
    }
  },
  "required": [
    "id",
    "name",
    "display",
    "dashboard",
    "test"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢check_monitor(monitor)

Checks one of the account’s URL monitors now, as Check now does in the app, and says what it got.

Input Schema

{
  "type": "object",
  "properties": {
    "monitor": {
      "type": "string",
      "description": "The monitor’s name, address or id"
    }
  },
  "required": [
    "monitor"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "checked": {
      "type": "boolean"
    },
    "check": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "at": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "ISO 8601"
                },
                {
                  "type": "null"
                }
              ]
            },
            "up": {
              "type": "boolean"
            },
            "code": {
              "type": "number"
            },
            "reason": {
              "type": "string"
            },
            "ms": {
              "type": "number"
            }
          },
          "required": [
            "at",
            "up",
            "code",
            "reason",
            "ms"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "monitor": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "display": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "description": "up, slow, down, paused or checking"
        },
        "text": {
          "type": "string"
        },
        "since": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO 8601"
            },
            {
              "type": "null"
            }
          ]
        },
        "notChecked": {
          "type": "boolean"
        },
        "responseMs": {
          "description": "The median response time of the last 5 checks that answered, in ms",
          "type": [
            "number",
            "null"
          ]
        },
        "certificate": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "expires": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "ISO 8601"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "issuer": {
                  "type": "string"
                }
              },
              "required": [
                "expires",
                "issuer"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "blockedSince": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO 8601"
            },
            {
              "type": "null"
            }
          ]
        },
        "last30Days": {
          "type": "object",
          "properties": {
            "from": {
              "type": "string",
              "description": "Where the figures start: the UTC day 29 days ago (30 days with today), or when the monitor was made if later"
            },
            "trackedSince": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "ISO 8601"
                },
                {
                  "type": "null"
                }
              ]
            },
            "uptime": {
              "description": "Share of the time it wasn’t down (slow counts as up), 0 to 1",
              "type": [
                "number",
                "null"
              ]
            },
            "checks": {
              "type": "number"
            },
            "failedChecks": {
              "type": "number",
              "description": "Checks that failed; one failure is checked again, and only two make it down"
            },
            "failedDays": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "day": {
                    "type": "string"
                  },
                  "failed": {
                    "type": "number"
                  }
                },
                "required": [
                  "day",
                  "failed"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "from",
            "trackedSince",
            "uptime",
            "checks",
            "failedChecks",
            "failedDays"
          ],
          "additionalProperties": false
        },
        "days": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "day": {
                "type": "string"
              },
              "checks": {
                "type": "number"
              },
              "failed": {
                "type": "number"
              },
              "medianMs": {
                "type": "number"
              },
              "slowest5Ms": {
                "type": "number"
              }
            },
            "required": [
              "day",
              "checks",
              "failed",
              "medianMs",
              "slowest5Ms"
            ],
            "additionalProperties": false
          }
        },
        "lastChecks": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "at": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "ISO 8601"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "up": {
                "type": "boolean"
              },
              "code": {
                "type": "number"
              },
              "reason": {
                "type": "string"
              },
              "ms": {
                "type": "number"
              }
            },
            "required": [
              "at",
              "up",
              "code",
              "reason",
              "ms"
            ],
            "additionalProperties": false
          },
          "description": "The last 10 checks, newest first"
        },
        "changes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "at": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "ISO 8601"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string"
              },
              "text": {
                "type": "string"
              }
            },
            "required": [
              "at",
              "status",
              "text"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "id",
        "name",
        "display",
        "status",
        "text",
        "since",
        "responseMs",
        "certificate",
        "blockedSince",
        "last30Days",
        "days",
        "lastChecks",
        "changes"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "checked",
    "check",
    "monitor"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
⚪pause_monitor(monitor)

Pauses a URL monitor, e.g. during a deploy: an open incident ends, and no alerts go out until it’s resumed.

Input Schema

{
  "type": "object",
  "properties": {
    "monitor": {
      "type": "string",
      "description": "The monitor’s name, address or id"
    }
  },
  "required": [
    "monitor"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "display": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "description": "up, slow, down, paused or checking"
    },
    "text": {
      "type": "string"
    },
    "since": {
      "anyOf": [
        {
          "type": "string",
          "description": "ISO 8601"
        },
        {
          "type": "null"
        }
      ]
    },
    "notChecked": {
      "type": "boolean"
    },
    "responseMs": {
      "description": "The median response time of the last 5 checks that answered, in ms",
      "type": [
        "number",
        "null"
      ]
    },
    "certificate": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "expires": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "ISO 8601"
                },
                {
                  "type": "null"
                }
              ]
            },
            "issuer": {
              "type": "string"
            }
          },
          "required": [
            "expires",
            "issuer"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "blockedSince": {
      "anyOf": [
        {
          "type": "string",
          "description": "ISO 8601"
        },
        {
          "type": "null"
        }
      ]
    },
    "last30Days": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string",
          "description": "Where the figures start: the UTC day 29 days ago (30 days with today), or when the monitor was made if later"
        },
        "trackedSince": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO 8601"
            },
            {
              "type": "null"
            }
          ]
        },
        "uptime": {
          "description": "Share of the time it wasn’t down (slow counts as up), 0 to 1",
          "type": [
            "number",
            "null"
          ]
        },
        "checks": {
          "type": "number"
        },
        "failedChecks": {
          "type": "number",
          "description": "Checks that failed; one failure is checked again, and only two make it down"
        },
        "failedDays": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "day": {
                "type": "string"
              },
              "failed": {
                "type": "number"
              }
            },
            "required": [
              "day",
              "failed"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "from",
        "trackedSince",
        "uptime",
        "checks",
        "failedChecks",
        "failedDays"
      ],
      "additionalProperties": false
    },
    "days": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "day": {
            "type": "string"
          },
          "checks": {
            "type": "number"
          },
          "failed": {
            "type": "number"
          },
          "medianMs": {
            "type": "number"
          },
          "slowest5Ms": {
            "type": "number"
          }
        },
        "required": [
          "day",
          "checks",
          "failed",
          "medianMs",
          "slowest5Ms"
        ],
        "additionalProperties": false
      }
    },
    "lastChecks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "at": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ]
          },
          "up": {
            "type": "boolean"
          },
          "code": {
            "type": "number"
          },
          "reason": {
            "type": "string"
          },
          "ms": {
            "type": "number"
          }
        },
        "required": [
          "at",
          "up",
          "code",
          "reason",
          "ms"
        ],
        "additionalProperties": false
      },
      "description": "The last 10 checks, newest first"
    },
    "changes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "at": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "at",
          "status",
          "text"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "id",
    "name",
    "display",
    "status",
    "text",
    "since",
    "responseMs",
    "certificate",
    "blockedSince",
    "last30Days",
    "days",
    "lastChecks",
    "changes"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
⚪resume_monitor(monitor)

Resumes a paused URL monitor: it’s checked at once and starts fresh.

Input Schema

{
  "type": "object",
  "properties": {
    "monitor": {
      "type": "string",
      "description": "The monitor’s name, address or id"
    }
  },
  "required": [
    "monitor"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "display": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "description": "up, slow, down, paused or checking"
    },
    "text": {
      "type": "string"
    },
    "since": {
      "anyOf": [
        {
          "type": "string",
          "description": "ISO 8601"
        },
        {
          "type": "null"
        }
      ]
    },
    "notChecked": {
      "type": "boolean"
    },
    "responseMs": {
      "description": "The median response time of the last 5 checks that answered, in ms",
      "type": [
        "number",
        "null"
      ]
    },
    "certificate": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "expires": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "ISO 8601"
                },
                {
                  "type": "null"
                }
              ]
            },
            "issuer": {
              "type": "string"
            }
          },
          "required": [
            "expires",
            "issuer"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "blockedSince": {
      "anyOf": [
        {
          "type": "string",
          "description": "ISO 8601"
        },
        {
          "type": "null"
        }
      ]
    },
    "last30Days": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string",
          "description": "Where the figures start: the UTC day 29 days ago (30 days with today), or when the monitor was made if later"
        },
        "trackedSince": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO 8601"
            },
            {
              "type": "null"
            }
          ]
        },
        "uptime": {
          "description": "Share of the time it wasn’t down (slow counts as up), 0 to 1",
          "type": [
            "number",
            "null"
          ]
        },
        "checks": {
          "type": "number"
        },
        "failedChecks": {
          "type": "number",
          "description": "Checks that failed; one failure is checked again, and only two make it down"
        },
        "failedDays": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "day": {
                "type": "string"
              },
              "failed": {
                "type": "number"
              }
            },
            "required": [
              "day",
              "failed"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "from",
        "trackedSince",
        "uptime",
        "checks",
        "failedChecks",
        "failedDays"
      ],
      "additionalProperties": false
    },
    "days": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "day": {
            "type": "string"
          },
          "checks": {
            "type": "number"
          },
          "failed": {
            "type": "number"
          },
          "medianMs": {
            "type": "number"
          },
          "slowest5Ms": {
            "type": "number"
          }
        },
        "required": [
          "day",
          "checks",
          "failed",
          "medianMs",
          "slowest5Ms"
        ],
        "additionalProperties": false
      }
    },
    "lastChecks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "at": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ]
          },
          "up": {
            "type": "boolean"
          },
          "code": {
            "type": "number"
          },
          "reason": {
            "type": "string"
          },
          "ms": {
            "type": "number"
          }
        },
        "required": [
          "at",
          "up",
          "code",
          "reason",
          "ms"
        ],
        "additionalProperties": false
      },
      "description": "The last 10 checks, newest first"
    },
    "changes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "at": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 8601"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "at",
          "status",
          "text"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "id",
    "name",
    "display",
    "status",
    "text",
    "since",
    "responseMs",
    "certificate",
    "blockedSince",
    "last30Days",
    "days",
    "lastChecks",
    "changes"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded16 tools