korea-scholarship-mcp
korea-scholarship-mcp
Ein FastMCP-stdio-Server, der zwei koreanische bibliografische Dienste bereitstellt – den Korea Citation Index (KCI, 한국학술지인용색인, National Research Foundation of Korea) und Open Access Korea (OAK, 오픈액세스코리아, National Library of Korea) – als acht Tools für Claude Desktop und andere MCP-Clients.
Es ist das koreanische Gegenstück zu cinii-mcp und jstage-mcp und gibt dieselbe Antwort-Envelope zurück, sodass die drei in trilaterale Arbeit nebeneinander gelesen werden können.
Tools
Tool | Quelle | Schlüssel erforderlich | Zweck |
| KCI REST | ja | Artikelsuche über Titel, Autor, Zeitschrift, Institution, Zugehörigkeit, Schlüsselwort, Zusammenfassung, DOI, Datumsbereich |
| KCI REST | ja | Vollständiger Datensatz nach Kontrollnummer – der einzige Endpunkt, der Schlüsselwörter, ISSN, UCI und Zusammenfassungen trägt |
| KCI REST | ja | Von einem Artikel zitierte Werke |
| KCI REST | ja | Zeitschriften-Zitationsindizes (Impact, Immediacy, Selbstzitationsanteil) |
| KCI OAI-PMH | nein | Ernte nach Aufnahmedatum-Fenster, clientseitig filtern, Fortsetzungstoken verfolgen |
| OAK OAI-PMH | nein | Koreanische institutionelle Repositorien nach Aufnahmedatum-Fenster ernten |
| OAK OAI-PMH | nein | Ein OAK-Datensatz nach OAI-Identifikator |
| — | — | Was konfiguriert ist, was erreichbar ist und was dieser Server nicht abdeckt |
Vier der acht funktionieren ganz ohne Anmeldedaten – alles OAI-PMH, plus Status.
Related MCP server: Literatür MCP
Was die Quellen tatsächlich sind
KCI indexiert Artikel in in Korea registrierten wissenschaftlichen Zeitschriften. Es indexiert keine Monografien, Kapitel oder Dissertationen. Seine REST-Schnittstelle ist eine echte Abfrageschnittstelle; seine OAI-PMH-Schnittstelle ist es nicht.
OAK aggregiert koreanische institutionelle Repositorien – Forschungsberichte, Dissertationen, Monografien, 고서-Bestände, OA-Artikel – die von den Mitgliedseinrichtungen ungleichmäßig beigetragen werden.
Beide wurden am 19. August 2026 live getestet, und drei Eigenschaften prägen, wie die Tools geschrieben sind:
OAI-Zeitstempel sind Aufnahmedaten, keine Veröffentlichungsdaten. Ein Erntefenster vom Mai 2019 liefert Artikel, die zwischen 2010 und 2015 veröffentlicht wurden. Die oft wiederholte Behauptung, dass der OAI-Feed von KCI nur aktuelles Material bereitstellt, ist ein Missverständnis davon: Der Feed deckt den Korpus ab, er hat nur keine Möglichkeit, etwas gefragt zu werden.
kci_harvestfiltert daher clientseitig und weist in jedem Aufruf in einer Diagnose darauf hin.
1a. KCI's oai_dc ist vollständig typisiert, und dieser Server liest die Typen. Gemessen an 500 Live-Datensätzen: identifier[type=artiId|uci|doi|citedCnt|regularity|journalInfo], ein issn=-Attribut bei 500/500 und lang="original|english" bei jedem Titel und jeder Beschreibung. Version 0.2.0 behauptete das Gegenteil – „ein positionsbasiertes, untypisiertes Bündel", das per Muster abgeglichen werden sollte – und verwarf folglich jede ISSN, jede Zusammenfassung und 371 echte DOIs pro 500 Datensätzen. Musterabgleich überlebt nur als Fallback für Identifikatoren, die ohne Tag ankommen. Beachten Sie, dass KCI auch type="doi"-Elemente ausgibt, die nur das Resolver-Präfix enthalten; diese werden auf null normalisiert, anstatt als Identifikatoren durchgereicht zu werden.
OAK sendet kein
resumptionToken. Es deklariertnoSetHierarchy, beachtetfrom/untilund begrenzt ein Fenster auf etwa 99 Datensätze ohne Fortsetzung. Ein Harvester, der dem Protokoll vertraut, präsentiert stillschweigend ein abgeschnittenes Fenster als vollständiges.oak_harvestwirftOAI_WINDOW_TRUNCATED, wenn es die Grenze erreicht, und weist Sie an, das Fenster zu unterteilen.OAK ist kein Standard-Dublin Core. Es gibt
dc:title_h,dc:abstract_e,dc:publish_date,dc:location_org,dc:deep_link,dc:contents_urlaus und legt den Materialtyp indc:keyword. Das Vorhandensein von Feldern variiert je nach beitragendem Repositorium. Nicht erkannte Felder werden unterextra.raw_fieldsaufbewahrt, anstatt verworfen zu werden.
Zwei weitere Asymmetrien werden berichtet, anstatt übergangen zu werden:
KCI's
articleSearchakzeptiertkeywordals Suchfeld, lässt aber Autorenschlüsselwörter, ISSN und UCI aus seiner Antwort aus. Eine leere Schlüsselwortliste ist ein Artefakt des Endpunkts.kci_searchsagt das bei jedem Aufruf;kci_articleholt sie wieder.KCI antwortet bei Fehlern mit HTTP 200 und legt den Fehler in
outputData/result/resultMsg. Ein Client, der Statuscodes prüft, meldet einen nicht registrierten Schlüssel als erfolgreiche leere Suche.
Die Antwort-Envelope
Jedes Tool gibt die in mediation.py (Schema 2.1.0) dokumentierte Envelope zurück – typisiertes query/script, matching_mode, abgestufte breadth, pro Element matched_in, typisierte diagnostics, eine protokollierbare receipt und attribution. Nichts wird für Sie zusammengefasst oder bewertet.
mediation.py 2.2.0 ist die Versöhnung eines Forks. Bis zum 19. August 2026 nannten sich zwei verschiedene Dateien beide 2.1.0: Die japanische Kopie hatte emit() – Ledger-Persistenz –, klassifizierte Hangul jedoch als latin; die koreanische Kopie kannte Hangul und die CJK-Erweiterungen, hatte aber kein emit(), sodass koreanische Abfragen nie die Einlage erreichten, die jede japanische Abfrage betrat. 2.2.0 trägt beides und ist byte-identisch über cinii-mcp, jstage-mcp, ndl-mcp und diesen Server hinweg ausgeliefert. Alles darin ist additiv, sodass die japanischen Server es ohne Migration übernehmen.
detect_script()erkennt Hangul und CJK-Erweiterungen B–G sowie das Kompatibilitäts-Supplement.titleundsourcetragen einenko-Slot nebenja.emit()legt die Envelope im hash-verketteten Abfrage-Ledger ab;ledger_available()meldet, ob es das kann, anstatt ein stilles No-op zu hinterlassen.
title.romanized bleibt null, es sei denn, die Quelle liefert eine Romanisierung. Weder KCI noch OAK tun das, und dieser Server wird keine generieren: Die überarbeitete Romanisierung eines koreanischen Namens erfordert die Kenntnis des Namens, und eine maschinell transliterierte Zeichenfolge, die als bibliografische Daten präsentiert wird, ist eine Erfindung mit der Form einer Tatsache.
Diagnosecodes
OK · NO_KEY · KCI_REJECTED · KCI_KEYWORDS_ABSENT · ZERO_CONJUNCTION · TRUNCATED · PAGE_PAST_END · REFERENCE_DEPOSIT_UNEVEN · BIBLIOMETRIC_SCOPE · SCRIPT_LATIN_QUERY · INGEST_DATE_NOT_PUBLICATION_DATE · CLIENT_SIDE_FILTER · OAI_MORE_AVAILABLE · OAI_INCOMPLETE · OAI_STALLED · OAI_PAGE_CAP · OAI_NO_RECORDS · OAI_ERROR · OAI_WINDOW_TRUNCATED · OAK_NONSTANDARD_DC · WINDOW_DOMINATED_BY_ONE_REPOSITORY · REDIRECTED · TRANSPORT_ERROR · API_ERROR · PARSE_ERROR
Voraussetzungen
Python 3.10+ im PATH.
Optional ein KCI-API-Schlüssel – kostenlos, selbst registriert, nur für die vier REST-Tools erforderlich.
Einen KCI-Schlüssel erhalten
Registrieren Sie sich bei open.kci.go.kr und beantragen Sie einen Open-API-Schlüssel.
Derselbe Schlüssel bedient alle fünf
apiCode-Werte (articleSearch,articleDetail,referenceSearch,citation,citationDetail).
KCI ist auch als vier Datensätze auf data.go.kr unter 한국연구재단 gespiegelt; dieser Weg vergibt einen anderen Schlüssel und wird hier nicht verwendet.
Installation
Das Paket verwendet ein src/-Layout und installiert ein Konsolenskript. Jede der folgenden Möglichkeiten funktioniert:
# from a release archive
pip install korea-scholarship-mcp.zip
# from a built wheel
pip install korea_scholarship_mcp-0.4.0-py3-none-any.whl
# from a clone, for development
pip install -e ".[dev]"
# without installing anything, straight from the repository
uvx --from "git+https://github.com/ckgerteis/korea-scholarship-mcp" korea-scholarship-mcpDie Installation legt einen korea-scholarship-mcp-Befehl in den PATH. python -m korea_scholarship_mcp ist gleichwertig.
Konfiguration
cp .env.example .envKCI_API_KEY=your_kci_api_key_hereClaude Desktop
Wenn das Paket installiert ist, zeigen Sie auf das Konsolenskript:
{
"mcpServers": {
"korea-scholarship": {
"command": "C:\\path\\to\\.venv\\Scripts\\korea-scholarship-mcp.exe",
"env": {
"KCI_API_KEY": "your_kci_api_key_here"
}
}
}
}Oder führen Sie es aus einem Klon aus, ohne zu installieren:
{
"mcpServers": {
"korea-scholarship": {
"command": "C:\\path\\to\\.venv\\Scripts\\python.exe",
"args": ["-m", "korea_scholarship_mcp"],
"env": {
"KCI_API_KEY": "your_kci_api_key_here"
}
}
}
}Lassen Sie den env-Block vollständig weg, um die vier schlüssellosen Tools auszuführen.
Eine Anmerkung zum MCP SDK
mcp 2.0.0 hat mcp.server.fastmcp entfernt. Dieser Server importiert FastMCP, wo es existiert, und fällt auf MCPServer zurück, wo es nicht existiert, sodass er auf beiden läuft. Derselbe Shim wurde am 19. August 2026 auf cinii-mcp und jstage-mcp angewendet; davor importierten beide mcp.server.fastmcp direkt, während sie mcp[cli]>=1.2.0 ohne obere Grenze pinnten, sodass eine frische Installation von einem von beiden auf 2.0.0 aufgelöst wurde und beim Import fehlschlug.
Umgang mit Anmeldedaten
Der KCI-Schlüssel reist in der Abfragezeichenfolge, was ihn auf zwei spezifische Arten leckanfällig macht, die dieser Server schließt:
httpxprotokolliert jede Anforderungs-URL auf INFO-Ebene._silence_http_logging()stummschaltet es und entfernt jeden stdout-Handler – ohnehin notwendig, da stdout JSON-RPC trägt.Transport- und Statusausnahmen betten die Anforderungs-URL ein. Jede Nachricht, die für den Client bestimmt ist, durchläuft
_redact(), und die Quittung wird aus Parametern mit entfernten Anmeldedaten erstellt, anstatt maskiert zu werden.
Tests
python -m pytest tests -q # offline, against fixtures captured 19 Aug 2026
RUN_LIVE=1 python -m pytest tests -q # also exercises the live KCI endpoints
RUN_LIVE_OAK=1 python -m pytest tests -q # adds OAK; needs a network that reaches oak.go.krDie Live-Tests schützen die Behauptungen, auf denen diese README beruht: dass ein KCI-Aufnahmefenster ältere Veröffentlichungen zurückgibt, dass KCI-Identifikatoren typisiert sind, dass max_records eine Obergrenze und kein Hinweis ist und dass eine Fortsetzungsernte kein Datumsfenster aufzeichnet, das sie nie gesendet hat. Der OAK-Test ist separat abgesperrt und schlägt laut fehl, wenn OAK nicht erreichbar ist, anstatt auf einem unausgeführten Zweig zu bestehen.
Bekannte Grenzen
Die vier KCI-REST-Tools haben noch nie eine Live-Antwort gesehen – es gibt keinen API-Schlüssel. Ihr Feldmapping folgt der veröffentlichten Dokumentation und ist nicht gegen die Leitung verifiziert; der Erfolgs-/Fehlertest ist bewusst strukturell (vorhandene Datensätze bedeuten Erfolg), sodass weder eine geschwätzige Erfolgsmeldung noch eine knappe Ablehnung falsch gelesen wird. Behandeln Sie die REST-Ausgabe als vorläufig, bis ein Schlüssel existiert.
Was dieser Server nicht abdeckt
ScienceON (KISTI) – bewusst außerhalb des Rahmens. Sein Gateway erfordert ein AES-256-CBC-Token, das aus einer registrierten MAC-Adresse erstellt wird, plus eine registrierte öffentliche IP. rubato103/scienceon-mcp implementiert es bereits mit Live-Anmeldedaten und ist gegen genau den oben beschriebenen Anmeldedaten-Leckpfad gehärtet; installieren Sie es zusätzlich, anstatt unprüfbaren Auth-Code zu duplizieren:
claude mcp add scienceon -- uvx --from "git+https://github.com/rubato103/scienceon-mcp" scienceon-mcpRISS (KERIS) – die Such-API existiert unter https://www.riss.kr/openApi und deckt Dissertationen, inländische und ausländische Artikel, Monografien, Forschungsberichte und Zeitschriften ab, aber Schlüssel werden nur an koreanische gemeinnützige Einrichtungen und Universitäten ausgegeben, wobei jeder Antrag von KERIS-Mitarbeitern genehmigt wird; Einzelpersonen können sich nicht bewerben. Ob eine nicht-koreanische Universität qualifiziert ist, ist ungetestet. Wenn jemals ein Schlüssel erhalten wird, gehört RISS in diesen Server.
DBpia (Nurimedia) – Schlüssel sind offen und großzügig (2.500 Aufrufe pro Tag), aber die Nutzungsbedingungen beschränken den Dienst auf nicht-kommerzielle Zwecke und verbieten das Kopieren, Speichern oder Übertragen von Suchergebnissen, die in Echtzeit und unverändert angezeigt werden sollen. Das ist unvereinbar mit dem Ernten in einen Referenzmanager, einen Korpusindex oder ein Register. Die Einschränkung ist die Lizenz, nicht die API.
korea_sources_status meldet alle drei in situ, sodass die Auslassung von innerhalb des Tools sichtbar ist und nicht nur in dieser Datei.
Nutzungsregeln
KCI und OAK sind öffentliche Dienste ohne veröffentlichte Ratenbegrenzung. Ernten Sie rücksichtsvoll; unterteilen Sie Fenster, anstatt breite Bereiche zu hämmern.
Die hier abgerufenen Metadaten sind bibliografisch. Der Volltext liegt hinter den Bedingungen, die das haltende Repositorium festlegt – OAKs
contents_urlzeigt in Mitglieds-Repositorien, jedes mit eigener Lizenz.Attributionszeichenfolgen werden in jeder Envelope zurückgegeben; übernehmen Sie sie in alles Veröffentlichte.
Zitierung
Wenn diese Software Ihre Forschung unterstützt, zitieren Sie sie bitte. Siehe CITATION.cff oder verwenden Sie die Schaltfläche „Cite this repository" auf GitHub.
Lizenz
MIT © 2026 Christopher Gerteis.
Diese Lizenz gilt nur für den Servercode. Sie gewährt keinerlei Rechte an den KCI- oder OAK-Daten, die weiterhin den Bedingungen der National Research Foundation of Korea bzw. der National Library of Korea unterliegen.
Haftungsausschluss
Ein Forschungswerkzeug, das nach bestem Bemühen gepflegt und "wie besehen" ohne Gewährleistung bereitgestellt wird. Weder mit der National Research Foundation of Korea, der National Library of Korea, KERIS, KISTI noch mit Nurimedia verbunden oder von diesen unterstützt.
Autor
Dr. Christopher Gerteis, SOAS University of London.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables Claude to search and analyze Korean academic papers using the Korea Citation Index (KCI) Open API. Supports paper search, detailed metadata retrieval, reference analysis, author and keyword searches, and citation index queries.1
- AlicenseNot gradedqualityDmaintenanceEnables searching, PDF conversion, and reference extraction for Turkish academic articles on DergiPark via MCP tools.39MIT
- AlicenseAqualityAmaintenanceEnables searching and harvesting Korean Citation Index literature, citation indices, and references via REST API and OAI-PMH.71MIT
- FlicenseAqualityCmaintenanceEnables querying the Korea Citation Index (KCI) Open API to search reference lists, retrieve journal citation indices, and view citation detail history for Korean academic journals.5
Related MCP Connectors
IEEE Xplore MCP — BYOK wrapper over the IEEE Xplore Metadata Search API
MCP server for Altmetric APIs - track research attention across news, policy, social media, and more
MCP for CanLII: Canadian case law and legislation metadata (federal, provincial, territorial).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ckgerteis/korea-scholarship-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server