Skip to main content
Glama
rubatoyd

aladin-book-mcp

by rubatoyd

알라딘(Aladin) 도서 검색 및 상세 서지 MCP 서버

CI Release Downloads

📈 사용량 — 최근 14일 조회 0회(고유 0) · 클론 0회(고유 0) · 릴리스 자산 누적 다운로드 5

일별 클론·조회 추이

2026-09-19 자동 갱신 · 전체 이력은 docs/usage.csv. GitHub 트래픽 통계는 14일 창만 제공하므로 이 저장소가 매일 찍어 누적한다.

알라딘(Aladin) Open API를 활용하여 도서 검색, 원서명(원제), 전체 목차(TOC), 쪽수(페이지 수), 판형/무게, 부제, 베스트셀러 순위, 중고서점 매물 및 최저가를 조회하고 엑셀/CSV 등으로 일괄 수집하는 Model Context Protocol (MCP) 서버 및 독립 CLI 도구입니다.


주요 기능

  • 🔍 도서 검색 (aladin_book_search): 키워드, 제목, 저자, 출판사별 통합 검색 (ItemSearch)

  • 📖 심층 서지 조회 (aladin_book_lookup): 13자리/10자리 ISBN 또는 상품ID로 원서명, 도서 목차, 쪽수, 제본/무게/크기, 중고매물 최저가, eBook 연동 정보 조회

  • 🏆 큐레이션 리스트 (aladin_book_list): 알라딘 베스트셀러, 신간, 편집장 추천도서, 블로거 베스트 목록 조회

  • 📦 다중 키워드 대량 수집 (aladin_book_collect): 여러 검색어를 한 번에 자동 페이징 수집하고, 중복 제거 후 xlsx, csv, json, sqlite 동시 저장

  • 💻 독립형 터미널 CLI (aladin): AI 에이전트 없이도 터미널에서 즉시 검색 및 엑셀 다운로드 지원


Related MCP server: aladin-mcp

인증키 발급 및 설정 (1분 소요, 무료)

알라딘 OpenAPI는 무료이며 TTB Key 발급 즉시 사용할 수 있습니다 (일일 5,000건 쿼터 제공).

1. TTB Key 발급 방법

  1. 알라딘 (aladin.co.kr) 로그인

  2. 알라딘 OpenAPI 안내 및 TTBKey 발급 페이지 접속

  3. API를 사용할 블로그나 사이트 정보 등록 후 발급된 TTB Key (예: ttb...) 복사

2. 환경별 키 등록 방법

사용 환경

설정 위치

설정 방법

Claude Desktop (.mcpb)

확장 설치 시 팝업창

.mcpb 파일을 드래그 앤 드롭 후 나타나는 입력창에 TTB Key 입력

Claude Code

claude mcp add

--env ALADIN_TTB_KEY=YOUR_TTB_KEY 옵션으로 전달

Antigravity / Gemini CLI

mcp_config.json

env.ALADIN_TTB_KEY 항목에 설정

CLI / 로컬 개발

OS 환경변수 / .env

Windows 환경변수 등록 또는 .envALADIN_TTB_KEY=... 작성


설치 및 MCP 등록

1. Claude Desktop (1-클릭 확장 파일)

  • Releases에서 **aladin-book-mcp.mcpb**를 다운로드하여 Claude Desktop 창으로 드래그 앤 드롭합니다.

2. Claude Code

claude mcp add aladin-book --env ALADIN_TTB_KEY=YOUR_TTB_KEY -- uvx --from git+https://github.com/rubatoyd/aladin-book-mcp aladin-book-mcp

3. Gemini CLI / Antigravity

프로젝트 루트의 .agents/mcp_config.json 또는 전역 ~/.gemini/config/mcp_config.json:

