japan-market-mcp
by atushi1841
README.md
# Japan Market MCP — Cross-Shop Price Comparison for AI Agents
An **MCP server** that lets AI agents (Claude, Cursor, VS Code Copilot, ChatGPT) compare used-good prices across leading Japanese shops in a single tool call. Instead of scraping site by site, an agent queries one server and gets inter-store price gaps for the same product — perfect for **reseller arbitrage**, **price monitoring**, and **market research** on the Japanese second-hand market.
## How it works
The server wraps market-scraping and official-API actors (Rakuten Ichiba included) behind one MCP endpoint. Each tool returns price, brand, shop, condition and a link per item, with the shop-pair crossed so you see the price spread at a glance.
## Available tools
| Tool | Market | Shop pair |
|---|---|---|
| `search_camera_market` | Used cameras & lenses | Kitamura + Fujiya Camera |
| `search_watch_market` | Luxury watches | Jackroad + Kitamura used watches |
| `search_luxury_market` | Used luxury brands | Komehyo + Jackroad |
| `search_instrument_market` | Used instruments | Digimart + Ishibashi U-BOX |
| `search_offmall_market` | General used goods | OffMall (Hard Off official, 800+ stores) |
| `search_kakaku_prices` | New price comparison | Kakaku.com (aggregated, thousands of shops) |
| `search_car_market` | Used cars | goo-net (nationwide, by body type) |
| `search_car_price_stats` | Used car price stats (min/max/avg/median JPY) | goo-net (by model keyword, e.g. N-BOX, Alphard) |
| `search_rakuten_items` | New retail products (official API) | Rakuten Ichiba 楽天市場 (keyword, price range, sort) |
| `get_rakuten_ranking` | Best-seller ranking (official API) | Rakuten Ichiba 楽天市場 (overall or by genre) |
| `get_maff_market_report` | Fresh produce wholesale market report (official MAFF open data) | Japan central markets (旬別, JPY/100kg, YoY%) |
| `search_maff_price_trend` | Fresh produce wholesale price trend (official MAFF open data) | Multi-market, multi-period comparison |
| `get_maff_top_movers` | Fresh produce YoY price movers (official MAFF open data) | Japan central markets (supply-shock signal) |
| `get_maff_markets` | List available MAFF wholesale markets | no charge |
Each tool takes a keyword (e.g. `SONY α7`, `ROLEX`, `Hermes`, `Fender`) and returns results from the crossed shops. Leaving the keyword empty scans the full category.
## Pricing
Pay per event — **$0.001 per search** + actor start fee. Runs finish in seconds, so a full keyword lookup typically costs well under $0.01.
## Connect as an MCP server
Run it from the Apify Store (Run button), then point your MCP client at the endpoint. It stays in standby mode.
**MCP client config (Claude Desktop / Cursor / VS Code):**
```json
{
"mcpServers": {
"japan-market-mcp": {
"url": "https://fruitful_quintessence--japan-market-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
```
- **URL**: `<your-username>--japan-market-mcp.apify.actor/mcp`
- **Auth**: Apify API token in the `Authorization: Bearer` header (Apify Console → Settings → Integrations)
## Example agent prompts
```
"Compare used prices for Sony a7 III between Kitamura and Fujiya"
→ search_camera_market(keyword="SONY α7 III")
"What's the inter-store price gap for a Rolex Submariner?"
→ search_watch_market(keyword="ROLEX Submariner")
"What's the market price for a Hermes Birkin 25?"
→ search_luxury_market(keyword="Hermes Birkin 25")
"What's a used Fender Stratocaster going for?"
→ search_instrument_market(keyword="Fender Stratocaster")
"Show this 旬's wholesale market report for Tokyo (Toyosu) fresh vegetables"
→ get_maff_market_report(market="toyosu")
"Which fresh produce items have spiked in price vs last year at Osaka?"
→ get_maff_top_movers(market="oosakaho")
"Track the price of daikon (だいこん) across Tokyo and Osaka this month"
→ search_maff_price_trend(item="だいこん", markets=["toyosu","oosakaho"])
```
## Use cases
- **Reseller arbitrage** — spot the same product priced differently across shops
- **Market research** — track used prices for cameras, watches, luxury goods, instruments, cars
- **Export sourcing** — goo-net JDM inventory and goo-net price checks for exporters
- **Collector price checks** — condition-ranked physical used items from OffMall
## Data sources
- Each actor collects **factual data only** (product name, price, brand, condition, inventory, URL). No photos or descriptions are harvested.
- All target sites allow crawling via their `robots.txt`.
- **MAFF 青果物卸売市場調査(旬別・市場別)** is served from the official 農林水産省 open-data CSV — no scraping, direct download. Published under the **Government Standard Terms of Use v2.0** (政府標準利用規約2.0): commercial use allowed with attribution. Price is JPY per 100kg. Data updates are published by MAFF each 旬 (10-day period).
## Local development
```bash
pip install -r requirements.txt
APIFY_TOKEN=apify_api_xxx python -m src.main
# Streamable HTTP endpoint at http://localhost:3000/mcp
```
## License
MIT
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues