mcpField
O
opendata-cat

opendata-cat

リモート
github.com/xaviviro法務・行政226 週間前に更新
リポジトリ

opendata-cat について

カタルーニャの公開データを LLM から検索・照会するための MCP サーバーです。15 のポータルと、ラジオアーカイブの radioteca.cat を対象としています。非営利団体 opendata.cat が運営し、各元データソースに直接問い合わせます。

主な機能

  1. 0115 ポータルにまたがる 3,073 件のデータセットを検索
  2. 02データセットのメタデータ、フィールド、ライセンスを参照
  3. 03フィルターとページングを使い元ポータルに直接照会
  4. 04INE、REE、CNMC などスペイン全国規模のソースに対応
  5. 05radioteca.cat のアーカイブを検索し絶対 URL を取得

活用シーン

  1. 01カタルーニャの人口、失業率、CPI などの統計を確認
  2. 02自治体の予算、契約、債務データを取得
  3. 03PVPC 電気料金、燃料価格、列車の遅延状況を確認

MCP 対応

本プロジェクトは MCP サーバーであり、検索、メタデータ、照会、radioteca.cat 検索などのツールを MCP クライアントに公開します。また skills をリソースおよびプロンプトとして提供します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://opendata.cat/api/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@opendata.cat/mcp-server0.6.1

ツール

詳細

Opendata.cat MCP Server — LLM をカタルーニャのオープンデータに接続

npm npm downloads github web license

Opendata.cat MCP Server

モデルコンテキストプロトコル(MCP)サーバーです。言語モデル(Claude、ChatGPT、Gemini など)をカタルーニャの公共オープンデータに接続します。15 のポータルからデータセットを検索し、メタデータを調べ、実データを直接 AI アシスタントから照会できます。

opendata.cat のプロジェクトです。2012 年に設立された非営利団体で、カタルーニャのオープンデータの透明性、普及、標準化を推進しています。フランス政府のプロジェクト datagouv-mcp に着想を得ています。

利用可能なポータル

カタルーニャのポータル
ポータルデータセット数API
Generalitat de Catalunya1.059Socrata(SoQL)
Consorci AOC~887CKAN datastore
Ajuntament de Barcelona555CKAN datastore
Idescat138Idescat API
Ajuntament de Reus119CKAN datastore
Diputacio de Barcelona90REST + JSON:API(CIDO)
Ajuntament de Girona53CKAN datastore
FGC(Ferrocarrils)50Opendatasoft + GTFS-RT
Renfe Rodalies6CKAN + GTFS-RT JSON
カタルーニャに焦点を当てた国のデータソース
データソースデータセット提供内容
INE6人口、IPC、EPA(失業/雇用)、観光、GDP、住宅 — カタルーニャに自動で絞り込み
Red Electrica (REE)4発電(エネルギーミックス)、需要、収支、リアルタイムのPVPC価格
SEPE2カタルーニャの自治体別の登録失業者数と契約数
CNMC / Ministeri1カタルーニャの約1,500か所のガソリンスタンドの燃料価格。自治体で絞り込み可能

15のポータルに3,073件以上のデータセットがあります。ほとんどはフィルター、検索、ページネーションを使ってクエリできます。

カタログは毎週自動更新されます。--portal を使った増分クロールにより、全体を再スキャンせずに新しいデータソースを読み込めます。

アクセス方式:

  • Socrata:フィルターと検索に対応したSoQLクエリ(ジェネラリタット)
  • CKAN:フィルターと検索に対応したdatastore_search(バルセロナ、AOC、レウス、ジローナ、Renfe)
  • Diba REST:ページネーションとフィルターに対応したdo.diba.cat API(バルセロナ県議会)
  • CIDO JSON:API:契約、規則、助成金を扱うapi.diba.cat(バルセロナ県議会)
  • Opendatasoft:フィルターと検索に対応したrecords API(FGC)
  • GTFS-RT:FGCとRenfe Rodaliesの列車のGPS位置、アラート、遅延をリアルタイムで取得
  • Idescat:時系列データを含む統計指標
  • INE:スペインの公式統計をカタルーニャに自動で絞り込み
  • REE:発電、需要、電力価格(PVPC)をリアルタイムで取得
  • CNMC:サービスステーション別の燃料価格。自治州/県/自治体で絞り込み可能
  • GIS:ジオメトリを自動で簡略化(重心+bbox)
  • AOC自治体データ:1,000以上の自治体のデータを含む9つのデータセット。NOM_ENSで絞り込み可能

クイックインストール

Claude Desktop

設定ファイルに追加します(macOSでは~/Library/Application Support/Claude/claude_desktop_config.json、Windowsでは%APPDATA%\Claude\claude_desktop_config.json)。

