uk-he-data-mcp
MCP server to query UK higher-education open data including National Student Survey results, student outcomes, and graduate earnings. Data is downloaded locally from official sources and compared against benchmarks.
README
uk-he-data-mcp
An MCP server that lets Claude (or any MCP client) query UK higher-education open data: National Student Survey satisfaction, OfS student outcomes (continuation, completion, progression) and LEO graduate earnings, every figure paired with the benchmark the regulator intends it to be read against.
Status: built in public, moving fast. All three data sources are queryable; the interface may still change before the first tagged release.
Why
UK HE publishes a lot of good open data, and almost nobody can use it in conversation. The files are large, split across regulators, keyed on codes (UKPRN, CAH) that mean nothing to most people, and full of statistical conventions that are easy to get wrong — quoting an NSS score without its benchmark is the classic one. This server puts that data behind a small set of tools that carry those conventions with them, so an AI assistant can answer carefully instead of confidently.
Install
# one-off: build the local database (downloads open data from the OfS and DfE)
uvx --from git+https://github.com/wilgreeves-cmd/uk-he-data-mcp uk-he-data-mcp build
# then add the server to Claude Code
claude mcp add uk-he-data -- uvx --from git+https://github.com/wilgreeves-cmd/uk-he-data-mcp uk-he-data-mcp
(PyPI release is coming, which shortens both commands to plain uvx uk-he-data-mcp.)
The build downloads open data straight from the Office for Students and loads it into a DuckDB file on your machine — no keys, no accounts. Queries run locally; tool results then enter your AI assistant's conversation context like anything else you discuss with it.
Try asking
- "How satisfied are Law students at Birmingham, and is that good for a university with their intake?" — uses the OfS benchmark, so the answer compares like with like.
- "Compare Sheffield and Sheffield Hallam for Computing" — side by side, each judged against its own benchmark rather than raw score vs raw score.
- "Do mature students complete their degrees at Birmingham?" — B3 outcomes split by age on commencement, against the OfS regulatory threshold.
- "What do Law graduates actually earn five years on?" — LEO quartiles, with the caveats stated: pre-tax, employment-matched, and emphatically not causal.
- "Show me assessment-and-feedback scores for nursing at a small provider" — often returns nothing, and says why: cuts under 10 respondents are suppressed by the OfS, which is an answer, not an error.
- "Which university gets the most applications for Computer Science?" — the server tells you this isn't answerable from open data (UCAS publishes no bulk application volumes) rather than guessing from satisfaction scores.
That last behaviour is deliberate. Each tool description states what the data cannot answer, so the model declines honestly instead of inferring.
Tools
| Tool | What it does |
|---|---|
search_providers |
Name, nickname or fragment → official name + UKPRN ("UCL" and "Sheffield Uni" both work) |
nss_scores |
NSS positivity vs OfS benchmark and UK sector average, filterable by subject (CAH), question/theme, population, mode and level |
compare_providers |
Two or more providers side by side, each judged against its own benchmark |
b3_outcomes |
Continuation, completion and progression rates vs OfS benchmarks and regulatory thresholds, by subject or demographic split |
leo_earnings |
Graduate earnings (LQ/median/UQ) at 1, 3 and 5 years, by subject, with the UK figure for context |
run_sql |
Read-only SELECT against the underlying DuckDB, capped at 100 rows, for anything the fixed tools don't cover |
Plus a data://dictionary resource describing every table, its grain, and
what is deliberately absent, and two MCP prompts — provider_health_check
and subject_shortlist — that walk a client through the tools in the right
order with the statistical conventions attached.
Roadmap
- Discover Uni course catalogue — the full course census, crawled from the public sitemap.
- Prebuilt database download, so the one-off build takes seconds rather than minutes.
Data sources and licences
| Source | Publisher | Licence |
|---|---|---|
| National Student Survey 2026 | Office for Students | OGL v3.0 |
| Student outcomes (B3) Feb 2026 | Office for Students | OGL v3.0 |
| LEO graduate earnings 2022/23 | Department for Education | OGL v3.0 |
Contains public sector information licensed under the Open Government Licence v3.0. This project is not affiliated with or endorsed by the Office for Students or the Department for Education.
Code is MIT licensed.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.