프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Nl Openapi MCP

제작자: rubatoyd버전 0.7.0i★ 1i내 컴퓨터에서 실행
레지스트리 이름io.github.rubatoyd/nl-openapi-mcp

설치 방법

개요

제작자가 쓴 설명(영어 원문)

National Library of Korea holdings search - books, online materials, KDC classification

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 개발자 도구
  • 입력해야 할 값: NL_API_KEY

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

검사 3/3 통과 · 내 컴퓨터에서 실행돼요

먼저: 어떤 AI를 쓰시나요?

쓰는 앱을 고르면 아래에 단계가 나옵니다.

Claude에 연결할 수 있지만 먼저 준비가 필요해요

키 필요 없음, 설치 필요 없음 · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

  1. 제작자 설치 파일 내려받기

    제작자의 .mcpb 파일 다운로드

    .mcpb 파일은 제작자에게서 바로 온 것으로, 우리는 바꾸지 않았어요

  2. 파일을 두 번 클릭한 뒤 컴퓨터용 Claude 앱에서 Install 누르기

  3. 해 보기

    Nl Openapi MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude가 Nl Openapi MCP을 쓰고 있다고 하거나 답에 Nl Openapi MCP 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

ChatGPT는 아직 Nl Openapi MCP에 연결할 수 없어요

Nl Openapi MCP는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요

대신 이렇게 할 수 있어요

A · Nl Openapi MCP에 연결되는 앱 쓰기

  • 키 필요 없음, 설치 필요 없음 · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

B · 개발자 도구에서 ChatGPT에 연결되는 다른 서버

같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요

Claude Code는 아직 Nl Openapi MCP에 연결할 수 없어요

제작자가 컴퓨터용 Claude 앱 설치 파일만 제공해요

대신 이렇게 할 수 있어요

A · Nl Openapi MCP에 연결되는 앱 쓰기

  • 키 필요 없음, 설치 필요 없음 · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

Cursor는 아직 Nl Openapi MCP에 연결할 수 없어요

제작자가 컴퓨터용 Claude 앱 설치 파일만 제공해요

대신 이렇게 할 수 있어요

A · Nl Openapi MCP에 연결되는 앱 쓰기

  • 키 필요 없음, 설치 필요 없음 · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

VS Code는 아직 Nl Openapi MCP에 연결할 수 없어요

제작자가 컴퓨터용 Claude 앱 설치 파일만 제공해요

대신 이렇게 할 수 있어요

A · Nl Openapi MCP에 연결되는 앱 쓰기

  • 키 필요 없음, 설치 필요 없음 · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요

MCP를 쓰는 앱 모두 보기 →

JSON 설정은 아래 “개발자용”에 있어요

막혔나요? Nl Openapi MCP을 쓰는 사람에게 물어보세요💬 토론 →
개발자용: 터미널 명령과 JSON 설정

직접 입력할 값

  • NL_API_KEY 비밀 필수 env
    National Library of Korea OpenAPI key (issued at www.nl.go.kr). Required.
  • NL_OS_TRUST env
    Use the OS trust store for TLS (1=on, default). Set 0 to disable. Needed on school/corporate networks that intercept SSL.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

한눈에 보기

주간 다운로드i
npm/PyPI에 없음
연결 방식
내 컴퓨터에서 실행
최신 버전i
0.7.0
카테고리i
개발자 도구
레지스트리 공개i
2026년 8월 12일
코드 마지막 변경i
2026년 11월 11일
제작자
rubatoyd
패키지
mcpb: https://github.com/rubatoyd/nl-openapi-mcp/releases/download
웹사이트
github.com
레지스트리 상태
활성

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

내 컴퓨터에서 실행하는 앱

ClaudeGooseLM StudioMsty StudioCherry StudioVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

모든 앱과 장단점 →

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 11일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 rubatoyd 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 오늘

  • ✓ 통과

    라이선스 있음

    MIT 사용

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

토론

질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.

아직 글이 없어요. 처음으로 질문하거나 공유해 보세요.

