Catálogo de fuentes públicas de España について
スペインの公共データソースを整理したカタログで、エンドポイント、戻り値の形式、データの落とし穴、コード例、識別子の対応表を収録しています。スタートアップ、開発者、AI エージェント向けで、MCPサーバーから直接データを照会できます。
主な機能
- 01102 件のスペイン公共データソースを収録
- 02エンドポイント、必須ヘッダー、エンコーディングの注意点
- 03サイレントに結果が変わる罠を別途記載
- 04自治体、企業、入札を照会するツール
- 05任意のローカル Parquet ストアと同期スクリプト
活用シーン
- 01公共入札や補助金の新着公告の監視
- 02税務識別番号から企業のリスク概要を作成
- 03自治体ごとの人口、雇用、住宅価格データの比較
MCP 対応
buscar、ficha、perfil_municipio、coyuntura、empresa_nif などのツールを公開するMCPサーバーで、MCPクライアントからスペインの公共データを照会できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
公開データソースの管理
プロダクト開発にすぐ使えるスペインの公開データ。各データセットの保存場所、呼び出し方法、返されるデータ、数値を変えてしまう落とし穴を、実際の呼び出しで検証済みです。取得処理を解決済みのコードも用意しています。llms-min.txt または MCP サーバーから始めましょう。
スペインの公開データを、プロダクト開発にすぐ使える形で提供します。各データソースについて、保存場所、取得方法、返されるデータ、実際の呼び出しで確認した注意点をまとめ、データ取得処理を組み込んだコードも用意しています。スタートアップ、開発者、AI エージェント向けです。
ここから始めましょう
- エージェントを使う(MCP):
uvx --from git+https://github.com/BquantFinance/Administracion-fuentes-publicas mcp-catalogo、、または Claude Code で
/plugin marketplace add BquantFinance/Administracion-fuentes-publicasと/plugin install fuentes-publicas@fuentes-publicasを実行します。buscarでデータソースを検索し、fichaでエンドポイントと注意点を確認できます。perfil_municipio、coyuntura、empresa_nifなどのツールでデータを取得できます(ツール)。 - コードを使う:
pip install "fuentes-publicas-mcp @ git+https://github.com/BquantFinance/Administracion-fuentes-publicas"。証明書、エンコーディング、ページネーションに対応するクライアント(スクリプト)、API から取得できないデータのローカル Parquet ストア(ガイド)、そのまま動作するサンプルを用意しています。 - ドキュメントを読む:概要を確認するには
llms-min.txt、各データソースの詳細はsources/をご覧ください。
今日から構築できるもの
各プロダクトには、すでに動作する構成要素があります。データの鮮度、測定済みのボリューム、ライセンス、最も厄介な注意点は indices/productos.yaml をご覧ください。提供を始める前に、ライセンス、出典表記、個人データをご確認ください。
| プロダクト | 対象ユーザー | データソース | 構成要素 |
|---|---|---|---|
| radar-licitaciones · CPV、県、または契約機関別の新規入札通知 | 行政機関への入札に参加する中小企業やコンサルタント | placsp-datos-abiertos, dir3-directorio | ejemplos/radar/ を含む fuentes-radar(GitHub Actions による毎日の通知:issue、RSS、JSON。CPV、NUTS、金額、キーワード);履歴と検索用の almacen.py sync --fuentes placsp |
| inteligencia-competidores · 業界や機関別に、どの企業がいくらで、何件の入札の中から契約を獲得しているか | 入札参加企業、公共調達アナリスト、ジャーナリスト | placsp-datos-abiertos | almacen.py(placsp_adjudicaciones テーブルと adjudicaciones_ultimo ビュー);ejemplos/adjudicaciones.py;almacen_sql ツール |
| radar-ayudas · 企業のプロフィール(業種、地域、受益者の種類)に合致する新規助成金の公募 | 中小企業、会計事務所、公的資金調達コンサルタント | bdns-api, boe-api-sumario | ejemplos/radar/ を含む fuentes-radar(キーワードとレベル別の新規公募、毎日の通知);scripts/clientes/bdns.py(ページネーションによる公募と助成金交付、登録日による新規登録) |
| kyb-proveedores · NIF による取引先または顧客のリスク情報(助成金、契約、商業登記上の行為、契約禁止) | 調達部門、信用 fintech、コンプライアンス部門 | bdns-api, placsp-datos-abiertos, borme-api-sumario, hacienda-registro-licitadores | empresa_nif ツール(NIF または名前で検索。名前の場合は BDNS ディレクトリで NIF を特定)と ejemplos/empresa_nif.py;ローカルストレージを使用すると、落札した契約と BORME の登記事項を追加 |
| leads-sociedades-nuevas · 県別、事業目的別の新設法人(資本金と住所を含む) | B2B プロバイダー(会計事務所、銀行、業務管理ソフトウェア、保険会社) | borme-api-sumario | ejemplos/radar/ を含む fuentes-radar(県、事業目的、資本金別の新設法人、毎日の通知);履歴用の almacen.py sync --fuentes borme;NIF を調べるための empresa_nif(法人名を指定) |
| informe-ubicacion · 不動産会社、リテール、フランチャイズ向けの位置情報レポート(人口、所得、失業、住宅、犯罪、学校、医療、1 km 圏内の充電設備) | 不動産会社、リテールチェーン、フランチャイズ、proptech | ine-api-tempus, sepe-estadisticas, interior-criminalidad, mivau-precios-vivienda-alquiler, catastro-ovc, centros-docentes-ccaa, centros-sanitarios-ccaa, dgt-datex-trafico | 自治体名、住所、または「lat,lon」を指定する perfil_municipio ツール(郵便番号、建物の地籍参照番号、住所を指定した場合は周辺ブロック)と ejemplos/mi_municipio.py;コード間の変換用の datos/municipios.csv |
| comparador-carburantes · ドライバーや車両フリート向けの近隣の最安ガソリンスタンドと、スタンドごとの価格推移 | モビリティアプリ、車両フリート管理者、比較サービス | minetur-precios-carburantes | ejemplos/carburante_cerca.py;スタンドごとの日次時系列用の almacen.py sync --fuentes carburantes |
| monitor-regulatorio · 分野別の新規・改正法令通知と、条文の現行テキスト | 法律事務所、コンプライアンス部門、legaltech | boe-api-sumario, boe-api-legislacion-consolidada, boe-eli | ejemplos/radar/ を含む fuentes-radar(セクション、部門、キーワード別の BOE、毎日の通知);scripts/clientes/boe.py(昨日更新された法令と条文ブロックの現行バージョン) |
| panel-macro · fintech、メディア、アドバイザー向けの経済概況ダッシュボード(IPC、失業率、GDP、Euríbor、リスクプレミアム) | fintech、メディア、金融アドバイザー | ine-api-tempus, bde-estadisticas | coyuntura ツール(consulta.coyuntura);系列全体を取得するための条件付きダウンロードに対応した Banco de España の 90 個の ZIP |
| precio-electricidad · 節約アプリ、ホームオートメーション、車両充電向けの15分ごとの電力価格 | 消費者向けアプリ、ホームオートメーション、充電ポイント | omie-mercado | omie-mercado データソース(1日単位の marginalpdbc ファイルと年間 ZIP) |
| buscador-medicamentos · 製品情報、添付文書、供給上の問題を検索できる医薬品検索 | 薬局、healthtech、患者向けアプリ | aemps-cima-api | aemps-cima-api データソース(API キー不要の REST JSON API) |
| agritech-parcelas · 座標による農地情報(土地利用、面積、Red Natura、硝酸塩脆弱地域) | agritech、農業協同組合、農業保険会社 | mapa-sigpac, catastro-ovc | 「lat,lon」を指定する perfil_municipio(区画、土地利用、面積、地籍参照番号、INE 自治体);next に従って bbox 内の区画を取得する scripts/clientes/ogc.py |
| viviendas-turisticas · 自治体、地区、通り別の観光用住宅の地図とセンサス。プラットフォーム上の広告とライセンスを照合 | proptech、自治体、地域住民団体、賃貸管理者、ホテル事業者 | viviendas-uso-turistico, ine-api-tempus, cnig-centro-descargas | perfil_municipio(viviendas_turisticas ブロック:スペイン全土の INE データと、Cataluña、Madrid、Comunitat Valenciana の登録情報);Socrata と CKAN の住所・地籍参照番号付きリスト;地籍参照番号で照合するための ubicar |
| eficiencia-energetica-edificios · 建物のエネルギーラベルと自治体別の評価分布。改修、グリーン住宅ローン、proptech 向け | 改修事業者と ESE、銀行(グリーンファイナンス)、proptech、ビル管理者 | certificados-eficiencia-energetica, cnig-centro-descargas, catastro-ovc | 住所を指定する perfil_municipio(certificados_energeticos ブロック:Cataluña と Comunitat Valenciana の敷地内にある物件ごとの最新証明書);Cataluña の自治体別分布用の Socrata の $group;Madrid と Andalucía の CSV および 7z |
公式ドキュメントに書かれていないこと
実際の呼び出しで確認した例をいくつか紹介します。
- BDNS のエクスポートは、
pageSizeを指定しないと、数千件あっても 50 行しか返さず、そのことも通知しません。また、同期には付与日を使えません。2025年1月15日分のデータは2026年8月まで登録され続けていました(正しいフィルターであるfechaRegInicioはドキュメントに記載されていません)。 - 自治体を絞り込むには、INE が求めるのはコード(
02001)ではなく、内部 ID(6124)です。SIGPAC と Catastro では、マドリードは28079ではなく28:900で、ほかの 4,448 自治体も番号が異なります(対応表)。 - 直近月の IPC は改定される速報値です。また、公表される GDP は修正後の数値で、2026年第2四半期は四半期比 0.68%です。修正前の系列では 4.79%です。
- SEPE の登録失業者数 CSV では、Oza-Cesuras の失業者数は 0 で、Cerdedo-Cotobade は掲載されていません。データに合併前のコードが使われているためです。
.gob.esのサーバーの多くは、中間証明書を付けずに FNMT 証明書を送信します。ブラウザーでは接続できますが、curlとrequestsは失敗します(修正方法)。- PC-Axis ポータルの CSV は、ヘッダーに ISO-8859-15 と記載されていても UTF-8 で配信されます。SEPE の CSV は、UTF-8 と記載されていても Windows-1252 です。
- GBIF では、イベリア半島のセイヨウヒイラギガシの大半は Quercus rotundifolia(スペイン国内で 130 万件の記録)です。名称検索で返される Quercus ilex を検索すると、何の注意表示もなく 21,322 件しか得られません。また、スペイン国内の記録 9,580 万件のうち 4,160 万件は CC BY-NC です。
カタログ登録済みの情報源:102 件。現在の対象範囲:中央政府および、2026年10月以降は人口の多い4つの自治州(マドリード、カタルーニャ、アンダルシア、バレンシア州)、ならびにマドリード市とバルセロナ市。今後の対象:その他の自治州と地方自治体、議会および司法機関、欧州連合。
原則
- 情報源ごとに1つのレコードを YAML で作成し、固定フィールドをスキーマに照らして検証します。内容のない文章は加えません。1行ごとに検索の手間を省きます。
- 唯一の信頼できる情報源。 編集するのは
sources/**/*.yamlのみです。インデックス、catalog.json、llms*.txtは自動生成します。 - 公式ドキュメントに書かれていないこと。
gotchasフィールドには、必須ヘッダー、特殊な文字コード、未記載の制限、変更される URL など、何時間もの作業を無駄にしかねない詳細を記録します。不完全な数値や異なる数値をエラーなしで返す、気づきにくい落とし穴はalertsに分けて記載し、MCP サーバーが最初に返します。 - 明示的な検証。
verifiedにはエンドポイントを実際に最後にテストした日付、またはnullを設定します。週次ジョブで URL が引き続き応答することを確認します。 - トップダウン方式。 利用頻度と影響度が高い情報源から、分野ごとに順に対象とし、最終的にすべてを網羅します。
分野
| 分野 | 説明 | ソース |
|---|---|---|
| legislacion-boletines | 法令および官報 | 6 |
| economia-finanzas | 経済、金融および市場 | 5 |
| hacienda-presupuestos | 財務、税および予算 | 6 |
| estadistica | 公式統計 | 7 |
| contratacion-subvenciones | 公共調達および助成金 | 3 |
| empleo-seguridad-social | 雇用および社会保障 | 3 |
| gobierno-abierto-administracion | オープンガバメント、透明性および行政組織 | 12 |
| territorio-cartografia | 地域、地籍および地図作成 | 5 |
| meteorologia-clima | 気象および気候 | 2 |
| medio-ambiente-agua-biodiversidad | 環境、水および生物多様性 | 5 |
| energia | エネルギー | 5 |
| sanidad-medicamentos | 医療および医薬品 | 6 |
| ciencia-investigacion | 科学および研究(生物学、化学、地質学、海洋学) | 7 |
| agricultura-pesca-alimentacion | 農業、漁業および食料 | 4 |
| transporte-movilidad | 交通およびモビリティ | 7 |
| comercio-industria-propiedad | 貿易、産業および工業所有権 | 4 |
| educacion-universidades | 教育および大学 | 3 |
| justicia-interior-seguridad | 司法、内政および安全保障 | 1 |
| cultura-patrimonio | 文化および遺産 | 2 |
| demografia-migraciones-sociedad | 人口統計、移民および社会 | 4 |
| vivienda-urbanismo | 住宅および都市計画 | 3 |
| telecomunicaciones-digital | 電気通信およびデジタル社会 | 1 |
exterior-cooperacion | 対外活動および協力 | 0 |
| consumo-seguridad-alimentaria | 消費および食品安全 | 1 |
defensa | 防衛 | 0 |
構成
sources/<sector>/<id>.yaml fichas (fuente de verdad)
sources/<sector>/README.md índice del sector (generado)
schema/source.schema.json esquema de ficha
schema/vocab.yaml vocabulario controlado: sectores, acceso, auth, formatos
catalog.json todo el catálogo (generado)
llms-min.txt, llms.txt, llms-full.txt entrada para agentes, de menos a más (generado)
indices/*.yaml productos, recetas por intención, necesidades, identificadores, códigos que son parámetros, rutas muertas (fuente de verdad)
indices/README.md los seis índices en texto (generado)
ejemplos/ proyectos pequeños que funcionan (carburante, BOE, licitaciones, municipio, subvenciones)
plugins/, .claude-plugin/ plugin de Claude Code con la skill y el servidor MCP
datos/municipios.csv los 8.132 municipios con su código INE, Id del INE Tempus, SIGPAC y Catastro, DIR3, NIF, NUTS3 y coordenadas (scripts/municipios.py)
scripts/ validate.py, build.py, check_links.py, check_recetas.py, check_ejemplos.py, fnmt_bundle.py, mcp_catalogo.py (servidor MCP local)
scripts/clientes/ sesión HTTP, clientes CKAN, Socrata, PC-Axis, ArcGIS y OGC, cargadores (BOE y BORME, BDNS, AEMET, INE, PLACSP, DataComex, Saiku) y almacén local en Parquet
scripts/clientes/muestras/ respuestas reales recortadas para probar los parsers sin red (python scripts/test_clientes.py)
evals/ 24 tareas con respuesta esperada para medir lo que aporta el repo a un agente
templates/source.yaml plantilla de ficha
guides/ guías transversales (cliente HTTP, identificadores, servidor MCP, reutilización y datos personales, almacén)
クイックスタート
# Todo el catálogo
curl -s https://raw.githubusercontent.com/BquantFinance/Administracion-fuentes-publicas/main/catalog.json
# Fuentes de un sector con API REST y sin autenticación
curl -s .../catalog.json | jq '.sources[] | select(.sector=="economia-finanzas" and (.access|index("api-rest")) and .auth=="none") | .id'
# pip install "fuentes-publicas-mcp @ git+https://github.com/BquantFinance/Administracion-fuentes-publicas"
from fuentes_publicas.clientes import ckan, socrata, pcaxis, arcgis, ogc
from fuentes_publicas.clientes.sesion import sesion # requests.Session con FNMT, User-Agent, reintentos y bloqueos
pcaxis.tabla(24077)[:3] # IPC del INE en CSV: UTF-8 real, coma decimal y periodo sin dato como None
list(socrata.filas("gn9e-3qhr")) # 87.930 filas de la Generalitat, no las 1.000 que da Socrata sin $limit
list(ckan.filas("cnmc", rid)) # todas las filas del datastore aunque el portal recorte limit a 32.000
ckan.comparar("comunidad-madrid", rec) # el datastore del padrón tiene 5.000 filas; el CSV, 18.718
エージェント向けインデックス
各サービスの情報に加えて、indices/ では情報源を選ぶ前に知りたいことを確認できます。
- 製品:今すぐ何を、誰のために、どの要素を使って構築できるか。
- 目的別レシピ:情報シートをつなぐ検証済みの手順(NIF から助成金や契約を調べる、座標から地籍参照番号を調べる、BOE の目次から統合版の本文を調べるなど)。各レシピには、実際のサーバーに対して
python scripts/check_recetas.pyで実行する検証項目が含まれます。 - 情報の場所:よくあるニーズと、それを解決する情報シート、および典型的な脱線を防ぐ注記。
- 識別子:データセット間で共通して使われるコードと、正規表現、例、発行元、検証済みの変換方法。
- パラメーターとして使うコード:API が要求し、推測できない値(
tv用の INE ID、DataComex の国、各州都の AEMET 観測所、燃料製品、BOE の範囲)。実際の呼び出しで取得しています。 - 使えなくなった経路:すでに使えない古いドキュメントの URL と、その代替先。
測定結果(evals/):同じエージェントが 10 件のタスクをカタログあり・なしで解決した結果(モデル 2 種類)、正答数は同じでした。カタログを使うと、難しいタスクでは HTTP 呼び出しとエージェントの手順が半分になり、失敗はほぼゼロになります。静かな落とし穴があるタスクを小型モデル(Haiku、3 回実行、ターンごとにトークンを計測)で解いた場合、正答数はカタログなしの 21 件中 3 件から、MCP サーバーありの 21 件中 13 件に増え、トークンは 43%減少しました。警告を加えると、なお失敗していた落とし穴への対応は 18 件中 5 件から 18 件中 18 件に増えました。
すべての内容は indices/README.md にあり、プログラムから利用する場合は catalog.json の indices キーから参照できます。各情報シートの主要なエンドポイントには、コピーして使える呼び出し例を示す example と、その呼び出しで確認されたレスポンス形式を示す returns があります。python scripts/mcp_catalogo.py を実行すると、MCP 経由でローカルのカタログを公開し、必要な情報だけを読み込めます(ガイド)。
貢献
CONTRIBUTING.md をお読みください。概要:templates/source.yaml をコピーして記入し、python scripts/validate.py && python scripts/build.py を実行して、PR を作成します。
ライセンス
カタログとドキュメント:CC0 1.0。情報シートが参照するデータには、それぞれ独自のライセンスがあり、license フィールドに記載されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。