Japan Places MCP Server
MCP server for the Japan Places API —municipality census for 1,917 municipalities (2020 census), POI category countsfor all 47 prefectures, station catchments, and 13 derived live signals for Japan.
Install
npm install mcp-japan-places
npx mcp-japan-places
Or with a custom endpoint:
JAPAN_PLACES_BASE=https://japan-places.local-connect-design.trade npx mcp-japan-places
The server is zero-dependency (Node >= 18, stdio JSON-RPC) and holds no APIkeys and no payment credentials.
Tools
16 tools: the same set as the hosted MCP (the canon infunctions/mcp-tools.json) — one per dataset.Free tools return data directly. Paid tools are gated by the API withHTTP 402 (x402 micropayments in USDC on Base, or a RapidAPI Premium Datasetsplan on PRO/ULTRA/MEGA); without payment a paid tool returns a clean,labelled PAID_DATASET error explaining the price and the payment routes —this server cannot pay on your behalf.
| Tool | Endpoint | Access |
|---|---|---|
jp_municipality |
GET /api/v1/poi/municipality |
Free |
jp_quality |
GET /api/v1/poi/quality |
Free |
jp_catchment |
GET /api/v1/poi/catchment |
Paid, US$0.05/call |
jp_chains |
GET /api/v1/poi/chains |
Paid, US$0.03/call |
jp_aliveness |
GET /api/v1/poi/aliveness |
Paid, US$0.02/call |
jp_density |
GET /api/v1/poi/density |
Paid, US$0.05/call |
jp_energy_price |
GET /api/v1/signals/energy/price |
Paid, US$0.05/call |
jp_land_price |
GET /api/v1/poi/land/price |
Paid, US$0.05/call |
jp_subsidy_award_rate |
GET /api/v1/signals/subsidy/award-rate |
Paid, US$0.05/call |
jp_grant_deadline_alert |
GET /api/v1/signals/grant/deadline |
Paid, US$0.04/call |
jp_gbizinfo_search |
GET /api/v1/signals/gbizinfo |
Paid, US$0.03/call |
jp_jma_weather |
GET /api/v1/signals/jma/weather |
Paid, US$0.02/call |
jp_boj_statistics |
GET /api/v1/signals/boj/statistics |
Paid, US$0.03/call |
jp_tourism_signal |
GET /api/v1/signals/tourism |
Paid, US$0.02/call |
jp_crime_statistics |
GET /api/v1/signals/crime |
Paid, US$0.02/call |
jp_facility_signal |
GET /api/v1/signals/facility |
Paid, US$0.03/call |
Notes:
jp_municipalityrequiresprefecture(name such as東京都or the2-digit JIS X 0401 code such as13); the API answers 400 without it.jp_catchmentcurrently covers a sample of 60 major stations(a full-station rollout is planned), per the API's own disclosure.- Changed in 2.1.0 (JP-16 canon resync):
jp_health,jp_catalogandjp_history_diffwere removed so this package carries exactly thehosted MCP's 16-tool set./health,/poiand/diff/{dataset}remain available over REST.
Generated code — do not edit by hand
src/index.js is generated by tools/generate_mcp.py from the vendoredinputs in tools/inputs/:
openapi.json— a snapshot of the live OpenAPI spec(https://japan-places.local-connect-design.trade/api/v1/openapi),mcp-tools.json— the tool canon of the site's own hosted MCP,SPEC_SOURCE.json— provenance of the snapshot (source, capture date,catalog hash).
npm run generate # regenerate src/index.js + SYNC.json
npm test # live smoke test against the real API
npm run check-drift # compare the live spec against SYNC.json
SYNC.json records the spec source, the catalog hash this build wasgenerated from, and the tool/path coverage. Re-running the generator on anunchanged spec produces a byte-identical tree.
Drift watch (permanent sync loop)
tools/check_drift.py fetches the live /api/v1/openapi, and compares itscatalog hash and path set against SYNC.json (exit 0 = in sync, exit 2 =drift, with a diff summary). A capture-fleet stream named mcp_drift runsthis checker daily on the sora fleet; a divergence lands in the fleet statusas a failure, which queues the follow-up work item: refreshtools/inputs/openapi.json from the live spec, re-run the generator, runthe smoke test, and republish. That loop is what keeps this package matchedto the live API.
要約(日本語): 本パッケージの src/index.js は生成物です。ライブAPIのOpenAPI 仕様とサイト内蔵MCPのツール定義から tools/generate_mcp.py が生成します。ライブ仕様とのずれは tools/check_drift.py が検出し、soraの取得フリート(ストリーム mcp_drift、日次)が監視します。ずれたら「仕様を取り直して再生成、スモークテスト、再公開」が作業項目になります。
License
CDLA-Permissive-2.0 AND Apache-2.0
Data licenses: CDLA-Permissive-2.0, Apache-2.0, CC0-1.0, CC BY 2.0/4.0, PDL-1.0Attribution: https://japan-places.local-connect-design.trade/jp-places/attribution.html
Publisher
Lexus — https://github.com/lexusdev7