Skip to content

Latest commit

 

History

History
632 lines (456 loc) · 27.2 KB

File metadata and controls

632 lines (456 loc) · 27.2 KB
Daiso MCP

Daiso MCP 및 Skill

다이소(제품/매장/재고), 상품 가격 비교, 주변 음식점/카페, 주유소/유가, 개발자 요청 제출, 롯데마트(매장/상품), GS25(매장/상품/재고), 세븐일레븐(상품/매장/재고/인기검색어/카탈로그), CU(매장/재고), 이마트24(매장/상품/재고), 올리브영(매장/재고), 메가박스(지점/영화/시간표/좌석), 롯데시네마(지점/영화/좌석), CGV(극장/영화/시간표) 조회 기능을 MCP, CLI, Codex Skill로 AI에 연결합니다.


MCP: https://mcp.aka.page · CLI: npx daiso · Skill: clawhub install daiso-cli

ClawHub: clawhub.ai/hmmhmmhm/daiso-cli

한국 로컬 리테일, 생활 정보, 영화관 조회를 MCP, CLI, Codex Skill로 연결하는 도구입니다. 사용자는 별도 API 키를 준비하지 않고 바로 사용할 수 있습니다.


지원 서비스

분류 서비스 조회 기능
장소 네이버 지역 검색 음식점, 카페, 디저트, 주변 장소
교통 오피넷 전국 평균 유가, 최저가 주유소, 위치 기반 주유소, 주유소 상세정보
비교 다이소, GS25, 세븐일레븐, 이마트24 같은 상품의 판매처별 가격 후보 비교
운영 Supabase MCP 오류, 개선 요청, 신규 기능 요청 저장
리테일 다이소, 올리브영, 롯데마트 상품, 매장, 재고
편의점 GS25, 세븐일레븐, CU, 이마트24 상품, 매장, 재고, 인기검색어, 카탈로그
영화관 CGV, 메가박스, 롯데시네마 극장, 영화, 시간표, 잔여 좌석

License: MIT Cloudflare Workers MCP Code Coverage Coverage Better Stack Badge

실시간 서비스 상태 보기

Cloudflare Workers 호출량 (2026-05-15 ~ 2026-06-13, 30일)

Cloudflare Workers 호출량 그래프 (2026-05-15 ~ 2026-06-13)

기준 워커: daiso-mcp · 마지막 갱신: 2026-06-14 00:51 KST



  




AI 앱에서 MCP 연결하기

ChatGPT, Claude, Grok 같은 AI 앱에서 바로 연결해 사용할 수 있습니다. 아래 앱별 가이드에서 먼저 연동한 뒤 검색/재고/영화 조회를 요청하세요.


ChatGPT

MCP 연동이 어렵다는 피드백이 있어 바로 사용 가능한 GPT 앱을 추가했습니다. 아래 링크로 모바일에서도 간편하게 이용 가능합니다!

Daiso MCP GPT 앱 바로가기

빠른 사용 예시:

다이소 mcp로 수납박스 검색해줘
콜라 어디가 싼지 비교해줘
올리브영 mcp로 명동 근처 매장 찾아줘
이마트24 mcp로 강남 근처 매장과 두바이 재고 알려줘
롯데마트 mcp로 잠실 근처 매장 찾아줘
롯데마트 mcp로 강변점에서 콜라 재고 알려줘
GS25 mcp로 강남 근처 매장과 오감자 재고 알려줘
세븐일레븐 mcp로 삼각김밥 검색해줘
세븐일레븐 mcp로 안산 중앙역 근처 매장 찾아줘
세븐일레븐 mcp로 안산 중앙역 근처 세븐일레븐에서 핫식스 재고 알려줘
세븐일레븐 mcp로 인기 검색어와 카탈로그 요약 알려줘
강남역 근처 카페 찾아줘
성수동 근처 브런치 음식점 찾아줘
강남역 근처 제일 싼 주유소 찾아줘
오늘 전국 평균 휘발유 가격 알려줘
메가박스 mcp로 강남점 영화와 잔여 좌석 알려줘
롯데시네마 mcp로 월드타워 근처 지점과 상영 영화 알려줘
롯데시네마 mcp로 월드타워 잔여 좌석 알려줘
CGV mcp로 강남 상영 영화와 시간표 알려줘

