Compare 488 Korean universities on 17 official disclosure indicators (대학알리미). No API key.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
English | 한국어
academyinfo-mcp is an independent, read-only MCP server for factual queries and side-by-side comparison of Korean university disclosure indicators. It uses a bundled local snapshot: no API key and no runtime network connection are required.
This project is not affiliated with, endorsed by, approved by, sponsored by, or maintained by the Ministry of Education, KCUE, KEDI, data.go.kr, academyinfo.go.kr, or any university.
academyinfo-mcp runs with no install, no API key, and no login. It reads a bundled
snapshot of Korean university disclosure indicators (대학알리미, KOGL Type 1) and answers
factual queries and side-by-side comparisons from your AI assistant.
Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/), then
restart Claude Desktop:
Add the same command/args shape to ~/.cursor/mcp.json (or a project .cursor/mcp.json),
then reload the MCP server list.
The server speaks MCP over stdio (JSON-RPC on stdout, diagnostics on stderr).
For a client that cannot run a local process. A client that registers connectors by a URL field (for example claude.ai custom connectors) takes just the address:
A client that takes a pasted mcpServers object takes this entry:
No credentials, so no headers. Same bundled snapshot and same eight tools as the local form.
This is a personal deployment offered as-is: it can go away without notice, and it is not covered by any availability guarantee (see Support). For work you need to reproduce, prefer the local form and pin a version — academyinfo-mcp@0.4.0.
More on the pasted-object format, including the transport field that does not belong in it, is in examples/.
Ask your assistant something like:
"전남대와 부산대의 취업률과 경쟁률을 비교해줘."
The server never guesses an ambiguous name. "전남대학교" matches two campuses, so the first
explore_universities call returns status: "ambiguous" with the candidates instead of a table:
Pick a campus and ask again (assistants usually do this follow-up on their own):
"전남대학교 본교와 부산대학교로 비교해줘."
The second call returns status: "ok" with each institution's values and the source, year,
and unit attached — for example (2025 bundled snapshot):
| 대학 | 취업률 | 신입생 경쟁률 |
|---|---|---|
| 전남대학교 본교 | 57.6% | 7.4:1 |
| 부산대학교 | 57.5% | 9:1 |
This two-step flow is the designed behavior, not a failure: ambiguous names return candidate campuses instead of guessing, and comparisons never rank, score, or pick a winner — the numbers are presented as-is with provenance so you decide.
Implemented in this checkout:
15118998 derivative database;explore_universities);data/seed/indicators.json;>=22 <23 and the closed direct production dependency set @modelcontextprotocol/sdk@1.29.0, better-sqlite3@11.10.0, pino@10.3.1, and zod@4.4.3;dist/src/http.js, POST-only, excluded from the npm package) alongside the packaged stdio entry point, with readOnlyHint/openWorldHint annotations on all eight tools.Published: academyinfo-mcp@0.4.0 is live on the public npm registry (latest), published by hand from an isolated terminal ceremony (docs/manual-publish-runbook.md). The initial 0.1.0 release was smoke-verified with an anonymous npx -y academyinfo-mcp@0.1.0 install that resolves the exact registry tarball and lists all eight tools; later releases (0.1.1, 0.1.2, 0.2.0, 0.3.0, 0.3.1, 0.4.0) follow the same runbook.
Not yet performed (intentional, proportionate for a first solo release):
npx proof across all three official Node 22 lanes (macOS/arm64, Windows/x64, Ubuntu glibc/x64) — only a single-machine smoke test was run. Separately, a one-off manual run (2026-07-24, outside CI) on Ubuntu 24.04 glibc/x64 with Node 22 installed academyinfo-mcp@0.1.1 anonymously, resolved better-sqlite3 from prebuilt binaries without compiling, and verified initialize, all eight tools, and an explore_universities call with JSON-RPC-only stdout; this is recorded observation, not the formal lane proof, and macOS/arm64 and Windows/x64 remain unverified;The package ships better-sqlite3@11.10.0 as its sole backend. It installs from prebuilt binaries on the maintainer's Node 22 macOS/arm64 lane and, in the one-off manual run above, on Ubuntu 24.04 glibc/x64; the full three-lane prebuilt-only matrix has not been independently proven. Exactly one backend ships.
Use Node >=22 <23. Node 24 and later are not supported or claimed. The public support matrix is limited to Node 22 on:
Those lanes are targets until public-install evidence is collected; local success is not public support evidence.
The implemented local behavior can be exercised from a checkout:
The last command starts an MCP stdio server. It does not provide an interactive shell. MCP protocol output is written to stdout; diagnostics must remain on stderr.
No API-key environment variable is required. ACADEMYINFO_DB_PATH may select another compatible local database; otherwise the bundled seed is used. Runtime tools do not write the database or contact an external service.
This development checkout defines npm run doctor, npm run refresh:acquire-validate, and npm run refresh:verify-artifact. Only doctor has its compiled program included in the packed npm artifact, where it is a local package/data/runtime diagnostic; it does not prove public installation, backend selection, refresh acceptance, or release approval. The compiled refresh programs, their TypeScript build sources, and required development dependencies are excluded from the package, so both refresh commands are checkout-only protected-workflow internals, not supported installed-package commands. Direct local invocation is never an authoritative acquisition, writer, or release receipt.
The npm package remains stdio-only. A checkout (or a container image built from it) also provides a stateless Streamable HTTP entry point for remote MCP clients such as claude.ai custom connectors:
POST /mcp accepts one JSON-RPC MCP request per call and answers a JSON response; GET
(SSE streams) and DELETE (sessions) are not served because every request runs on a fresh
server instance.GET /healthz and GET /health answer 200 ok for deployment health checks (on
Cloud Run run.app domains the Google frontend consumes the literal /healthz path,
so external probes must use /health).ALLOWED_HOSTS (comma-separated) enables DNS rebinding protection; leave it unset only
behind a trusted proxy.dist/src/http.js is excluded from the npm package, so installed npx academyinfo-mcp
behavior is unchanged.A remote deployment serves the same bundled point-in-time snapshot under the same attribution and disclaimer boundaries: it is not a live feed and does not guarantee the latest data, and the operator remains unaffiliated with the Ministry of Education, KCUE, KEDI, data.go.kr, academyinfo.go.kr, or any university.
The Quickstart uses the unversioned academyinfo-mcp, which resolves to the
current latest (now 0.4.0). To pin a specific version instead, use academyinfo-mcp@0.4.0
in the args. Cursor and Codex use the same command/args shape as the Claude Desktop
example; they are documented configurations and behave identically over MCP stdio.
list_sourceslist_indicatorssearch_universityget_university_metricscompare_universitiesexplain_indicatorvalidate_source_coverageexplore_universitiesThe first seven contracts remain backward compatible. For client compatibility, tools/list registers explore_universities with this exact permissive Draft-07 outer input schema:
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/korean-university-disclosure-indicators)<a href="https://allmcps.com/mcp/korean-university-disclosure-indicators"><img src="https://allmcps.com/api/badge/korean-university-disclosure-indicators?style=directory" alt="Korean University Disclosure Indicators (대학알리미) on AllMCPs" /></a>