
Schools in England: Ofsted, results, real catchment cut-offs and where to live for schools.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
For a home postcode, list nearby state schools with the straight-line distance from the postcode centre, the last distance offered in each of the last three years (council allocation figures) and a reading of the chances: Likely at 80% of the last distance or less, Possible up to 110%, Stretch beyond it. Faith and selective schools are capped at Possible because other rules decide places.
A full UK postcode (e.g. "KT10 8PQ") or an outcode (e.g. "KT10").
Search radius. Default 2 km for primary, 5 km for secondary.
For a home postcode, list nearby state schools with the straight-line distance from the postcode centre, the last distance offered in each of the last three years (council allocation figures) and a reading of the chances: Likely at 80% of the last distance or less, Possible up to 110%, Stretch beyond it. Faith and selective schools are capped at Possible because other rules decide places.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| phase* | string | |
| postcode* | string | A full UK postcode (e.g. "KT10 8PQ") or an outcode (e.g. "KT10"). |
| radius_km | number | Search radius. Default 2 km for primary, 5 km for secondary. |
{
"type": "object",
"required": [
"postcode",
"phase"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"phase": {
"enum": [
"primary",
"secondary"
],
"type": "string"
},
"postcode": {
"type": "string",
"description": "A full UK postcode (e.g. \"KT10 8PQ\") or an outcode (e.g. \"KT10\")."
},
"radius_km": {
"type": "number",
"maximum": 10,
"minimum": 0.5,
"description": "Search radius. Default 2 km for primary, 5 km for secondary."
}
},
"additionalProperties": false
}Rank neighbourhoods within commuting reach of a workplace for a house-buying budget, by how realistic a place at a good state school is (council cut-offs and results), with sold-price medians from HM Land Registry. Commute reach is estimated from distance.
| Argument | Type | Description |
|---|---|---|
| phase* | string | |
| budget* | integer | Purchase budget in pounds. |
| commute_mode | string | |
| min_bedrooms | integer | |
| workplace_postcode* | string | Full UK postcode of the place of work. |
| max_commute_minutes | integer | |
| include_grammar_schools | boolean | Secondary only: count grammar schools (entry by the 11+). |
{
"type": "object",
"required": [
"workplace_postcode",
"budget",
"phase"
],
"properties": {
"phase": {
"enum": [
"primary",
"secondary"
],
"type": "string"
},
"budget": {
"type": "integer",
"maximum": 10000000,
"minimum": 100000,
"description": "Purchase budget in pounds."
},
"commute_mode": {
"enum": [
"transit",
"drive",
"cycle",
"walk"
],
"type": "string",
"default": "transit"
},
"min_bedrooms": {
"enum": [
0,
2,
3,
4,
5
],
"type": "integer",
"default": 0
},
"workplace_postcode": {
"type": "string",
"description": "Full UK postcode of the place of work."
},
"max_commute_minutes": {
"type": "integer",
"default": 60,
"maximum": 90,
"minimum": 15
},
"include_grammar_schools": {
"type": "boolean",
"default": false,
"description": "Secondary only: count grammar schools (entry by the 11+)."
}
},
"additionalProperties": false
}Full profile of one school by URN: Ofsted, the newest GCSE, KS2 and A-level results, university destinations (Oxford and Cambridge, Russell Group) and the last distance offered for each of the last three years with applications per place.
| Argument | Type | Description |
|---|---|---|
| urn* | integer | The school URN, from search_schools. |
{
"type": "object",
"required": [
"urn"
],
"properties": {
"urn": {
"type": "integer",
"maximum": 999999,
"minimum": 100000,
"description": "The school URN, from search_schools."
}
},
"additionalProperties": false
}League tables of schools in England, optionally for one council: attainment8 or progress8 (GCSE), a_level (points per entry), ks2 (primary, % meeting the expected standard), oxbridge or russell_group (share of sixth-form leavers, pooled over five cohorts).
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| council | string | Council (local authority) name, e.g. "Surrey" or "Barnet". |
| measure* | string |
{
"type": "object",
"required": [
"measure"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1
},
"council": {
"type": "string",
"description": "Council (local authority) name, e.g. \"Surrey\" or \"Barnet\"."
},
"measure": {
"enum": [
"attainment8",
"progress8",
"a_level",
"ks2",
"oxbridge",
"russell_group"
],
"type": "string"
}
},
"additionalProperties": false
}Find schools in England by name, town, council or postcode. A postcode returns schools within 5 km, nearest first. Each result has its URN (use it with get_school), Ofsted grade, headline results and a link to its MySchoolHub page.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| phase | string | Only primary or only secondary schools. |
| query* | string | School name, town, council or postcode, e.g. "Tiffin", "Guildford" or "KT10 8PQ". |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"phase": {
"enum": [
"primary",
"secondary"
],
"type": "string",
"description": "Only primary or only secondary schools."
},
"query": {
"type": "string",
"minLength": 2,
"description": "School name, town, council or postcode, e.g. \"Tiffin\", \"Guildford\" or \"KT10 8PQ\"."
}
},
"additionalProperties": false
}