Geo Home MCP
Loads land price JSON and PMTiles from Google Cloud Storage, and uses the Google Routes API to estimate public transit commute times.
Provides interactive map visualization of candidate residential areas and land price data, rendered with MapLibre GL.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Geo Home MCPFind candidate areas within 45 minutes of Shinjuku and compare land prices."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Geo MCP
自前のOpenStreetMapデータによる施設検索と、車・徒歩・自転車の経路検索。
Tools
place_search: 施設名、カテゴリ、周辺検索。距離順、営業時間、住所を返す。route: 車 (driving)、徒歩 (walking)、自転車 (cycling) の距離・所要時間。
以下は自前データを利用した場合の入出力例。施設名・座標・距離・所要時間などは説明用のサンプル。応答はMCPの structuredContent 部分を示す(content には説明文と参照リンクも返る)。
place_search
入力:
{"query":"カフェ","lat":35.681,"lng":139.767,"radius":1200}応答例:
{
"query": "カフェ",
"mode": "nearby",
"center": { "lat": 35.681, "lng": 139.767 },
"radiusMetres": 1200,
"places": [
{
"name": "サンプルカフェ",
"lat": 35.682,
"lng": 139.768,
"distanceMetres": 143,
"kind": "cafe",
"openingHours": "Mo-Su 08:00-20:00",
"address": "東京都千代田区丸の内"
}
],
"source": "local",
"provider": "openstreetmap"
}distanceMetres は検索位置からの直線距離(メートル)。営業時間・住所などはOSMに登録がある場合に返る。該当施設がない場合は places が空配列になる。
route
入力:
{"lat":35.531,"lng":139.697,"to":"東京駅","mode":"walking"}目的地は toLat / toLng でも指定可能。
応答例:
{
"to": "東京駅",
"mode": "walking",
"origin": { "lat": 35.531, "lng": 139.697 },
"destination": { "name": "東京駅", "lat": 35.681, "lng": 139.767 },
"durationMinutes": 252,
"distanceKm": 21,
"source": "local",
"provider": "openstreetmap",
"geocoding": { "source": "local", "provider": "openstreetmap" }
}durationMinutes は所要時間(分)、distanceKm は経路の距離(キロメートル)。geocoding は目的地を名前で検索した際の情報で、座標を直接指定した場合は省略される。
Related MCP server: Dilix MCP
Local First
対応地域は config/coverage.json で設定する。初期範囲は東京本土・神奈川の近似Bounding Box。東京都の島しょ部などを網羅する行政境界ではない。
対応地域: 自前SQLiteスナップショット(PostGISも選択可能)と自前OSRM
未対応地域: Overpass / Nominatim / 公開OSRM
名称検索: 自前データで見つからないときだけNominatim
経路検索: 両端が対応地域内の場合だけ自前OSRM
結果には source、provider、外部利用時の fallbackReason を付ける。自前検索が0件でも通常は外部へ問い合わせない。
EXTERNAL_FALLBACK_ENABLED=false で公開地図APIへの実行時依存を止められる。OSMにない施設や営業時間は取得できない。公共交通、リアルタイム渋滞・営業状況には非対応。
Cloud Run
リポジトリ・MCPの名称は geo-mcp / Geo MCP。既存のGCPリソース名・コンテナ運用設定・配置先パスは互換性のため geo-home / geo-home-mcp を維持する。
低アクセス向けにMCPと3つのOSRMを別サービスに分け、最小インスタンス数0・リクエスト課金で動かす。SQLite・経路データは非公開GCSの不変リリースに保存する。Cloud SQLや常時稼働VMは不要。
OSRMはIAM認証でMCPからのみ利用する。MCPには Authorization: Bearer <MCP_API_KEY> が必要。コールドスタートには待ち時間がある。
構成・移行・更新・予算の詳細: 運用手順。
Development
Node.js 22.17以降、SQLiteスナップショットのテストにはPython 3.11以降が必要。
npm ci
cp .env.example .env
npm run typecheck
npm test
npm run build環境変数は実行環境から渡す(.env はComposeが読み込む。Node単体では --env-file を使う)。LOCAL_PLACES_SQLITE を指定すると DATABASE_URL より優先する。
Attribution
© OpenStreetMap contributors. ODbL / attribution.
This server cannot be deployed
Maintenance
Related MCP Connectors
Land Price Japan MCP — official Japanese land prices (地価公示 / 地価調査)
Japan real estate MCP: land price, risk, foot traffic, renovation. 10 prefectures.
Regrid MCP — wraps the Regrid Parcel API v2 (regrid.com)
Built-environment forecasts, public benchmarks, and permit or zoning readiness through remote MCP.
Related MCP Servers
- AlicenseAqualityDmaintenanceSingapore property prices, HDB resale transactions, land use/zoning, and nearby amenities via MCP. Uses only free public APIs, no API keys needed.858 npmMIT
- AlicenseAqualityDmaintenanceOpen-source MCP server providing real estate regulatory intelligence (zoning, permits, entitlements, deal scoring) for US properties, enabling AI agents to access 10 callable tools.125 npmMIT
- AlicenseAqualityCmaintenanceMCP server for the loc8n Geographic Data API. Exposes U.S. demographics, housing, mortgage, migration, employment, and geographic data as tools.2351 npmMIT
- AlicenseNot gradedqualityCmaintenanceAccess official Japanese land prices (地価公示/地価調査) through the Pipeworx MCP gateway.2 npmMIT