{
  "mcpServers": {
    "opendata-cat": {
      "command": "npx",
      "args": ["-y", "@opendata.cat/mcp-server"]
    }
  }
}
Claude Code(CLI)
claude mcp add opendata-cat -- npx -y @opendata.cat/mcp-server
VS Code / Cursor

プロジェクトの.vscode/mcp.jsonファイルに追加します。

{
  "servers": {
    "opendata-cat": {
      "command": "npx",
      "args": ["-y", "@opendata.cat/mcp-server"]
    }
  }
}
Windsurf / Cline / JetBrains / Gemini CLI / Warp / ChatGPT / Copilot Studio

**opendata.cat/mcp**で、13種類のMCPクライアント向けの手順を掲載した完全ガイドをご覧ください。

インストール不要で、Streamable HTTP経由で直接接続することもできます。

https://opendata.cat/api/mcp

利用可能なツール

ツール説明
search_datasets3,073件以上のデータセットを収録したカタログを自由なテキストで検索
get_dataset_infoフィールド、型、ライセンス、エンドポイントなどの完全なメタデータを返す
list_dataset_fieldsデータセットのフィールドを名前、型、説明とともに一覧表示
query_dataset元のポータルから実データを直接取得
list_portals利用可能な15のポータルを統計情報とともに一覧表示
list_categories利用可能なカテゴリとトピックを件数とともに一覧表示
related_datasets他のポータルにある関連データセットを返す
search_radiotecaradioteca.catのカタログを検索(約48万5千件のエピソード、番組、カタルーニャ・ラジオ、RAC1、カタルーニャ・ムジカ、iCat、RTVEなどの人物)。追跡可能性を確保するため、常にradioteca.catの絶対URLを返します
search_datasets

データセットを自由なテキストで検索します。

query: "qualitat aire"
portal: "barcelona"        # opcional: generalitat, barcelona, diba, aoc, reus, girona, fgc, idescat, renfe, ine, ree, sepe, cnmc
category: "Medi Ambient"   # opcional
limit: 20                  # opcional (defecte: 20)
query_dataset

元のポータルに対して直接クエリを実行し、実データを返します。

dataset_id: "generalitat:gn9e-3qhr"
filters: {"estaci": "Sau"}   # opcional
search: "embassament"         # opcional
limit: 20                     # opcional (defecte: 20, max: 100)
offset: 0                     # opcional

国のデータソースで使うフィルターの例:

  • INE:カタルーニャに自動で絞り込み(人口、IPC、観光など)
  • REE:ree:preus-electricitat — 時間別のPVPC価格
  • CNMC:filters: {"municipi": "Sabadell"} — サバデイのガソリンスタンド

スキル

