NDB OpenData Hub自然言語アクセスガイド

自然言語アクセスガイド(MCP / Actions / Connect)

Claude Desktop 向け MCP、ChatGPT Actions(OpenAPI)、ChatGPT Connect(MCP)の 3 系統を順に紹介します。 どの方法でも NDB OpenData Hub の同じ読み取り専用データベースへアクセスできます。用途や利用環境に合わせて好みの導線を選んでください。

Option 1

Claude Desktop(MCPネイティブ + ブリッジ)

Claude Desktop は MCP をネイティブ対応しています。本プロジェクトでは Node.js 版の mcp-bridge と、Node 不要のスタンドアロンバイナリの両方を提供しています。 どちらを使っても https://ndbopendata-hub.com/api/mcp に安全に接続できます。

最新バイナリ / ブリッジの入手

GitHub Releases から OS に合わせてダウンロードしてください。

最新情報を取得中…

セットアップ手順

  1. バイナリを任意のフォルダへ配置(例: ~/Tools/ndb-mcp-bridge). Node.js 版を使う場合は mcp-bridge ディレクトリで npm install && npm run build
  2. macOS/Linux は実行権限を付与: chmod +x <ダウンロードしたバイナリ>
  3. Claude Desktop の設定ファイル(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json)に以下を追加し保存。
  4. アプリを完全終了→再起動し、ツール一覧に ndb_nl_query が表示されることを確認。

コピペ用設定

JSON と TOML のどちらでも利用可能です。パスのみご自身の環境に合わせてください。

JSON 例

{
  "mcpServers": {
    "ndb-mcp-bridge": {
      "command": "/Users/you/Tools/ndb-mcp-bridge/ndb-mcp-bridge-macos-arm64",
      "args": [],
      "env": {
        "NDB_MCP_SERVER_URL": "https://ndbopendata-hub.com/api/mcp",
        "MCP_DEBUG": "false"
      }
    }
  }
}

TOML 例

[mcpServers.ndb-mcp-bridge]
command = "node"
args = ["/absolute/path/to/mcp-bridge/build/bridge.js"]
[mcpServers.ndb-mcp-bridge.env]
NDB_MCP_SERVER_URL = "https://ndbopendata-hub.com/api/mcp"
MCP_DEBUG = "false"

さらに詳しい利用ガイドや FAQ は BRIDGE_STANDALONE_GUIDE.md を参照してください。

Option 2

ChatGPT Actions(OpenAPI)

ChatGPT 上で OpenAPI スキーマを用いた Actions として利用できます。最短手順は共有 GPT を使う方法、細かくカスタマイズする場合は OpenAPI URL を直接登録してください。

最短で試す(共有GPT)

  1. NDB OpenData Hub GPT を開き、「使用する」をクリック。
  2. チャット内で「空腹時血糖が高い地域を教えて」など自然文で質問。
  3. 実行ログで OpenAPI 呼び出しが成功しているか確認(失敗時はパラメータ説明を参照)。

手動で Actions を登録する

  1. ChatGPT サイドバーの Actions 設定を開き、「新しいスキーマを追加」。
  2. スキーマ URL に https://ndbopendata-hub.com/mcp/openapi を入力し保存。
  3. 必要に応じてパラメータ補足や利用例をカスタムプロンプトに追記。

マニフェスト最小例

{
  "schema_url": "https://ndbopendata-hub.com/mcp/openapi"
}

確認: curl "https://ndbopendata-hub.com/api/mcp/inspection-range-labels?item_name=BMI" でレスポンスが取れるかテストできます。

OpenAPI の仕様詳細と最新スキーマは /mcp/openapi でいつでも参照できます。Actions 側でパラメータの扱いに迷った場合は、スキーマ内の説明と meta.hint をご確認ください。

Option 3

ChatGPT Connect(MCP)

ChatGPT の Connect 機能(ベータ)を使って MCP サーバーとして直接接続する方法です。ブラウザ版 ChatGPT で利用でき、設定は数ステップで完了します。

