Content
<div align="center">
<img src="./assets/logo.svg" alt="Daiso MCP" width="120" height="120">
<br>
<br>
# Tool List
Daiso MCP and Skill connect to AI with MCP, CLI, and Codex Skill for:
- Daiso (products, stores, inventory)
- Product price comparison
- Nearby restaurants/cafes
- Gas stations/oil prices
- Developer request submission
- Lotte Mart (stores/products)
- GS25 (stores/products/inventory)
- 7-Eleven (products/stores/inventory/popular search terms/catalog)
- CU (stores/inventory)
- Emart24 (stores/products/inventory)
- Olive Young (stores/inventory)
- Megabox (theaters/movies/schedules/seats)
- Lotte Cinema (theaters/movies/seats)
- CGV (theaters/movies/schedules)
<br>
**MCP:** `https://mcp.aka.page` · **CLI:** `npx daiso` · **Skill:** `clawhub install daiso-cli`
**ClawHub:** [clawhub.ai/hmmhmmhm/daiso-cli](https://clawhub.ai/hmmhmmhm/daiso-cli)
This tool connects local retail, living information, and movie theater inquiries to AI using MCP, CLI, and Codex Skill.
Users do not need to prepare separate API keys and can use it immediately.
<br>
<h3>Supported Services</h3>
<table>
<thead>
<tr>
<th>Category</th>
<th>Service</th>
<th>Inquiry Function</th>
</tr>
</thead>
<tbody>
<tr>
<td>Location</td>
<td>Naver Local Search</td>
<td>Restaurants, cafes, desserts, nearby places</td>
</tr>
<tr>
<td>Transportation</td>
<td>Opinet</td>
<td>National average oil price, lowest price gas station, location-based gas station, gas station details</td>
</tr>
<tr>
<td>Comparison</td>
<td>Daiso, GS25, 7-Eleven, Emart24</td>
<td>Price comparison of same product from different sellers</td>
</tr>
<tr>
<td>Operation</td>
<td>Supabase</td>
<td>MCP error, improvement requests, new feature requests storage</td>
</tr>
<tr>
<td>Retail</td>
<td>Daiso, Olive Young, Lotte Mart</td>
<td>Products, stores, inventory</td>
</tr>
<tr>
<td>Convenience Store</td>
<td>GS25, 7-Eleven, CU, Emart24</td>
<td>Products, stores, inventory, popular search terms, catalog</td>
</tr>
<tr>
<td>Movie Theater</td>
<td>CGV, Megabox, Lotte Cinema</td>
<td>Theaters, movies, schedules, remaining seats</td>
</tr>
</tbody>
</table>
<br>
[](https://opensource.org/licenses/MIT)
[](https://workers.cloudflare.com/)
[](https://modelcontextprotocol.io/)
[](https://github.com/hmmhmmhm/daiso-mcp/actions/workflows/coverage.yml)
[](https://github.com/hmmhmmhm/daiso-mcp/actions/workflows/coverage.yml)
[](https://aka-page.betteruptime.com/)
**[View Real-time Service Status](https://aka-page.betteruptime.com/)**
<!-- WORKERS_INVOCATIONS_CHART:START -->
<h3>Cloudflare Workers Invocation (2026-05-05 ~ 2026-06-03, 30 days)</h3>
<img src="./assets/analytics/workers-invocations.png?v=2026-06-03T17:00:30.706Z" alt="Cloudflare Workers Invocation Graph (2026-05-05 ~ 2026-06-03)" width="100%">
<sub>Worker: <code>daiso-mcp</code> · Last Update: 2026-06-04 02:00 KST</sub>
<!-- WORKERS_INVOCATIONS_CHART:END -->
<br>
<br>
<img src="https://i.imgur.com/mPwS4Kv.png" width="400"> <img src="https://i.imgur.com/MrndJ3g.png" width="400">
</div>
<br>
---
<br>
## Connecting MCP to AI Apps
You can connect to AI apps like ChatGPT, Claude, and Grok and use it directly.
Follow the app-specific guides below to link and then request search/inventory/movie inquiries.
<br>
### 
> Feedback indicates that MCP integration is difficult, so a directly usable GPT app has been added.
You can use it easily on mobile with the link below!
**[Daiso MCP GPT App](https://chatgpt.com/g/g-69a5266c32108191b71a24642dc63f9e-daiso-mcp)**
Quick usage examples:
```
Search for storage boxes using Daiso MCP
Compare where cola is cheaper
Find Olive Young stores near Myeong-dong using MCP
Find Emart24 stores near Gangnam and check Dubai inventory
Find Lotte Mart stores near Jamsil
Check cola inventory at Lotte Mart Gangbyeon branch
Find GS25 stores near Gangnam and check O-gamja inventory
Search for triangular rice balls at 7-Eleven using MCP
Find 7-Eleven stores near Angang Station
Check Hot Six inventory at 7-Eleven near Angang Station
Summarize popular search terms and catalog for 7-Eleven
Find cafes near Gangnam Station
Find brunch restaurants near Seongsu-dong
Find the cheapest gas station near Gangnam Station
Tell me the national average gasoline price today
Find movie showtimes and remaining seats at Gangnam Megabox
Find movie showtimes and remaining seats at Lotte Cinema World Tower
Find movies and showtimes at Gangnam CGV
```
Representative flow that agents should follow:
- Price comparison: `Where is cola cheaper?` → `compare_products`
- Nearby places: `Find cafes near Gangnam Station` → `places_search_nearby`
- Gas stations/oil prices: `Find the cheapest gas station near Gangnam Station` → `opinet_search_stations_around`
- Brand-specific inventory: `Find Daiso Hot Six inventory` → Search Daiso first, then suggest alternatives if no results
- Convenience store inventory: `GS25 Gangnam O-gamja inventory` → Confirm product candidates, then check inventory
- Movie schedules: `Today's CGV schedule in Gangnam` → Search theaters with KST today, then check schedules
- Developer requests: `Tell the developer that the Olive Young inventory tool keeps failing` → `submit_developer_request`
<br>
### 
> Requires Pro/Max/Team/Enterprise plan · Web settings can be used on mobile apps
1. Go to **Settings** → **Connectors** on [claude.ai](https://claude.ai)
2. Click **Add custom connector**
3. Enter remote MCP server URL: `https://mcp.aka.page`
4. Click **Add** to complete
5. Activate by toggling in the chat window **+** button → **Connectors**
Usage examples:
```
Use Daiso MCP to search for storage boxes
Use Daiso MCP to find Gangnam Station area stores
Use Olive Young MCP to find Myeong-dong area stores
Use Olive Young MCP to check sunscreen inventory
Use Emart24 MCP to find Gangnam stores and check Dubai inventory
Use Lotte Mart MCP to find Jamsil area stores
Use Lotte Mart MCP to check cola inventory at Gangbyeon branch
Use GS25 MCP to find Gangnam stores and check O-gamja inventory
Use 7-Eleven MCP to find Angang Station area stores and check Hot Six inventory
```
Reference: [Claude Remote MCP Guide](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp)
<br>
### 
> Add MCP server to Claude Code CLI
```bash
claude mcp add daiso-mcp https://mcp.aka.page --transport http
```
<br>
### 
> Supports both web and mobile apps
**Prompt Page URL:**
```
https://mcp.aka.page/prompt
```
Usage:
1. Request Grok mobile app to read `https://mcp.aka.page/prompt` page
2. AI understands API usage and executes functions with GET requests
Example conversation:
```
User: Read https://mcp.aka.page/prompt
AI: (Reads the page and understands API usage)
User: Search for storage boxes
AI: (Calls https://mcp.aka.page/api/daiso/products?q=storage%20boxes and provides results)
User: Find Megabox theaters near Angang Station
AI: (Calls https://mcp.aka.page/api/megabox/theaters?keyword=%EC%9E%A0%EC%8B%A1%20%EC%A4%91%EB%8B%98%20%EC%A5%90%EB%A6%B0 and provides results)
User: Find Lotte Cinema theaters near Jamsil
AI: (Calls https://mcp.aka.page/api/lottecinema/theaters?keyword=%EC%9E%A0%EC%8B%A1%20%EB%B6%98 and provides results)
User: Tell me CGV schedule in Gangnam
AI: (Calls https://mcp.aka.page/api/cgv/timetable?playDate=20260304&theaterCode=0056 and provides results)
User: Find CGV near Angang Station and tell today's movies and schedule
AI: (Calls https://mcp.aka.page/api/cgv/theaters?playDate=20260315&keyword=%EC%9E%A0%EC%8B%A1%20%EC%A4%91%EB%8B%98 and provides results)
AI: (Calls https://mcp.aka.page/api/cgv/movies?playDate=20260315&keyword=%EC%9E%A0%EC%8B%A1%20%EC%A4%91%EB%8B%98 and provides results)
AI: (Calls https://mcp.aka.page/api/cgv/timetable?playDate=20260315&keyword=%EC%9E%A0%EC%8B%A1%20%EC%A4%91%EB%8B%98 and provides results)
```
<br>
### Try it out
You can try it out directly in the terminal without AI app connection.
```bash
npx daiso products storage%20boxes --json
npx daiso places Gangnam%20Station --category cafe --limit 5 --json
npx daiso gs25-inventory O-gamja --storeKeyword Gangnam --storeLimit 5 --json
npx daiso cgv-movies --playDate 20260520 --theaterCode 0056 --json
```
### MCP Server URL / CLI (Advanced)
Only for direct connection instead of AI app or for use in scripts.
MCP Server URL:
```
https://mcp.aka.page
```
CLI (npx):
```bash
# Interactive Mode (Recommended)
npx daiso
# Non-Interactive (CI/Scripts)
npx daiso --non-interactive
# Command Mode
npx daiso help
npx daiso help products
npx daiso url
npx daiso health
npx daiso claude
# Direct Query without AI
npx daiso products storage box
npx daiso product 1034604
npx daiso stores Gangnam Station
npx daiso inventory 1034604 --keyword Gangnam Station
npx daiso display-location 1034604 04515
npx daiso compare cola --limit 3
npx daiso places Gangnam Station --category cafe --limit 5
npx daiso places Seongsu-dong --keyword brunch --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 Gangnam
npx daiso cu-inventory snacks --storeKeyword Gangnam
npx daiso cgv-theaters Gangnam --limit 10
npx daiso cgv-movies --playDate 20260307 --theaterCode 0056
npx daiso cgv-timetable --playDate 20260307 --theaterCode 0056
npx daiso lottemart-stores Jamsil --area Seoul --limit 10
npx daiso lottemart-products cola --storeName Gangang Branch --area Seoul
npx daiso emart24-stores Gangnam --service24h true
npx daiso emart24-products Dubai --pageSize 20
npx daiso emart24-inventory 8800244010504 --bizNoArr 28339,05015
npx daiso gs25-stores Gangnam --limit 10
npx daiso gs25-products sweet potato --limit 20
npx daiso gs25-inventory sweet potato --storeKeyword Gangnam --storeLimit 10
npx daiso seveneleven-products triangle rice ball --size 20
npx daiso seveneleven-stores Ansan Central Station --limit 10
npx daiso seveneleven-inventory hot six --storeKeyword "Ansan Central Station" --storeLimit 10
npx daiso seveneleven-popwords --label home
npx daiso seveneleven-catalog --includeIssues true --includeExhibition true --limit 10
# Original JSON Needed
npx daiso products storage box --json
```
### Codex Skill
This repository provides not only MCP Server but also Codex Skill that allows agents to choose `npx daiso` CLI directly.
- ClawHub: `clawhub install daiso-cli`
- Public Page: `https://clawhub.ai/hmmhmmhm/daiso-cli`
- Skill File: `skills/daiso-cli/SKILL.md`
- Command Map: `skills/daiso-cli/references/cli-command-map.md`
- Basic Principle: Use CLI in shell-executable environments, and use MCP Server URL `https://mcp.aka.page` when AI app connection is required.
- If structured results are needed, choose the skill in the form of `npx daiso ... --json`.
- Recipes for each situation are organized based on actual user sentences, such as `Where is cheap cola?`, `Cafes near Gangnam Station`, `Daiso hot six inventory`, and `Today's movie schedule at Gangnam CGV`.
### OpenAPI Specification
- OpenAI Chatbot Registration Abbreviated Spec: `https://mcp.aka.page/openapi.json`
- OpenAI Chatbot Registration YAML: `https://mcp.aka.page/openapi.yaml`
- Full Individual Endpoint Spec (JSON): `https://mcp.aka.page/openapi-full.json`
- Full Individual Endpoint Spec (YAML): `https://mcp.aka.page/openapi-full.yaml`
### MCP Standard Response Model
MCP tool responses maintain the original fields of each service and provide a `standard` field for clients to create a common UI.
- `standard.products`: Normalize product/movie lists into `code`, `name`, `price`, `imageUrl`, and `raw` formats.
- `standard.stores`: Normalize store lists into `code`, `name`, `address`, `distanceMeters`, and `raw` formats.
- `standard.theaters`: Normalize theater lists into `code`, `name`, `address`, `distanceMeters`, and `raw` formats.
- `standard.places`: Normalize place lists like restaurants/cafes into `name`, `address`, and `raw` formats.
### Integrated Product Price Comparison
Compare price candidates for the same product from multiple retail/convenience store search results.
```bash
npx daiso compare cola --limit 3 --json
```
REST:
```text
GET /api/compare/products?keyword=cola&limit=3
```
Supported services are `daiso`, `gs25`, `seveneleven`, and `emart24`. Services like GS25 that do not provide prices in their product search responses are included in the candidate list but excluded from the lowest price calculation.
### OPINET Fuel Information
Query national average fuel prices, regional lowest-price gas stations, gas stations within a radius, and gas station details using the Korea Petroleum Corporation OPINET fuel information API.
MCP Tool:
```text
opinet_get_average_prices
opinet_get_lowest_price_stations
opinet_search_stations_around
opinet_get_station_detail
```
REST:
```text
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= Gangnam Station&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
```
Set the OPINET API key using the `OPINET_API_KEY` environment variable or Cloudflare Worker Secret. Key issuance is available on the OPINET website under `Fuel-related Information > Fuel Information API > Authentication Key Issuance`. Radius searches support `lat/lng`, `location`, and KATEC `x/y`.
Operational constraints and caching policy:
- The OPINET free API operates under the Korea Petroleum Corporation Public Data Utilization Guide, with a limit of **1,500 calls per day**.
- All OPINET responses include `source: "Korea Petroleum Corporation OPINET"` and `fetchedAt`.
- Cloudflare Edge Cache reduces the number of original OPINET calls for the same GET request.
- `GET /api/opinet/average`: 60-minute cache, 30-minute stale-while-revalidate
- `GET /api/opinet/lowest`: 30-minute cache, 10-minute stale-while-revalidate
- `GET /api/opinet/stations/around`: 20-minute cache, 5-minute stale-while-revalidate
- `GET /api/opinet/station`: 60-minute cache, 10-minute stale-while-revalidate
- Google Geocoding results for `location` keywords are cached for 24 hours in the Worker instance memory.
- If the call limit is frequently reached, the operator will contact the Korea Petroleum Corporation/OPINET to discuss additional allocation or separate utilization conditions.
### Developer Request Submission
AI agents can submit MCP functional errors, improvement requests, new feature requests, and documentation issues directly to developers. Requests are stored in the Supabase `agent_requests` table.
MCP Tool:
```text
submit_developer_request
```
REST:
```text
POST /api/feedback/requests
GET /api/feedback/requests?type=bug&title=Title&description=Description
```
Set `SUPABASE_URL` and `SUPABASE_SERVICE_ROLE_KEY` for local execution or deployment environments. The table schema is available in [supabase-agent-requests.sql](./docs/supabase-agent-requests.sql).
### Health Check
Public status page: **[Daiso MCP Status](https://aka-page.betteruptime.com/)**
Nearby restaurant/cafe searches use the Naver Maps API. Set `NAVER_CLIENT_ID` and `NAVER_CLIENT_SECRET` for local execution or deployment environments.
Use `GET /api/health/checks` to check the API status of each service immediately. This endpoint requires the `HEALTH_CHECK_SECRET` environment variable to be set, and the request should include the `Authorization: Bearer <secret>` or `x-health-check-key: <secret>` header.
```bash
curl -H "Authorization: Bearer $HEALTH_CHECK_SECRET" \
"https://mcp.aka.page/api/health/checks?mode=full&fresh=true&includeSamples=true&timeoutMs=20000&slowThresholdMs=9000"
```
Main queries:
- `service=gs25`: Check a specific service only
- `check=lottemart.products`: Check a specific check only
- `mode=quick|deep|full`: Choose the check mode
- `fresh=true`: Bypass 60-second cache
- `includeSamples=true`: Include the first result name sample
- `timeoutMs=20000`: Request limit time per check
- `slowThresholdMs=9000`: Mark successful responses slower than the specified time as degraded
Status criteria:
- `ok`: The response structure and minimum results are normal.
- `degraded`: The function is alive but needs confirmation due to empty results, slow responses, or changes in the response structure.
- `fail`: Actual issues like external API errors, timeouts, or authentication problems.
External monitoring tools like Better Stack report `fail` as the alert criterion and track `degraded` as a warning signal for slow external APIs or response quality degradation.
Use the following command to check the CLI mode locally before deployment:
```bash
npm run cli:smoke
```
The default `openapi.json` exposes a single facade of `GET /api/actions/query` to comply with OpenAI Actions import limitations. Detailed backgrounds are documented in [OpenAPI Actions Facade documentation](./docs/openapi-actions-facade.md).
Interactive example:
```text
$ npx daiso
Daiso interactive mode
[Service Selection]
1. Daiso
2. Olive Young
3. CU
Select a service number (0: Exit): 1
Enter a store search keyword: Gangnam
[Store Selection]
1. Daiso Gangnam Branch | Seoul Gangnam-gu ...
2. Daiso Gangnam Station Branch | Seoul Gangnam-gu ...
Input: Select a number | /keyword filter | all View all | 0 Search again
Selection: /Station Branch
Selection: 1
[Selected Store Information]
- Store Name: Daiso Gangnam Station Branch
- Address: Seoul Gangnam-gu ...
- Phone: 02-...
Enter a product keyword: storage box
[Product Selection]
1. Handle storage box (2000 KRW, ID: 1034604)
2. Foldable storage box (3000 KRW, ID: 1034605)
Input: Select a number | /keyword filter | all View all | 0 Cancel
Selection: 1
[Inventory Result]
- Product: Handle storage box
- Store: Daiso Gangnam Station Branch
- Inventory quantity: 7
[Next Action]
1. Find another product at the same store
2. Select another store/service
3. Exit
Select a number: 3
Interactive mode ends.
```
<br>
### Unsupported Services
| Service | Status |
| :---------------------------------------------------------------------------------------------------- | :-------- |
|  Google Gemini | ❌ Not supported |
|  GitHub Copilot | ❌ Not supported |
<br>
## Special Thanks
We would like to thank those who helped with this project.
- [@thecats1105](https://github.com/thecats1105): Implementation of Daiso display location query tool (`daiso_get_display_location`) and API/test integration
- [@betterthanhajin](https://github.com/betterthanhajin): Implementation of CGV service provider (theater/movie/schedule tools, route specification and test addition)
- [@LLagoon3](https://github.com/LLagoon3): Transition of Daiso store inventory query to new authentication flow and reinforcement of related tests
- Zeroseo: Help with project promotion
<br>
---
<br>
## Detailed Documentation
Detailed explanations that were previously included have been separated into individual documents.
- [Service Reference](./docs/service-reference.md)
- [CONTRIBUTING Guide](./CONTRIBUTING.md)
<br>
---
<br>
## Documentation
### Common Guides
- [Service Reference](./docs/service-reference.md)
- [Scraping Playbook](./docs/scraping-playbook.md)
- [mitmproxy Guide](./docs/mitmproxy-guide.md)
- [AI Instructions](./docs/ai-instruction.md)
### Daiso
- [Daiso Network Analysis Result](./docs/daiso-network-analysis-result.md)
- [Daiso Playwright Network Analysis](./docs/daiso-playwright-network-analysis.md)
- [Daiso Replay Session Test HTML](./docs/daiso-replay-session-test.html)
- [Daiso Test Replay Script](./docs/daiso-test-replay.ts)
### CU
- [CU Network Analysis Result](./docs/cu-network-analysis-result.md)
- [CU App Request Capture Guide](./docs/cu-app-request-capture-guide.md)
- [CU App Scraping Replay Guide](./docs/cu-app-scraping-replay-guide.md)
### Emart24
- [Emart24 Network Analysis Result](./docs/emart24-network-analysis-result.md)
- [Emart24 App Scraping Preparation Guide](./docs/emart24-app-scraping-preparation-guide.md)
- [Emart24 App Scraping Replay Guide](./docs/emart24-app-scraping-replay-guide.md)
### Lotte Mart
- [Lotte Mart Mobile Help Center Scraping Replay Plan](./docs/lottemart-mobile-scraping-replay-plan.md)
### Common
- [OpenAPI Actions facade Refactoring Background](./docs/openapi-actions-facade.md)
### Olive Young
- [Olive Young Network Analysis Result](./docs/oliveyoung-network-analysis-result.md)
- [Olive Young Playwright MCP Onboarding](./docs/oliveyoung-playwright-mcp-onboarding.md)
- [Olive Young Playwright Network Analysis](./docs/oliveyoung-playwright-network-analysis.md)
- [Olive Young Lightpanda Validation](./docs/oliveyoung-lightpanda-validation.md)
- [Olive Young Replay Session Test Script](./docs/oliveyoung-replay-session-test.ts)
- [Olive Young Zyte Bandwidth Test](./docs/oliveyoung-zyte-bandwidth-test.ts)
- [Olive Young Zyte Replay Test](./docs/oliveyoung-zyte-replay-test.ts)
### Movie Theaters
- [CGV Network Analysis Result](./docs/cgv-network-analysis-result.md)
- [Megabox Network Analysis Result](./docs/megabox-network-analysis-result.md)
- [Lotte Cinema Network Analysis Result](./docs/lottecinema-network-analysis-result.md)
### GS25
- [GS25 API Replay Methodology (Final)](./docs/gs25-final-replay-methodology.md)
- [GS25 Network Analysis Result (Archive)](./docs/archive/gs25-network-analysis-result.md)
- [GS25 Android Bypass Capture Guide (Archive)](./docs/archive/gs25-android-bypass-capture-guide.md)
- [GS25 App Capture Attempt Log (2026-03-08, Archive)](./docs/archive/gs25-app-capture-attempt-log-20260308.md)
- [GS25 App Scraping Preparation Guide (Archive)](./docs/archive/gs25-app-scraping-preparation-guide.md)
- [GS25 Session Handover Document (2026-03-09, Archive)](./docs/archive/gs25-session-handoff-20260309.md)
<br>
---
<div align="center">
<br>
MIT License
<br>
</div>
---
## New MCP Functionality Addition Precautions
When adding new services or tools, make sure to not only implement them but also verify the following:
- `MCP`: Register services in `src/index.ts`, root service/tool list, and related tests
- `HTTPS`: GET API handler/route, prompt page (`src/pages/prompt.ts`), and app integration tests
- `CLI`: `src/cli.ts`, `src/cliHelp.ts`, and CLI tests
- `AI instruction`: Reflect usage rules and workflows in [ai-instruction.md](./docs/ai-instruction.md)
- `README`: Reflect supported service descriptions, examples, and documentation links
- `OpenAPI`: Basic `/openapi.json` facade spec, `/openapi-full.json` full spec, and related tests
Minimum verification criteria after adding functionality:
- `npm run typecheck`
- `npm test`
Connection Info
You Might Also Like
AP2
AP2 provides code samples and demos for the Agent Payments Protocol.
google-meta-ads-ga4-mcp
MCP server for Google Ads, Meta Ads & GA4 — works with ChatGPT, Claude,...
nuwax
Nuwax AI enables easy building and deployment of private Agentic AI solutions.
solomd
A markdown editor — and the bridge to your LLM. Local-first, MIT, ~15 MB....
tentix
Tentix is an AI-driven ticketing system that boosts efficiency by 10x.
appium-mcp
MCP Appium is a server for mobile automation, enabling AI-driven testing on...