ツールやプロンプトに加えて、サーバーはスキルも公開しています。これは、特定の分野で、データセットの選び方、フィルタリング、ページ分割、適切な引用方法などをLLMに段階的に案内する調査ガイド(SKILL.md形式)です。パッケージ内(skills/)で配布され、MCP リソース(skill://<nom>/SKILL.md、resources/list + resources/read経由)として、またスラッシュコマンドとして呼び出せる橋渡しプロンプト(/mcp__opendata_cat__skill_<nom>)として提供されます。

スキル用途
consulta-dades-obertes全般的な案内:15のポータルの閲覧、直接照会と検索の使い分け、ページ分割、引用
contractacio-publica公共調達の調査:PSCP、市町村の登録簿、落札情報の照合、金額の合算
radar-municipalポータルを横断した自治体の全体像(予算、負債、契約、人口)
patrimoni-i-hemerotecaサブポータルの選択と必須の引用を伴う、Catalònica(BNC)およびradioteca.catの調査

同じスキルは、HTTPエンドポイント https://opendata.cat/api/mcp からも提供されます。

使用例

設定後、LLMに次のような質問ができます。

  • 「カタルーニャの貯水池の状況はどうですか?」
  • 「RodaliesやFGCの列車に、今遅延しているものはありますか?」
  • 「INEによると、カタルーニャの人口は何人ですか?」
  • 「今日のサバデイのガソリン価格はいくらですか?」
  • 「今の電気料金はいくらですか?(PVPC)」
  • 「テラッサの大気質を分析してください」
  • 「カタルーニャの失業率はいくらですか?」
  • 「バルセロナの観光客の宿泊数はいくつですか?」
  • 「オープンデータでジローナとタラゴナを比較してください」
  • 「レウスの予算に関する最新データを教えてください」
  • 「ティアナの負債額はいくらですか?」

仕組み

Usuari → LLM → MCP opendata.cat → API opendata.cat (cataleg)
                                 → Portal origen (dades reals)
  1. MCPはopendata.cat APIを照会し、関連するデータセットを見つけます
  2. ユーザーが具体的なデータを求めると、MCPは提供元ポータルに直接問い合わせます
  3. データがLLMに返され、LLMが解釈してユーザーに提示します

データを保存したり、プロキシとして中継したりすることはありません。各照会は公式の情報源に直接送られます。

REST API

MCPサーバーに加えて、opendata.catは公開REST APIを提供しています。

エンドポイント説明
GET /api/all-datasets.phpページ分割、フィルター、並べ替えに対応した全件一覧
GET /api/datasets.php?q=...自由入力テキストでデータセットを検索
GET /api/dataset.php?id=...データセットの詳細情報
GET /api/categories.php件数付きのカテゴリとポータル
POST /api/mcpMCPサーバー(Streamable HTTP)

インタラクティブなドキュメント(Swagger):opendata.cat/api/docs.html

opendata.catについて

opendata.catは、透明性と公共情報へのアクセスの促進を目的として2012年に設立された、カタルーニャの非営利団体(登録番号47468)です。

変更履歴

v0.6.0 (2026-07-15)
  • MCPリソース(skill://<nom>/SKILL.md)および橋渡しプロンプト(skill_<nom>)として提供される新しいスキル
  • 4つの調査スキル:consulta-dades-obertes、contractacio-publica、radar-municipal、patrimoni-i-hemeroteca
  • skills/にパッケージ化され、HTTPエンドポイントopendata.cat/api/mcpと同期
v0.5.0 (2026-06-06)
  • 新しいツールsearch_radioteca:radioteca.catを検索(カタルーニャのラジオに関する約485K件のドキュメント — 8放送局)
  • publisher、year、type(Episode/Program/Person)フィルター
  • すべての検索結果に、追跡可能性を確保するradioteca.catの絶対URLを含める
  • opendata.cat上のサーバーサイドプロキシ — Typesenseのキーはnpmパッケージに公開されません
v0.3.1 (2026-04-17)
  • CNMCの燃料価格ハンドラーをnpmパッケージに追加(以前はHTTP経由でのみ動作)
  • 市町村および県によるフィルター:filters: {"municipi": "Sabadell"}
  • デフォルトではカタルーニャ全域(約1,500か所のガソリンスタンド)を返す
  • 13のポータルと国の情報源を掲載した新しいog:image
v0.3.0 (2026-04-16)
  • カタルーニャに重点を置いた、スペインの公的機関の新しいデータソース5件:INE、REE、SEPE、CNMC
  • INE ハンドラー:公式統計(人口、IPC、EPA、観光、GDP、住宅)。カタルーニャに自動でフィルターされます
  • REE ハンドラー:電力の発電、需要、需給バランス、リアルタイムのPVPC価格
  • CNMC ハンドラー:REST API経由で自治州/県/自治体のフィルターに対応した燃料価格
  • インクリメンタルクローラー:全体を再スキャンせずに新しいデータソースを読み込む --portal フラグ
  • 13ポータル、2,857データセット
v0.2.0 (2026-04-15)
  • 新しいポータル Renfe(カタルーニャのRodalies)— 6データセット(駅、乗客、リアルタイムGTFS-RT)
  • Rodalies Barcelonaの路線(R1-R16、RT、RG、RL)に自動でフィルターするGTFS-RT JSONハンドラー
  • LLMの理解を向上させるため、手順を英語に書き直しました
  • 手順にポータル、キーワード、カテゴリーの一覧を追加
  • ツールの説明とプロンプトを英語に翻訳
  • 新しいプロンプト trens_rodalies_temps_real
v0.1.2 (2026-04-14)
  • 手順を統合:LLMは注目のデータセットを受け取り、検索せずに直接クエリできます
  • Idescatを修正:ランダムな6件ではなく、指定された指標を返すようになりました
  • AOCの自治体データセット9件:1,000を超える自治体の予算、サービス費用、債務
v0.1.0 (2026-04-14)
  • 新しいポータル Idescat — 時系列データを含む138の統計指標
  • ReusとGironaのポータル
v0.0.17 (2026-04-14)
  • GTFS-RTデコーダーを統合:FGCのリアルタイム列車情報
  • Swagger UI(OpenAPI 3.1)でREST APIをドキュメント化
v0.0.10 (2026-04-13)
  • FGCポータル(Opendatasoft経由で50データセット)
  • 14件の定義済みプロンプト
v0.0.1 (2026-04-12)
  • 初期バージョン:Generalitat、Barcelona、Diba、AOC — 6ツール、npm

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。