ai.smithery/isnow890-data4library-mcp
책 싫어하는 제가 책에 대해 아는척하고 싶어서 만들었습니다.. 내 주변 도서관 실시간 대출 확인 읽고 싶은 책을 검색하면 주변 도서관 대출 가능 여부를 즉시 확인 굳이 도서관…
Open source Repository Open in the app JSON README (API)
About
책 싫어하는 제가 책에 대해 아는척하고 싶어서 만들었습니다.. 내 주변 도서관 실시간 대출 확인 읽고 싶은 책을 검색하면 주변 도서관 대출 가능 여부를 즉시 확인 굳이 도서관…
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- ai.smithery
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 1.0.5
- Last push
- 2026-09-01T23:49:16Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 03:00:39
- Updated
- 2026-08-29 03:00:39
- Origin id
ai.smithery/isnow890-data4library-mcp
README
# 정보나루 도서검색 MCP
<p align="center">
<img src="assets/data4library-mcp-logo.png" alt="정보나루 도서검색 MCP 로고" width="200" />
</p>
도서관 정보나루 API를 MCP 도구로 제공하는 Node.js 서버입니다.
이 프로젝트는 도서관 정보나루 운영기관이 제공하는 공식 MCP와 무관한 독립 오픈소스 프로젝트입니다.
> **운영 안내**
> 최근 정보나루 API에서 응답 지연과 타임아웃이 간헐적으로 관찰되고 있습니다. 도구 호출이
> 실패하거나 늦어질 때에는 이 MCP 서버와 정보나루 API 상태를 함께 확인하세요.
[English documentation](README-en.md)
## 제공 도구
현재 27개 도구를 등록합니다.
### 도서관
- `search_libraries`: 지역·도서관명으로 공공도서관 검색
- `search_nearby_libraries`: 좌표에서 가까운 도서관을 거리순으로 검색
- `search_library_codes`: 도서관명·지역명으로 `libCode` 검색
- `get_library_info`: 도서관 통합정보 조회
### 도서·소장
- `search_books`: 제목·저자·출판사·주제별 도서 검색
- `get_book_detail`: ISBN으로 도서 상세정보 조회
- `search_libraries_by_book`: 특정 도서를 소장한 도서관 검색
- `check_book_availability`: 특정 도서관의 소장 여부와 전일 기준 대출 가능 여부 조회
- `get_new_arrival_books`: 도서관별 신착도서 조회
### 인기·트렌드
- `search_popular_books`: 전국·지역별 인기대출도서 조회
- `search_popular_books_by_library`: 도서관·지역별 인기대출도서 조회
- `get_popular_books_by_library`: 도서관별 인기대출도서 통합 조회
- `get_hot_trend`: 대출 급상승 도서 조회
- `get_monthly_keywords`: 이달의 키워드 조회
### 통계·분석
- `get_usage_trend`: 도서관별 대출·반납 추이 조회
- `get_reading_quantity`: 지역별 독서량 조회
- `search_items`: 도서관별 장서·대출 데이터 조회
- `get_book_usage_analysis`: 도서 이용 분석 조회
- `get_book_keywords`: 도서 키워드 조회
### 추천
- `get_mania_recommendations`: 마니아 추천도서 조회
- `get_reader_recommendations`: 다독자 추천도서 조회
### 코드 조회
- `get_region_codes`: 지역 코드 목록
- `get_detailed_region_codes`: 세부 지역 코드 목록
- `search_detailed_region_codes`: 세부 지역 코드 검색
- `get_subject_codes`: KDC 대분류 코드 목록
- `get_detailed_subject_codes`: KDC 세부 분류 코드 목록
- `search_detailed_kdc_codes`: KDC 세부 분류 코드 검색
## 설치
### 준비 사항
- Node.js 18 이상
- [도서관 정보나루](https://www.data4library.kr/) API 키
API 키는 정보나루 로그인 후 `마이페이지 > 인증키`에서 신청할 수 있습니다. 호출 한도와
서버 IP 등록 정책은 정보나루의 최신 안내를 따르세요.
### NPX
MCP 클라이언트 설정에 다음 서버를 추가합니다.
```json
{
"mcpServers": {
"data4library-mcp": {
"command": "npx",
"args": ["-y", "@isnow890/data4library-mcp"],
"env": {
"LIBRARY_API_KEY": "your-api-key"
}
}
}
}
```
`LIBRARY_API_TIMEOUT_MS`로 원천 요청 제한 시간을 조정할 수 있습니다. 기본값은 10초이며
50~60000ms 범위만 허용합니다.
### 로컬 설치
```bash
git clone https://github.com/isnow890/data4library-mcp.git
cd data4library-mcp
npm install
npm run build
```
MCP 클라이언트에서는 빌드 결과인 `dist/src/index.js`를 실행합니다.
```json
{
"mcpServers": {
"data4library-mcp": {
"command": "node",
"args": ["/absolute/path/to/data4library-mcp/dist/src/index.js"],
"cwd": "/absolute/path/to/data4library-mcp",
"env": {
"LIBRARY_API_KEY": "your-api-key"
}
}
}
}
```
## 로컬 실행
```bash
export LIBRARY_API_KEY="your-api-key"
npm run build
npm start
```
Docker로 실행할 수도 있습니다.
```bash
docker build -t data4library-mcp .
docker run -i --rm -e LIBRARY_API_KEY="$LIBRARY_API_KEY" data4library-mcp
```
## 사용 예시
- “서울 강남구 공공도서관 찾아줘”
- `search_detailed_region_codes`로 지역 코드를 찾고 `search_libraries`를 호출합니다.
- “이 ISBN을 소장한 서울 도서관 찾아줘”
- `search_libraries_by_book`을 호출합니다.
- “이 도서관에 이 책이 있고 전일 기준으로 대출 가능했어?”
- `check_book_availability`을 호출합니다.
- “요즘 20대가 많이 빌린 책 보여줘”
- `search_popular_books`를 연령 조건과 함께 호출합니다.
## 데이터와 제한사항
- 데이터 출처는 [도서관 정보나루](https://www.data4library.kr/)입니다.
- 소장·통계 데이터의 갱신 시점은 정보나루 원천을 따릅니다.
- `check_book_availability`의 대출 가능 여부는 전일 기준이며 실시간 예약·대출 상태를
보장하지 않습니다.
- `search_nearby_libraries`의 거리는 직선거리이며 실제 이동 거리와 다를 수 있습니다.
## 개발
```bash
npm run build
npm run watch
```
자동 회귀 테스트는 아직 구성되어 있지 않습니다.
## 라이선스
[MIT](LICENSE)