OpenGov MCP Server について
OpenGov MCP Serverは、MCPクライアントからSocrata対応のオープンデータポータルに接続するサーバーです。データセットの検索や構造の確認、レコードの照会、ポータル統計の取得に対応します。
主な機能
- 01キーワード・カテゴリ・タグでデータセットを検索
- 02データセットのメタデータと列情報を表示
- 03データセットのレコードを照会・取得
- 04ポータルの利用統計を取得
活用シーン
- 01政府ポータルから公開データセットを探す
- 02分析前にデータセットの項目を確認
- 03SoQLで政府データのレコードを照会
- 04ポータルの利用統計を確認
MCP 対応
統一された `get_data` ツールを通じて、Socrataのデータ検索、メタデータ参照、照会、統計取得機能をMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| type | enum | はい | 実行する操作の種類: - catalog:データセットを一覧表示します。検索は任意です - categories:すべてのデータセットカテゴリを一覧表示します - tags:すべてのデータセットタグを一覧表示します - dataset-metadata:特定のデータセットの詳細なメタデータを取得します - column-info:特定のデータセットの列の詳細を取得します - data-access:データセットのレコードにアクセスします(クエリに対応) - site-metrics:ポータル全体の統計情報を取得しますcatalog | categories | tags | dataset-metadata | column-info | data-access | site-metrics |
| domain | string | いいえ | 任意のドメイン(プロトコルを含まないホスト名のみ)。すべての操作タイプで使用します。 |
| query | string | いいえ | 検索またはクエリ文字列。用途は操作タイプによって異なります: - type=catalog の場合:データセットを絞り込む検索クエリ - type=data-access の場合:複雑なデータ絞り込みに使用する SoQL クエリ文字列 |
| datasetId | string | いいえ | 次の操作に必要なデータセット識別子: - type=dataset-metadata の場合:データセットの詳細を取得します - type=column-info の場合:列情報を取得します - type=data-access の場合:クエリ対象のデータセットを指定します(例:6zsd-86xi) |
| soqlQuery | string | いいえ | type=data-access のみで使用します。データを絞り込むための任意の SoQL クエリ文字列です。 query パラメーターの別名です。両方が指定された場合は、このパラメーターが優先されます。 |
| select | string | いいえ | type=data-access のみで使用します。結果セットに返す列を指定します。 |
| where | string | いいえ | type=data-access のみで使用します。返す行を絞り込みます(例:"magnitude > 3.0")。 |
| order | string | いいえ | type=data-access のみで使用します。指定した列に基づいて結果を並べ替えます(例:"date DESC")。 |
| group | string | いいえ | type=data-access のみで使用します。集計関数を使用するために結果をグループ化します。 |
| having | string | いいえ | type=data-access のみで使用します。where と同様に、グループ化されたデータを絞り込みます。 |
| q | string | いいえ | type=data-access のみで使用します。データセット全体を対象にフリーテキスト検索を行うためのパラメーターです。 |
| limit | number | いいえ | 返す結果の最大数: - type=catalog の場合:データセットの結果数を制限します - type=data-access の場合:返すデータレコード数を制限します |
| offset | number | いいえ | ページネーションでスキップする結果数: - type=catalog の場合:データセットの結果をスキップします - type=data-access の場合:ページネーションでデータレコードをスキップします |
詳細
OpenGov MCP サーバー
Claude Desktop のような MCP クライアントから Socrata Open Data API にアクセスできるようにする、MCP(Model Context Protocol)サーバーです。この連携により、Claude Desktop で政府のデータポータルから公開データセットを検索、取得、分析できます。
概要
この MCP サーバーは、都市、州、連邦政府機関のデータポータルを含む、Socrata を利用したあらゆるデータポータルのオープンデータにアクセスできます。例:
公開データにアクセスするため、基本的な利用に API キーは必要ありません。
機能
この MCP サーバーを使うと、クライアントは次の操作を行えます。
- キーワード、カテゴリ、タグでデータセットを検索、検出する
- データセットのメタデータと列の情報を表示する
- SQL に似たクエリを実行してデータを取得、分析する
- ポータルの利用統計を取得する
Claude Desktop へのインストール
npx でのクイックセットアップ(推奨)
この MCP サーバーを使う最も簡単な方法は npx を利用することです。インストールは不要です。
-
Claude Desktop の設定を作成または編集する:
ホームディレクトリにある
claude_desktop_config.jsonを作成または編集します。{ "mcpServers": { "opengov": { "command": "npx", "args": ["-y", "opengov-mcp-server@latest"], "env": { "DATA_PORTAL_URL": "https://data.cityofchicago.org" } } } }DATA_PORTAL_URL は、Socrata を利用した任意のデータポータルに置き換えられます。
-
Claude Desktop を再起動する(すでに起動している場合)
-
MCP サーバーの使用を開始する:
Claude Desktop で、次のような質問をできるようになります。
How many cars were towed in Chicago this month?さらに詳しく掘り下げる質問を続けて行うこともできます。
Which make and color were towed the most? Also, were there any interesting vanity plates?クエリを初めて実行するときに、npx がサーバーの最新バージョンを自動的にダウンロードして実行します。
ソースから手動でインストール
ソースから実行する場合(開発やカスタマイズなど)は、次の手順に従ってください。
-
このリポジトリをクローンする:
git clone https://github.com/srobbin/opengov-mcp-server.git cd opengov-mcp-server -
依存関係をインストールしてビルドする:
npm install npm run build -
Claude Desktop の設定を作成する:
ホームディレクトリにある
claude_desktop_config.jsonを作成または編集します。{ "mcpServers": { "opengov": { "command": "node", "args": [ "/path/to/your/opengov-mcp-server/dist/index.js" ], "env": { "DATA_PORTAL_URL": "https://data.cityofchicago.org" } } } }/path/to/your/opengov-mcp-serverを、リポジトリをクローンした実際のパスに置き換えます。 -
Claude Desktop を再起動する(すでに起動している場合)
利用可能なツール:get_data
この MCP サーバーは、Claude Desktop が Socrata のデータにアクセスするための統一ツール get_data を提供します。
パラメーター
-
type(string、必須):操作の種類catalog:データセットを検索、一覧表示するcategories:データセットのカテゴリを一覧表示するtags:データセットのタグを一覧表示するdataset-metadata:データセットの詳細を取得するcolumn-info:データセットの列情報を取得するdata-access:レコードをクエリして取得するsite-metrics:ポータルの統計情報を取得する
-
domain(string、任意):データポータルのホスト名(プロトコルを除く) -
query(string、任意):データセットの検索クエリ -
datasetId(string):特定の操作で使用するデータセット識別子 -
soqlQuery(string、任意):データを絞り込むための SoQL クエリ -
limit(number、任意):返す結果の最大数(デフォルト:10) -
offset(number、任意):ページネーションでスキップする結果数(デフォルト:0)
クエリ例
以下は、Claude Desktop が MCP サーバーに送信するクエリの形式例です。
// Find datasets about budgets
{
"type": "catalog",
"query": "budget",
"limit": 5
}
// Get information about a dataset
{
"type": "dataset-metadata",
"datasetId": "6zsd-86xi"
}
// Query dataset records with SQL-like syntax
{
"type": "data-access",
"datasetId": "6zsd-86xi",
"soqlQuery": "SELECT * WHERE amount > 1000 ORDER BY date DESC",
"limit": 10
}
設定オプション
このサーバーには、次の環境変数が必要です。
DATA_PORTAL_URL:Socrata データポータルの URL(例:https://data.cityofchicago.org)
次の場所で設定できます。
- Claude Desktop の設定(推奨)
- 環境変数
- コマンドライン:
DATA_PORTAL_URL=https://data.cityofchicago.org opengov-mcp-server
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。