KCI (Korea Citation Index) literature & citation search via REST Open API + OAI-PMH
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
๐ ์ฌ์ฉ๋ โ ์ต๊ทผ 14์ผ ์กฐํ 20ํ(๊ณ ์ 10) ยท ํด๋ก 213ํ(๊ณ ์ 102) ยท ๋ฆด๋ฆฌ์ค ์์ฐ ๋์ ๋ค์ด๋ก๋ โ
2026-09-07 ์๋ ๊ฐฑ์ ยท ์ ์ฒด ์ด๋ ฅ์
docs/usage.csv. GitHub ํธ๋ํฝ ํต๊ณ๋ 14์ผ ์ฐฝ๋ง ์ ๊ณตํ๋ฏ๋ก ์ด ์ ์ฅ์๊ฐ ๋งค์ผ ์ฐ์ด ๋์ ํ๋ค.
ํ๊ตญ์ฐ๊ตฌ์ฌ๋จ(NRF) KCI(Korea Citation Index) ๋ฌธํยท์ธ์ฉ์ง์ ๊ฒ์ยท์์ง MCP ์๋ฒ + CLI. REST Open API(ํค์๋ ๊ฒ์)์ OAI-PMH(๋ฌด์ธ์ฆ ๋๋ ์ํ)๋ฅผ ํจ๊ป ๋ค๋ฃฌ๋ค.
arti_id) โ ์ธ์ฉ ๋คํธ์ํฌ ๊ตฌ์ฑ| REST Open API | OAI-PMH | |
|---|---|---|
| ์๋ํฌ์ธํธ | โฆ/po/openapi/openApiSearch.kci | โฆ/oai/request |
| ์ธ์ฆ | KCI_API_KEY ํ์ | ๋ถํ์ |
| ์ง์ | ํค์๋ ๊ฒ์(title ํ์) | ์ธํธ + ๋ ์ง๋ฒ์ ์ํ |
| ์ธ์ฉ์ง์ยท์ฐธ๊ณ ๋ฌธํ | โ | โ |
๊ท๊ฒฉ: docs/KCI_API_GUIDE.md ยท docs/KCI_OAI_PMH_GUIDE.md ยท ์ค๊ณ: docs/ARCHITECTURE.md
REST ๊ฒ์๋ง ์ธ์ฆํค๊ฐ ํ์ํ๊ณ , OAI-PMH ์ํ์ ํค ์์ด ๋์ํ๋ค.
MCP ๋ก ๋ถ์๋ค๋ฉด kci_status โ kci_harvest ์์ผ๋ก ๋ฐ๋ก ์ธ ์ ์๋ค. ํค๊ฐ ์์ผ๋ฉด REST ๋๊ตฌ๋
์ค๋ฅ ๋์ OAI ๋์์ ์๋ดํ๋ค.
REST ๋๊ตฌ(kci_search ยท kci_detail ยท kci_references ยท kci_journal_citation)์๋ง ํ์ํ๋ค.
| ์ฌ์ฉ ํ๊ฒฝ | ๋ฃ๋ ๊ณณ |
|---|---|
| Claude Code | .claude/settings.local.json ์ env (gitignore ๋์) |
| Claude Desktop | claude_desktop_config.json ์ env โ ํ๋ฌธ ์ธ๋ผ์ธ(${VAR} ํ์ฅ ์ ๋จ) |
.mcpb ์ค์น | ์ค์น ์ฐฝ์ ์ ๋ ฅ๋ |
| CLI / ๋ก์ปฌ ๊ฐ๋ฐ | .env(gitignore) ๋๋ OS ์ฌ์ฉ์ ํ๊ฒฝ๋ณ์ |
AES ์ํธํยทํ ํฐ ๋ฐ๊ธยท๊ณต์ธ IP ๋ฑ๋ก์ ๋ถํ์ํ๋ค. ํ๋ฌธ key ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ ํ๋๋ก ํธ์ถํ๋ค.
์์ฒด์๊ฒฐ .mcpb(๊ถ์ฅ) โ Pythonยทuv ๋ถํ์. ๋ฆด๋ฆฌ์ค์์
OS์ ๋ง๋ ํ์ผ์ ๋ฐ์ ๋๋ธํด๋ฆญ(๋๋ Settings โ Extensions โ Install) โ KCI_API_KEY ์
๋ ฅ(์ ํ).
| ์์ฐ | ํน์ง |
|---|---|
kci-openapi-mcp-win-x64.mcpb / โฆ-macos-arm64.mcpb / โฆ-linux-x64.mcpb | ์์ฒด์๊ฒฐ โ ์ฌ์ ์ค์น๋ฌผ ์์ |
kci-openapi-mcp.mcpb | ๊ฒฝ๋. ์คํ์ uv ํ์ |
์๋ config โ %APPDATA%/Claude/claude_desktop_config.json:
ํ๋ก์ ํธ ๋ฃจํธ์ .mcp.json ๋ ์๋ ์ธ์๋๋ค.
ํ์ค stdio MCP ์๋ฒ์ด๋ฏ๋ก MCP ๋ฅผ ์ง์ํ๋ ์์ด์ ํธ๋ฉด ๊ทธ๋๋ก ๋ถ๋๋ค โ Cursor ยท Windsurf ยท Cline ยท
Zed ยท VS Code Copilot(agent mode) ยท OpenAI Agents SDK ยท ์์ฒด ํด๋ผ์ด์ธํธ ๋ฑ. ์ command/args/env
3์์๋ฅผ ๊ฐ ํด๋ผ์ด์ธํธ ์ค์ ์ ์ฎ๊ธฐ๋ฉด ๋๋ค.
ํ๊ฒฝ๋ณ์: KCI_MCP_TRANSPORT ยท KCI_MCP_HOST ยท KCI_MCP_PORT.
| ๋๊ตฌ | ํ๋ ์ผ |
|---|---|
kci_status | ์ฐ๊ฒฐ ์ ๊ฒ โ OAI Identify + ์ธ์ฆํค ๋ณด์ ์ฌ๋ถ |
kci_search | ๋
ผ๋ฌธ ๊ฒ์ โ title ํ์ + author/journal/keyword/abstract/doi/๋ฐํ์ฐ์/institution ํํฐ, ์ ๋ ฌ |
kci_detail | Control Number(ARTโฆ)๋ก ์์ธ โ ํค์๋ยทISSNยท์ ์์์ยท์ฐธ๊ณ ๋ฌธํ์ ์ ์ผํ ์ถ์ฒ |
kci_references | ์ ๋ชฉ ๊ฒ์์ด์ ๋งค์นญ๋ ๋ ผ๋ฌธ๋ค์ ์ฐธ๊ณ ๋ฌธํ ์ํ |
kci_journal_citation | ์ ๋ ์ธ์ฉ์ง์ โ ์ฐ๋ ๋ชฉ๋ก / journal_id ์์ธ(๋ฑ์ฌ์ด๋ ฅยท์ฐ๋๋ณ IF) |
kci_harvest | OAI-PMH ๋ฌด์ธ์ฆ ๋๋ ์ํ โ ์ธํธ + ๋ ์ง๋ฒ์, contains ๋ก์ปฌ ํํฐ |
kci_collect | ๋ผ์ฐํฐ โ ํค ์ ๋ฌดยท์์ฒญ ์ฑ๊ฒฉ์ผ๋ก RESTโOAI ์๋ ์ ํ ํ ํ์ผ ์ ์ฅ |
articleSearch ๋ ํค์๋ยทISSNยทUCI ๋ฅผ ์๋ต์ ์ฃ์ง ์๋๋ค. keyword= ๋ก ๊ฒ์์ ๋์ง๋ง ๊ฒฐ๊ณผ์๋
์๋ค. ๊ฒ์ ๊ฒฐ๊ณผ์ ๋น keywords ๋ 'ํค์๋ ์๋ ๋
ผ๋ฌธ'์ด ์๋๋ค โ ํ์ํ๋ฉด kci_detail ๋ก ๊ฑด๋ณ ๋ณด๊ฐํ๋ค.
kci_collect ์ REST ๊ฒฝ๋ก๋ ์ ๋ชฉ์ถ โช ํค์๋์ถ์ด๋ค. ๊ฐ ๊ฒ์์ด๋ฅผ ๋ ์ถ์ผ๋ก ์กฐํํด ํฉ์งํฉ์ ๋ง๋ ๋ค.
๊ฒฐ๊ณผ๋ '์ ๋ชฉ๊ฒ์ ๊ฒฐ๊ณผ'๊ฐ ์๋๋ฏ๋ก ์ฝํผ์ค ๊ฒฝ๊ณ๋ฅผ ๊ธฐ์ ํ ๋ ๋ช
์ํด์ผ ํ๋ค. meta.axes ์ ์ถ๋ณ total ์ด ๋ด๊ธด๋ค.
์ฐธ๊ณ ๋ฌธํ์ arti_id ๋ KCI ๋ฑ์ฌ๋ถ์๋ง ๋ถ๋๋ค. ๋จํ๋ณธยท๋ณด๊ณ ์ยทํด์ธ๋ฌธํ์ ๋น ๋ฌธ์์ด์ด๋ค.
์ธ์ฉ ๋คํธ์ํฌ๋ ์ด ID ๊ฐ ์๋ ํญ๋ชฉ์ผ๋ก๋ง ๊ตฌ์ฑํ ์ ์๋ค(references_linked_count ๋ก ํ์ธ).
referenceSearch ๋ ํ์ด์ง ํ๋ผ๋ฏธํฐ๊ฐ ์์ด 1ํ 100๊ฑด์ด ์ํ์ด๋ค. ๋ถ์กฑํ ์ด์ ๊ฐ ๋์ด๊ณ ์ฒ๋ฐฉ์ด
์ ๋ฐ๋์ด๋ฏ๋ก ๊ฒฝ๊ณ ๋ฌธ๊ตฌ๋ฅผ ํ์ธํด์ผ ํ๋ค.
| ์ํฉ | ์ฒ๋ฐฉ |
|---|---|
total > 100 โ API ๊ฐ ๋ ์ค ์ ์๋ค | sort_dir ๋ฅผ ๋ค์ง์ด(ascโdesc) ๋ฐ๋์ชฝ์ ๋ฐ์ ํฉ์งํฉ |
total โค 100 ์ธ๋ฐ rows ๋ก ์๋ ธ๋ค | rows ๋ฅผ total ์ด์์ผ๋ก ์ฌ๋ฆฐ๋ค (์ ๋ ฌ ๋ฐ์ ์ ๊ฐ์ ๋ ์ฝ๋๋ง ๋ค์ ์จ๋ค) |
KCI ๊ฐ ๋ณด๊ณ ํ๋ total ์ ์ค์ ๋ก ๋ฐ์ ์ ์๋ ๊ฑด์๋ณด๋ค ํด ์ ์๋ค. ๊ทธ๋์ ๋ ์ํฉ์ ๋ค๋ฅธ
ํ๋๊ทธ๋ก ๊ตฌ๋ถํ๋ค.
| ํ๋๊ทธ | ๋ป | ๋์ฒ |
|---|---|---|
truncated | max_records ์ํ์ ๊ฑธ๋ ธ๋ค | ์ํ์ ์ฌ๋ ค ์ฌ์์งํ๋ฉด ๋์ด๋๋ค |
total_mismatch | ๋๊น์ง ํ์ด์งํ๋๋ฐ total ์ ๋ชป ๋ฏธ์ณค๋ค | ์ํ์ ์ฌ๋ ค๋ ๋์ง ์๋๋ค. ํ์๋์ ํ์ ์์น๋ก ์ด๋ค |
๋ค์ค ํ์ด์ง ์ง์๋ ํธ์ถ๋ง๋ค ๊ฒฐ๊ณผ๊ฐ ๋ฏธ์ธํ๊ฒ ๋ฌ๋ผ์ง๋ค. ๋จ์ผ ํ์ด์ง ์ง์๋ ์์ ์ ์ด๋ค.
total ์ ๋ชป ๋ฏธ์น๊ณ ์ํ๋ ์๋๋ฉด ํ ๋ฒ ๋ ํ์ด ํฉ์งํฉ์ ์ทจํ๋ค(meta.sweeps ๊ฐ 1๋ณด๋ค ํฌ๋ฉด ๋ณด์ ๋ ๊ฒ,
์์ง ์ ์ฒด๋ meta.sweeps_total).
๋ณด์ ์ด ๊ฑธ๋ฆฐ ์ถ์ ์ ์ฒด๋ฅผ ์ฌํ์ด์งํ๋ฏ๋ก ๊ทธ๋งํผ ์์ฒญ์ด ๋์ด๋๋ค. ๋๊ท๋ชจ ์์ง์์ ๋ถ๋ด๋๋ฉด
kci_collect ์ retry_incomplete=0 ์ผ๋ก ๋๋ค โ ๋์ ๊ฒฐ์์ด ๋จ๊ณ total_mismatch ๋ก๋ง ํ์๋๋ค.
์ถ๋ ฅ ํ์ผ๋ช
์ ์ ๊ทํ๋๋ค. name ์ ์ง์ ํ์ง ์์ผ๋ฉด ๊ฒ์์ด๊ฐ ๊ทธ๋๋ก ํ์ผ๋ช
์ด ๋๋ฏ๋ก,
๊ฒฝ๋ก ๊ตฌ๋ถ์ยท..ยท์๋ ๊ธ์ง๋ฌธ์๋ ์ ๊ฑฐ๋๊ณ ๊ฒฐ๊ณผ๋ ํญ์ out_dir ์์๋ง ์ ์ฅ๋๋ค.
ํ๊ธ ํ์ผ๋ช
์ ๊ทธ๋๋ก ๋ณด์กด๋๋ค.
์ ๋ ฌ ์ธ์๋ ์ ์ก ์ ์ ๊ฒ์ฆํ๋ค. sort_by ๋ title/author/pubiYr, sort_dir ์ asc/desc.
ํ์ฉ๊ฐ ๋ฐ์ด๋ฉด ์ค๋ฅ๋ฅผ ๋๋ ค์ค๋ค.
Claude ์ฑ ์์์ ๊ฒ์ํด ์ค์นํ ์๋ ์๋ค. ๊ณต์ MCP ๋ ์ง์คํธ๋ฆฌ ๋ฑ์ฌ์ Claude Desktop ์ธ์ฑ ์ปค๋ฅํฐ ๋๋ ํฐ๋ฆฌ๋ ๋ณ๊ฐ์ด๊ณ ์๋ ๋๊ธฐํ๋์ง ์๋๋ค. ์ ์ค์น ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์ด๋ค.
๋๊ตฌ ์ค๋ช ์ด ํ๊ตญ์ด๋ค. ํ๊ตญ์ด๋ฅผ ๋ค๋ฃจ๋ ๋ชจ๋ธ์ด์ด์ผ ๋๊ตฌ ์ ํ์ด ์ ํํ๋ค.
mcp SDK ๋ 1.x ๋ก ๊ณ ์ ๋๋ค(mcp>=1.2.0,<2). 2.0 ์์ mcp.server.fastmcp ๊ฐ ์ ๊ฑฐ๋์ด
์ํ์ด ์์ผ๋ฉด ๊ธฐ๋์ ์คํจํ๋ค.
๋ก์ปฌ ๊ฐ๋ฐ์ uv sync. ํด๋ผ์ฐ๋ ๋๊ธฐํ ํด๋(OneDrive ๋ฑ)๋ผ๋ฉด venv ๋ฅผ ํด๋ ๋ฐ์ ๋๊ธฐ๋ฅผ ๊ถํ๋ค
(UV_PROJECT_ENVIRONMENT).
curl ๊ธฐ๋ณธ UA ๋ ์ฐจ๋จ ์๋ดํ์ด์ง๋ฅผ ๋ฐ๋๋ค.
๋ณธ ์๋ฒ๋ requests ๋ก ํธ์ถํ๋ฏ๋ก ์ ์ ๋์ํ๋ค.truststore ๋ก OS ์ ๋ขฐ์ ์ฅ์๋ฅผ ์ฌ์ฉํด ํต๊ณผํ๋ค
(TLS ๊ฒ์ฆ์ ๋์ง ์๋๋ค). ๋นํ์ฑ์ KCI_OS_TRUST=0.127.0.0.1)์ด๋ค. --host 0.0.0.0 ์ผ๋ก ์ธ๋ถ์
์ด๋ฉด ์ธ์ฆํค๋ฅผ ๊ฐ์ง ์๋ฒ๊ฐ ๊ทธ๋๋ก ๋
ธ์ถ๋๋ฏ๋ก ์ ๋ขฐ๋ ๋ง์์๋ง ์ด๋ค.MIT. ๋ณธ ํ๋ก์ ํธ๋ ํ๊ตญ์ฐ๊ตฌ์ฌ๋จ์ ๋น๊ณต์ ํด๋ผ์ด์ธํธ์ด๋ฉฐ ์ ํด ๊ด๊ณ๊ฐ ์๋ค. KCI ๋ฐ์ดํฐ ์ด์ฉ์ KCI ์ฝ๊ด์ ๋ฐ๋ฅธ๋ค.
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/kci-openapi-mcp)<a href="https://allmcps.com/mcp/kci-openapi-mcp"><img src="https://allmcps.com/api/badge/kci-openapi-mcp?style=directory" alt="Kci Openapi MCP on AllMCPs" /></a>