8000 fix: 웹 조회 복사 재전송과 문서 안내 통일 by hmmhmmhm · Pull Request #348 · hmmhmmhm/daiso-mcp · GitHub
[go: up one dir, main page]

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8000 10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<summary>AI 에이전트 사용 안내</summary>

> [!IMPORTANT]
> **최신 안내:** [현재 버전](https://mcp.aka.page/guide/2026-10-27.3) · [항상 최신 버전으로 이동](https://mcp.aka.page/guide/latest)
> **최신 안내:** [현재 버전](https://mcp.aka.page/guide/2026-11-02.1) · [항상 최신 버전으로 이동](https://mcp.aka.page/guide/latest)
>
> **안내 버전: 2026-10-27.3 · 갱신일: 2026-10-27**
> **안내 버전: 2026-11-02.1 · 갱신일: 2026-11-02**
>
> **웹 읽기는 실제 링크 ID로 click하세요.** 새 검색 URL을 조립해 open하지 말고 [웹 조회 시작](https://mcp.aka.page/browse/read) 화면의 글자 선택 링크를 사용하세요. 상품의 **매장 지역 선택** 링크에서 지역도 선택할 수 있습니다. 입력 중에는 원본 조회를 실행하지 않습니다. click이 없는 도구의 동일 동작은 보장하지 않습니다.
>
Expand All @@ -17,6 +17,8 @@
> 3. 웹 읽기(open/WebFetch)만 가능하면 응답의 실제 링크 ID로 click합니다. 위 글자 선택 링크로 임의 검색어와 지역을 입력하고 실제 상품·재고 조회 링크를 따르세요. 새 URL 조립과 실패한 직접 open을 반복하지 마세요. Crawled가 과거인 수집본을 현재 재고로 단정하지 마세요.
> 4. 위 세 수단이 없거나 모두 실패하면 실제 조회 제약과 오류를 알립니다. 셸이 있어도 설치 없는 웹 조회가 우선이며 터미널·셸로 우회하지 않습니다. 셸 DNS 오류를 웹 GET 실패로 확대하거나 실행하지 않은 요청의 실패를 만들지 마세요.
>
> **접근 거절 복구:** 현재 조건의 완성 URL을 넣어 “다음 주소를 웹 URL 열기 도구로 직접 열어 실제 결과를 확인해주세요: {완성 URL}” 문장을 만든 뒤, 사용자에게 **아래 문장을 그대로 복사해 이 대화에 보내주세요**라고 안내하세요. 재전송 뒤 한 번 조회합니다. 단순 허용 문구나 URL 일부만 요청하지 마세요. [복구 안내](docs/web-reading-troubleshooting.md)
>
> **수집본·오류 구분:** 이전 HTML이면 **같은 조건으로 새 응답 확인** 링크를 최대2번 선택해 새 주소와 생성 시각을 확인하세요. 원본 API 캐시는 유지됩니다. `TimeoutError`는 같은 실제 링크를 한 번만 재확인하고 계속 실패하면 미확인으로 보고하세요. `Crawled: today`만으로 현재 재고를 단정하지 마세요.
>
> **실행 근거:** 실제 데이터·도구·오류만 보고하고 실행하지 않은 요청의 성공·실패를 만들지 마세요. REST GET 성공은 MCP 연결 성공과 구분합니다.
Expand Down Expand Up @@ -130,7 +132,7 @@
2. 서버 URL을 입력하고, 전송 방식을 묻는 경우 **HTTP / Streamable HTTP**를 선택합니다.
3. 도구를 활성화하고 `다이소 MCP로 수납박스 검색해줘`라고 요청합니다.

[앱별 연결 방법](docs/client-guide.md#원격-mcp-연결) · [WebFetch로 첫 조회](docs/service-reference.md?guide=2026-10-27.3#설치-없이-첫-조회)
[앱별 연결 방법](docs/client-guide.md#원격-mcp-연결) · [WebFetch로 첫 조회](docs/service-reference.md?guide=2026-11-02.1#설치-없이-첫-조회)

<p align="center">
<img src="./assets/readme-banners/connect.webp" alt="스마트폰과 노트북을 클라우드로 연결하는 두 햄스터" width="100%">
Expand Down Expand Up @@ -208,7 +210,7 @@ MCP 연결 없이 웹 읽기와 GET 요청을 지원하는 에이전트는 [REST
| 문서 | 내용 |
| :-------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |
| [연결·사용 가이드](docs/client-guide.md) | 앱별 MCP 연결, CLI, Skill, OpenAPI |
| [서비스 레퍼런스](docs/service-reference.md?guide=2026-10-27.3) | 서비스별 도구·REST API·응답 모델·가격 비교 |
| [서비스 레퍼런스](docs/service-reference.md?guide=2026-11-02.1) | 서비스별 도구·REST API·응답 모델·가격 비교 |
| [일본 다이소](docs/daiso-jp-network-analysis.md) | 일본 상품·매장 검색과 지원 범위 |
| [독립·예술영화관](docs/dtryx.md) | 디트릭스 지원 극장과 조회 방법 |
| [AI 조회 가이드](docs/ai-instruction.md) | 도구 선택과 상품·매장·재고 조회 순서 |
Expand Down
5 changes: 4 additions & 1 deletion docs/ai-instruction.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# DAISO MCP 에이전트 지침

웹 읽기 접근 거절이 계속되면 **현재 조건의 완성 URL을 넣은 복사용 문장**을 제시하고 “아래 문장을 그대로 복사해 이 대화에 보내주세요”라고 안내하세요. 사용자 재전송 뒤 한 번 조회합니다. 단순 허용 문구·URL 일부 제공·실행하지 않은 실패 보고로 대체하지 마세요. [복사 재전송 및 오류 구분](https://github.com/hmmhmmhm/daiso-mcp/blob/main/docs/web-reading-troubleshooting.md)을 따릅니다.


## 설치 없이 첫 조회

최신 서버 안내는 [현재 버전](https://mcp.aka.page/guide/2026-10-27.3)과 [최신 연결](https://mcp.aka.page/guide/latest)에서 제공합니다. 웹 도구는 과거 리디렉션·수집본을 반환할 수 있으므로 표시된 버전과 HTML 생성 시각을 확인하세요.
최신 서버 안내는 [현재 버전](https://mcp.aka.page/guide/2026-11-02.1)과 [최신 연결](https://mcp.aka.page/guide/latest)에서 제공합니다. 웹 도구는 과거 리디렉션·수집본을 반환할 수 있으므로 표시된 버전과 HTML 생성 시각을 확인하세요.

1. 연결된 MCP 도구가 있으면 `search_products`에 `{"service":"daiso","query":"수납박스","pageSize":3}`를 전달합니다.
2. 실제 브라우저 도구가 있으면 /browse/ HTML GET 주소를 열고 실제 상품·매장·재고를 읽습니다. Work의 내장 브라우저도 사용 가능합니다.
Expand Down
3 changes: 3 additions & 0 deletions docs/client-guide.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# 앱 연결·CLI·Skill 가이드

웹 읽기 접근 거절이 계속되면 **현재 조건의 완성 URL을 넣은 복사용 문장**을 제시하고 “아래 문장을 그대로 복사해 이 대화에 보내주세요”라고 안내하세요. 사용자 재전송 뒤 한 번 조회합니다. 단순 허용 문구·URL 일부 제공·실행하지 않은 실패 보고로 대체하지 마세요. [복사 재전송 및 오류 구분](https://github.com/hmmhmmhm/daiso-mcp/blob/main/docs/web-reading-troubleshooting.md)을 따릅니다.


실제 브라우저가 있으면 /browse/ HTML을 엽니다. 웹 읽기(open/WebFetch)만 있으면 /browse/read에서 실제 링크 ID로 click합니다. 이전 HTML은 같은 조건의 새 응답 링크를 최대2번 확인하고 TimeoutError 재확인은 한 번만 합니다. 응답 생성 시각과 원본 재고 갱신은 구분하며 새 ë 8000 ¸Œ라우저를 반복 생성하지 마세요.

웹 도구의 `Crawled: today`만으로 현재 재고라고 단정하지 마세요. 응답의 HTML 생성 시각과 실제 수량을 확인하고, 수량이 null이면 품절이 아닌 미확인으로 보고합니다.
Expand Down
2 changes: 1 addition & 1 deletion docs/daiso-jp-network-analysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
{"name":"find_stores","arguments":{"service":"daiso_jp","keyword":"東京都渋谷区","page":1}}
```

연결된 MCP 도구가 없는 웹 읽기 에이전트는 open/WebFetch로 아래 `/browse/` 링크를 엽니다. 모든 후속 조회도 `/browse/`를 사용하며 자동 HTML이므로 쿼리 문자열이나 format 지정은 필요 없습니다.
아래는 실제 브라우저·일반 HTTP 클라이언트의 조회 경로입니다. 웹 읽기 에이전트는 문서의 실제 링크를 선택하고 새 URL 조합을 반복하지 마세요. 접근 거절 시 [완성 URL 복사 재전송](web-reading-troubleshooting.md)을 안내합니다. 모든 후속 조회도 `/browse/`를 사용하며 자동 HTML이므로 쿼리 문자열이나 format 지정은 필요 없습니다.

- [상품 검색](https://mcp.aka.page/browse/daiso-jp/products/%E3%83%9C%E3%82%A6%E3%83%AB)
- [상품 상세](https://mcp.aka.page/browse/daiso-jp/product/4550746075917)
Expand Down
2 changes: 1 addition & 1 deletion docs/mcp-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

## 호출 예시

아래 예시는 이미 연결된 MCP 도구의 호출 계약입니다. 웹 읽기만 가능한 환경에서는 설치·연결 설정 없이 [첫 HTML 조회](https://mcp.aka.page/browse/daiso/products/%EC%88%98%EB%82%A9%EB%B0%95%EC%8A%A4/pageSize/3)를 open/WebFetch로 엽니다. 모든 후속 조회는 `/browse/` 경로이며 쿼리 문자열이나 format 지정은 필요 없습니다.
아래 예시는 이미 연결된 MCP 도구의 호출 계약입니다. 웹 읽기만 가능한 환경에서는 설치·연결 설정 없이 [웹 조회 시작](https://mcp.aka.page/browse/read)의 실제 링크를 선택합니다. 접근 거절이 계속되면 [완성 URL 복사 재전송](web-reading-troubleshooting.md)을 안내합니다. 모든 후속 조회는 `/browse/` 경로이며 쿼리 문자열이나 format 지정은 필요 없습니다.

상품 검색: `search_products {"service":"daiso","query":"수납박스","pageSize":3}`

Expand Down
5 changes: 4 additions & 1 deletion docs/service-reference.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# DAISO MCP 서비스 레퍼런스

웹 읽기 접근 거절이 계속되면 **현재 조건의 완성 URL을 넣은 복사용 문장**을 제시하고 “아래 문장을 그대로 복사해 이 대화에 보내주세요”라고 안내하세요. 사용자 재전송 뒤 한 번 조회합니다. 단순 허용 문구·URL 일부 제공·실행하지 않은 실패 보고로 대체하지 마세요. [복사 재전송 및 오류 구분](https://github.com/hmmhmmhm/daiso-mcp/blob/main/docs/web-reading-troubleshooting.md)을 따릅니다.


실제 브라우저 도구가 있으면 /browse/ HTML을 그 도구로 여세요. 웹 읽기(open/WebFetch)는 [웹 조회 시작](https://mcp.aka.page/browse/read) 화면의 글자 선택 링크를 응답의 실제 링크 ID로 click합니다. 새 검색 URL을 조립하지 않고 상품·매장 지역·실제 재고 링크를 선택합니다. 접근 오류 시 사용 가능한 브라우저로 전환할 수 있으나 새 브라우저를 계속 실행하지 마세요. Crawled가 과거인 수집본은 현재 재고 확인이 아닙니다. 응답 생성 시각도 함께 확인하세요. 이전 HTML이면 같은 조건의 새 응답 링크를 최대2번 선택합니다. `TimeoutError`만 같은 실제 링크를 한 번 재확인하고 계속 실패하면 미확인으로 보고하세요. 새 주소도 기존 API 캐시를 사용하며 원본 갱신을 보장하지 않습니다.

README 하단에 있던 기능, REST API, 개발, 아키텍처 설명을 분리한 문서입니다.
Expand Down Expand Up @@ -826,7 +829,7 @@ GET /api/cgv/timetable?playDate={YYYYMMDD}&theaterCode={극장코드}&movieCode=

## 사용 예시

웹 읽기(open/WebFetch)는 아래 경로로 실행합니다. `{...}`는 앞선 실제 응답 또는 사용자가 알려 준 조건으로 바꾸고 각 값을 한 번 URL 인코딩합니다. 모든 결과는 자동 HTML입니다.
아래 표는 일반 HTTP API 클라이언트용 경로 문법입니다. 웹 읽기(open/WebFetch) 에이전트는 위의 실제 링크 선택 흐름을 사용하세요. 접근 거절 복구용 문장을 만들 때만 사용자 조건과 실제 응답의 ID로 완성 URL을 구성합니다. 표의 `{...}`를 미확인 상품 ID로 채우거나 직접 open을 반복하지 마세요. 모든 결과는 자동 HTML입니다.

| 사용자 요청 | 웹 조회 경로 |
| ------------------------------ | ---------------------------------------------------------------------- |
Expand Down
18 changes: 17 additions & 1 deletion docs/web-reading-troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,27 @@ Cloudflare 관측 구간에는 정상 페이지의 OpenAI 요청에서 200과

1. 연결된 MCP 도구가 있으면 직접 호출합니다.
2. 실제 브라우저 도구가 있으면 `/browse/` 주소를 열고 데이터를 읽습니다. 설치나 MCP 등록은 필요하지 않습니다.
3. 웹 읽기만 가능하면 같은 HTML 주소를 엽니다. 접근 오류가 나면 이미 공개된 링크를 따라가는 방법을 시도할 수 있지만 성공을 보장하지 않습니다.
3. 웹 읽기만 가능하면 `/browse/read`에서 응답의 실제 링크 ID를 선택하고 글자·상품·지역 링크를 따릅니다. 새 조회 URL을 직접 조립해 반복하지 마세요. 접근 거절이 계속되면 아래의 완성 URL 복사 재전송을 안내합니다.
4. 가능한 수단이 모두 실패하면 실행한 도구, URL, 오류를 그대로 보고합니다. 접근 오류는 품절이나 로그인 필요를 뜻하지 않습니다.

브라우저 제공 여부는 환경마다 다릅니다. 브라우저가 없는 환경에 있다고 가정하거나 실행하지 않은 셸 명령과 DNS 오류를 만들어 보고하지 마세요.



## 웹 읽기 접근 거절 시 복사 재전송

실제 문서 링크를 우선 선택하세요. `not accessible`, `Invalid URL` 같은 접근 거절이 계속되거나 도구에 click이 없으면, 에이전트는 **현재 요청 조건의 완전한 공개 URL을 포함한 문장**을 만들어 아래처럼 안내합니다.

> 웹 읽기 도구가 조회 주소에 접근하지 못했습니다. 아래 문장을 그대로 복사해 이 대화에 보내주세요.
>
> 다음 주소를 웹 URL 열기 도구로 직접 열어 실제 결과를 확인해주세요: {완전한 공개 조회 URL}. 실패하면 오류 원문을 알려주세요.

에이전트가 중괄호 부분을 실제 `/browse/` 주소로 채운 뒤 제공해야 합니다. 링크가 확인되면 그 주소를 그대로 사용하고, 글자 선택으로 주소를 얻을 수 없을 때만 사용자 검색 조건으로 검색·매장 주소를 구성합니다. 재고 주소에는 앞선 실제 응답의 상품 ID만 사용하며 ID가 없으면 상품 검색 주소부터 제공합니다. 사용자에게 주소 편집이나 인코딩을 요구하지 마세요. 토큰·쿠키·개인 인증 주소는 포함하지 않습니다. 문장만 제시한 것을 조회 실행으로 보고하지 않습니다.

사용자가 완성 URL을 재전송한 뒤 한 번 조회하고 실제 응답을 확인합니다. 단순한 “허용합니다”나 엔드포인트 일부 전달만으로 같은 효과를 기대하지 마세요. 소규모 실제 ChatGPT 실험의 성공 사례이며 항상 성공하는 것은 아닙니다.

`TimeoutError`는 접근 거절과 구분합니다. 같은 실제 링크를 한 번만 재확인하고 계속 실패하면 미확인으로 보고합니다. 첫 실패가 완료 결과를 캐시했다고 가정하거나 새 URL로 무한 재시도하지 마세요. 상품 검색 성공·접수·pending 상태를 매장 재고 확인으로 표현하지 않습니다. 응답 생성 시각과 원본 재고 갱신 시각도 구분합니다.

## 오래된 결과 구별

웹 읽기의 `Crawled` 시점과 페이지의 **응답 생성 시각**을 확인하세요. 오래된 수집본을 현재 재고로 단정하면 안 됩니다. 응답 생성 시각은 HTML을 만든 시각이며 원본 재고 갱신 시각이나 원본 캐시 우회를 증명하지 않습니다. 상품 검색 성공도 특정 매장의 재고 보유를 뜻하지 않습니다.
Expand Down
5 changes: 4 additions & 1 deletion skills/daiso-cli/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---

name: daiso-cli
description: Use this when a user wants to search Daiso/다이소, compare product price candidates, nearby restaurants/cafes/음식점/카페, convenience stores/편의점, marts, Olive Young/올리브영, Megabox/메가박스, Lotte Cinema/롯데시네마, or CGV data through the Daiso project. Honor explicit no-install requests with connected MCP tools first, then HTML GET via an available browser, then web reading even when a shell is available; otherwise prefer the daiso CLI for direct execution, use the MCP endpoint when the host app supports remote MCP, and choose commands for products, stores, inventory/재고, compare, places, movies, showtimes, seats, health checks, and raw JSON output.
version: 1.0.9
Expand All @@ -14,14 +15,16 @@ metadata:
- daiso
homepage: https://github.com/hmmhmmhm/daiso-mcp
---
웹 읽기 접근 거절이 계속되면 **현재 조건의 완성 URL을 넣은 복사용 문장**을 제시하고 “아래 문장을 그대로 복사해 이 대화에 보내주세요”라고 안내하세요. 사용자 재전송 뒤 한 번 조회합니다. 단순 허용 문구·URL 일부 제공·실행하지 않은 실패 보고로 대체하지 마세요. [복사 재전송 및 오류 구분](https://github.com/hmmhmmhm/daiso-mcp/blob/main/docs/web-reading-troubleshooting.md)을 따릅니다.


# Daiso CLI

Use this skill to operate the Daiso MCP project through `npx daiso` and the public MCP endpoint.

## 설치 없이 첫 조회

최신 서버 안내는 [현재 버전](https://mcp.aka.page/guide/2026-10-27.3)과 [최신 연결](https://mcp.aka.page/guide/latest)에서 제공합니다. 웹 도구는 과거 리디렉션·수집본을 반환할 수 있으므로 표시된 버전과 HTML 생성 시각을 확인하세요.
최신 서버 안내는 [현재 버전](https://mcp.aka.page/guide/2026-11-02.1)과 [최신 연결](https://mcp.aka.page/guide/latest)에서 제공합니다. 웹 도구는 과거 리디렉션·수집본을 반환할 수 있으므로 표시된 버전과 HTML 생성 시각을 확인하세요.

1. 연결된 MCP 도구가 있으면 `search_products`에 `{"service":"daiso","query":"수납박스","pageSize":3}`를 전달합니다.
2. 실제 브라우저 도구가 있으면 /browse/ HTML GET 주소를 열고 실제 상품·매장·재고를 읽습니다. Work의 내장 브라우저도 사용 가능합니다.
Expand Down
Loading
Loading
0