에이전트가 고르면 좋은 대표 흐름:

  • 가격 비교: 콜라 어디가 싸?compare_products
  • 주변 장소: 강남역 근처 카페 찾아줘places_search_nearby
  • 주유소/유가: 강남역 근처 제일 싼 주유소 찾아줘opinet_search_stations_around
  • 브랜드 명시 재고: 다이소 핫식스 재고 찾아줘 → 먼저 다이소에서 검색 후 결과 없을 때만 대안 제안
  • 편의점 재고: GS25 강남 오감자 재고 → 상품 후보 확인 후 재고 조회
  • 영화 시간표: 오늘 강남 CGV 시간표 → KST 오늘 날짜로 극장 검색 후 시간표 조회
  • 개발자 요청: 올리브영 재고 도구가 계속 실패한다고 개발자에게 알려줘submit_developer_request

Claude

Pro / Max / Team / Enterprise 플랜 필요 · 웹에서 설정 시 모바일 앱에서도 사용 가능

  1. claude.ai에서 SettingsConnectors 이동
  2. Add custom connector 클릭
  3. 원격 MCP 서버 URL 입력: https://mcp.aka.page
  4. Add 클릭하여 완료
  5. 대화창에서 + 버튼 → Connectors → 토글로 활성화

사용 예시:

다이소 mcp를 사용해서 수납박스 검색해줘
다이소 mcp를 사용해서 강남역 근처 매장 찾아줘
올리브영 mcp를 사용해서 명동 근처 매장 찾아줘
올리브영 mcp를 사용해서 선크림 재고 확인해줘
이마트24 mcp를 사용해서 강남 매장 찾고 두바이 재고 확인해줘
롯데마트 mcp를 사용해서 잠실 근처 매장 찾아줘
롯데마트 mcp를 사용해서 강변점에서 콜라 검색해줘
GS25 mcp를 사용해서 강남 매장 찾고 오감자 재고 확인해줘
세븐일레븐 mcp를 사용해서 안산 중앙역 근처 매장 찾고 핫식스 재고 확인해줘
메가박스 mcp를 사용해서 강남역 근처 지점 찾아줘
메가박스 mcp를 사용해서 강남점 영화 목록이랑 잔여 좌석 확인해줘
롯데시네마 mcp를 사용해서 잠실 근처 지점 찾아줘
롯데시네마 mcp를 사용해서 월드타워 영화 목록이랑 잔여 좌석 확인해줘
CGV mcp를 사용해서 서울 지역 극장 목록 찾아줘
CGV mcp를 사용해서 강남 CGV 영화랑 시간표 확인해줘

참고: Claude Remote MCP 가이드


Claude Code

Claude Code CLI에서 MCP 서버 추가

claude mcp add daiso-mcp https://mcp.aka.page --transport http

Grok

웹 및 모바일 앱 모두 지원

프롬프트 페이지 URL:

https://mcp.aka.page/prompt

사용 방법:

  1. Grok 모바일 앱에서 https://mcp.aka.page/prompt 페이지를 읽어달라고 요청
  2. 에이전트가 API 사용법을 이해하고 GET 요청으로 기능 실행

예시 대화:

사용자: https://mcp.aka.page/prompt 를 읽어줘
AI: (페이지를 읽고 API 사용법 이해)