이곳의 글은 사용자가 쓴 것으로, PopNx 팀의 글이 아니에요.

Google로 로그인하고 글쓰기

사용자 리뷰

아직 리뷰가 없어요

Google로 로그인하고 리뷰 쓰기

개발자 도구 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 5763개 중 69%보다 스타가 많아요
  • 이 카테고리의 다른 서버 5763개 중 28%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 5763개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Nl Openapi MCP, 안전한가요?

해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: NL_API_KEY

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 오늘 변경됐고, 최신 버전(0.7.0)은 3개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 MCPB도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: REA, Netdata, Front-End Checklist

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

REA

Reverse engineer anything from your terminal or agent with one CLI and MCP server.

제작자: morluto널리 사용됨↓ 38.9만/주★ 45.1만17일 전 업데이트

내 컴퓨터에서 실행

Netdata

Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.

제작자: netdata널리 사용됨★ 8.1만7일 전 업데이트

클라우드에서 실행

Front-End Checklist

Review frontend code and live pages against 386 quality-gated web development rules.

제작자: thedaviddias널리 사용됨★ 7.5만38일 전 업데이트

클라우드에서 실행

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

nl-openapi-mcp

📈 사용량 — 최근 14일 조회 0회(고유 0) · 클론 0회(고유 0) · 릴리스 자산 누적 다운로드 —

2026-11-06 자동 갱신 · 전체 이력은 docs/usage.csv. GitHub 트래픽 통계는 14일 창만 제공하므로 이 저장소가 매일 찍어 누적한다.

국립중앙도서관 소장자료 검색 OpenAPI 를 Claude 등 MCP 클라이언트에서 바로 쓰는 서버 + CLI. 단행본·온라인자료의 서지, KDC 분류, 청구기호, 원문 제공 여부를 검색·수집하고 xlsx/csv/json/sqlite 로 내보냅니다.

자매 프로젝트: kci-openapi-mcp(학술논문·인용지수) · scienceON-mcp(KISTI 문헌)


이 도구가 특별히 신경 쓰는 것 — 조용한 절단 방지

국립중앙도서관 검색 API 는 한 검색식당 500건까지만 돌려줍니다(공식 오류코드 012 DATA LIMIT 500). 그런데 total 은 그보다 큰 값을 태연히 보고합니다.

교육복지: total=1,856  →  실제로 받을 수 있는 건 500건

이 사실을 모르면 부분 집합을 전수로 오인하게 됩니다. 그래서 모든 응답에 total·truncated·cap_hit 을 함께 싣고, 상한에 걸리면 처방까지 문장으로 알려줍니다.

신호뜻처방
truncated이번 호출이 total 보다 적게 받음대개 max_records 를 올리면 해결
cap_hittotal > 500 — API 가 더 안 줌max_records 로는 불가 (아래 참조)
meta.cap_hit_terms상한에 걸린 검색어 목록그 검색어만 세분화
상한을 넘겨 모으는 방법 — 함께 쓰면 전수 수집이 됩니다

교육복지/도서(1,856건) 라이브 실측:

설정회수비율요청
우회 없음50027%1
sort_depth=31,74694%7
`auto_partition=True` + `sort_depth=1`1,854100%24

`sort_depth` 가 비용 대비 효과가 압도적입니다 — 같은 검색식을 정렬 순서만 바꿔 다시 훑는데, asc 와 desc 의 교집합이 0건이라 정렬축 하나가 상한을 사실상 2배로 늘립니다. 분할(auto_partition)과 직교하므로 함께 쓸 수 있습니다.

① `auto_partition=True` — 서버측 축으로 재귀 분할

응답 필드명을 파라미터로 넘겨보는 방식으로 실제 동작하는 축 3개를 찾았습니다: category → manageName(둘 다 완전분할) → licYn. 상한에 걸린 조각만 다음 축으로 더 쪼개고, 부모 조각도 합집합에 넣어 불완전한 축을 써도 손해가 나지 않게 했습니다.

교육복지(전체 7,028건) 실측:

