{
  "markdown": "# 정보나루 도서검색 MCP\n\n<p align=\"center\">\n  <img src=\"assets/data4library-mcp-logo.png\" alt=\"정보나루 도서검색 MCP 로고\" width=\"200\" />\n</p>\n\n도서관 정보나루 API를 MCP 도구로 제공하는 Node.js 서버입니다.\n\n이 프로젝트는 도서관 정보나루 운영기관이 제공하는 공식 MCP와 무관한 독립 오픈소스 프로젝트입니다.\n\n> **운영 안내**\n> 최근 정보나루 API에서 응답 지연과 타임아웃이 간헐적으로 관찰되고 있습니다. 도구 호출이\n> 실패하거나 늦어질 때에는 이 MCP 서버와 정보나루 API 상태를 함께 확인하세요.\n\n[English documentation](README-en.md)\n\n## 제공 도구\n\n현재 27개 도구를 등록합니다.\n\n### 도서관\n\n- `search_libraries`: 지역·도서관명으로 공공도서관 검색\n- `search_nearby_libraries`: 좌표에서 가까운 도서관을 거리순으로 검색\n- `search_library_codes`: 도서관명·지역명으로 `libCode` 검색\n- `get_library_info`: 도서관 통합정보 조회\n\n### 도서·소장\n\n- `search_books`: 제목·저자·출판사·주제별 도서 검색\n- `get_book_detail`: ISBN으로 도서 상세정보 조회\n- `search_libraries_by_book`: 특정 도서를 소장한 도서관 검색\n- `check_book_availability`: 특정 도서관의 소장 여부와 전일 기준 대출 가능 여부 조회\n- `get_new_arrival_books`: 도서관별 신착도서 조회\n\n### 인기·트렌드\n\n- `search_popular_books`: 전국·지역별 인기대출도서 조회\n- `search_popular_books_by_library`: 도서관·지역별 인기대출도서 조회\n- `get_popular_books_by_library`: 도서관별 인기대출도서 통합 조회\n- `get_hot_trend`: 대출 급상승 도서 조회\n- `get_monthly_keywords`: 이달의 키워드 조회\n\n### 통계·분석\n\n- `get_usage_trend`: 도서관별 대출·반납 추이 조회\n- `get_reading_quantity`: 지역별 독서량 조회\n- `search_items`: 도서관별 장서·대출 데이터 조회\n- `get_book_usage_analysis`: 도서 이용 분석 조회\n- `get_book_keywords`: 도서 키워드 조회\n\n### 추천\n\n- `get_mania_recommendations`: 마니아 추천도서 조회\n- `get_reader_recommendations`: 다독자 추천도서 조회\n\n### 코드 조회\n\n- `get_region_codes`: 지역 코드 목록\n- `get_detailed_region_codes`: 세부 지역 코드 목록\n- `search_detailed_region_codes`: 세부 지역 코드 검색\n- `get_subject_codes`: KDC 대분류 코드 목록\n- `get_detailed_subject_codes`: KDC 세부 분류 코드 목록\n- `search_detailed_kdc_codes`: KDC 세부 분류 코드 검색\n\n## 설치\n\n### 준비 사항\n\n- Node.js 18 이상\n- [도서관 정보나루](https://www.data4library.kr/) API 키\n\nAPI 키는 정보나루 로그인 후 `마이페이지 > 인증키`에서 신청할 수 있습니다. 호출 한도와\n서버 IP 등록 정책은 정보나루의 최신 안내를 따르세요.\n\n### NPX\n\nMCP 클라이언트 설정에 다음 서버를 추가합니다.\n\n```json\n{\n  \"mcpServers\": {\n    \"data4library-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@isnow890/data4library-mcp\"],\n      \"env\": {\n        \"LIBRARY_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\n`LIBRARY_API_TIMEOUT_MS`로 원천 요청 제한 시간을 조정할 수 있습니다. 기본값은 10초이며\n50~60000ms 범위만 허용합니다.\n\n### 로컬 설치\n\n```bash\ngit clone https://github.com/isnow890/data4library-mcp.git\ncd data4library-mcp\nnpm install\nnpm run build\n```\n\nMCP 클라이언트에서는 빌드 결과인 `dist/src/index.js`를 실행합니다.\n\n```json\n{\n  \"mcpServers\": {\n    \"data4library-mcp\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/data4library-mcp/dist/src/index.js\"],\n      \"cwd\": \"/absolute/path/to/data4library-mcp\",\n      \"env\": {\n        \"LIBRARY_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\n## 로컬 실행\n\n```bash\nexport LIBRARY_API_KEY=\"your-api-key\"\nnpm run build\nnpm start\n```\n\nDocker로 실행할 수도 있습니다.\n\n```bash\ndocker build -t data4library-mcp .\ndocker run -i --rm -e LIBRARY_API_KEY=\"$LIBRARY_API_KEY\" data4library-mcp\n```\n\n## 사용 예시\n\n- “서울 강남구 공공도서관 찾아줘”\n  - `search_detailed_region_codes`로 지역 코드를 찾고 `search_libraries`를 호출합니다.\n- “이 ISBN을 소장한 서울 도서관 찾아줘”\n  - `search_libraries_by_book`을 호출합니다.\n- “이 도서관에 이 책이 있고 전일 기준으로 대출 가능했어?”\n  - `check_book_availability`을 호출합니다.\n- “요즘 20대가 많이 빌린 책 보여줘”\n  - `search_popular_books`를 연령 조건과 함께 호출합니다.\n\n## 데이터와 제한사항\n\n- 데이터 출처는 [도서관 정보나루](https://www.data4library.kr/)입니다.\n- 소장·통계 데이터의 갱신 시점은 정보나루 원천을 따릅니다.\n- `check_book_availability`의 대출 가능 여부는 전일 기준이며 실시간 예약·대출 상태를\n  보장하지 않습니다.\n- `search_nearby_libraries`의 거리는 직선거리이며 실제 이동 거리와 다를 수 있습니다.\n\n## 개발\n\n```bash\nnpm run build\nnpm run watch\n```\n\n자동 회귀 테스트는 아직 구성되어 있지 않습니다.\n\n## 라이선스\n\n[MIT](LICENSE)\n",
  "bytes": 3476,
  "sha": "65065f87177d6e4508b45544ad6eca25cba26955aa0a0f42d04f1d86875e0cd8",
  "repo_slug": "isnow890/data4library-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ai_smithery_isnow890_data4library_mcp_447a2037/readme"
}