FindBroadband outages
Is my broadband down? Live UK provider status and the last 30 days of outages
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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": {
"broadband-outages": {
"url": "https://www.findbroadbanddeals.com/api/mcp/outages"
}
}
}Remote endpoints
https://www.findbroadbanddeals.com/api/mcp/outagesstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢get_outage_overview
Use when the user asks if there is a broadband outage right now without naming a provider, or wants the current status of UK broadband providers. Returns the FindBroadband hub's own board: every provider we track with its status (Down, Issues earlier or Working fine), where the problem is when the provider named a place, the hub's headline and a link to each provider's page. Down includes incidents limited to the places named, so always say where. For one provider in detail use get_provider_outage_status.
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"headline": {
"type": "string"
},
"as_of": {
"type": "string"
},
"as_of_uk": {
"type": "string"
},
"stale": {
"type": "boolean"
},
"down_count": {
"type": "number"
},
"issues_earlier_count": {
"type": "number"
},
"providers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"provider_name": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"Down",
"Issues earlier",
"Working fine"
]
},
"place": {
"type": "string"
},
"headline": {
"type": "string"
},
"down_since": {
"type": "string"
},
"down_since_uk": {
"type": "string"
},
"days_with_incidents_last_30": {
"type": "number"
},
"status_based_on": {
"type": "string",
"enum": [
"provider_status_page",
"public_reports"
]
},
"page_url": {
"type": "string"
}
},
"required": [
"provider",
"provider_name",
"status",
"days_with_incidents_last_30",
"status_based_on",
"page_url"
],
"additionalProperties": false
}
},
"hub_url": {
"type": "string"
},
"note": {
"type": "string"
},
"checked_at": {
"type": "string"
}
},
"required": [
"headline",
"as_of",
"as_of_uk",
"stale",
"down_count",
"issues_earlier_count",
"providers",
"hub_url",
"note",
"checked_at"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_provider_outage_status(provider)
Use when the user asks whether a specific broadband provider is down, having problems or has an outage, e.g. 'is BT down?' or 'Virgin Media not working'. Returns what that provider's FindBroadband page shows: the status and its headline, the current incidents and the most recent past ones in the provider's own words with the places they named, a day by day picture of the last 30 days and links. Quote the headline and the provider's words as given rather than rewording them. When status_based_on is public_reports we can't read the provider's own status page: Down means people are reporting problems, which the provider hasn't confirmed, and Working fine means nobody is reporting problems, not that the provider has said all is well. Never tell the user their own line is or isn't affected: say what has been reported and where, and point them to the provider's status page or the provider if they are still offline.
Input Schema
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "The broadband provider the user means, as they said it (e.g. 'BT', 'Virgin Media', 'zen'). Free text is fine."
}
},
"required": [
"provider"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"provider_name": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"Down",
"Issues earlier",
"Working fine"
]
},
"headline": {
"type": "string"
},
"detail": {
"type": "string"
},
"place": {
"type": "string"
},
"down_since": {
"type": "string"
},
"down_since_uk": {
"type": "string"
},
"status_based_on": {
"type": "string",
"enum": [
"provider_status_page",
"public_reports"
]
},
"as_of": {
"type": "string"
},
"as_of_uk": {
"type": "string"
},
"current_incidents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"provider_name": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"incident",
"public_reports"
]
},
"current": {
"type": "boolean"
},
"source": {
"type": "string",
"enum": [
"provider_status_page",
"public_reports",
"findbroadband_speed_tests"
]
},
"confirmed_by_provider": {
"type": "boolean"
},
"title": {
"type": "string"
},
"started_at": {
"type": "string"
},
"started_at_uk": {
"type": "string"
},
"resolved_at": {
"type": "string"
},
"resolved_at_uk": {
"type": "string"
},
"last_update_at": {
"type": "string"
},
"last_update_at_uk": {
"type": "string"
},
"place": {
"type": "string"
},
"latest_update": {
"type": "string"
},
"notice_url": {
"type": "string"
},
"first_report_at": {
"type": "string"
},
"first_report_at_uk": {
"type": "string"
},
"last_report_at": {
"type": "string",
"description": "For public_reports entries: when the last public report came in. People stopped reporting problems around then; the provider never confirmed a fault or a fix."
},
"last_report_at_uk": {
"type": "string"
},
"report_count": {
"type": "number"
}
},
"required": [
"provider",
"provider_name",
"kind",
"current",
"source",
"confirmed_by_provider"
],
"additionalProperties": false
}
},
"current_incident_count": {
"type": "number"
},
"current_incidents_truncated": {
"type": "boolean"
},
"past_incidents": {
"type": "array",
"items": {
"$ref": "#/properties/current_incidents/items"
}
},
"past_incident_count": {
"type": "number"
},
"last_30_days": {
"type": "object",
"properties": {
"days_with_incidents": {
"type": "number"
},
"days_with_unconfirmed_reports_only": {
"type": "number"
},
"last_incident_ended_at": {
"type": "string"
},
"last_incident_ended_at_uk": {
"type": "string"
},
"days": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"incident",
"incident_recovered",
"public_reports_only",
"clear"
]
}
},
"required": [
"date",
"status"
],
"additionalProperties": false
}
}
},
"required": [
"days_with_incidents",
"days_with_unconfirmed_reports_only",
"days"
],
"additionalProperties": false
},
"provider_status_page": {
"type": "string"
},
"provider_status_page_needs": {
"type": "string",
"enum": [
"account sign-in",
"postcode"
]
},
"shares_status_page_with": {
"type": "string"
},
"page_url": {
"type": "string"
},
"checked_at": {
"type": "string"
}
},
"required": [
"provider",
"provider_name",
"status",
"headline",
"detail",
"status_based_on",
"as_of",
"as_of_uk",
"current_incidents",
"current_incident_count",
"current_incidents_truncated",
"past_incidents",
"past_incident_count",
"last_30_days",
"page_url",
"checked_at"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_outage_history(provider, days, date)
Use when the user asks about past broadband outages: how often a provider went down recently, what happened on a given day or which providers had problems lately. Returns the incidents each provider's FindBroadband page lists, current first then newest first, with when they started and were resolved, where and the provider's own words, plus a count per provider when no provider is given. For providers whose status page we can't read, days with only public reports appear as public_reports entries. Covers the last 30 days only; say so if asked about anything older. Public reports are unconfirmed.
Input Schema
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "Only incidents for this provider. Leave it out to search every provider we track."
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "How many days to look back, counting today, up to 30. Leave it out for everything we hold (the last 30 days)."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only incidents that touched this UK calendar day, as YYYY-MM-DD. Must be within the last 30 days. Overrides days."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"from_date_uk": {
"type": "string"
},
"to_date_uk": {
"type": "string"
},
"provider": {
"type": "string"
},
"provider_name": {
"type": "string"
},
"entry_count": {
"type": "number"
},
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"provider_name": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"incident",
"public_reports"
]
},
"current": {
"type": "boolean"
},
"source": {
"type": "string",
"enum": [
"provider_status_page",
"public_reports",
"findbroadband_speed_tests"
]
},
"confirmed_by_provider": {
"type": "boolean"
},
"title": {
"type": "string"
},
"started_at": {
"type": "string"
},
"started_at_uk": {
"type": "string"
},
"resolved_at": {
"type": "string"
},
"resolved_at_uk": {
"type": "string"
},
"last_update_at": {
"type": "string"
},
"last_update_at_uk": {
"type": "string"
},
"place": {
"type": "string"
},
"latest_update": {
"type": "string"
},
"notice_url": {
"type": "string"
},
"first_report_at": {
"type": "string"
},
"first_report_at_uk": {
"type": "string"
},
"last_report_at": {
"type": "string",
"description": "For public_reports entries: when the last public report came in. People stopped reporting problems around then; the provider never confirmed a fault or a fix."
},
"last_report_at_uk": {
"type": "string"
},
"report_count": {
"type": "number"
}
},
"required": [
"provider",
"provider_name",
"kind",
"current",
"source",
"confirmed_by_provider"
],
"additionalProperties": false
}
},
"truncated": {
"type": "boolean"
},
"by_provider": {
"type": "array",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"provider_name": {
"type": "string"
},
"status_based_on": {
"type": "string",
"enum": [
"provider_status_page",
"public_reports"
]
},
"incident_count": {
"type": "number"
},
"confirmed_incident_count": {
"type": "number"
},
"public_report_incident_count": {
"type": "number"
},
"days_with_incidents": {
"type": "number"
}
},
"required": [
"provider",
"provider_name",
"status_based_on",
"incident_count",
"confirmed_incident_count",
"public_report_incident_count",
"days_with_incidents"
],
"additionalProperties": false
}
},
"days": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"incident",
"incident_recovered",
"public_reports_only",
"clear"
]
}
},
"required": [
"date",
"status"
],
"additionalProperties": false
}
},
"page_url": {
"type": "string"
},
"note": {
"type": "string"
},
"checked_at": {
"type": "string"
}
},
"required": [
"entry_count",
"entries",
"truncated",
"page_url",
"note",
"checked_at"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence