README.mdβ’14.1 kB
[](https://smithery.ai/server/@isnow890/data4library-mcp)
[](https://mseep.ai/app/isnow890-data4library-mcp)
[](https://smithery.ai/server/@isnow890/data4library-mcp)
<div align="center">
<img src="https://firebasestorage.googleapis.com/v0/b/rottenbridge-e6efa.appspot.com/o/logo.jpg?alt=media&token=68d16fd2-799f-4aba-8c1e-da6977e2949e" alt="Data4Library MCP Server Logo" width="300"/>
</div>
# π μ 보λ루 λμκ²μ MCP (data4library-mcp)
**λμκ΄ μ 보λ루 MCP**λ **κ΅λ¦½μ€μλμκ΄**μμ μ 곡νλ **λμκ΄ μ 보λ루 API**λ₯Ό μμ ν νμ©ν μ μλλ‘ κ°λ°λ ν¬κ΄μ μΈ **MCP(Model Context Protocol) μλ²**μ
λλ€. νκ΅μ λͺ¨λ 곡곡λμκ΄ μ 보, λμ κ²μ, λμΆ νν©, λ
μ ν΅κ³ λ±μ AI λͺ¨λΈμμ μ½κ² μ κ·Όνκ³ νμ©ν μ μκ² ν΄μ€λλ€.
> πΊπΈ **English Documentation**: [README-en.md](README-en.md)
## π λΉ λ₯Έ μ€μΉ (Smithery κΆμ₯)
**κ°μ₯ μ¬μ΄ μ€μΉ λ°©λ²**μ [Smithery](https://smithery.ai)λ₯Ό μ¬μ©νλ κ²μ
λλ€:
**π [Smitheryμμ μ€μΉνκΈ°](https://smithery.ai/server/@isnow890/data4library-mcp)**
1. μ λ§ν¬λ₯Ό ν΄λ¦νμ¬ Smithery νμ΄μ§λ‘ μ΄λ
2. **"Install"** λ²νΌ ν΄λ¦
3. API ν€ μ
λ ₯ (μλ API ν€ λ°κΈ λ°©λ² μ°Έμ‘°)
4. Claude Desktopμμ λ°λ‘ μ¬μ© κ°λ₯!
## π λμκ΄ μ 보λ루(Data4Library)λ?
[λμκ΄ μ 보λ루](https://www.data4library.kr/)λ **κ΅λ¦½μ€μλμκ΄**μ΄ μ΄μνλ **μ κ΅ κ³΅κ³΅λμκ΄ ν΅ν© μ 보 μλΉμ€**μ
λλ€. μ κ΅ 1,000μ¬ κ° κ³΅κ³΅λμκ΄μ μ€μκ° λ°μ΄ν°λ₯Ό ν΅ν©νμ¬ μ 곡νλ©°, λ€μκ³Ό κ°μ μ 보λ₯Ό ν¬ν¨ν©λλ€:
- π **μ κ΅ κ³΅κ³΅λμκ΄ μμΉ λ° μ΄μμ 보** (1,000+ κ°κ΄)
- π **λμ μμ₯ λ° λμΆ νν©** (μ€μκ°)
- π **λμΆ ν΅κ³ λ° νΈλ λ λΆμ**
- π₯ **μΈκΈ°λμ λ° κΈμμΉ λμ**
- π **μ§μλ³/μ°λ Ήλ³ λ
μλ ν΅κ³**
- π **μ μ°©λμ μ 보**
## π― μ£Όμ κΈ°λ₯ (25κ° λꡬ)
### π λμκ΄ & λμ κ²μ
- **ποΈ μ κ΅ κ³΅κ³΅λμκ΄ κ²μ** (`search_libraries`): μ§μλ³, λμκ΄λͺ
μΌλ‘ κ²μ
- **π λμ ν΅ν© κ²μ** (`search_books`): μ λͺ©, μ μ, μΆνμ¬, μ£Όμ λ³ λμ κ²μ
- **π λμκ΄λ³ μμ₯λμ κ²μ** (`search_libraries_by_book`): νΉμ λμλ₯Ό μμ₯ν λμκ΄ μ°ΎκΈ°
- **π λμ μμΈμ 보** (`get_book_detail`): ISBNμΌλ‘ μμΈ μ 보 μ‘°ν
- **β
λμΆ κ°λ₯ μ¬λΆ** (`check_book_availability`): μ€μκ° λμΆ κ°λ₯ μν νμΈ
### π μΈκΈ°λμ & νΈλ λ λΆμ
- **π₯ μΈκΈ° λμΆλμ** (`search_popular_books`): μ κ΅/μ§μλ³ λ² μ€νΈμ
λ¬
- **π λμκ΄λ³ μΈκΈ°λμ** (`search_popular_books_by_library`): νΉμ λμκ΄μ μΈκΈ°λμ
- **π λμΆ κΈμμΉ λμ** (`get_hot_trend`): νΈλ λ© λμ μ€μκ° μ‘°ν
- **π μ μ°©λμ** (`get_new_arrival_books`): λμκ΄λ³ μλ‘ λ€μ΄μ¨ λμ
- **π·οΈ μ΄λ¬μ ν€μλ** (`get_monthly_keywords`): λ
μ νΈλ λ ν€μλ
### π ν΅κ³ & λΆμ λꡬ
- **π λμΆλ°λ© μΆμ΄** (`get_usage_trend`): λμκ΄λ³ μ΄μ© ν΅κ³ κ·Έλν
- **π μ§μλ³ λ
μλ** (`get_reading_quantity`): λ
μμ¨ λ° λ
μλ λΉκ΅
- **π μ₯μ/λμΆ λ°μ΄ν°** (`search_items`): λμκ΄λ³ μμΈ ν΅κ³
- **π λμ μ΄μ© λΆμ** (`get_book_usage_analysis`): νΉμ λμμ μ΄μ© ν¨ν΄
### π― κ°μΈν μΆμ² μμ€ν
- **π λ§λμ μΆμ²λμ** (`get_mania_recommendations`): μ λ¬Έκ°μ© μ¬ν λμ
- **π λ€λ
μ μΆμ²λμ** (`get_reader_recommendations`): μ°μ λ
μμ© λμ
- **π·οΈ λμ ν€μλ λΆμ** (`get_book_keywords`): λμλ³ ν΅μ¬ ν€μλ
### πΊοΈ μμΉ κΈ°λ° μλΉμ€ (λ
μμ ꡬν)
- **π λ΄ μ£Όλ³ λμκ΄ κ²μ** (`search_nearby_libraries`): GPS κΈ°λ° κ°κΉμ΄ λμκ΄ μλ κ²μ
- **거리μ μ λ ¬**: μ€μκ° κ±°λ¦¬ κ³μ° λ° κ°κΉμ΄ μμλ‘ μ λ ¬
- **μμΈ κ±°λ¦¬ μ 보**: κ° λμκ΄κΉμ§μ μ νν 거리(km) νμ
### π§ μ½λ κ²μ λꡬ (API μ°λ μ§μ)
- **ποΈ λμκ΄ μ½λ κ²μ** (`search_library_codes`): λμκ΄λͺ
μΌλ‘ libCode μ°ΎκΈ°
- **π μ§μμ½λ μ‘°ν** (`get_region_codes`, `get_detailed_region_codes`): μ κ΅/μΈλΆ μ§μμ½λ
- **π μ£Όμ λΆλ₯μ½λ** (`get_subject_codes`, `get_detailed_subject_codes`): KDC λ/μΈλΆλ₯
- **π ν΅ν©μ 보 μ‘°ν** (`get_library_info`, `get_popular_books_by_library`): λμκ΄λ³ μ’
ν© μ 보
### π οΈ μΈμ
κ΄λ¦¬
- **π μ¬μ©λ ν΅κ³** (`session_stats`): μ€μκ° λꡬ νΈμΆ ν΅κ³ λ° μΈμ
μ 보
## π‘ μ€μ μ¬μ© μλ리μ€
### π λμκ΄ μ°ΎκΈ°
- **"λ΄ μ£Όλ³ λμκ΄ μ΄λ μμ΄?"** β `search_nearby_libraries` μ¬μ©
- **"μμΈ κ°λ¨κ΅¬ λμκ΄ μ°Ύμμ€"** β `search_detailed_region_codes` + `search_libraries` μμ°¨ μ¬μ©
### π λμ κ²μ
- **"ν΄λ¦¬ν¬ν° μ±
μ΄λμ λΉλ¦΄ μ μμ΄?"** β `search_books` + `search_libraries_by_book` μ°κ³
- **"κΉμν μκ° μμ€ μ°Ύμμ€"** β `search_books` (μ μλͺ
κ²μ)
### π νΈλ λ λΆμ
- **"μμ¦ μΈκΈ° μλ μ±
λμΌ?"** β `search_popular_books` λλ `get_hot_trend`
- **"κ°λ¨λμκ΄μμ μΈκΈ° μλ μ±
"** β `search_library_codes` + `search_popular_books_by_library`
### π ν΅κ³ λΆμ
- **"μμΈ μ¬λλ€μ΄ μ±
μ μΌλ§λ λ§μ΄ μ½μ΄?"** β `get_reading_quantity`
- **"λμκ΄ μ΄μ© κ·Έλν 보μ¬μ€"** β `get_usage_trend`
### π― λ³΅ν© μΏΌλ¦¬ μμ
- **"λ΄ μ£Όλ³ λμκ΄λ€μ μ κ° λμ νν©"**
1. `search_nearby_libraries` (μμΉ κΈ°λ° λμκ΄ κ²μ)
2. `get_new_arrival_books` (κ° λμκ΄λ³λ‘ μ κ° μ‘°ν)
- **"κ°λ¨κ΅¬ λμκ΄μμ κ²½μ μμ μΈκΈ° μμ 보μ¬μ€"**
1. `search_detailed_region_codes` (κ°λ¨κ΅¬ μ½λ μ‘°ν)
2. `get_subject_codes` (κ²½μ λΆμΌ μ½λ μ‘°ν)
3. `search_popular_books_by_library` (νν° μ μ©νμ¬ κ²μ)
## π κΈ°μ μ νΉμ§
- **β
μμ ν API λν**: λμκ΄ μ 보λ루 API 25κ° μλν¬μΈνΈ μ 체 μ§μ
- **π μ€λ§νΈ 체μ΄λ**: λꡬ κ° μλ μ°κ³λ‘ 볡μ‘ν 쿼리 μ²λ¦¬
- **β‘ μ€μκ° λ°μ΄ν°**: λμκ΄ μ 보λ루μ μ€μκ° λκΈ°ν
- **πΊοΈ μμΉ κΈ°λ° μκ³ λ¦¬μ¦**: μ체 ꡬνν Haversine 곡μ κΈ°λ° κ±°λ¦¬ κ³μ° λ° μ λ ¬
- **π‘οΈ Zod μ€ν€λ§ κ²μ¦**: λͺ¨λ μ
λ ₯κ° νμ
μμ μ± λ³΄μ₯
- **π μΈμ
ν΅κ³**: λꡬ μ¬μ©λ μ€μκ° λͺ¨λν°λ§
- **π§ μ€λ₯ μ²λ¦¬**: μμΈν λ‘κΉ
λ° λλ²κΉ
μ 보
- **π― μλλ¦¬μ€ κΈ°λ° μ€λͺ
**: LLMμ΄ μν©μ λ§λ λꡬλ₯Ό μ½κ² μ νν μ μλλ‘ κ΅¬μ²΄μ μΈ μ¬μ© μλλ¦¬μ€ μ 곡
## π¬ νμ© μ¬λ‘
### ποΈ μλ―Ό/κΈ°κ΄ ν¬νΈ
- λλ€ λμκ΄ νν© λ° μ΄μ μ 보 μ±λ΄
- μ κ°/μΈκΈ°λμ μλ¦Ό μλΉμ€
### π κ΅μ‘/μ°κ΅¬
- KDC μ£Όμ λ³ λ
μ νΈλ λ λΆμ
- μ°λ Ή/μ§μλ³ λ
μ ν΅κ³ 리ν¬νΈ
### π μΆν/λ§μΌν
- μΈκΈ° μ₯λ₯΄/λμ λ°κ΅΄ (μ°λ Ή/μ±λ³/μ§μλ³)
- νΈλ λ λ³ν λͺ¨λν°λ§
### π± μ±/μλΉμ€
- ISBN κΈ°λ° μ€μκ° μμ₯/λμΆ κ°λ₯ μ¬λΆ UX
- μμΉ κΈ°λ° λμκ΄ μΆμ²
## π μμνκΈ°
### 1οΈβ£ μ μ 쑰건
- Node.js 18+
- λμκ΄ μ 보λ루 API ν€
### 2οΈβ£ API ν€ λ°κΈ λ°©λ²
1. [λμκ΄ μ 보λ루](https://www.data4library.kr/) νμκ°μ
2. λ‘κ·ΈμΈ ν μ°μλ¨ **[λ§μ΄νμ΄μ§]** ν΄λ¦
3. λ§μ΄νμ΄μ§ λ©λ΄μμ **μΈμ¦ν€** μ ν
4. μ μ ν **μ΄μ©λͺ©μ ** μ²΄ν¬ λ° **κ°μΈμ 보 μμ§ μ΄μ© λμ** 체ν¬
5. **μμ μλ£** λ²νΌ ν΄λ¦
6. μνκ° **μΉμΈλκΈ°μ€**μΌλ‘ νμ - μΉμΈκΉμ§ μκ° μμ
7. μΉμΈ ν λ°κΈλ API ν€λ₯Ό 볡μ¬νμ¬ νκ²½λ³μμ μ μ₯
π‘ **μ°Έκ³ **: μΉμΈ μ²λ¦¬μ μκ°μ΄ 걸릴 μ μμ΅λλ€. λ³΄ν΅ μ μ² ν μ΅μΌ μ€μ μ μΉμΈλ©λλ€.
### π API νΈμΆ μ ν
- **κΈ°λ³Έ**: ν루 500ν μ ν
- **IP λ±λ‘ ν**: ν루 30,000ν μ ν
**IP λ±λ‘ λ°©λ²**: λ§μ΄νμ΄μ§ β μΈμ¦ν€ κ΄λ¦¬μμ **μλ²IP νλ**μ MCP μλ²κ° μ€νλ μ»΄ν¨ν°μ IP μ£Όμλ₯Ό μ
λ ₯νλ©΄ νΈμΆ μ νμ΄ 500νμμ 30,000νλ‘ νλλ©λλ€.
β οΈ **μ€μ**: 2023λ
11μ 20μΌλΆν° 무μ ν νΈμΆμ΄ μ€λ¨λμμΌλ©° μ΅λ μ νμ ν루 30,000νμ
λλ€.
### 3οΈβ£ νκ²½ λ³μ μ€μ
- **LIBRARY_API_KEY** (νμ): λμκ΄ μ 보λ루μμ λ°κΈλ°μ API ν€
Windows PowerShell (νμ¬ μΈμ
μ©):
```powershell
$env:LIBRARY_API_KEY="your-api-key"
```
macOS/Linux:
```bash
export LIBRARY_API_KEY="your-api-key"
```
## π¦ μ€μΉ λ°©λ²
### Installing via Smithery
To install data4library-mcp automatically via [Smithery](https://smithery.ai/server/@isnow890/data4library-mcp):
```bash
npx -y @smithery/cli install @isnow890/data4library-mcp
```
### λ°©λ² 1: NPX μ€μΉ (κΆμ₯)
κ°μ₯ μ¬μ΄ λ°©λ²μ NPXλ₯Ό ν΅ν μ€μΉμ
λλ€. μμΈν ν¨ν€μ§ μ 보λ [NPM ν¨ν€μ§ νμ΄μ§](https://www.npmjs.com/package/@isnow890/data4library-mcp)λ₯Ό μ°Έμ‘°νμΈμ.
#### Claude Desktop μ€μ
Claude Desktop μ€μ νμΌ (Windows: `%APPDATA%\Claude\claude_desktop_config.json`, macOS/Linux: `~/Library/Application Support/Claude/claude_desktop_config.json`)μ λ€μμ μΆκ°:
```json
{
"mcpServers": {
"data4library-mcp": {
"command": "npx",
"args": ["-y", "@isnow890/data4library-mcp"],
"env": {
"LIBRARY_API_KEY": "your-api-key"
}
}
}
}
```
#### Cursor AI μ€μ
`mcp.json`μ μΆκ°:
```json
{
"mcpServers": {
"data4library-mcp": {
"command": "npx",
"args": ["-y", "@isnow890/data4library-mcp"],
"env": {
"LIBRARY_API_KEY": "your-api-key"
}
}
}
}
```
### λ°©λ² 2: λ‘컬 μ€μΉ
λ‘컬 κ°λ°μ΄λ 컀μ€ν
μμ μ μν μ€μΉ:
#### Step 1: μμ€μ½λ λ€μ΄λ‘λ λ° λΉλ
##### GitμΌλ‘ ν΄λ‘
```bash
git clone https://github.com/isnow890/data4library-mcp.git
cd data4library-mcp
npm install
npm run build
```
##### ZIP νμΌ λ€μ΄λ‘λ
1. [GitHub Releases νμ΄μ§](https://github.com/isnow890/data4library-mcp/releases)μμ μ΅μ λ²μ λ€μ΄λ‘λ
2. ZIP νμΌμ μνλ μμΉμ μμΆ ν΄μ
3. ν°λ―Έλμμ μμΆ ν΄μ λ ν΄λλ‘ μ΄λ:
```bash
cd /path/to/data4library-mcp
npm install
npm run build
```
β οΈ **μ€μ**: μ€μΉ ν λ°λμ `npm run build`λ₯Ό μ€ννμ¬ `dist` ν΄λμ μ»΄νμΌλ JavaScript νμΌλ€μ μμ±ν΄μΌ ν©λλ€.
#### Step 2: Claude Desktop μ€μ
λΉλ μλ£ ν νμν κ²λ€:
- **LIBRARY_API_KEY**: λμκ΄ μ 보λ루μμ λ°κΈλ°μ API ν€
- **μ€μΉ κ²½λ‘**: λ€μ΄λ‘λν ν΄λμ μ λ κ²½λ‘
##### Windows μ€μ
Claude Desktop μ€μ νμΌ (`%APPDATA%\Claude\claude_desktop_config.json`)μ λ€μμ μΆκ°:
```json
{
"mcpServers": {
"data4library-mcp": {
"type": "stdio",
"command": "cmd",
"args": [
"/c",
"node",
"C:\\path\\to\\data4library-mcp\\dist\\src\\index.js"
],
"cwd": "C:\\path\\to\\data4library-mcp",
"env": {
"LIBRARY_API_KEY": "your-api-key"
}
}
}
}
```
##### macOS/Linux μ€μ
Claude Desktop μ€μ νμΌ (`~/Library/Application Support/Claude/claude_desktop_config.json`)μ λ€μμ μΆκ°:
```json
{
"mcpServers": {
"data4library-mcp": {
"type": "stdio",
"command": "node",
"args": ["/path/to/data4library-mcp/dist/src/index.js"],
"cwd": "/path/to/data4library-mcp",
"env": {
"LIBRARY_API_KEY": "your-api-key"
}
}
}
}
```
##### κ²½λ‘ μ€μ μ£Όμμ¬ν
β οΈ **μ€μ**: μ μ€μ μμ λ€μ κ²½λ‘λ€μ μ€μ μ€μΉ κ²½λ‘λ‘ λ°κΏμ£ΌμΈμ:
- **Windows**: `C:\\path\\to\\data4library-mcp`λ₯Ό μ€μ λ€μ΄λ‘λν ν΄λ κ²½λ‘λ‘ λ³κ²½
- **macOS/Linux**: `/path/to/data4library-mcp`λ₯Ό μ€μ λ€μ΄λ‘λν ν΄λ κ²½λ‘λ‘ λ³κ²½
- **λΉλ κ²½λ‘**: κ²½λ‘κ° `dist/src/index.js`λ₯Ό κ°λ¦¬ν€λλ‘ νμΈ (λ¨μν `index.js`κ° μλ)
κ²½λ‘ μ°ΎκΈ°:
```bash
# νμ¬ μμΉ νμΈ
pwd
# μ λ κ²½λ‘ μμ
# Windows: C:\Users\YourName\Downloads\data4library-mcp
# macOS: /Users/YourName/Downloads/data4library-mcp
# Linux: /home/YourName/Downloads\data4library-mcp
```
#### Step 3: Claude Desktop μ¬μμ
μ€μ μλ£ ν Claude Desktopμ μμ ν μ’
λ£νκ³ μ¬μμνμ¬ Data4Library MCP μλ²λ₯Ό νμ±ννμΈμ.
## π§ λ‘컬 μ€ν (κ°λ°/ν
μ€νΈμ©)
Claude Desktop ν΅ν© μμ΄ μ§μ μ€ννκΈ°:
```bash
npm start
# λλ
node dist/src/index.js
```
Docker (μ νμ¬ν):
```bash
docker build -t data4library-mcp .
docker run -i --rm -e LIBRARY_API_KEY=$LIBRARY_API_KEY data4library-mcp
```
MCP ν΄λΌμ΄μΈνΈ ν΅ν© (.mcp.json μμ, λ‘컬 μ€ν):
```json
{
"mcpServers": {
"data4library-mcp": {
"type": "stdio",
"command": "node",
"args": ["dist/src/index.js"],
"env": {
"LIBRARY_API_KEY": "your-api-key"
}
}
}
}
```
## π‘ μ¬μ© ν
- **νΌμ§ κ²μ**: `search_library_codes`λ₯Ό μ¬μ©νμ¬ λΆλΆ μ΄λ¦/μ£Όμλ‘ λμκ΄ μ°ΎκΈ°
- **μ½λ ν¬νΌ**: `get_subject_codes`, `search_detailed_kdc_codes`, `search_detailed_region_codes`λ‘ νμν νλΌλ―Έν° μ½λ μ‘°ν
- **μΈμ
λͺ¨λν°λ§**: `session_stats`λ‘ μΈμ
λ³ λꡬ μ¬μ©λ/μ ν νμΈ
- **λꡬ μ°κ³**: 볡μ‘ν 쿼리λ μ¬λ¬ λꡬλ₯Ό μμ°¨μ μΌλ‘ μ¬μ©νμ¬ ν΄κ²°
## π λΌμ΄μ μ€ λ° κ³ μ§μ¬ν
- **λΌμ΄μ μ€**: MIT (LICENSE νμΌ μ°Έμ‘°)
- **λ°μ΄ν° μΆμ²**: λμκ΄ μ 보λ루 곡곡 API
- **μ¬μ©λ²**: 곡곡 API μ μ±
/ν λΉλμ μ€μνμΈμ. κ°μΈμ 보λ₯Ό μ μ₯/λ
ΈμΆνμ§ λ§μΈμ.
---
π¬ **μ§λ¬Έμ΄λ νΌλλ°±μ΄ μμΌμλ©΄** GitHub μ΄μλ₯Ό μ΄μ΄μ£ΌμΈμ!