Andorra public sources について
アンドラの公開情報源を探して照会するための、教育目的のカタログと Python クライアント群です。情報源の挙動や再利用条件を記録し、Python、MCP サーバー、出典を示すアシスタントを通じて一部のライブデータを提供します。
主な機能
- 01アンドラの公開情報源カタログ
- 02一部情報源向け Python クライアント
- 03情報源の挙動と再利用条件の解説
- 04ローカル検索とページのライブ取得
- 05出典を引用した回答
活用シーン
- 01公的統計や行政手続きの検索
- 02情報源のアクセス方法と再利用条件の確認
- 03アンドラの手続きに関する出典付き回答
MCP 対応
stdio の MCP サーバーを通じて、カタログ内の一部ライブデータを MCP クライアントに提供します。BOPA 公報、統計、地図、e-tramits、政府ページなどの情報源を扱います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | |
| query | string | はい |
詳細
アンドラの公共データソース
アンドラの公共データソースを検索・参照するための教育用カタログと、シンプルな Python クライアントです。エンドポイントの仕様、再利用条件、検証済みの挙動、実用上の注意点を記録し、Python、MCP サーバー、出典を引用するアシスタントを通じて、選定したデータをリアルタイムで提供します。
独立した教育用プロジェクトです。アンドラ政府および記載されている機関とは提携していません。
データソース
| ID | データソース | 分野 | アクセス |
|---|---|---|---|
afa-feeds | アンドラ金融監督庁のフィード | 金融・規制 | feed |
bopa | アンドラ公国官報 | 法令・官報 | api, downloads |
carburants | 燃料ステーションと参考価格 | エネルギー・燃料 | arcgis-rest |
cass-estadistiques | CASS 統計データのダウンロード | 社会保障 | downloads |
consell-general-feeds | 総評議会のニュースフィード | 議会・市民向け情報 | feed |
e-tramits | 電子手続き | 公共サービス・手続き | html |
estadistica-api | アンドラ統計局 API | 公式統計 | api |
govern-ad | アンドラ政府の情報ページ | 公共サービス・手続き | html |
meteo-ad | meteo.ad の観測所チャート | 気象・気候 | html |
sig-arcgis | アンドラ政府の ArcGIS Enterprise | 地理・地図 | arcgis-rest |
transparencia | 透明性ポータル | 透明性・行政 | html, downloads |
各データソースの再利用条件については、ソースデータの条件および sources/ 内の各項目をご覧ください。
クイックスタート
Python 3.10 以降が必要です:
python -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/fonts-andorra-mcp
MCP サーバーは stdio で通信します。インストールしたコマンドを使って Claude Desktop、Claude Code、または Cursor を設定してください:
{
"mcpServers": {
"andorra-fonts-publiques": {
"command": "/absolute/path/to/andorra-fonts-publiques/.venv/bin/fonts-andorra-mcp"
}
}
}
MCP サーバーのインストール
公開済みのサーバーを uvx で実行します:
uvx fonts-andorra
Claude Desktop の設定:
{
"mcpServers": {
"andorra": {
"command": "uvx",
"args": ["fonts-andorra"]
}
}
}
引用付きアシスタント
Gemini REST API を使って、出典付きで質問できます。環境変数に GEMINI_API_KEY を設定してください。このリポジトリに保存されることはありません:
GEMINI_API_KEY=... .venv/bin/fonts-andorra-ask "Quant triga l'autorització inicial de residència i treball?"
.venv/bin/fonts-andorra-ask "Where can I find official unemployment statistics?" --lang en --json
クライアントは直接インポートすることもできます:
from fonts_andorra.clients.estadistica import data, search
tables = search("atur")
rows = data(1070) # Per defecte, startDate=1900 i endDate=2100.
ソースデータの条件
このリポジトリのコードとカタログは、CC0-1.0 のもとでパブリックドメインに提供されています。これはソース資料のライセンスを変更するものではありません。
- BOPA では、条件に従ってコンテンツの複製、翻案、抽出、再配布が認められています。出典と更新メタデータを保持し、意味を損なわず、承認を受けているかのような印象を与えないことが必要です。
- 統計局が所有する統計データは CC BY 4.0 です。第三者のデータには独自の条件が適用される場合があります。
- govern.ad、e-tràmits、Transparency は、すべての権利が留保された政府コンテンツです。このプロジェクトはページ本文をライブでダウンロードし、出典を明記してリンクしていますが、コンテンツを再配布していません。再公開には書面による同意が必要です。政府のローカルインデックスに含まれるのは、タイトル、URL、セクション見出しのみです。
- ArcGIS レイヤーと燃料データは、項目ごとのライセンスが示されていないため、すべての権利が留保された政府コンテンツとして扱います。このプロジェクトはライブで参照し、出典にリンクしていますが、コンテンツを再配布していません。
- フィード、meteo.ad、CASS:項目ごとの条件が存在しないか、確認されていません。データを再配布する前に、発行元の条件を確認してください。
カタログには、出典と条件が項目ごとに記載されています。商用利用または再公開の前に、各項目の条件を確認してください。
カタログファイル
sources/<id>.yamlには、ソースのレコードが含まれています。schema/source.schema.jsonとschema/vocab.yamlは、レコードの契約と固定語彙を定義しています。indices/dead-routes.yamlには、応答しないことが確認されたドメインが記録されています。確認日は 2026-10-02 です。catalog.json、llms.txt、llms-full.txtは、python scripts/build.pyで生成されます。python scripts/validate.pyは、ソースのスキーマ、語彙、関連するソースの識別子を検証します。
ローカル検索インデックス
fonts_andorra/data/index.json には、e-tràmits のタイトルと URL、および政府サイトのタイトル、URL、セクション見出しのみが含まれています。ソースコンテンツはすべての権利が留保されているため、すべてのページ本文はライブでダウンロードされ、出典が明記されます。アシスタントは BM25 を使って手続きと政府ページをローカルで検索し、見つかったページをライブでダウンロードします。禁止されている政府ウェブサイトの検索エンジンは使用しません。
e-tràmits と政府のカタルーニャ語サイトマップから再構築するには、.venv/bin/python scripts/build_index.py を実行します。このジェネレーターにはネットワーク接続が必要なため、CI には含まれていません。
テスト
テストはオフラインで実行でき、保存済みの公開レスポンスを使用します。
.venv/bin/ruff check .
.venv/bin/pytest -q
python scripts/validate.py
python scripts/build.py
CI
ci.yml は、各 push と pull request で lint、オフラインテスト、検証、生成ファイルのチェックを実行します。live.yml は毎週ライブチェックを行い、レポートをアップロードします。
live.yml のアシスタントチェックには、リポジトリに設定された GEMINI_API_KEY シークレットが必要です。
アシスタントの評価
evals/procedures.yaml には、参照回答(料金、最長処理期間、申請期間、対面での手続きが必要かどうか)を含む実際の手続きが 10 件記載されています。参照回答は 2026-10-02 に e-tràmits のページから取得したものです。次のコマンドで実行できます。
GEMINI_API_KEY=... .venv/bin/python evals/run.py --baseline
最新の結果(evals/results-2026-10-03.md、gemini-2.5-flash):正しい手続きが引用されたケースは 10/10 件で、データの正答数は 18/18 件です。同じモデルはソースなしでは 18 件中 3 件しか正解しません。この 10 件は検索の調整にも使用されたため、独立した評価ではなく、回帰テストセットとして扱う必要があります。
保留評価セット
evals/heldout.yaml には、調整の完了後に作成した追加の20件のケースが含まれています。調整に使用していない手続き15件(ca/es/fr/en)と、ここにあるどの情報源でも回答できない質問5件(天気、スキーパスの料金、国境の待ち行列、大臣の個人電話番号、ユーザーの休暇日数)です。アシスタントは、数値を一切示さずに回答を控える必要があります。
GEMINI_API_KEY=... .venv/bin/python evals/run.py --cases evals/heldout.yaml --baseline
- 初回実行(
evals/results-heldout-2026-10-03-first-run.md):採点ツールによると15/20でした。エラーのうち3件は採点ツール側のものでした([1, 2]のように記述された引用を読み取れず、「no se encontró」を回答を控えた表現として認識できませんでした)。同じ回答を再採点すると18/20になりました。実際のエラーは2件です。- 個人情報フィルターが
23-09-2026のような日付を電話番号としてマスキングしていたため、アシスタントは申請期間を回答できませんでした。これはすでに修正済みです。 - 「I'm selling my flat and need the habitability certificate」には、certificat d'habitabilitat(72時間)ではなく、cèdula d'habitabilitat(2か月)に基づいて回答しました。売却にはcèdulaが必要なため、この質問は曖昧です。
- 個人情報フィルターが
- 修正後(
evals/results-heldout-2026-10-03.md):20/20、事実23/23、回答不能な質問は5/5件で回答を控え、誤った引用は0件でした。同じモデルは情報源なしでは23件中6件しか正解できませんでした。居住適性に関するケースが通過したのは、検索で別の手続きが返されたためであり、修正の成果ではありません。キーワード生成は完全に決定的ではないため、このケースの結果は変わる可能性があります。
ここからは、この評価セットは厳密には保留ではなくなります。修正点が見つかったためです。新たな失敗は、新しいケースで修正する必要があります。
政府向けの1ページ提案書はdocs/pitch.mdにあります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。