π μ 보λ루 λμκ²μ MCP (data4library-mcp)
λμκ΄ μ 보λ루 MCPλ κ΅λ¦½μ€μλμκ΄μμ μ 곡νλ λμκ΄ μ 보λ루 APIλ₯Ό μμ ν νμ©ν μ μλλ‘ κ°λ°λ ν¬κ΄μ μΈ MCP(Model Context Protocol) μλ²μ λλ€. νκ΅μ λͺ¨λ 곡곡λμκ΄ μ 보, λμ κ²μ, λμΆ νν©, λ μ ν΅κ³ λ±μ AI λͺ¨λΈμμ μ½κ² μ κ·Όνκ³ νμ©ν μ μκ² ν΄μ€λλ€.
πΊπΈ English Documentation: README-en.md
π λΉ λ₯Έ μ€μΉ (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 (νμ¬ μΈμ μ©):
macOS/Linux:
π¦ μ€μΉ λ°©λ²
Installing via Smithery
To install data4library-mcp automatically via Smithery:
λ°©λ² 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)μ λ€μμ μΆκ°:
Cursor AI μ€μ
mcp.jsonμ μΆκ°:
λ°©λ² 2: λ‘컬 μ€μΉ
λ‘컬 κ°λ°μ΄λ 컀μ€ν μμ μ μν μ€μΉ:
Step 1: μμ€μ½λ λ€μ΄λ‘λ λ° λΉλ
GitμΌλ‘ ν΄λ‘
ZIP νμΌ λ€μ΄λ‘λ
GitHub Releases νμ΄μ§μμ μ΅μ λ²μ λ€μ΄λ‘λ
ZIP νμΌμ μνλ μμΉμ μμΆ ν΄μ
ν°λ―Έλμμ μμΆ ν΄μ λ ν΄λλ‘ μ΄λ:
β οΈ μ€μ: μ€μΉ ν λ°λμ npm run buildλ₯Ό μ€ννμ¬ dist ν΄λμ μ»΄νμΌλ JavaScript νμΌλ€μ μμ±ν΄μΌ ν©λλ€.
Step 2: Claude Desktop μ€μ
λΉλ μλ£ ν νμν κ²λ€:
LIBRARY_API_KEY: λμκ΄ μ 보λ루μμ λ°κΈλ°μ API ν€
μ€μΉ κ²½λ‘: λ€μ΄λ‘λν ν΄λμ μ λ κ²½λ‘
Windows μ€μ
Claude Desktop μ€μ νμΌ (%APPDATA%\Claude\claude_desktop_config.json)μ λ€μμ μΆκ°:
macOS/Linux μ€μ
Claude Desktop μ€μ νμΌ (~/Library/Application Support/Claude/claude_desktop_config.json)μ λ€μμ μΆκ°:
κ²½λ‘ μ€μ μ£Όμμ¬ν
β οΈ μ€μ: μ μ€μ μμ λ€μ κ²½λ‘λ€μ μ€μ μ€μΉ κ²½λ‘λ‘ λ°κΏμ£ΌμΈμ:
Windows:
C:\\path\\to\\data4library-mcpλ₯Ό μ€μ λ€μ΄λ‘λν ν΄λ κ²½λ‘λ‘ λ³κ²½macOS/Linux:
/path/to/data4library-mcpλ₯Ό μ€μ λ€μ΄λ‘λν ν΄λ κ²½λ‘λ‘ λ³κ²½λΉλ κ²½λ‘: κ²½λ‘κ°
dist/src/index.jsλ₯Ό κ°λ¦¬ν€λλ‘ νμΈ (λ¨μνindex.jsκ° μλ)
κ²½λ‘ μ°ΎκΈ°:
Step 3: Claude Desktop μ¬μμ
μ€μ μλ£ ν Claude Desktopμ μμ ν μ’ λ£νκ³ μ¬μμνμ¬ Data4Library MCP μλ²λ₯Ό νμ±ννμΈμ.
π§ λ‘컬 μ€ν (κ°λ°/ν μ€νΈμ©)
Claude Desktop ν΅ν© μμ΄ μ§μ μ€ννκΈ°:
Docker (μ νμ¬ν):
MCP ν΄λΌμ΄μΈνΈ ν΅ν© (.mcp.json μμ, λ‘컬 μ€ν):
π‘ μ¬μ© ν
νΌμ§ κ²μ:
search_library_codesλ₯Ό μ¬μ©νμ¬ λΆλΆ μ΄λ¦/μ£Όμλ‘ λμκ΄ μ°ΎκΈ°μ½λ ν¬νΌ:
get_subject_codes,search_detailed_kdc_codes,search_detailed_region_codesλ‘ νμν νλΌλ―Έν° μ½λ μ‘°νμΈμ λͺ¨λν°λ§:
session_statsλ‘ μΈμ λ³ λꡬ μ¬μ©λ/μ ν νμΈλꡬ μ°κ³: 볡μ‘ν 쿼리λ μ¬λ¬ λꡬλ₯Ό μμ°¨μ μΌλ‘ μ¬μ©νμ¬ ν΄κ²°
π λΌμ΄μ μ€ λ° κ³ μ§μ¬ν
λΌμ΄μ μ€: MIT (LICENSE νμΌ μ°Έμ‘°)
λ°μ΄ν° μΆμ²: λμκ΄ μ 보λ루 곡곡 API
μ¬μ©λ²: 곡곡 API μ μ± /ν λΉλμ μ€μνμΈμ. κ°μΈμ 보λ₯Ό μ μ₯/λ ΈμΆνμ§ λ§μΈμ.
π¬ μ§λ¬Έμ΄λ νΌλλ°±μ΄ μμΌμλ©΄ GitHub μ΄μλ₯Ό μ΄μ΄μ£ΌμΈμ!
This server cannot be installed