2025年9月30日時点で ChatGPT Connect(MCP)は OpenAI 側でベータ提供中のため接続が不安定になることがあります。安定した運用が必要な場合は、同じ API を利用できる ChatGPT Actions(OpenAPI) を優先してください。

セットアップ手順

  1. ChatGPT 右上のアイコン > Settings > Connect を開く。
  2. 「接続を追加」から Model Context Protocol を選択し、以下の情報を入力。
  3. 保存後、接続リストで有効化し、新しいチャットで「NDB OpenData Hub を使って」と話しかける。

設定スニペット

Connect の設定画面で表示される JSON を編集する場合の参考値です。

{
  "name": "NDB OpenData Hub",
  "description": "厚生労働省NDB特定健診データ(読み取り専用)",
  "type": "mcp",
  "server_url": "https://ndbopendata-hub.com/api/mcp"
}

ブリッジ版を使いたい場合は server_urlhttp://localhost:<ポート>/api/mcp に変更してください。

Connect でも Actions と同じ MCP ツール群を利用します。利用時に API から戻るエラーがある場合は、パラメータの URL エンコードを確認し、必要に応じて複数指定(&value_range=...)を活用してください。

自然言語問い合わせのコツ

どのクライアントでも、まずは /api/mcp/inspection-range-labels/api/mcp/questionnaire-answer-values で利用可能なラベルを取得し、続けて対象データを絞ると安定して結果が得られます。 特定の値が 0 件になる場合は、まず広めの条件で分布を確認してから該当ラベルを探すとエラーを回避できます。

問い合わせテンプレート例

  • 「特定健診BMIで、青森県・男性・40-44歳の 40.0 以上の件数を確認して。」
  • 「宮城県で 18.5 以上 20.0 未満の BMI が多い年代を比較したい。」
  • 「HbA1c の高値人数トップ5の都道府県を出して。」

結果が出ないときは

  • まず範囲ラベル一覧を取得し、存在する表記か確認。
  • 複数ラベルを指定する場合は &value_range=正常&value_range=要注意 のように繰り返し形式を使う。
  • HTTP 400/500 エラー時はレスポンス本文のメッセージをクライアントに表示し、再質問時に修正。

Support

お問い合わせ・フィードバック

公開リポジトリとメール窓口の 2 経路を用意しています。小規模な実験運用のため即時対応や実装のお約束はできませんが、寄せられたご意見は優先度を検討しながら改善計画に反映します。GitHub アカウントをお持ちの場合は Issue 作成をご利用ください。スパム対策のため自動公開は行わず、内容を確認したうえで順次対応します。

技術的な質問・不具合報告

  • GitHub Issue を作成してください。
  • テンプレートに沿って 再現手順 / 期待する結果 / 取得したレスポンス を記載ください。
  • 送信後はメンテナチームが内容を確認し、公開可否を判断してから返信します。対応可否は状況を見ながら検討します。

お問い合わせメール

GitHub を利用できない場合は、以下のアドレス宛にご連絡ください。

toms_pjt-ndbopendata@yahoo.co.jp

件名に [NDB Hub] を含めていただけると仕分けがスムーズです。頂いた内容は改善候補として整理し、対応状況に応じて個別にご連絡します。

オープンな議論が必要な場合は GitHub Discussions の開設も検討中です。短期的には Issue / メールでいただいた内容を整理し、対応可否を明示したうえで FAQ として本ページに反映していきます。

トラブルシュート

  • ツールが表示されない: クライアントを再起動。Claude の場合は設定ファイルの JSON 構文ミスに注意。
  • 接続エラー: プロキシやファイアウォールで https://ndbopendata-hub.com が許可されているか確認。
  • Actions で 0 件になる: value_range の繰り返し指定、URL エンコード(126%E4%BB%A5%E4%B8%8A) を確認。
  • 最新スキーマを再取得: /mcp/openapi を再読み込みし、必要なら ChatGPT でスキーマ更新を実行。