Claudeから使う(MCP接続)

国土DBのMCPサーバーをClaudeに登録すると、会話の中で自治体名や住所を伝えるだけで、用途地域・地価・都市計画の記録を呼び出せます。住所を渡した場合は、その住所が属する自治体を特定したうえで、自治体単位・調査地点単位のデータを返します。ブラウザ版とデスクトップアプリなら、コネクタを追加してサインインするだけです。APIキーを自分で発行したり入力したりする必要はありません。

どれで使いますか

使う場所やることAPIキーの入力
Claude(ブラウザ・デスクトップアプリ)コネクタを追加してサインイン不要
Claude Code(ターミナル)1行のコマンドで登録必要
Claude Desktopの設定ファイルclaude_desktop_config.json に追記必要

はじめての方は、いちばん上のコネクタをおすすめします。

Claude(ブラウザ・デスクトップアプリ)

このページは2026年8月27日まで「ブラウザ版のカスタムコネクタは使えません」と案内していました。同日にMCPサーバーをOAuthに対応させたので、いまはコネクタから接続できます。

必要なもの

APIキーを自分で発行・入力する必要はありません。サインインしたGoogleアカウントで、国土DBのアカウントとAPIキーが裏側で作られます(/developersで確認・失効できます)。すでにキーをお持ちの方は、同じメールアドレスでサインインすれば同じアカウントにつながります。

  1. カスタムコネクタを追加する

    チャット入力欄の「+」から、コネクタコネクタを追加カスタムコネクタを追加の順に進みます。設定画面のSettingsからコネクタを開いても同じところに着きます。

    Claudeのチャット入力欄の「+」メニューから、コネクタ、コネクタを追加、カスタムコネクタを追加と進む画面
    「+」から、コネクタ、「コネクタを追加」、「カスタムコネクタを追加」の順に進む
  2. 名前とURLを入れる

    名前は自由に決められます(例: 国土DB)。URLは次の1つだけです。

    https://kokudodb.jp/mcp

    入力すると、Claudeがサーバーに接続して認証方式を自動で調べます。「サーバーが見つかりました」と出たら「続ける」を押してください。

    カスタムコネクタを追加のダイアログ。名前に国土DB、URLに https://kokudodb.jp/mcp を入れ、サーバーへの接続・認証サーバーの検索・OAuth設定の確認がすべて完了と表示されている
    サーバーの検出。3つのチェックがすべて緑になれば次に進めます
  3. 検出された設定のまま「追加」を押す

    認証は「常に必須」、OAuthクライアントは「クライアントIDなし ー 自動的に登録する」が検出済みとして選ばれています。どちらもそのままで大丈夫です。OAuth Client ID・シークレット・追加のリクエストヘッダーは、いずれも空欄のままで動きます。

    認証は常に必須、OAuthクライアントはクライアントIDなしで自動的に登録するが、いずれも検出済みとして選択されている設定画面
    「検出済み」と付いている選択肢を触らずに「追加」
  4. Googleアカウントでサインインする

    コネクタ一覧に国土DBが並ぶので「連携」を押すと、国土DBのサインイン画面に移ります。Googleアカウントを選ぶと接続が完了します。

    Googleでログインの画面。国土DBへのサインインでアカウントを選択する。メールアドレスの部分は伏せてある
    アカウント名の部分はこの画像では伏せています。実際にはご自身のアカウントが並びます
  5. つながったか確認する

    コネクタの一覧に国土DBが出て、スイッチがオンになっていれば完了です。あとは新しい会話で聞くだけで、Claudeが必要なツールを選んで呼び出します。

    コネクタの一覧に国土DBが追加され、スイッチがオンになっている画面
    スイッチがオンなら使えます。会話ごとにオフにもできます

    初回はツールの使用許可を求められます。毎回確認したい場合は、都度許可を選べます。会話の内容(住所や自治体名を含みます)が国土DBに送られるので、自動で呼び出してよい会話でだけ「常に許可」を選んでください。

聞いてみる

ツール名を覚える必要はありません。日本語でそのまま聞けば、Claudeが必要なツールを選びます。

