알라딘 책 API MCP 서버
프로젝트 소개
이 프로젝트는 알라딘 책 API를 Model Context Protocol (MCP) 서버로 래핑하여, MCP를 지원하는 LLM 클라이언트 (예: Claude Desktop)가 알라딘의 풍부한 도서 정보와 검색 기능을 활용할 수 있도록 합니다. 사용자는 ISBN으로 책 정보를 조회하거나, 다양한 조건으로 책을 검색하고, 추천 도서 목록을 얻을 수 있습니다.
주요 기능
- ISBN으로 책 정보 조회: 특정 ISBN에 해당하는 책의 상세 정보를 제공합니다.
- 다양한 조건으로 책 검색: 제목, 저자, 출판사, 카테고리 등 다양한 기준으로 책을 검색할 수 있습니다.
- 추천 도서 목록 제공: 베스트셀러, 신간, 편집자/블로거 추천 도서 목록을 조회할 수 있습니다.
- 중고 도서 정보 제공: 특정 ISBN의 중고 도서를 판매하는 매장 정보를 검색할 수 있습니다.
- 책 카테고리 정보 제공: 알라딘에서 제공하는 책 카테고리 목록을 조회하여 검색 범위를 좁힐 수 있습니다.
- 인기 도서 검색: 판매 지수를 기준으로 인기 도서를 검색할 수 있습니다.
- 책 추천 프롬프트 제공: LLM을 활용하여 책 추천을 요청할 수 있는 기본 프롬프트를 제공합니다.
설치 방법
-
전역 설치 (권장):
npm install -g aladin-mcp-server -
프로젝트 내 설치:
npm install aladin-mcp-server -
소스 코드에서 설치:
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 리소스 및 도구 섹션을 참조하십시오.
- 'search-books': 책 검색
-
프롬프트: 'book-recommendation' (책 추천 프롬프트)
- 클라이언트에서 'book-recommendation' 프롬프트를 요청하여 LLM에게 책 추천을 요청할 수 있습니다.
더 자세한 사용 방법 및 각 도구의 매개변수에 대한 설명은 README.md 파일을 참고하십시오.
信息
分类
网页与API