깊이축회수비율요청
—분할 없음5007%1
1category2,13430%13
2+manageName (기본)3,26546%25
3+licYn4,72267%60

partition_depth(1~3)로 조절합니다. ⚠️ 전수는 아니며 — 깊이 3에서도 33%가 남습니다 — 못 받은 건수는 meta.axes[].partition.unreachable 로 보고합니다.

② `exact=True` — 큰따옴표 구문검색 (⚠️ 넓게 모을 때는 쓰지 마세요)

total 자체가 줄어들어(교육불평등 63 → 28) 상한 아래로 내려갈 수 있습니다. 다만 재현율 손실이 큽니다 — 실측 평균 47%, 최악 84%(교육형평성 31 → 5건). 구문검색은 토큰 인접을 요구하는데 한국어 복합어는 표제에서 조사·수식어로 갈라지기 때문입니다 (교육의 형평성, 초중등교육의 형평성과). 버려진 것의 76%가 관련 문헌이었습니다.

→ 코퍼스 수집은 기본 검색 + `contains` 후처리, exact 는 전체 표제를 아는 특정 자료 조회용.

⚠️ year_from/contains 는 이미 받은 레코드에 대한 후처리라 상한을 풀어주지 않습니다.

서버측 연도 범위 필터는 확인되지 않았습니다(11개 후보 무시).

🔴 정정(2026-08-12) — 이전 판에서 "정렬은 존재하지 않습니다"라고 적었으나 틀렸습니다.

sort=ipub_year&order=asc|desc 가 동작합니다 → sort_depth 로 구현했습니다(위 표).

detailSearch=true+f1/v1/and1 로 필드 간 AND/OR/NOT 도 됩니다(AND+NOT=부모 검산 통과) —

이쪽은 아직 미구현입니다. 자세한 내용 → docs/NL_API_GUIDE.md §1-4-b·§1-6·§3-3


설치

1) Claude Code / Claude Desktop (uvx — 권장)
{

"mcpServers": { "nl": { "type": "stdio", "command": "uvx", "args": ["--from", "git+https://github.com/rubatoyd/nl-openapi-mcp", "nl-mcp"], "env": { "NL_API_KEY": "발급받은_인증키" } } } }

2) Claude Desktop .mcpb 원클릭

Releases 에서 내려받아 실행합니다. Python·uv 가 없는 환경이면 OS별 자체완결 번들(-win-x64 / -macos-arm64 / -linux-x64)을 쓰세요.

3) 로컬 개발
git clone https://github.com/rubatoyd/nl-openapi-mcp

cd nl-openapi-mcp uv sync uv run pytest -q

클라우드 동기화 폴더(OneDrive 등)에서 작업한다면 venv 를 폴더 밖에 두세요:

UV_PROJECT_ENVIRONMENT=~/.venvs/nl-openapi-mcp

4) 다른 MCP 클라이언트

표준 stdio MCP 서버이므로 MCP 를 지원하는 에이전트면 그대로 붙습니다 — Cursor · Windsurf · Cline · Zed · VS Code Copilot(agent mode) · OpenAI Agents SDK · 자체 클라이언트 등. 위 command/args/env 3요소를 각 클라이언트 설정에 옮기면 됩니다.

전송 방식 — stdio(기본) · SSE · Streamable HTTP

로컬 서브프로세스뿐 아니라 HTTP 로도 띄울 수 있습니다. 원격 호스팅이나 stdio 를 못 쓰는 클라이언트를 위한 경로입니다.

nl-mcp                                # stdio (기본)

nl-mcp --transport streamable-http # http://127.0.0.1:8000/mcp nl-mcp --transport sse --port 9000 # http://127.0.0.1:9000/sse

환경변수: NL_MCP_TRANSPORT · NL_MCP_HOST · NL_MCP_PORT.

⚠️ HTTP 전송에는 인증이 없습니다. 기본 바인드는 루프백(127.0.0.1)이라 같은 PC 에서만

접근됩니다. --host 0.0.0.0 으로 외부에 열면 인증키를 품은 서버를 그대로 공개하는 것과