「渋谷区と世田谷区の地価、この10年でどう動いた?」

「東京都渋谷区ってどんな場所?」

「千代田区の用途地域の内訳を教えて。建蔽率と容積率も」

「碧南市で最近決まった都市計画を、告示番号と出典つきで教えて」

「東京都千代田区にどんな学校や医療機関があるか、出典つきで教えて」

渋谷区と世田谷区の地価の10年変化を、用途別の表と2016年を100とした指数の折れ線グラフで返している画面
「渋谷区と世田谷区の地価、この10年でどう動いた?」と聞いた例。地価公示の地点データを用途別に集計して返します
渋谷区のプロファイルを、用途地域の構成・地価・施設・人口の順に返し、最後に出典とデータの年度を並べている画面
「東京都渋谷区ってどんな場所?」と聞いた例。末尾に出典とデータの年度が付きます。人口のように精度に限界がある項目は、その旨も一緒に返します

使えるツール

ツール名説明
get_land_profile住所/自治体コード/place_idから国土プロファイル(用途地域・地価・人口推計等)を1コールで取得する。結果には常に `freshness` を含む。キャッシュされた gold snapshot が鮮度SLAを超過していても、配信上限(既定7日、`freshness.stale_serve_max_seconds`)以内であれば結果は返り `freshness.stale=true` になる(この配信上限は `freshness.loaded_at` 起点のキャッシュ滞留時間であり、上流データの古さそのものの上限ではない。超えると失敗する)。`freshness.data_as_of` は対象 Gold テーブルの最終変更時刻の最大値であり、元資料の基準日や全ブロックの鮮度を保証するものではない(`null` は基準時刻不明を意味する)。`freshness.loaded_at`(このプロセスがキャッシュをロードした時刻)とは別物。`freshness.stale=false` も上流の最新資料が反映されている保証にはならない。`freshness.stale=true` を受け取った場合は、結果に更新遅延がある旨を利用者に示すこと。
get_muni_profile自治体プロファイル(用途地域・地価・将来人口・施設数・標高・行政区域)を取得する。結果には常に `freshness` を含む。キャッシュされた gold snapshot が鮮度SLAを超過していても、配信上限(既定7日、`freshness.stale_serve_max_seconds`)以内であれば結果は返り `freshness.stale=true` になる(この配信上限は `freshness.loaded_at` 起点のキャッシュ滞留時間であり、上流データの古さそのものの上限ではない。超えると失敗する)。`freshness.data_as_of` は対象 Gold テーブルの最終変更時刻の最大値であり、元資料の基準日や全ブロックの鮮度を保証するものではない(`null` は基準時刻不明を意味する)。`freshness.loaded_at`(このプロセスがキャッシュをロードした時刻)とは別物。`freshness.stale=false` も上流の最新資料が反映されている保証にはならない。`freshness.stale=true` を受け取った場合は、結果に更新遅延がある旨を利用者に示すこと。
get_land_price_trends自治体の地価公示(L01)/地価調査(L02)時系列と現年地点明細を取得する。結果には常に `freshness` を含む。キャッシュされた gold snapshot が鮮度SLAを超過していても、配信上限(既定7日、`freshness.stale_serve_max_seconds`)以内であれば結果は返り `freshness.stale=true` になる(この配信上限は `freshness.loaded_at` 起点のキャッシュ滞留時間であり、上流データの古さそのものの上限ではない。超えると失敗する)。`freshness.data_as_of` は対象 Gold テーブルの最終変更時刻の最大値であり、元資料の基準日や全ブロックの鮮度を保証するものではない(`null` は基準時刻不明を意味する)。`freshness.loaded_at`(このプロセスがキャッシュをロードした時刻)とは別物。`freshness.stale=false` も上流の最新資料が反映されている保証にはならない。`freshness.stale=true` を受け取った場合は、結果に更新遅延がある旨を利用者に示すこと。
get_zoning_summary自治体の都市計画決定情報(A55)サブタイプ別サマリを取得する。結果には常に `freshness` を含む。キャッシュされた gold snapshot が鮮度SLAを超過していても、配信上限(既定7日、`freshness.stale_serve_max_seconds`)以内であれば結果は返り `freshness.stale=true` になる(この配信上限は `freshness.loaded_at` 起点のキャッシュ滞留時間であり、上流データの古さそのものの上限ではない。超えると失敗する)。`freshness.data_as_of` は対象 Gold テーブルの最終変更時刻の最大値であり、元資料の基準日や全ブロックの鮮度を保証するものではない(`null` は基準時刻不明を意味する)。`freshness.loaded_at`(このプロセスがキャッシュをロードした時刻)とは別物。`freshness.stale=false` も上流の最新資料が反映されている保証にはならない。`freshness.stale=true` を受け取った場合は、結果に更新遅延がある旨を利用者に示すこと。
resolve_licenseレイヤーのライセンス許諾状態をfail-closeで解決する(台帳公開面)。
list_layers既知の全レイヤー(未投入含む)のingest状態・servable状態カタログを取得する。
get_planning_history自治体の都市計画決定・変更イベント(決定日・告示番号・種別・区域名 + 一次出典)の時系列を取得する。データが無い場合も不存在/対象外/未発見(未到達)の理由を返す(全国網羅ではない、自社収集の一次資料ベース)。
get_disaster_risk_point住所/place_idから町字代表点の災害リスク(地震・液状化・洪水〈内水を含む〉・津波・高潮・土砂)を1コールで取得する。災害種別は内水を含む7種、status は 区域内/区域外/未評価/提供不可/利用不能 のいずれか。スコア(0-100)と全国順位(%)は 地震・液状化・洪水・津波・高潮・土砂 の6種のみ(内水は独立のスコア・順位を持たず洪水スコアに統合される入力。内水の提供可否は洪水とは別の利用条件確認による)。全国順位(percentile)の母集団は災害種別で異なる(地震・液状化は全国の125m区画、洪水・津波・高潮・土砂災害はその災害の想定区域内と判定された区画のみが母集団)。洪水・津波・高潮の順位は status=in_area の時のみ算出する(区域外で順位が無いのは障害でもライセンス上の理由でもない)。status=利用不能(unavailable) は供給データまたは配信処理が一時的に使えない状態で、区域外やリスクが無いことを示すものではない。値は町字代表点(125mメッシュ)の判定であり、実際の被害範囲は周辺375m四方でも異なりうる(区域外=安全の意味ではない)。評価語(安全/危険等)は含まない。提供できる災害種別は都道府県ごとのライセンス確認状況により異なる(一部県では未提供)。結果には常に `freshness` を含む。キャッシュされた gold snapshot が鮮度SLAを超過していても、配信上限(既定7日、`freshness.stale_serve_max_seconds`)以内であれば結果は返り `freshness.stale=true` になる(この配信上限は `freshness.loaded_at` 起点のキャッシュ滞留時間であり、上流データの古さそのものの上限ではない。超えると失敗する)。`freshness.data_as_of` は対象 Gold テーブルの最終変更時刻の最大値であり、元資料の基準日や全ブロックの鮮度を保証するものではない(`null` は基準時刻不明を意味する)。`freshness.loaded_at`(このプロセスがキャッシュをロードした時刻)とは別物。`freshness.stale=false` も上流の最新資料が反映されている保証にはならない。`freshness.stale=true` を受け取った場合は、結果に更新遅延がある旨を利用者に示すこと。
get_disaster_context自治体の災害リスク要約・過去の災害履歴・防災計画の要点・避難所/インフラ文脈を1コールで取得する。データが無いブロックはcoverage=noneで正直に返す(全国網羅ではない、自社収集・公的データの集約ベース)。

