olive-young-search
Olive Young Search
What this skill does
upstream 원본 hmmhmmhm/daiso-mcp 와 npm package daiso 를 그대로 사용해 올리브영 매장 검색, 상품 검색, 재고 확인 흐름을 안내한다.
이 저장소는 원본 MCP 서버 코드를 vendoring 하지 않는다. 대신 MCP 서버를 Claude Code에 직접 설치하지 않고 CLI 형태로 먼저 확인하는 경로를 기본값으로 둔다.
핵심 조회 경로:
- 매장 검색:
/api/oliveyoung/stores - 상품 검색:
/api/oliveyoung/products - 재고 확인:
/api/oliveyoung/inventory - health check:
npx --yes daiso health
When to use
- "명동 근처 올리브영 매장 찾아줘"
- "올리브영 선크림 어떤 거 있나 보여줘"
- "명동 근처 올리브영에서 선크림 재고 확인해줘"
- "올리브영 검색용 CLI 붙여줘"
When not to use
- 로그인, 주문, 장바구니, 결제 자동화
- 올리브영 계정/세션이 필요한 private 기능
- upstream 서버 코드를 이 저장소 안에 복사해서 유지하려는 경우
Prerequisites
- 인터넷 연결
node20 권장 (hmmhmmhm/daiso-mcp2026-04-05 기준engines.node는>=20 <21)npx또는npm- 필요하면
git
Node 22에서도 로컬 smoke test는 성공했지만 EBADENGINE 경고가 보여서, 안정 경로는 Node 20 LTS 로 본다.
Preferred setup: CLI first, not direct MCP install
가장 빠른 경로는 MCP 연결부터 하지 않고 upstream CLI로 공개 endpoint를 확인하는 것이다.
npx --yes daiso health
npx --yes daiso get /api/oliveyoung/stores --keyword 명동 --limit 5 --json
npx --yes daiso get /api/oliveyoung/products --keyword 선크림 --size 5 --json
npx --yes daiso get /api/oliveyoung/inventory --keyword 선크림 --storeKeyword 명동 --size 5 --json
반복 사용이면 전역 설치도 가능하다.
npm install -g daiso
export NODE_PATH="$(npm root -g)"
daiso health
Fallback: clone the original repository and run the same CLI locally
public endpoint 재시도나 버전 고정이 필요하면 원본 저장소를 clone 해서 build 결과물 dist/bin.js 를 node 로 직접 실행한다.
clone checkout 안에서는 npx daiso ... 가 Permission denied 로 실패할 수 있으므로, local fallback은 아래 경로를 기본으로 둔다.
git clone https://github.com/hmmhmmhm/daiso-mcp.git
cd daiso-mcp
npm install
npm run build
node dist/bin.js health
node dist/bin.js get /api/oliveyoung/stores --keyword 명동 --limit 5 --json
node dist/bin.js get /api/oliveyoung/products --keyword 선크림 --size 5 --json
node dist/bin.js get /api/oliveyoung/inventory --keyword 선크림 --storeKeyword 명동 --size 5 --json
즉, 이 스킬의 기본 원칙은 원본 hmmhmmhm/daiso-mcp를 설치/실행해서 쓰고, k-skill에는 가이드만 추가하는 것이다.
Required inputs
1. Store or area keyword first when place context is missing
- 권장 질문:
어느 지역/매장을 기준으로 볼까요? 예: 명동, 강남역, 성수 - 재고 질문인데 지역이 없으면 먼저 지역/매장 키워드를 받는다.
2. Product keyword first when inventory is requested
- 권장 질문:
찾을 상품 키워드도 알려주세요. 예: 선크림, 립밤, 마스크팩 - 상품 종류를 묻는 경우에도 키워드를 너무 넓게 받지 않는다.
Workflow
1. Check server health
npx --yes daiso health
2. Resolve nearby stores
npx --yes daiso get /api/oliveyoung/stores --keyword 명동 --limit 5 --json
매장 후보가 여러 개면 상위 2~3개만 요약하고 다시 확인받는다.
3. Resolve product candidates
npx --yes daiso get /api/oliveyoung/products --keyword 선크림 --size 5 --json
상품 후보가 많으면 goodsNumber, 가격, 이미지 URL, inStock 여부를 함께 짧게 정리한다.
4. Check inventory for the chosen area/store keyword
npx --yes daiso get /api/oliveyoung/inventory --keyword 선크림 --storeKeyword 명동 --size 5 --json
응답의 inventory.products[].storeInventory.stores[] 안에서 다음 값을 우선 본다.
stockLabelremainQuantitystockStatusstoreName
5. Respond conservatively
최종 응답은 아래 순서로 짧게 정리한다.
- 기준 지역/매장 키워드
- 상위 매장 후보
- 상품 후보 또는 선택 상품
- 재고 있는 매장 / 품절 / 미판매 구분
- 필요하면
imageUrl참고 링크 - 공개 endpoint 특성상 재고는 실시간 100% 보장값이 아니므로 방문 직전 재확인을 권장
Done when
hmmhmmhm/daiso-mcp원본 repo와daisoCLI 사용 경로를 명시했다.- MCP 서버를 직접 설치하는 대신 CLI first 흐름을 제시했다.
- 매장 검색 → 상품 검색 → 재고 확인 순서를 따랐다.
/api/oliveyoung/stores,/api/oliveyoung/products,/api/oliveyoung/inventory중 필요한 호출을 실제로 안내했다.- 재고 결과를 매장별
stockLabel중심으로 요약했다.
Failure modes
- public endpoint는 upstream 내부 수집 경로(Zyte 의존) 사정으로 간헐적인 5xx/503을 줄 수 있다.
- 지역 키워드가 너무 넓으면 멀리 떨어진 동명이점 매장이 섞일 수 있다.
- 인기 상품은 검색 결과가 많아 상위 몇 개만 먼저 확인받는 편이 안전하다.
- 재고 수량은 시점 차이로 실제 방문 시 달라질 수 있다.
Notes
- 원본 프로젝트:
https://github.com/hmmhmmhm/daiso-mcp - npm package:
https://www.npmjs.com/package/daiso - 이 저장소는 upstream 코드를 vendoring 하지 않고 skill/docs만 유지한다.