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 "Install 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 Home MCP
地価、駅徒歩、公共交通の移動時間から居住候補地域を比較し、PMTiles対応のインタラクティブ地図を表示するStreamable HTTP MCPサーバーです。
含まれるもの
Cloud Run向けMCPサーバー (
/mcp)list_layers,get_land_price,compute_commute,find_candidate_areas,compare_areas,build_area_mapMCP Appとして表示できるMapLibre地図
GCS上のPMTilesと地価JSONの読み込み
Google Routes APIによる公共交通時間(未設定時は明示付きデモ推定)
GemiHub Business Agent PluginとCodex Pluginのmanifest
Related MCP server: Dilix MCP
ローカル起動
npm install
npm run devHealth check: http://localhost:8080/health
初期状態は data/land-prices.demo.json を使用します。この値はUI・ツール動作確認専用です。
実データ
LAND_PRICE_DATA_PATH にローカルJSONまたは gs://bucket/object.json を指定します。Cloud Runのサービスアカウントには対象オブジェクトの storage.objects.get を付与してください。JSONの配列要素は次の形です。
{
"id": "unique-id",
"area": "地域名",
"station": "最寄駅",
"municipality": "自治体",
"lat": 35.6812,
"lng": 139.7671,
"pricePerSqm": 1000000,
"previousPricePerSqm": 950000,
"stationWalkMinutes": 8,
"source": "国土交通省 不動産情報ライブラリ",
"sourceUrl": "https://www.reinfolib.mlit.go.jp/",
"observedAt": "2026-01-01"
}国土交通省APIの利用申請・利用条件を確認し、ETLでこの正規化形式へ変換してください。公示地価、基準地価、実取引価格は意味が異なるため、同一系列として混ぜないでください。本番では series などの列を追加して別レイヤー化することを推奨します。
PMTiles
.pmtiles をCloud Storageへアップロードし、CORSで Range リクエストを許可した配信URLを PMTILES_URL に設定します。ベクトルタイル内のsource layer名を PMTILES_SOURCE_LAYER に指定してください。
例となるCORS設定:
[
{
"origin": ["https://YOUR_APP.example.com"],
"method": ["GET", "HEAD"],
"responseHeader": ["Content-Type", "Range", "Content-Range", "Accept-Ranges"],
"maxAgeSeconds": 3600
}
]機密性が不要な地図タイルは公開読み取り+CDN、テナント固有データは認証付きRange proxyを推奨します。
Google Cloudインフラ
Geo Home専用GCPプロジェクトで自己完結する構成です。
Project:
terraform.tfvarsで指定する専用プロジェクトRegion:
asia-northeast1(変更可能)Artifact Registry:
geo-homeCloud Run runtime SA:
geo-home-runCloud Build SA:
geo-home-buildTerraform root module:
terraform/Cloud Run service:
geo-home-mcpGCS bucket:
${project_id}-geo-home(上書き可能)
Terraformが次を管理します。
Cloud Runサービス、スケーリング、health check、公開Invoker
GCSバケット、PMTiles用CORS、Cloud Run読み取り権限
任意のGoogle Routes APIキーのSecret Manager参照権限
地価JSONとPMTilesのCloud Run環境変数
Cloud RunのコンテナイメージだけはTerraformの ignore_changes 対象です。既存メインサービスと同様、Terraformがインフラ、Cloud Buildがアプリケーションイメージを管理します。
1. インフラを作成
GCPプロジェクトを作成して課金アカウントへ接続した後、Terraform変数を設定します。プロジェクト作成自体をTerraformへ含めないことで、組織・Folder・Billing Accountのbootstrap権限とサービス用stateを分離しています。
project_id = "your-geo-home-project-id"
region = "asia-northeast1"
bucket_name = "your-geo-home-project-id-geo-home"
public_tiles = true
cors_origins = ["https://YOUR_GEMIBIZ_DOMAIN"]
land_price_object = "land-prices.json"
pmtiles_object = "land-price.pmtiles"
pmtiles_source_layer = "land-price"
google_maps_secret_id = "google-maps-api-key"オブジェクト名とSecret IDは、実データをまだ用意しない場合は空のままで構いません。その場合、組み込みデモデータと推定移動時間で起動します。
cp terraform/terraform.tfvars.example terraform/terraform.tfvars
# terraform/terraform.tfvars を編集
terraform -chdir=terraform init
terraform -chdir=terraform plan
terraform -chdir=terraform apply初回Terraform applyではCloud Run公式helloイメージを使い、まだ存在しないGeo Homeイメージへの循環依存を避けます。
2. アプリケーションをデプロイ
Geo Home MCPリポジトリのルートから実行します。
./scripts/deploy.shスクリプトはこのリポジトリのTerraform outputからプロジェクト、リージョン、Artifact Registry、Cloud Build専用SAを取得してCloud Buildを実行します。Cloud Buildは作成済みCloud Runサービスのイメージだけを更新します。デプロイ後にCloud Run URLを取得し、mcp.json と .mcp.json の接続先も自動更新します。更新された2ファイルはGitへcommitしてからAgent Pluginをインストールしてください。
別環境へ出す場合だけ GEO_PROJECT_ID、GEO_REGION、GEO_SERVICE を上書きできます。ただしCloud Build側の _PROJECT_ID なども --substitutions で一致させてください。
GOOGLE_MAPS_API_KEY はCloud Buildへ渡しません。Terraform変数 geo_home_google_maps_secret_id で既存Secret Manager secretを参照します。
Plugin接続先の更新
デプロイ後、発行されたCloud Run URLを次の2ファイルへ設定します。
mcp.json: GemiHub Business Agent Plugin用(streamable-http).mcp.json: Codex Plugin用(http)
現在の geo-home-mcp.example.com は安全なplaceholderです。scripts/deploy.sh がデプロイ後に実URLへ更新します。GemiHub Businessでは、更新をGitHubへpushした後にrepositoryをAgent Plugin設定画面からpreview・installし、MCP接続テスト後に利用します。
手動でURLだけ設定する場合:
node scripts/configure-plugin-url.mjs https://YOUR_SERVICE_URL/mcpセキュリティ
MCPクライアントから到達できるよう、TerraformはCloud Run Invokerを allUsers に付与します。本番で認証を必須にする場合は google_cloud_run_v2_service_iam_member.geo_home_public をOAuth/API Gateway構成へ置き換え、Agent Plugin側にも認証設定を追加してください。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.815MIT
- AlicenseAqualityCmaintenanceOpen-source MCP server providing real estate regulatory intelligence (zoning, permits, entitlements, deal scoring) for US properties, enabling AI agents to access 10 callable tools.126MIT
- AlicenseAqualityCmaintenanceMCP server for the loc8n Geographic Data API. Exposes U.S. demographics, housing, mortgage, migration, employment, and geographic data as tools.2333MIT
- Alicense-qualityCmaintenanceAccess official Japanese land prices (地価公示/地価調査) through the Pipeworx MCP gateway.7MIT
Related MCP Connectors
Land Price Japan MCP — official Japanese land prices (地価公示 / 地価調査)
Japan real estate MCP: land price, risk, foot traffic, renovation. 10 prefectures.
MapTiler MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/takeshy/geo-home-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server