引数や戻り値の詳細はAPIドキュメントのMCPの節にあります。Claudeに「使えるツールを一覧して」と聞いても返します。

APIキーで接続する(Claude Code・設定ファイル)

ターミナルのClaude Codeや、設定ファイルで管理したい場合は、APIキーをヘッダで渡す方法も使えます。キーは/developersで無料発行できます(キーごと60 req/min、1日あたり通常1000リクエスト)。

項目
サーバーURLhttps://kokudodb.jp/mcp
トランスポートHTTP(MCP streamable HTTP)
認証ヘッダ Authorization: Bearer <API key>
サーバー名(任意)kokudodb

Claude Code(ターミナル)

  1. APIキーを発行する

    /developers でGoogleアカウントにサインインし、「新しいキーを発行」を押します。キーはこの画面でしか表示されません。

  2. 1行で登録する

    YOUR_API_KEY を発行したキーに置き換えて実行します。

    claude mcp add --transport http kokudodb https://kokudodb.jp/mcp \
      --header "Authorization: Bearer YOUR_API_KEY"
  3. つながったか確認する

    claude mcp listkokudodb が接続済みとして並べば完了です。

    claude mcp list

Claude Desktopの設定ファイル

コネクタを使わず設定ファイルで管理したい場合は、claude_desktop_config.jsonmcpServers に追記します。バージョンを問わず動く mcp-remote を挟む書き方から試すのが確実です(npx が必要です)。