사용자: 수납박스 검색해줘
AI: (https://mcp.aka.page/api/daiso/products?q=수납박스 호출 후 결과 제공)

사용자: 안산 중앙역 근처 메가박스 지점 찾아줘
AI: (https://mcp.aka.page/api/megabox/theaters?keyword=안산%20중앙역 호출 후 결과 제공)

사용자: 잠실 근처 롯데시네마 지점 찾아줘
AI: (https://mcp.aka.page/api/lottecinema/theaters?keyword=%EC%9E%A0%EC%8B%A4 호출 후 결과 제공)

사용자: 강남 CGV 시간표 알려줘
AI: (https://mcp.aka.page/api/cgv/timetable?playDate=20260304&theaterCode=0056 호출 후 결과 제공)

사용자: 안산 중앙역 근처 CGV 찾아서 오늘 영화랑 시간표 알려줘
AI: (https://mcp.aka.page/api/cgv/theaters?playDate=20260315&keyword=안산%20중앙역 호출 후 결과 제공)
AI: (https://mcp.aka.page/api/cgv/movies?playDate=20260315&keyword=안산%20중앙역 호출 후 결과 제공)
AI: (https://mcp.aka.page/api/cgv/timetable?playDate=20260315&keyword=안산%20중앙역 호출 후 결과 제공)

바로 실행해보기

AI 앱 연동 없이 터미널에서 바로 확인할 수 있습니다.

npx daiso products 수납박스 --json
npx daiso places 강남역 --category cafe --limit 5 --json
npx daiso gs25-inventory 오감자 --storeKeyword 강남 --storeLimit 5 --json
npx daiso cgv-movies --playDate 20260520 --theaterCode 0056 --json

MCP 서버 URL / CLI (고급)

AI 앱 대신 직접 연결하거나 스크립트에서 사용할 때만 참고하세요.

MCP 서버 URL:

https://mcp.aka.page

CLI (npx):

# 인터랙티브 모드 (추천)
npx daiso

# 인터랙티브 비활성화 (CI/스크립트)
npx daiso --non-interactive

# 명령형 모드
npx daiso help
npx daiso help products
npx daiso url
npx daiso health
npx daiso claude

# AI 없이 직접 조회
npx daiso products 수납박스
npx daiso product 1034604
npx daiso stores 강남역
npx daiso inventory 1034604 --keyword 강남역
npx daiso display-location 1034604 04515
npx daiso compare 콜라 --limit 3
npx daiso places 강남역 --category cafe --limit 5
npx daiso places 성수동 --keyword 브런치 --limit 5
npx daiso get /api/opinet/lowest --fuelCode B027 --areaCode 0113 --count 5 --json
npx daiso get /api/opinet/average --json
npx daiso cu-stores 강남
npx daiso cu-inventory 과자 --storeKeyword 강남
npx daiso cgv-theaters 강남 --limit 10
npx daiso cgv-movies --playDate 20260307 --theaterCode 0056
npx daiso cgv-timetable --playDate 20260307 --theaterCode 0056
npx daiso lottemart-stores 잠실 --area 서울 --limit 10
npx daiso lottemart-products 콜라 --storeName 강변점 --area 서울
npx daiso emart24-stores 강남 --service24h true
npx daiso emart24-products 두바이 --pageSize 20
npx daiso emart24-inventory 8800244010504 --bizNoArr 28339,05015
npx daiso gs25-stores 강남 --limit 10
npx daiso gs25-products 오감자 --limit 20
npx daiso gs25-inventory 오감자 --storeKeyword 강남 --storeLimit 10
npx daiso seveneleven-products 삼각김밥 --size 20
npx daiso seveneleven-stores 안산 중앙역 --limit 10
npx daiso seveneleven-inventory 핫식스 --storeKeyword "안산 중앙역" --storeLimit 10
npx daiso seveneleven-popwords --label home
npx daiso seveneleven-catalog --includeIssues true --includeExhibition true --limit 10

# 원본 JSON 필요 시
npx daiso products 수납박스 --json

Codex Skill

이 저장소는 MCP 서버뿐 아니라 에이전트가 npx daiso CLI를 직접 고를 수 있게 하는 Codex Skill도 제공합니다.

  • ClawHub: clawhub install daiso-cli
  • 공개 페이지: https://clawhub.ai/hmmhmmhm/daiso-cli
  • 스킬 파일: skills/daiso-cli/SKILL.md
  • 명령 맵: skills/daiso-cli/references/cli-command-map.md
  • 기본 원칙: 쉘 실행이 가능한 환경에서는 CLI를 우선 사용하고, AI 앱 연결이 필요할 때는 MCP 서버 URL https://mcp.aka.page를 사용합니다.
  • 구조화 결과가 필요하면 스킬은 npx daiso ... --json 형태를 선택합니다.
  • 상황별 레시피는 콜라 어디가 싸?, 강남역 근처 카페, 다이소 핫식스 재고, 오늘 강남 CGV 시간표처럼 실제 사용자 문장 기준으로 정리되어 있습니다.

OpenAPI 스펙

  • OpenAI 챗봇 등록용 축약 스펙: https://mcp.aka.page/openapi.json
  • OpenAI 챗봇 등록용 YAML: https://mcp.aka.page/openapi.yaml
  • 전체 개별 엔드포인트 스펙(JSON): https://mcp.aka.page/openapi-full.json
  • 전체 개별 엔드포인트 스펙(YAML): https://mcp.aka.page/openapi-full.yaml

MCP 표준 응답 모델

MCP 도구 응답은 각 서비스의 원본 필드를 유지하면서, 클라이언트가 공통 UI를 만들 수 있도록 standard 필드를 함께 제공합니다.

  • standard.products: 상품/영화 목록을 code, name, price, imageUrl, raw 형태로 정규화합니다.
  • standard.stores: 매장 목록을 code, name, address, distanceMeters, raw 형태로 정규화합니다.
  • standard.theaters: 영화관 목록을 code, name, address, distanceMeters, raw 형태로 정규화합니다.
  • standard.places: 음식점/카페 같은 장소 목록을 name, address, raw 중심으로 정규화합니다.

통합 상품 가격 비교

여러 리테일/편의점 상품 검색 결과를 묶어 같은 상품의 판매처별 가격 후보를 비교합니다.

npx daiso compare 콜라 --limit 3 --json

REST:

GET /api/compare/products?keyword=콜라&limit=3

지원 서비스는 daiso, gs25, seveneleven, emart24입니다. GS25처럼 상품 검색 응답에 가격이 없는 서비스는 후보에는 포함되지만 최저가 계산에서는 제외됩니다.

오피넷 유가 정보

한국석유공사 오피넷 유가정보 API로 전국 평균 유가, 지역별 최저가 주유소, 반경 내 주유소, 주유소 상세정보를 조회합니다.

MCP 도구:

opinet_get_average_prices
opinet_get_lowest_price_stations
opinet_search_stations_around
opinet_get_station_detail

REST:

GET /api/opinet/average
GET /api/opinet/lowest?fuelCode=B027&areaCode=0113&count=5
GET /api/opinet/stations/around?lat=37.4979&lng=127.0276&radiusMeters=3000&fuelCode=B027&sort=price
GET /api/opinet/stations/around?location=강남역&radiusMeters=3000&fuelCode=B027&sort=price
GET /api/opinet/stations/around?x=314681.8&y=544837&radiusMeters=3000&fuelCode=B027&sort=price
GET /api/opinet/station?id=A0010207

오피넷 API 키는 OPINET_API_KEY 환경 변수 또는 Cloudflare Worker Secret으로 설정합니다. 키 발급은 오피넷 웹사이트의 유가관련정보 > 유가정보 API > 인증키 발급에서 진행합니다. 반경 검색은 lat/lng, location, KATEC x/y를 모두 지원하며, location 검색에는 GOOGLE_MAPS_API_KEY가 필요합니다.

운영 제약 및 캐싱 정책:

  • 오피넷 무료 API는 한국석유공사 공공데이터 활용 가이드 기준 1일 1,500 call 한도를 기준으로 운영합니다.
  • 모든 오피넷 응답에는 source: "한국석유공사 오피넷"fetchedAt을 포함합니다.
  • Cloudflare Edge Cache로 동일 GET 요청의 원본 오피넷 호출을 줄입니다.
  • GET /api/opinet/average: 60분 캐시, 30분 stale-while-revalidate
  • GET /api/opinet/lowest: 30분 캐시, 10분 stale-while-revalidate
  • GET /api/opinet/stations/around: 20분 캐시, 5분 stale-while-revalidate
  • GET /api/opinet/station: 60분 캐시, 10분 stale-while-revalidate
  • location 키워드의 Google Geocoding 결과는 Worker 인스턴스 메모리에서 24시간 캐시합니다.
  • 호출 한도에 자주 도달하면 운영자가 담당 기관인 한국석유공사/오피넷에 문의해 추가 할당량 또는 별도 이용 조건을 협의할 예정입니다.

개발자 요청 제출

AI 에이전트가 MCP 기능 오류, 개선 요청, 신규 기능 요청, 문서 문제를 바로 개발자에게 전달할 수 있습니다. 요청은 Supabase agent_requests 테이블에 저장됩니다.

MCP 도구:

submit_developer_request

REST:

POST /api/feedback/requests
GET /api/feedback/requests?type=bug&title=제목&description=설명

로컬 실행이나 배포 환경에는 SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY를 설정하세요. 테이블 스키마는 supabase-agent-requests.sql에 있습니다.

운영 헬스 체크

공개 상태 페이지: Daiso MCP Status

주변 음식점/카페 검색은 네이버 지역 검색 API를 사용합니다. 로컬 실행이나 배포 환경에는 NAVER_CLIENT_ID, NAVER_CLIENT_SECRET을 설정하세요.

서비스별 API 상태를 즉시 확인할 때는 GET /api/health/checks를 사용합니다. 이 엔드포인트는 HEALTH_CHECK_SECRET 환경 변수가 설정되어 있어야 하며, 요청에는 Authorization: Bearer <secret> 또는 x-health-check-key: <secret> 헤더가 필요합니다. 내부 체크 요청의 기준 URL은 HEALTH_CHECK_BASE_URL로 지정할 수 있습니다.

curl -H "Authorization: Bearer $HEALTH_CHECK_SECRET" \
  "https://mcp.aka.page/api/health/checks?mode=full&fresh=true&includeSamples=true&timeoutMs=20000&slowThresholdMs=9000"

주요 쿼리:

  • service=gs25: 특정 서비스만 확인
  • check=lottemart.products: 특정 체크만 확인
  • mode=quick|deep|full: 체크 모드 선택
  • fresh=true: 60초 캐시 우회
  • includeSamples=true: 첫 결과 이름 샘플 포함
  • timeoutMs=20000: 체크별 요청 제한 시간
  • slowThresholdMs=9000: 지정 시간보다 느린 성공 응답을 degraded로 표시

상태 기준:

  • ok: 필수 응답 구조와 최소 결과가 정상입니다.
  • degraded: 기능은 살아 있지만 빈 결과, 느린 응답, 응답 구조 변화 등 확인이 필요합니다.
  • fail: 외부 API 오류, 타임아웃, 인증 문제처럼 실제 장애로 봐야 합니다.

Better Stack 같은 외부 모니터링에서는 fail을 장애 알림 기준으로 보고, degraded는 느린 외부 API나 응답 품질 저하를 추적하는 경고 신호로 봅니다.

배포 전 로컬에서 CLI 모드까지 확인할 때는 아래 명령을 사용합니다.

npm run cli:smoke

기본 openapi.json은 OpenAI Actions import 제한에 맞추기 위해 GET /api/actions/query 단일 facade만 노출합니다. 기존 서비스별 GET API는 유지되며, 자세한 배경은 OpenAPI Actions Facade 문서에 정리했습니다.

인터랙티브 예시:

$ npx daiso
daiso 인터랙티브 모드

[서비스 선택]
1. 다이소
2. 올리브영
3. CU
서비스 번호를 선택하세요 (0: 종료): 1

매장 검색 키워드를 입력하세요: 강남

[매장 선택]
1. 다이소 강남점 | 서울 강남구 ...
2. 다이소 강남역점 | 서울 강남구 ...
입력: 번호 선택 | /키워드 필터 | all 전체보기 | 0 다시 검색
선택: /역점
선택: 1

[선택한 매장 정보]
- 매장명: 다이소 강남역점
- 주소: 서울 강남구 ...
- 전화: 02-...

찾을 상품 키워드를 입력하세요: 수납박스

[상품 선택]
1. 손잡이 수납박스 (2000원, ID: 1034604)
2. 접이식 수납박스 (3000원, ID: 1034605)
입력: 번호 선택 | /키워드 필터 | all 전체보기 | 0 취소
선택: 1

[재고 결과]
- 상품: 손잡이 수납박스
- 매장: 다이소 강남역점
- 재고 수량: 7

[다음 동작]
1. 같은 매장에서 다른 상품 찾기
2. 다른 매장/서비스 다시 선택하기
3. 종료하기
번호를 선택하세요: 3
인터랙티브 모드를 종료합니다.

미지원 서비스

서비스 상태
Gemini Google Gemini ❌ 미지원
Copilot GitHub Copilot ❌ 미지원

Special Thanks

이 프로젝트에 도움 주신 분들께 감사드립니다.

  • @thecats1105: 다이소 진열 위치 조회 도구(daiso_get_display_location) 구현 및 API/테스트 연동
  • @betterthanhajin: CGV 서비스 프로바이더 구현(극장/영화/시간표 도구, 라우트·스펙·테스트 추가)
  • @LLagoon3: 다이소 매장 재고 조회 신규 인증 흐름 전환 및 관련 테스트 보강
  • 제로초님: 프로젝트 홍보 도움



상세 문서

Special Thanks 이후에 있던 상세 설명은 별도 문서로 분리했습니다.




docs 문서

공통 가이드

다이소

CU

이마트24

롯데마트

공통

올리브영

영화관

GS25




MIT License



신규 MCP 기능 추가 시 유의사항

새로운 서비스나 도구를 추가할 때는 구현만 끝내지 말고 아래 반영 범위를 함께 확인해야 합니다.

  • MCP: src/index.ts 서비스 등록, 루트 서비스/도구 목록, 관련 테스트 반영
  • HTTPS: GET API 핸들러/라우트, 프롬프트 페이지(src/pages/prompt.ts), 앱 통합 테스트 반영
  • CLI: src/cli.ts, src/cliHelp.ts, CLI 테스트 반영
  • AI instruction: ai-instruction.md 사용 규칙/워크플로우 반영
  • README: 지원 서비스 설명, 예시, 문서 링크 반영
  • OpenAPI: 기본 /openapi.json facade 스펙, /openapi-full.json 전체 스펙, 관련 테스트 반영

기능 추가 후 최소 검증 기준:

  • npm run typecheck
  • npm test