같습니다 — 신뢰된 망에서만 쓰세요. 서버도 기동 시 경고를 찍습니다.

Claude 앱 안에서 검색해 설치할 수는 없습니다. 공식 MCP 레지스트리 등재와 Claude Desktop

인앱 커넥터 디렉터리는 별개이고 자동 동기화되지 않습니다. 위 설치 방법 중 하나를 쓰세요.


인증키

www.nl.go.kr 오픈API 신청으로 발급받아 NL_API_KEY 로 설정합니다. 토큰 발급·AES 암호화·공인IP 등록이 필요 없습니다(평문 key 쿼리 파라미터).

cp .env.example .env   # NL_API_KEY 를 채워 넣으세요 (.env 는 gitignore 됩니다)
환경변수기본값설명
NL_API_KEY(필수)국립중앙도서관 오픈API 인증키
NL_OS_TRUST1교육망·사내망 SSL 인터셉션 대응(OS 신뢰저장소 사용). 0 이면 비활성

학교·교육청·사내망은 자체서명 루트 CA로 TLS를 가로챕니다. 이 도구는 검증을 끄지 않고

truststore 로 OS 신뢰저장소를 사용해 통과합니다.


MCP 도구

도구설명
nl_status인증키 유효성 + API 실제 왕복 1회 점검
nl_search소장자료 검색 (total·truncated·cap_hit 동반)
nl_collect검색어 합집합 수집 → 파일 저장. save=false 면 미리보기만
예시

"국립중앙도서관에서 '교육불평등', '교육격차', '학력격차' 관련 단행본을 모아서 xlsx로 저장해줘"

nl_collect 가 세 검색어를 각각 조회해 id 기준으로 합집합을 만들고, 상한에 걸린 검색어가 있으면 meta.cap_hit_terms 로 지목합니다.

출력 파일명은 정규화됩니다. name 을 지정하지 않으면 검색어가 그대로 파일명이 되므로,

경로 구분자·..·윈도 금지문자는 제거되고 결과는 항상 out_dir 안에만 저장됩니다.

한글 파일명은 그대로 보존됩니다.


CLI

nl status

nl search 교육불평등 --category 도서 --rows 20 nl collect --terms 교육불평등 교육격차 학력격차 --category 도서 --format xlsx json

500 상한을 넘겨 모으기 — 정렬 뒤집기가 가장 값싸다 (7요청에 94%)

nl collect --kwd 교육복지 --category 도서 --sort-depth 3 --format xlsx

분할과 함께 쓰면 전수 수집 (실측 100%)

nl collect --kwd 교육복지 --category 도서 --auto-partition --sort-depth 1 --format xlsx


응답 필드

정규화 25개 컬럼 + 원본 24개 필드(raw) 보존. 전체 표와 결측률은 docs/NL_API_GUIDE.md §2 참조.

주의할 필드 2가지 — 이름이 …Yn 이지만 불리언이 아닙니다:

  • docYn → doc_type: NL_VIEWER · LD_VIEWER · FILE · LINK · N
  • licYn → lic_code: L · F · S · D · N · Y

원문 보유 판정은 Holding.has_fulltext() 를 쓰세요("N"·빈값만 거짓).


검증 상태

  • ✅ 응답 스키마 24개 필드 — 실응답 1,124건 전수 집계로 확정
  • ✅ 500건 상한 — 공식 오류코드 + 실제 수집 로그 + 오프셋 기준까지 실측
  • ✅ 호출 규격 라이브 전수 검증 — srchTarget 지원/폴백, category 12종, sort 색인 필드명, ipub_year 연도 필터, f-슬롯 불리언, 오류 봉투, 0건 응답 형태. scripts/probe_api.py 로 재현 가능
  • ✅ 오프라인 회귀 186건 · MCP stdio 핸드셰이크 · CI 콜드 스타트 스모크 · 자체완결 바이너리 클린 환경 검증
  • ⚠️ 서버측 연도 범위(from~to) 필터만 미확인 — 단일 연도(ipub_year)는 동작합니다

라이선스

MIT