{
  "mcpServers": {
    "aladin-book": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/rubatoyd/aladin-book-mcp", "aladin-book-mcp"],
      "env": {
        "ALADIN_TTB_KEY": "YOUR_ALADIN_TTB_KEY",
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}

CLI 도구 사용법 (aladin)

# 1. 상태 점검
uvx --from git+https://github.com/rubatoyd/aladin-book-mcp aladin status

# 2. 키워드 검색
uvx --from git+https://github.com/rubatoyd/aladin-book-mcp aladin search "인공지능" --size 5

# 3. ISBN13 상세 조회 (원서명, 목차, 쪽수, 판형, 중고가)
uvx --from git+https://github.com/rubatoyd/aladin-book-mcp aladin lookup 9791163034735

# 4. 베스트셀러 목록 조회
uvx --from git+https://github.com/rubatoyd/aladin-book-mcp aladin list --type Bestseller --size 10

# 5. 다중 키워드 대량 자동 수집 및 엑셀 저장 (상세 LookUp 포함)
uvx --from git+https://github.com/rubatoyd/aladin-book-mcp aladin collect \
  --terms "머신러닝" "딥러닝" \
  --max 50 \
  --lookup \
  --format xlsx csv json sqlite \
  --out ./output

라이선스

MIT License © 2026 Yeondong Yang

Available Tools

5 tools
aladin_book_collectA

다중 검색어로 도서를 대량 수집하고, 중복 제거 후 xlsx, csv, json, sqlite 파일로 저장합니다.

Args: terms: 수집할 검색어 목록 (예: ['인공지능', '머신러닝']) max_items_per_term: 검색어당 최대 수집 건수 (기본 30) query_type: 검색 필드 ('Keyword', 'Title', 'Author', 'Publisher') search_target: 검색 대상 ('Book', 'eBook', 'All' 등) sort: 정렬 순서 ('Accuracy', 'PublishTime', 'SalesPoint') opt_lookup: True 설정 시 각 도서별 목차/원서명/쪽수 상세 정보(ItemLookUp)까지 추가 조회 export_dir: 파일 저장 폴더 경로 (미지정 시 파일 저장 안 함) export_formats: 저장 포맷 리스트 (['xlsx', 'csv', 'json', 'sqlite'] 중 선택)

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoAccuracy
termsYes
export_dirNo
opt_lookupNo
query_typeNoKeyword
search_targetNoBook
export_formatsNo
max_items_per_termNo

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose core behavior: bulk collection, deduplication, optional ItemLookUp details, and that files are only saved when export_dir is set. However, it does not describe what the tool returns, how it handles errors or rate limits, whether files are overwritten, or what happens when export_dir is null beyond not saving.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence states the tool's overall function, followed by a compact parameter list where every entry adds meaning. There is no filler or redundant narrative, and the structure is easy for an agent to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema and no annotations, the description covers parameters and the main workflow well. Still, it omits what the tool returns to the caller, overwrite or append behavior for exported files, and any API-side considerations such as rate limits or required credentials, leaving notable gaps for an agent deciding whether the call succeeded.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the Args section compensates fully by explaining all 8 parameters with concrete examples and defaults, including the meaning of opt_lookup and the conditional behavior of export_dir. This is substantially more useful than the bare schema titles and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a specific, multi-part behavior: collecting books across multiple search terms, deduplicating results, and exporting to xlsx/csv/json/sqlite. This clearly distinguishes it from the sibling search/lookup/status/list tools, which are single-query or detail-oriented rather than bulk export operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the intended use case clear: bulk collection across multiple terms with deduplication and file export. It does not explicitly state when to prefer aladin_book_search or aladin_book_lookup instead, but the batch-and-export framing gives an agent enough context to infer the right situation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aladin_book_listA

알라딘 베스트셀러, 신간, 추천도서 등 큐레이션 리스트를 조회합니다.

Args: query_type: 리스트 종류 ('Bestseller', 'ItemNewAll', 'ItemNewSpecial', 'ItemEditorChoice', 'BlogBest') search_target: 대상 카테고리 ('Book', 'Foreign', 'Music', 'DVD', 'Used', 'eBook', 'All') start: 시작 페이지 번호 (1100) max_results: 출력 건수 (1100) category_id: 특정 카테고리 ID 필터 (선택)

ParametersJSON Schema
NameRequiredDescriptionDefault
startNo
query_typeNoBestseller
category_idNo
max_resultsNo
search_targetNoBook

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It uses '조회합니다' (queries), implying a read-only operation with no side effects, and it documents pagination limits (start 1~100, max_results 1~100). However, it does not disclose auth requirements, rate limits, error behavior, or response format. It provides some useful behavioral constraints but is not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: a one-sentence purpose statement front-loads the core function, followed by a compact 'Args' block that spends each line on a parameter with its allowed values or range. There is no fluff, repetition of schema defaults, or irrelevant detail. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter tool with no annotations and no output schema, the description covers parameters very well but omits return-value behavior and usage guidance. An agent knows what to pass, but not what the response contains or how to decide between this and aladin_book_search/lookup. Given the lack of an output schema, a note about the return structure would materially improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate, and it does thoroughly. The 'Args' section explains each of the 5 parameters: query_type lists the five allowed values, search_target lists the seven categories, start and max_results give ranges, and category_id is marked as optional. This adds significant meaning beyond the bare schema, which lacks enums, ranges, and descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb and resource: '알라딘 베스트셀러, 신간, 추천도서 등 큐레이션 리스트를 조회합니다' (queries curated lists such as bestsellers, new arrivals, and recommended books). This states a specific retrieval action and resource. It does not explicitly name sibling tools or contrast with them, so it falls short of full differentiation, but the focus on curated lists is distinct from search, lookup, status, and collect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling tools. It does not mention 'use this for list queries' or 'use search instead for keyword queries.' The only implied usage is from the purpose sentence, but there are no exclusions, prerequisites, or alternative routing. An agent must infer selection solely from the tool name and examples, which is not sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aladin_book_lookupA

ISBN13 또는 상품ID로 특정 도서의 원서명, 목차, 쪽수, 판형, 부제, 중고가, 전자책 상세 정보를 조회합니다.

Args: item_id: 13자리 ISBN, 10자리 ISBN, 또는 알라딘 ItemId item_id_type: 식별자 타입 ('ISBN13', 'ISBN', 'ItemId' - 미지정시 길이로 자동 감지) opt_result: 부가 정보 요청 플래그 (기본: 'ebookList,usedList,subInfo,packing')

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYes
opt_resultNoebookList,usedList,subInfo,packing
item_id_typeNoISBN13

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the read-only nature ('조회'), accepted identifier formats, and auto-detection of item_id_type. However, it does not describe return structure, error behavior, or the inconsistency between the schema default (ISBN13) and the claimed auto-detection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a front-loaded purpose statement followed by a compact Args list. There is no filler, though the auto-detection/default inconsistency and the cryptic opt_result value list prevent a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward lookup tool, it covers purpose, identifier types, optional results, and returned fields reasonably well. But with no annotations and no output schema, an agent still lacks expected response shape, failure conditions, and a concrete example; the item_id_type ambiguity adds further uncertainty.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the Args section meaningfully compensates by explaining all three parameters: item_id formats, item_id_type values, and opt_result purpose with defaults. It does not expand on each opt_result value, but the default string is informative. The ISBN13 default versus auto-detection discrepancy reduces clarity slightly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('조회합니다') and resource ('특정 도서' identified by ISBN13 or 상품ID), and lists the returned attributes. It is distinguishable from search/list/status as an identifier-based single-item lookup, though it does not name sibling tools explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use this when you have an ISBN or ItemId and need detailed information about a specific book. However, it does not explicitly say when not to use it or how it compares with siblings like aladin_book_search or aladin_book_status.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aladin_book_statusA

인증키 상태 점검 및 알라딘 Open API 실제 왕복 1회 연결 상태를 점검합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full transparency burden. It does disclose a meaningful behavioral trait: the tool performs one actual network round-trip to the Aladdin Open API, which implies external dependency and possible latency. However, it does not explicitly state that the operation is read-only, what it returns, or how errors are signaled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that names the main purpose first and then adds the round-trip detail. Every part contributes meaning, with no filler or repetition of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter health-check tool, the description is adequate but not complete: it explains what is being checked but says nothing about the output/return value, failure behavior, or how an agent should interpret the status result. Since there is no output schema and no annotations, some of that context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero properties and the description references no parameters, so there is no param-semantic gap for the description to fill. With 0 parameters, the baseline is 4, and the description does not need to add parameter-level detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks two specific things: the authentication key status and a real round-trip connection to the Aladdin Open API. This is a specific verb-resource pairing and inherently distinguishes it from sibling tools like aladin_book_search, aladin_book_lookup, aladin_book_list, and aladin_book_collect, which are all data operations rather than health checks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus the sibling tools. It does not say 'run this before other Aladdin calls' or 'use when the auth key may be invalid,' so an agent has to infer the usage context from the word 'status' alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.0
    • First observedaladin_book_collect
    • First observedaladin_book_list
    • First observedaladin_book_lookup
    • First observedaladin_book_search
    • First observedaladin_book_status

TDQS

A3.8/5.0

Scored across 5 tools

Disambiguation4/5

Each tool has a distinct purpose: status check, search, item lookup, curated lists, and bulk collection. Search and collect overlap somewhat since collect is built on search, but their inputs and outputs clearly separate them.

Naming Consistency4/5

All tools share the consistent `aladin_book_` prefix and mostly use verb-like suffixes: search, lookup, list, collect. The exception is `aladin_book_status`, which uses a noun rather than a verb, slightly breaking the pattern.

Tool Count5/5

Five tools is a well-scoped count for a book API server. Each tool maps to a distinct operation type and the set avoids unnecessary bloat.

Completeness4/5

The server covers core book domain workflows: searching, retrieving detailed item info, browsing curated lists, and bulk collecting with export. Minor gaps exist, such as no dedicated category browsing or review retrieval, but the main use cases are well covered.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server that allows searching and retrieving book information from Aladin's book store API, including book details, bestseller lists, and category-based searches.
    9
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables real-time book search, detailed information, and bestsellers from the Aladin OpenAPI, integrated with Claude Desktop via MCP.
    4 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching for books by title, author, or keyword, retrieving edition details by ISBN, and accessing author profiles and canonical work records through the Open Library API.
    1 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables searching the Kakao Daum Book Search API by title, author, publisher, or ISBN, retrieving detailed bibliographic and pricing metadata, and exporting results to xlsx, csv, json, or sqlite through MCP or CLI.
    4
    1
    MIT