알라딘 책 API MCP 서버

프로젝트 소개

이 프로젝트는 알라딘 책 API를 Model Context Protocol (MCP) 서버로 래핑하여, MCP를 지원하는 LLM 클라이언트 (예: Claude Desktop)가 알라딘의 풍부한 도서 정보와 검색 기능을 활용할 수 있도록 합니다. 사용자는 ISBN으로 책 정보를 조회하거나, 다양한 조건으로 책을 검색하고, 추천 도서 목록을 얻을 수 있습니다.

주요 기능

  • ISBN으로 책 정보 조회: 특정 ISBN에 해당하는 책의 상세 정보를 제공합니다.
  • 다양한 조건으로 책 검색: 제목, 저자, 출판사, 카테고리 등 다양한 기준으로 책을 검색할 수 있습니다.
  • 추천 도서 목록 제공: 베스트셀러, 신간, 편집자/블로거 추천 도서 목록을 조회할 수 있습니다.
  • 중고 도서 정보 제공: 특정 ISBN의 중고 도서를 판매하는 매장 정보를 검색할 수 있습니다.
  • 책 카테고리 정보 제공: 알라딘에서 제공하는 책 카테고리 목록을 조회하여 검색 범위를 좁힐 수 있습니다.
  • 인기 도서 검색: 판매 지수를 기준으로 인기 도서를 검색할 수 있습니다.
  • 책 추천 프롬프트 제공: LLM을 활용하여 책 추천을 요청할 수 있는 기본 프롬프트를 제공합니다.

설치 방법

  1. 전역 설치 (권장):

    npm install -g aladin-mcp-server
  2. 프로젝트 내 설치:

    npm install aladin-mcp-server
  3. 소스 코드에서 설치:

    git clone https://github.com/tenacl/aladin-mcpserver.git
    cd aladin-mcpserver
    npm install
    npm run build

서버 설정

알라딘 API를 사용하기 위한 TTB 키를 설정해야 합니다. 다음 두 가지 방법 중 하나를 선택하여 설정할 수 있습니다. 알라딘 TTB 키는 알라딘 개발자 센터에서 발급받을 수 있습니다.

1. 설정 파일 사용:

  • 'config/config.json' 파일을 생성하고 TTB 키를 입력합니다. (프로젝트 내 설치 또는 소스 코드 설치 시)

  • 또는 '~/.config/aladinMCP/config.json' (사용자 홈 디렉토리) 또는 현재 작업 디렉토리에 'config.json' 파일을 생성합니다. (전역 설치 시)

    {
      "ttbkey": "your_aladin_ttbkey_here"
    }

2. 환경 변수 사용:

  • 'ALADIN_TTB_KEY' 환경 변수에 TTB 키를 설정합니다.

    export ALADIN_TTB_KEY=your_aladin_ttbkey_here

서버 실행

1. 전역 설치 후 실행:

aladin-mcp-server

2. 소스 코드에서 실행:

npm run build
npm start

MCP 클라이언트 설정 (Claude Desktop 예시)

Claude Desktop과 같은 MCP 클라이언트에서 이 서버를 사용하려면, 클라이언트 설정 파일 (通常是 JSON 格式) 에 다음과 같이 서버 정보를 추가합니다. '/절대/경로/aladin-mcpserver/dist/index.js' 를 실제 서버 파일의 절대 경로로 변경해야 합니다.

{
  "mcpServers": {
    "aladin": {
      "name": "Aladin Book API",
      "command": "node",
      "args": [
        "/절대/경로/aladin-mcpserver/dist/index.js"
      ],
      "env": {
        "ALADIN_TTB_KEY": "your_aladin_ttbkey_here"
      }
    }
  }
}

Windows 경로 예시:

{
  "mcpServers": {
    "aladin": {
      "name": "Aladin Book API",
      "command": "node",
      "args": [
        "C:\\경로\\aladin-mcpserver\\dist\\index.js"
      ],
      "env": {
        "ALADIN_TTB_KEY": "your_aladin_ttbkey_here"
      }
    }
  }
}

설정 항목 설명:

  • 'name': 서버 이름 (클라이언트에서 표시될 이름, 자유롭게 설정 가능). 예: "Aladin Book API".
  • 'command': 서버 실행 명령어. 여기서는 Node.js를 사용하여 실행하므로 'node' 로 설정.
  • 'args': 서버 실행 명령어의 인자 배열. 서버 실행 파일의 경로를 지정.
    • '/절대/경로/aladin-mcpserver/dist/index.js': 반드시 실제 'index.js' 파일의 절대 경로로 수정해야 합니다. 소스 코드 설치 후 'npm run build' 를 실행하면 'dist' 폴더에 생성됩니다.
  • 'env': 환경 변수 설정 (선택 사항). 알라딘 API 키를 환경 변수로 설정하는 경우 사용합니다.
    • 'ALADIN_TTB_KEY': 알라딘 TTB 키 값으로 대체합니다. 환경 변수 대신 설정 파일을 사용하는 경우, 이 항목은 필요하지 않습니다.

기본 사용 방법

MCP 클라이언트가 서버에 연결되면, 다음과 같은 리소스와 도구를 사용할 수 있습니다.

  • 리소스: 'book://{isbn}' (ISBN으로 책 정보 조회)

    • 클라이언트에서 'book://9788994492048' 과 같은 URI를 사용하여 ISBN에 해당하는 책 정보를 요청할 수 있습니다.
  • 도구:

    • 'search-books': 책 검색
      • 매개변수 예시: '{"query": "어린왕자", "searchType": "title"}' (제목으로 "어린왕자" 검색)
    • 'get-book-details': ISBN으로 책 상세 정보 조회
      • 매개변수 예시: '{"isbn": "9788994492048"}' (ISBN 9788994492048 책 상세 정보 조회)
    • 'search-books-by-publisher': 출판사로 책 검색
      • 매개변수 예시: '{"publisher": "문학동네"}' (출판사가 "문학동네"인 책 검색)
    • 'search-books-by-category': 카테고리로 책 검색
      • 매개변수 예시: '{"categoryId": 1}' (국내 도서 카테고리 책 검색)
    • 'get-bestsellers': 베스트셀러 목록 조회
    • 'get-new-books': 신간 목록 조회
    • 'get-editor-choice-books': 편집자 추천 도서 목록 조회
    • 'get-blogger-books': 블로거 추천 도서 목록 조회
    • 'get-used-book-stores': 중고 도서 보유 매장 검색
      • 매개변수 예시: '{"isbn": "9788994492048"}' (ISBN 9788994492048 중고 도서 매장 검색)
    • 'get-book-categories': 책 카테고리 목록 조회
    • 'get-popular-books': 판매지수 기준 인기 도서 검색
    • 각 도구의 자세한 매개변수는 MCP 리소스 및 도구 섹션을 참조하십시오.
  • 프롬프트: 'book-recommendation' (책 추천 프롬프트)

    • 클라이언트에서 'book-recommendation' 프롬프트를 요청하여 LLM에게 책 추천을 요청할 수 있습니다.

더 자세한 사용 방법 및 각 도구의 매개변수에 대한 설명은 README.md 파일을 참고하십시오.

信息

分类

网页与API