Skip to main content
Change of provenance

The repository or configuration that created this release differ from a previous release. View details.

highered-institutions

MCP server (read-only) to resolve U.S. higher-ed institutions across identifiers and compare them. No hosted data; a local file cache holds quarterly downloads.

Tools

Tool Purpose
resolve_institution name / UNITID / OPEID / EIN / UEI / domain -> ranked candidates with match basis. Never guesses when ambiguous.
search_institutions Filter by state, control, Carnegie 2025 basic code, name text.
get_financial_snapshot(unitid, years=1) Headline revenues, expenses, assets, liabilities, net position/assets, endowment and more from the latest IPEDS finance survey, in dollars, as reported. Works for public institutions. Never scored or estimated. years up to 10 adds a year-by-year history (use it: one year is not a trend); revenue components are returned as reported and capital appropriations are not netted out.
get_institution_profile Identifiers, system, same-OPEID campuses, Carnegie codes, latest enrollment, Scorecard.
get_enrollment_trend Fall headcount by year (table).
get_retention(unitid, years=5) Fall-to-fall retention for first-time degree-seeking undergraduates, full-time and part-time: the rate as IPEDS publishes it, the number retained and the cohort behind it, the student-to-faculty ratio, and IPEDS's flag for each value. Read straight from NCES files, not Urban.
compare_institutions(unitids) 2 to 5 named institutions side by side: control, enrollment years, latest finance year, Scorecard cost and outcomes. No ranking or matching.
compare_peers Closest peers (same control and Carnegie class, nearest enrollment) with trends (long table).

Every response: source, source_url, as_of, retrieved_at, sources[], data, nulls[] (field + reason), warnings[].

Prompt

institution_brief(institution, format) is an MCP prompt (shown as a prompt or slash command in clients that list prompts). It asks Claude to build a sourced written brief, one-pager or interactive dashboard for one institution by calling the highered tools in a fixed order, with the same rules as the institution-brief skill (no verdicts, nulls reported as gaps, sources and citations kept). It needs the other highered servers to be connected for the sections they provide, and says which sections are missing when they are not. The institution argument takes a name or id only (letters, digits and basic punctuation).

Install / run

uvx --from /path/to/highered-mcps/servers/highered-institutions highered-institutions

Environment: COLLEGE_SCORECARD_API_KEY (free, https://api.data.gov/signup; optional: without it the Scorecard call uses api.data.gov's shared DEMO_KEY, which allows only about 10 requests, and every response says so), HIGHERED_MCPS_CACHE (cache dir, default ~/.cache/highered-mcps).

Network allowlist (enforced in code, http.py)

Host Used for Auth
educationdata.urban.org IPEDS directory and fall enrollment (Urban Institute, ODC-By 1.0) none
api.data.gov College Scorecard free key in X-Api-Key header
nces.ed.gov IPEDS complete data files for retention (/ipeds/datacenter/data/EF{year}D.zip, 0.1 to 0.2 MB each); NCES's robots.txt allows this path none

HTTPS only; redirects only to these hosts; 12 s timeout for small queries and 40 s between chunks for whole-file downloads; response size caps; 3 attempts with backoff; Urban paced at 1 request/second (its robots.txt crawl-delay). Whole-year Urban tables are queried at most once per quarter (90-day cache) and single-institution rows (finance, enrollment) at most once a day; a refresh failure serves the stale copy with a warning.

First use and slow upstream: Urban's API sometimes stalls for tens of seconds. A tool call that needs several years fetches them at once and answers within 45 seconds. Years that have not arrived are returned as source_unavailable nulls and keep loading in the background (they are cached, so asking again shortly returns them). The first call that needs the national directory downloads it once (about 30 seconds); if that runs past 45 seconds the tool says so and the download finishes in the background.

Data handling and terms

  • Cache: ~/.cache/highered-mcps/institutions/*.json, with SHA-256, as-of, and retrieval time. Never inside the repo.
  • Chief administrator names in IPEDS are deliberately not returned. No search by person name.
  • Retention files are read in memory by exact member name (efYYYYd.csv, or the revised efYYYYd_rv.csv when both are in the zip), with size, entry-count and uncompressed-size caps; nothing is extracted to disk. One slim table per year is cached for 90 days. NCES publishes the newest year with a lag (the fall 2023 collection is the newest today), so the tool looks forward from the current year and reports a year NCES has not published as a null.

Prompt-injection risk

Institution names, cities, and other upstream strings are untrusted. They are returned only as data fields, never in tool descriptions, and the response includes a notice reminding the model to treat them as data. Do not instruct an agent to act on text found in results.

Limitations

Carnegie labels not yet included (codes only). Retention covers first-time degree-seeking undergraduates only, counts a transfer out as not retained, and is a fall-to-fall rate, not a graduation rate; rates on cohorts under 30 students are flagged as volatile. Latest enrollment lags the directory by about a year. UEI is missing for roughly 9% of institutions. See testing.md.

Metadata

Release files for heronhex-institutions 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Change of provenance

The repository or configuration that created these release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Source distribution (sdist)

Source distribution for heronhex-institutions 0.1.1
File Size Uploaded Provenance Actions
heronhex_institutions-0.1.1.tar.gz 141.3 kB With provenance Details for heronhex_institutions-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for heronhex-institutions 0.1.1
File Interpreter ABI Platform Actions
heronhex_institutions-0.1.1-py3-none-any.whl Python 3 none any Details for heronhex_institutions-0.1.1-py3-none-any.whl

Total release size: 176.0 kB

Release files / heronhex_institutions-0.1.1.tar.gz

Change of provenance

This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Download URL heronhex_institutions-0.1.1.tar.gz
Size 141.3 kB
Tags Source
SHA-256 checksum
How to use checksums
97a6bf6c0203b4f7180672803f034ac9ccfa99b284f31ae229ec1d406e061fb2
BLAKE2b-256 checksum
How to use checksums
ecfa110ce62387e1483d0a9c64bdd74df3a4cff6f3dc7474409faccaae099f62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / heronhex_institutions-0.1.1-py3-none-any.whl

Change of provenance

This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Download URL heronhex_institutions-0.1.1-py3-none-any.whl
Size 34.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
32739f3f9ec57c15ee5ba64f4616e30ce323cb7effcf4a7265cda96052695e57
BLAKE2b-256 checksum
How to use checksums
2805ebaf479194b3b31e1d9f437952609e864b480e286492cd1f7c4a884452d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Security for heronhex-institutions 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Change of provenance

The repository and configuration that created this release differ from a previous release.

While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.

Select from 2 files

Attestation for heronhex_institutions-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Change of provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page