{
  "mcpServers": {
    "kokudodb": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://kokudodb.jp/mcp",
        "--header", "Authorization: Bearer YOUR_API_KEY"
      ]
    }
  }
}

リモートHTTPのMCPサーバーに直接対応しているバージョンでは、次の書き方も使えます。設定ファイルは起動時に読み込まれるので、保存したら一度終了して開き直してください。

{
  "mcpServers": {
    "kokudodb": {
      "type": "http",
      "url": "https://kokudodb.jp/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

うまくいかないとき

「カスタムコネクタを追加」が見当たらない

Claudeの無料プランではカスタムコネクタを追加できません。カスタムコネクタを使えない場合でも、Claude Codeを使える環境なら上のAPIキーで接続する方法でつながります。

URLを入れても「サーバーが見つかりません」と出る

URLは https://kokudodb.jp/mcp です。末尾のスラッシュや /v1 を足すと届きません。ブラウザで開いても表示されませんが、それで正常です(MCPはPOSTで話すため)。

サインインしたのにツールが呼ばれない

質問が抽象的だと、Claudeがツールを使わずに答えようとすることがあります。自治体名や住所、コード(例 13101)を質問に入れると呼ばれやすくなります。「国土DBで調べて」と明示するのも有効です。

「Failed to connect」と出る(APIキー方式)

ほとんどはキーの渡し方です。--header の値は Authorization: Bearer まで含めた1つの文字列である必要があります(Bearer と鍵の間は半角スペース1つ)。まず素のcurlで 401 が返らないか確かめてください。

curl -s -o /dev/null -w "%{http_code}\n" \
  -X POST "https://kokudodb.jp/mcp" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

200 が返れば鍵は有効です。401 なら鍵が違うか失効しています。

429 が返る

レート制限(キーごと60 req/min、1日あたり通常1000リクエスト)を超えています。Retry-Afterヘッダの秒数だけ待ってから試してください。系統の違うシステムごとにキーを分けることはできますが、上限を回避する目的での分割は想定していません(有効なキーは1ユーザー5件まで持てます)。

Claude Desktopが起動しなくなった

設定ファイルのJSONが壊れている可能性が高いです(カンマの過不足が定番)。追記した部分を戻して起動を確認してから、もう一度貼り直してください。

接続をやめたい

コネクタの一覧から国土DBを削除してください。APIキーも無効にしたい場合は/developersで個別に失効できます。

ほかのDBと一緒に使う

国土DBと同じCabociaが運営している公開データのデータベースです。同じ会話に複数つなぐと、横断して聞けます。

DB扱うもの接続先
EDINET DB上場企業の有価証券報告書・決算https://edinetdb.jp/mcp
不動産DB取引価格・J-REIT・賃料推定https://fudosandb.jp/mcp
政策DB補助金・行政事業レビュー・例規https://seisakudb.jp/mcp

接続手順は各サイトのドキュメントにあります。たとえば国土DBとEDINET DBを両方つなぐと、上場企業の拠点がある自治体の用途地域や地価を、同じ会話の中で並べて確認できます。並べて示すところまでで、投資や売買の判断を助言するものではありません。