Server data from the Official MCP Registry
KCI (Korea Citation Index) literature & citation search via REST Open API + OAI-PMH
About
KCI (Korea Citation Index) literature & citation search via REST Open API + OAI-PMH
Security Report
This is a well-structured academic data harvesting MCP server for the Korean Citation Index (KCI). Authentication is properly handled via environment variables with appropriate safeguards against credential exposure in logs and error messages. Permissions align with the server's purpose (network access to KCI APIs, file I/O for batch export). Minor code quality issues around broad exception handling and input validation suggestions do not significantly impact the security posture. Supply chain analysis found 9 known vulnerabilities in dependencies (0 critical, 5 high severity).
6 files analyzed · 14 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: KCI_API_KEY
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-rubato103-kci-openapi-mcp": {
"env": {
"KCI_API_KEY": "your-kci-api-key-here"
},
"args": [
"kci-openapi-mcp"
],
"command": "uvx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
kci-openapi-mcp
한국연구재단(NRF) KCI(Korea Citation Index) 문헌·인용지수 검색·수집 MCP 서버 + CLI. REST Open API(키워드 검색)와 OAI-PMH(무인증 대량 수확)를 혼용한다. 자매 프로젝트 scienceon-mcp(KISTI ScienceON)와 동일 아키텍처.
무엇을 하나
- 논문 검색·상세 (서지 · 국문/영문 초록 · 키워드 · 저자/소속)
- OAI-PMH 대량 수확 (인증키 불필요 — 세트+날짜범위)
- 참고문헌 원형 수집 · 저널 인용지수/등재이력 (REST 전용)
- 대량 수집 → xlsx / csv / json / sqlite
두 인터페이스
| 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 라이브 검증 완료 · pytest 24 + MCP 프로토콜 스모크 · 도구 annotations
- ✅ 공식 MCP 레지스트리 발행됨:
io.github.rubato103/kci-openapi-mcp(registry.modelcontextprotocol.io 검색 가능) - ✅ Claude Desktop 자체완결
.mcpb(win/mac/linux, Python·uv 불필요) + Claude Code.mcp.json - ⚠️
mcpSDK는 1.x 고정(mcp>=1.2.0,<2) — 2.0 에서mcp.server.fastmcp가 제거되어 상한 없이는 기동 실패
MCP 클라이언트에 등록
Claude Code
프로젝트 루트의 .mcp.json 이 자동 인식된다(키는 환경변수로 주입):
export KCI_API_KEY=<발급키> # 선택 — 없으면 OAI 무인증 도구만 동작
# 또는 어디서나:
claude mcp add kci --env KCI_API_KEY=$KCI_API_KEY -- uvx --from git+https://github.com/rubato103/KCI_openAPI kci-mcp
Claude Desktop
(권장) 자체완결 .mcpb — Python·uv 불필요, 더블클릭 설치:
릴리스에서 OS에 맞는 파일 다운로드 →
더블클릭(또는 Settings → Extensions → Install) → KCI_API_KEY 입력(선택).
- Windows:
kci-openapi-mcp-win-x64.mcpb/ macOS:…-macos-arm64.mcpb/ Linux:…-linux-x64.mcpb
(경량) kci-openapi-mcp.mcpb — 크기 작지만 실행에 uv 필요(uvx --from git+…).
(수동 config) %APPDATA%/Claude/claude_desktop_config.json:
{ "mcpServers": { "kci": {
"command": "uvx",
"args": ["--from", "git+https://github.com/rubato103/KCI_openAPI", "kci-mcp"],
"env": { "KCI_API_KEY": "<발급키 또는 비움>", "KCI_OS_TRUST": "1" }
} } }
uvx (저장소에서 직접 실행)
uvx --from git+https://github.com/rubato103/KCI_openAPI kci-mcp # MCP 서버(stdio)
PyPI에는 게시하지 않음 — 레지스트리 배포는
.mcpb(GitHub Release) 방식.
CLI (로컬 개발)
uv sync # venv는 UV_PROJECT_ENVIRONMENT 로 클라우드 폴더 밖 권장
kci identify # OAI 무인증 — 키 없이 즉시
kci harvest --set ARTI --from 2024-01-01 --until 2024-12-31 --contains 학부모 --max 500
kci search --title 경계선지능 --rows 20 # REST(인증키 필요)
kci collect --config config/borderline_slow.yaml
MCP 도구 (7종)
kci_status · kci_search · kci_detail · kci_references · kci_journal_citation · kci_harvest · kci_collect
kci_collect 은 요청 성격·키 유무로 REST↔OAI 자동 선택.
상세 조회 인자는
arti_id(KCI Control Number, 예:ART003047608).알아둘 두 가지 (실측 확인)
articleSearch는keyword=로 검색은 되지만 응답에 키워드·ISSN·UCI 를 싣지 않는다. 검색 결과의 빈keywords는 '키워드 없는 논문'이 아니다 — 필요하면kci_detail로 건별 보강.kci_collect의 REST 경로는 각 검색어를 제목축·키워드축 두 번 조회해 합집합한다. 결과는 '제목검색 결과'가 아니라 제목∪키워드다.meta.axes에 축별total이 담기고,max_records상한에 걸리면truncated: true와 경고 문구가 함께 온다.
자격증명 / 네트워크
KCI_API_KEY(open.kci.go.kr 발급) →.env(gitignore) 또는 OS 환경변수. 커밋·로그 금지. OAI는 키 불필요.- KCI 방화벽은 User-Agent 필터를 건다(
curl기본 UA는 400 차단 안내페이지). 본 서버는requests로 호출하므로 정상. - 교육망/사내망 SSL 인터셉션은
truststore로 OS 신뢰저장소를 사용해 통과(검증 유지).KCI_OS_TRUST=0로 비활성.
라이선스
MIT
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
FinAgent
Freeby mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
