uk-he-data-mcp

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.

Category
Visit Server

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

  1. Discover Uni course catalogue — the full course census, crawled from the public sitemap.
  2. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured