isnow890/data4library-mcp
If you are the rightful owner of data4library-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Data4Library MCP Server is a comprehensive Model Context Protocol server designed to leverage the Data4Library API for accessing information about Korean public libraries.
π μ 보λ루 λμκ²μ MCP (data4library-mcp)
λμκ΄ μ 보λ루 MCPλ κ΅λ¦½μ€μλμκ΄μμ μ 곡νλ λμκ΄ μ 보λ루 APIλ₯Ό μμ ν νμ©ν μ μλλ‘ κ°λ°λ ν¬κ΄μ μΈ MCP(Model Context Protocol) μλ²μ λλ€. νκ΅μ λͺ¨λ 곡곡λμκ΄ μ 보, λμ κ²μ, λμΆ νν©, λ μ ν΅κ³ λ±μ AI λͺ¨λΈμμ μ½κ² μ κ·Όνκ³ νμ©ν μ μκ² ν΄μ€λλ€.
πΊπΈ English Documentation:
π λΉ λ₯Έ μ€μΉ (Smithery κΆμ₯)
κ°μ₯ μ¬μ΄ μ€μΉ λ°©λ²μ Smitheryλ₯Ό μ¬μ©νλ κ²μ λλ€:
π Smitheryμμ μ€μΉνκΈ°
- μ λ§ν¬λ₯Ό ν΄λ¦νμ¬ Smithery νμ΄μ§λ‘ μ΄λ
- "Install" λ²νΌ ν΄λ¦
- API ν€ μ λ ₯ (μλ API ν€ λ°κΈ λ°©λ² μ°Έμ‘°)
- Claude Desktopμμ λ°λ‘ μ¬μ© κ°λ₯!
π λμκ΄ μ 보λ루(Data4Library)λ?
λμκ΄ μ 보λ루λ κ΅λ¦½μ€μλμκ΄μ΄ μ΄μνλ μ κ΅ κ³΅κ³΅λμκ΄ ν΅ν© μ 보 μλΉμ€μ λλ€. μ κ΅ 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
π― λ³΅ν© μΏΌλ¦¬ μμ
-
"λ΄ μ£Όλ³ λμκ΄λ€μ μ κ° λμ νν©"
search_nearby_libraries
(μμΉ κΈ°λ° λμκ΄ κ²μ)get_new_arrival_books
(κ° λμκ΄λ³λ‘ μ κ° μ‘°ν)
-
"κ°λ¨κ΅¬ λμκ΄μμ κ²½μ μμ μΈκΈ° μμ 보μ¬μ€"
search_detailed_region_codes
(κ°λ¨κ΅¬ μ½λ μ‘°ν)get_subject_codes
(κ²½μ λΆμΌ μ½λ μ‘°ν)search_popular_books_by_library
(νν° μ μ©νμ¬ κ²μ)
π κΈ°μ μ νΉμ§
- β μμ ν API λν: λμκ΄ μ 보λ루 API 25κ° μλν¬μΈνΈ μ 체 μ§μ
- π μ€λ§νΈ 체μ΄λ: λꡬ κ° μλ μ°κ³λ‘ 볡μ‘ν 쿼리 μ²λ¦¬
- β‘ μ€μκ° λ°μ΄ν°: λμκ΄ μ 보λ루μ μ€μκ° λκΈ°ν
- πΊοΈ μμΉ κΈ°λ° μκ³ λ¦¬μ¦: μ체 ꡬνν Haversine 곡μ κΈ°λ° κ±°λ¦¬ κ³μ° λ° μ λ ¬
- π‘οΈ Zod μ€ν€λ§ κ²μ¦: λͺ¨λ μ λ ₯κ° νμ μμ μ± λ³΄μ₯
- π μΈμ ν΅κ³: λꡬ μ¬μ©λ μ€μκ° λͺ¨λν°λ§
- π§ μ€λ₯ μ²λ¦¬: μμΈν λ‘κΉ λ° λλ²κΉ μ 보
- π― μλλ¦¬μ€ κΈ°λ° μ€λͺ : LLMμ΄ μν©μ λ§λ λꡬλ₯Ό μ½κ² μ νν μ μλλ‘ κ΅¬μ²΄μ μΈ μ¬μ© μλλ¦¬μ€ μ 곡
π¬ νμ© μ¬λ‘
ποΈ μλ―Ό/κΈ°κ΄ ν¬νΈ
- λλ€ λμκ΄ νν© λ° μ΄μ μ 보 μ±λ΄
- μ κ°/μΈκΈ°λμ μλ¦Ό μλΉμ€
π κ΅μ‘/μ°κ΅¬
- KDC μ£Όμ λ³ λ μ νΈλ λ λΆμ
- μ°λ Ή/μ§μλ³ λ μ ν΅κ³ 리ν¬νΈ
π μΆν/λ§μΌν
- μΈκΈ° μ₯λ₯΄/λμ λ°κ΅΄ (μ°λ Ή/μ±λ³/μ§μλ³)
- νΈλ λ λ³ν λͺ¨λν°λ§
π± μ±/μλΉμ€
- ISBN κΈ°λ° μ€μκ° μμ₯/λμΆ κ°λ₯ μ¬λΆ UX
- μμΉ κΈ°λ° λμκ΄ μΆμ²
π μμνκΈ°
1οΈβ£ μ μ 쑰건
- Node.js 18+
- λμκ΄ μ 보λ루 API ν€
2οΈβ£ API ν€ λ°κΈ λ°©λ²
- λμκ΄ μ 보λ루 νμκ°μ
- λ‘κ·ΈμΈ ν μ°μλ¨ [λ§μ΄νμ΄μ§] ν΄λ¦
- λ§μ΄νμ΄μ§ λ©λ΄μμ μΈμ¦ν€ μ ν
- μ μ ν μ΄μ©λͺ©μ μ²΄ν¬ λ° κ°μΈμ 보 μμ§ μ΄μ© λμ 체ν¬
- μμ μλ£ λ²νΌ ν΄λ¦
- μνκ° μΉμΈλκΈ°μ€μΌλ‘ νμ - μΉμΈκΉμ§ μκ° μμ
- μΉμΈ ν λ°κΈλ 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 (νμ¬ μΈμ μ©):
$env:LIBRARY_API_KEY="your-api-key"
macOS/Linux:
export LIBRARY_API_KEY="your-api-key"
π¦ μ€μΉ λ°©λ²
Installing via Smithery
To install data4library-mcp automatically via Smithery:
npx -y @smithery/cli install @isnow890/data4library-mcp
λ°©λ² 1: NPX μ€μΉ (κΆμ₯)
κ°μ₯ μ¬μ΄ λ°©λ²μ NPXλ₯Ό ν΅ν μ€μΉμ λλ€. μμΈν ν¨ν€μ§ μ 보λ NPM ν¨ν€μ§ νμ΄μ§λ₯Ό μ°Έμ‘°νμΈμ.
Claude Desktop μ€μ
Claude Desktop μ€μ νμΌ (Windows: %APPDATA%\Claude\claude_desktop_config.json
, macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
)μ λ€μμ μΆκ°:
{
"mcpServers": {
"data4library-mcp": {
"command": "npx",
"args": ["-y", "@isnow890/data4library-mcp"],
"env": {
"LIBRARY_API_KEY": "your-api-key"
}
}
}
}
Cursor AI μ€μ
mcp.json
μ μΆκ°:
{
"mcpServers": {
"data4library-mcp": {
"command": "npx",
"args": ["-y", "@isnow890/data4library-mcp"],
"env": {
"LIBRARY_API_KEY": "your-api-key"
}
}
}
}
λ°©λ² 2: λ‘컬 μ€μΉ
λ‘컬 κ°λ°μ΄λ 컀μ€ν μμ μ μν μ€μΉ:
Step 1: μμ€μ½λ λ€μ΄λ‘λ λ° λΉλ
GitμΌλ‘ ν΄λ‘
git clone https://github.com/isnow890/data4library-mcp.git
cd data4library-mcp
npm install
npm run build
ZIP νμΌ λ€μ΄λ‘λ
- GitHub Releases νμ΄μ§μμ μ΅μ λ²μ λ€μ΄λ‘λ
- ZIP νμΌμ μνλ μμΉμ μμΆ ν΄μ
- ν°λ―Έλμμ μμΆ ν΄μ λ ν΄λλ‘ μ΄λ:
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
)μ λ€μμ μΆκ°:
{
"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
)μ λ€μμ μΆκ°:
{
"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
κ° μλ)
κ²½λ‘ μ°ΎκΈ°:
# νμ¬ μμΉ νμΈ
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 ν΅ν© μμ΄ μ§μ μ€ννκΈ°:
npm start
# λλ
node dist/src/index.js
Docker (μ νμ¬ν):
docker build -t data4library-mcp .
docker run -i --rm -e LIBRARY_API_KEY=$LIBRARY_API_KEY data4library-mcp
MCP ν΄λΌμ΄μΈνΈ ν΅ν© (.mcp.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 μ΄μλ₯Ό μ΄μ΄μ£ΌμΈμ!