okf-ons
ONS Open Knowledge Format
okf-ons は、英国国家統計局(Office for National Statistics)のサービスを通じて公開される公的統計のための、メタデータのみのディスカバリレイヤーです。これは、人またはエージェントが正確なデータセットを見つけ、混同しやすい代替案を確認し、利用可能な統計品質の証拠を理解し、ダウンストリームサービスが取得前にライブ検証と承認を行わなければならない非実行の候補計画を準備するのに役立つように設計されています。
このプロジェクトは、4つの役割を意図的に分離しています。
静的OKFバンドルは、 データセット、バージョン、ディメンション、来歴、標準の証拠、および代替案を発見し説明します。
OKF Explorerは、 LLMやホスト型検索サービスなしで、大規模な静的コーパスを絞り込み比較します。
リポジトリのローカルMCPブローカーは、 AIクライアントに同じ凍結メタデータへの制限付きアクセスを提供し、非実行の選択計画を準備します。
ダウンストリームのライブデータMCPサーバーは、 必要なデータセット固有の選択が完了した後にのみ、ONSまたはNomisクエリを実行します。
ローカルブローカーはダウンストリームのライブデータサーバーではありません。ネットワーク呼び出しを行わず、観測値を返しません。バンドルには、観測値、APIキー、またはプライベートデータは保存されません。
OKF 0.2 コアと Explorer 拡張機能
チェックインされたバンドルは、Open Knowledge Format 0.2 をターゲットにしています。生成されたポータブルコアは index.md から始まり、okf_version: "0.2" を宣言し、カタログ、凍結スナップショット、4つのソースレーン、プロバイダー状態、ガバナンス、標準、MCP選択のための型付き概念に段階的にリンクします。
すべての概念は generated と sources を使用します。verified イベントは主張されません。自動チェックは、構造的適合性と凍結入力の整合性を証明するものであり、人間によるレビューや統計的真実を証明するものではありません。ガバナンスされた鮮度ポリシーが未定義の間、stale_after 値は発明されません。したがって、ライフサイクルステータスは明示的であり、ライブ実行は引き続きプロバイダーの再検証を必要とします。
大規模コーパス記述子、JSON/YAML-LD、静的検索、ファセット、リレーションシップ、フェデレーション、整合性カタログ、プロバイダーデータパックは、追加のExplorer拡張機能のままです。新しい概念は、v0.1の timestamp と # Citations フォールバックも保持するため、古いコンシューマーはベストエフォートのディスカバリを継続でき、v0.2コンシューマーは generated と sources を優先します。
Related MCP server: ONS + Nomis MCP server
アクセスとドキュメント
これらは、main からのPagesデプロイメントの正規のエントリポイントです。不変のアプリケーションリリース v0.2.0 はOKF仕様0.2移行より前のものであり、履歴リリースの証拠として引き続き利用可能です。
ライブおよび機械可読アクセス
下位のデータセット、リソース、検索、選択オプションのシャードは、上記のデータおよび検索マニフェストを通じて発見されます。それらの生成されたパスは、独立した安定したエントリポイントではありません。
リポジトリ、リリース、来歴
不変のv0.2.0ダウンロード: バンドルZIP および SHA-256ダイジェスト
ソースレジスタ、 OKF 公開メタデータ、 リリーススナップショットマニフェスト、 現在のエンリッチメントスナップショットマニフェスト、および リリース変更ログ
ドキュメントマップ
製品とデモンストレーション: デモガイド、 製品契約、 ONSハッカソンブリーフ、および アクセシビリティステートメント
リポジトリ運用: リポジトリガイド、 セキュリティポリシー、 リリース変更履歴、および CI公開ワークフロー; AIクライアント変更フラグメントは プレリリース履歴として保持
メタデータと保証: メタデータモデル、 スコープと分母、および 標準レジスタ、さらに 時限メタデータエンリッチメントキャンペーン および OKF Explorerキャンペーンハンドオフ、 機械可読の 停止監査付き
MCPおよびAIアクセス: MCP選択契約、 MCPクライアント展開、および エージェントアクセスと評価提案
評価: 評価方法、 クロスクライアント試験分析、および 機械可読の 研究、 クライアントレジストリ、 タスク、 期待される結果、 ペルソナとジャーニー、 問題レジスタ、および ゴールドクエリ
研究とコミュニケーション: 研究レジスタ、 研究証拠マニフェスト、 アーキテクチャマニフェスト、 管理AI研究プロンプト、 管理AIアーキテクチャレポート、および 公開ドラフト
日付付きAIクライアント研究記録: Claude Desktopアクセストレース、 Antigravityブリーフィング、および Antigravityポストモーテム
ポータブル研究出力: ClaudeトレースDOCX、 M365アクセスブリーフィングDOCX、 M365ホスティング研究DOCX、 管理AIプレゼンテーション、 エンタープライズAIプレゼンテーション、および ディスカバリーブリッジビジュアル
OKF Explorerは、上記の直接リンクから今日バンドルを読み込むことができます。バンドルがURLを貼り付けなくても提案され、新しい権限、権利、ガバナンスフィールドが生のJSONだけでなくファーストクラスのUIとして表示されるように、別のExplorerレジストリとプレゼンテーションの更新が推奨されます。
SDMXサポート
バンドルはSDMX 3.1(ISO 17369)を登録し、7つの正規のOKFフィールドをSDMXコンセプトにマッピングし、NomisレーンのSDMXエージェンシー、識別子、バージョン、次元順序、コンポーネントロール、コードリスト参照を保持します。Nomisの選択は、その証拠が使用可能な場合、制限されたFREQコードラベルオプションと厳密な利用可能なTIME範囲も保持します。FREQは統計/参照頻度であり、公開頻度ではなく、TIME期間の改訂注釈はデータセットの改訂ステータスではありません。他のすべての必須次元は、ライブ検証と選択がまだ必要です。完了したライブ実行はMCP-Geoのnomis_queryを使用します。
バンドル自体はSDMXメッセージではありません。DCAT 3、SKOS、PROV-O、RDF Data Cubeの用語を使用してJSON-LDとしてシリアライズされ、そのコンテキストにはSDMX名前空間はありません。生成されたdata/standards/sdmx.jsonは、上流の適合性や認証を主張することなく、正確なマッピングとNomisの証拠数を報告します。
Mondayデモンストレーター
ハッカソン前のデモンストレーターは、ライブ取得を変更するのではなく、再現可能でレビュー可能なスナップショットを月曜日のプレゼンテーションで使用できるように凍結されています。以下を公開します:
不完全性を明示するソースとカバレッジの台帳
ONS Data API(337)、Nomis(1,617)、ONS Open Geography(3,035)、ONS Explore Local Statistics(108)からの凍結された5,097レコードのメタデータスナップショット
明示的な非推奨を伴う、資格のあるソースプロデューサー、サービスオペレーター、バンドルパブリッシャー、セマンティックオーソリティの役割
決定的な検索とファーストクラスのフィルターポスティング
証拠に基づく代替/対比関係
ONS Data APIとNomis間の正確な国勢調査テーブルコードの調整
誤った保証の主張なしの統計品質と標準の証拠
MCP選択プラン契約
再現可能な取得およびメタデータ品質評価レポート
不変のスナップショットID monday-2026-07-17-r2 は、固定されたELSメタデータプロジェクションで7月17日金曜日のフリーズを拡張します。r2サフィックスは、拡張されたコーパスが元のv0.1スナップショットIDを再利用するのを防ぎます。「monday」はデモンストレーターの名前であり、7月17日が月曜日であるという主張ではありません。
Explore Local Statisticsレーンは、固定されたアプリケーションサブモジュールの決定的で許可リスト化されたプロジェクションです。24の帰属プロデューサーからの108のONSキュレーションされた指標を運び、12の未公開マニフェストエントリを説明し、46の有効な履歴エイリアスを保持し、観測値、ステータス配列、値ドメイン、バイナリ、ジオメトリを削除します。これは、内部ELS APIが安定した公開実行契約であるという主張ではなく、開発フィクスチャです。検証済みのGit commitAsOfは取得時間とは別に保持されます。凍結されたフィクスチャは、記録されていない取得タイムスタンプを発明しません。
バンドルはまた、再現性を弱めることなくELSスナップショット/ライブの区別を可視化するプロバイダーデータパックを公開します。管理されたスナップショットは、2026年7月17日の795eaf2に固定されたままです。d5f0ac9で個別にレビューされた上流参照は、既知の例の違いを記録しています:平均住宅価格はスナップショットでは2026年4月で終了し、レビューされた参照では2026年5月で終了します。その参照は2026年7月23日に最後にチェックされ、明示的に外部であり、ライブ検証ではありません。その比較は非網羅的なレビュー済みの例であり、108の指標すべてが比較されたという主張ではありません。記述子はプロバイダーマニフェストをハッシュし、マニフェストはパックをハッシュするため、日付入りレビューはExplorerの整合性チェックに失敗せずに同じスナップショットIDの下で置き換えることはできません。プロバイダーデータパック契約を参照してください。
この実験的なバンドルは、OKF ONSプロジェクトによって独立して公開されています。ソースの帰属は、ONSまたは他のプロデューサーによる推奨を意味するものではありません。
ビルド
Python 3.11以降が必要です。通常のGitHubソースアーカイブには固定されたELSサブモジュールが含まれていないため、再帰的クローンが必要です。上記のリンクされたリリースバンドルZIPは、自己完結型の公開アーティファクトです。
okf.publication.jsonは、リポジトリの公開方法v1契約を記録します:凍結されたソースファミリー、作成および生成された境界、依存関係プレーン、レビュー済みコマンド宣言、ドキュメントのロックステップ、Pagesターゲット。契約内のコマンド文字列は信頼されていない宣言であり、使用前にこのガイドと照合する必要があります。ローカルパス、相互参照、非循環プレーングラフを以下で検証します:
python scripts/check_publication_contract.py管理されたソース、ジェネレーター、アプリケーション、またはワークフローパスへの変更は、同じ変更で関連ドキュメントとCHANGELOG.mdを更新する必要があります。不明なパスはフェイルクローズし、依存関係の更新には包括的な免除はありません。
Pagesワークフローは、無視されたbundle/ディレクトリを一度ビルドし、それから同じワークスペースバイトを検証、アセンブル、アップロードします。生成されたバンドルベースラインが追跡されていないため、クリーンなビルド前の--checkは不可能です。別の不変ベースラインまたはリリースアーティファクトを導入することが記録された将来のオプションです。ワークフローは、結果を自分自身と比較するためだけに2回目の同一ビルドを実行しません。
チェックインされた凍結スナップショットからv0.2.0を再現するには:
git clone --recurse-submodules --branch v0.2.0 \
https://github.com/chris-page-gov/okf-ons.git
cd okf-ons
python scripts/project_els_snapshot.py \
--submodule-dir vendor/explore-local-statistics-app \
--output output/ons-explore-local-statistics.json
cmp output/ons-explore-local-statistics.json \
source/demo-snapshot/ons-explore-local-statistics.json
python scripts/build_bundle.py \
--snapshot-dir source/demo-snapshot \
--output bundle
python scripts/build_bundle.py \
--snapshot-dir source/demo-snapshot \
--output bundle \
--check
python scripts/check_okf_v02.py bundleメタデータエンリッチメントキャンペーンには、不変の後継スナップショットmetadata-enrichment-2026-07-21-r6も含まれます。v0.2.0スナップショットと比較して、r3は制限されたONS Data APIカタログを更新し、r4は制限されたメタデータのみのNomisコンパクト概要を追加し、r5は各凍結されたONS最新バージョンURLからレビュー済みの次元プロジェクションのみを追加します。r6は、凍結されたr5 Nomisコホート内の正確なFREQおよびTIMEコードリスト参照に従い、コードラベルメタデータと明示的な期間改訂ステータス注釈のみを保持します。r6のONS Data API、Explore Local Statistics、Open Geographyソースエンベロープはr5とバイト単位で同一です。ネットワークアクセスなしでr6を再ビルドしてプロファイルします:
python scripts/build_bundle.py \
--snapshot-dir source/metadata-enrichment-2026-07-21-r6 \
--output bundle
python scripts/build_bundle.py \
--snapshot-dir source/metadata-enrichment-2026-07-21-r6 \
--output bundle \
--check
python scripts/profile_metadata_gaps.py \
--bundle bundle \
--output evaluation/metadata-completeness/current.json上記のライブPagesおよびExplorer URLは、引き続き管理されたリリースv0.2.0を提供します。r6キャンペーンスナップショットは管理されたキャンペーン証拠としてチェックインされていますが、リリースメタデータとPages選択スナップショットが意図的に切り替えられるまで、未デプロイのリリース候補のままです。
測定されたバッチ履歴、メトリック定義、タイミング、機械可読プロファイルは、メタデータエンリッチメントキャンペーンからリンクされており、停止監査も含まれます。
既存のクローンの場合、プロジェクターの前にgit submodule update --init --recursiveを実行します。将来のスナップショットを取得するには、生のキャッシュをリポジトリの外に保持し、--mode refreshを使用し、新しい不変のIDを選択します—既存のスナップショットを上書きしないでください。他の検証済みソースエンベロープを引き継ぎながらONSカタログのみを更新するには:
python scripts/acquire_snapshot.py \
--cache-dir /path/to/raw-cache \
--output-dir source \
--snapshot-id NEW_UNIQUE_SNAPSHOT_ID \
--base-snapshot source/metadata-enrichment-2026-07-21-r4 \
--source ons-data-api \
--mode refresh \
--page-size 1000 \
--maximum-pages 1 \
--require-complete制限されたNomisコンパクト概要を再現または更新するには、検証済みの事前エンリッチメントr3スナップショットをベースとして使用します:置換エンベロープはその正確なコホートにダイジェストバインドされ、エンリッチメントスナップショットは取得ベースとしてチェーンされません。まず外部の置換エンベロープに取得し、次にそのエンベロープをr3の上に構成します。取得スクリプトは、凍結されたNomisソースから独立してコホートを導出し、生の応答もキャッシュパスも公開しません:
python scripts/acquire_nomis_overviews.py \
--snapshot-dir source/metadata-enrichment-2026-07-21-r3 \
--cache-dir /path/to/raw-cache \
--output /path/to/nomis-overviews.json \
--limit 1617 \
--mode refresh \
--request-interval 0.2
python scripts/acquire_snapshot.py \
--cache-dir /path/to/raw-cache \
--output-dir source \
--snapshot-id NEW_UNIQUE_SNAPSHOT_ID \
--base-snapshot source/metadata-enrichment-2026-07-21-r3 \
--replacement-acquisition /path/to/nomis-overviews.json \
--require-complete制限されたONS最新バージョン次元プロジェクションを再現または更新するには、検証済みの事前エンリッチメントベースとしてr4を使用します。取得は、r4で凍結された337の正確なlinks.latest_version.href値のみに従い、許可リスト化されたプロジェクションのみを外部キャッシュに保存し、観測、次元オプション、コードリスト、ダウンロードを取得しません:
python scripts/acquire_ons_version_metadata.py \
--snapshot-dir source/metadata-enrichment-2026-07-21-r4 \
--cache-dir /path/to/external-cache \
--output /path/to/ons-version-metadata.json \
--limit 337 \
--mode refresh \
--request-interval 0.5
python scripts/acquire_snapshot.py \
--cache-dir /path/to/external-cache \
--output-dir source \
--snapshot-id NEW_UNIQUE_SNAPSHOT_ID \
--base-snapshot source/metadata-enrichment-2026-07-21-r4 \
--replacement-acquisition /path/to/ons-version-metadata.json \
--require-complete制限されたNomis FREQ/TIMEコードリストプロジェクションを再現または更新するには、正確なベースとしてr5を使用します。取得は、3,234の凍結されたメタデータのみのコードリスト参照を順次追跡し、分母に明示的な失敗結果を保持し、許可リスト化されたプロジェクションのみをバージョン管理された外部キャッシュに保存します:
python scripts/acquire_nomis_codelists.py \
--snapshot-dir source/metadata-enrichment-2026-07-21-r5 \
--cache-dir /path/to/external-cache \
--output /path/to/nomis-codelists.json \
--limit 1617 \
--mode refresh \
--request-interval 0.2
python scripts/acquire_snapshot.py \
--cache-dir /path/to/external-cache \
--output-dir source \
--snapshot-id NEW_UNIQUE_SNAPSHOT_ID \
--base-snapshot source/metadata-enrichment-2026-07-21-r5 \
--replacement-acquisition /path/to/nomis-codelists.json \
--require-complete登録済みソースの完全な更新の場合、まず固定されたローカルELSプロジェクションを生成し、次にすべてのHTTPレーンを取得して含めます:
python scripts/project_els_snapshot.py \
--submodule-dir vendor/explore-local-statistics-app \
--output /path/to/els-projection.json
python scripts/acquire_snapshot.py \
--cache-dir /path/to/raw-cache \
--output-dir /path/to/public-snapshots \
--snapshot-id NEW_UNIQUE_SNAPSHOT_ID \
--mode refresh \
--projected-acquisition /path/to/els-projection.json \
--require-complete取得は再開可能で外部です。bundle/は検証済みの凍結スナップショットから決定的です。
送信可能なONSハッカソンブリーフは、ワークパッケージ、デモルート、ONSへの質問を説明しています。標準レジスタ、評価方法、スコープと分母も参照してください。
AIアクセス研究と評価
このリポジトリは、Claude Desktop Cowork、Google Antigravity CLI、Microsoft 365 Copilot Researcher による2026年7月18日の試験結果を保存し、SHA-256でピン留めしています(research/ 内)。公開されるのは、技術的にレビューされ、サニタイズされた公開DOCX派生資料のみです。元のOfficeパッケージはGitの外部に保持され、ピン留めされたソースハッシュによってのみ識別されます。正規化された観察結果は、公開派生資料、セッション報告によるアイデンティティ、その後の検証、および当社の解釈を明確に区別します。
このケーススタディは現在、プロバイダーに依存せず、フィクスチャに安全なハーネスを準備します:
python3 scripts/ai_client_harness.py validate
python3 scripts/ai_client_harness.py validate-research
python3 scripts/ai_client_harness.py clients --initial-only
python3 scripts/ai_client_harness.py probe-clients
python3 scripts/ai_client_harness.py tasksこのハーネスは、OKF、オープンウェブ、および生APIのアームを定義します。8つの開発スモークタスク、6つのONS固有のペルソナと8つのジャーニー、10項目の観察済み問題レジスタ、共通の構造化回答、回答に紐づく独立した評価、決定的なコンポーネントスコアリング、強制と自己報告の分離、およびブロックされたクライアントが誤答としてスコアリングされないようにする個別の準備状況結果を備えています。CIはライブ、認証付き、または有料のモデル呼び出しを一切行いません。
依存関係のない、メタデータのみのMCPブローカーが、決定的なディスクリプタ、検索、正確なレコード、比較、読み取り専用のMCPプラン、および回答提出ツールを公開するようになりました。Antigravity CLI(agy)は、リポジトリスコープの.agents/mcp_config.jsonからこれを読み込むことができます。この設定は、保存されたAntigravity試験の後に追加されました。新しい有料またはライブモデルの実行は主張されていません。ブローカーは凍結されたコーパスを使用し、ネットワーク呼び出しを行わず、認証情報を保存せず、観察値を返しません。
AIシステム接続マップ
MCPロールアウトガイドは、評価レジストリ内のすべてのAIサーフェスに対する標準的なセットアップおよびステータスガイドです。4つのアクセスおよびデプロイメント層を区別しています:
静的バンドルアクセス: 許可されたHTTPクライアントはPagesディスクリプタとJSONを読み取れますが、ネイティブのfetch制限はホストによって異なります。
ローカルメタデータMCP: ローカルstdio MCPをサポートするコマンドラインおよびデスクトップクライアントは、
scripts/okf_ons_mcp.pyを起動できます。コミットされたAGYワークスペース設定は、リポジトリスコープの唯一のクライアント設定です。ガイドは、Codex、Claude、Gemini、VS Code/Copilot、Inspectorの各ルートを個別に示していますが、インストールを成功した試験として扱うことはありません。計画中のリモートメタデータMCP: ChatGPTカスタムアプリには、サポートされているリモートエンドポイントまたはトンネルルートが必要です。Claude Research、リモートセッションのCowork、Microsoft 365 Copilot Researcherには、認証付きのリモートエンドポイントが必要です。デスクトップローカルのCoworkは、デバイスポリシーに従ってローカルMCPを使用できます。このリポジトリは、リモートエンドポイントもトンネルもデプロイしません。M365フェデレーテッドコネクタルートは文書化されていますが、テナント向けに作成または有効化されていません。
ダウンストリームのライブMCP: 選択が完了すると、別のONSまたはNomis統合がプランを実行できます。リポジトリブローカーは意図的にこれを決して行いません。
機械可読なclient-profiles.jsonは、完全な16プロファイルのクライアントレジストリです。study.jsonは評価設計をピン留めします。公開されているtasks.json、personas-and-journeys.json、issue-register.jsonは、タスク、ユーザー、ジャーニー、観察された障害、および是正措置をその設計と同期させます。
クロスクライアント試験分析で、エビデンス、問題/是正マトリックス、ペルソナ、効率プロトコル、優先順位付けされた作業パッケージを参照してください。
「すべて」の意味
このリポジトリは、source/source-register.json内のすべての対象ソースが測定された分母を持ち、生成されたカバレッジ台帳がunexplained_omissions = 0を報告する場合にのみ、すべての公開ONSメタデータをカバーすると記述できます。
観察セル、セキュアなマイクロデータ、および重複するバイナリペイロードは、意図的にスコープ外です。スコープと分母を参照してください。
ライセンス
コードはMITライセンスです。ソースメタデータは、記載された上流のライセンス(多くの場合、Open Government Licence v3.0)の対象となります。バンドルは包括的なライセンス主張を行いません。ELSレコードの権利は、ソースごとのレビューが完了するまでnot-evaluatedのままとなり、生成されたレコードは利用可能なソースおよび権利のエビデンスを保持します。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables querying UK Office for National Statistics datasets and their editions through natural language, with no authentication required.10MIT
- AlicenseAqualityBmaintenanceProvides access to UK economic, social, and labour-market statistics via the ONS beta and Nomis APIs, enabling discovery and retrieval of time series, datasets, and census data.18MIT
- AlicenseAqualityBmaintenanceEnables users to discover and recommend Korea public datasets by describing their project idea, searching a static catalog of 96,056 datasets without API calls.715MIT
- AlicenseNot gradedqualityCmaintenanceProvides access to DataCite DOIs for research datasets, enabling searching and retrieval of dataset metadata.9MIT
Related MCP Connectors
UK Office for National Statistics dataset catalogue + Beta JSON API
Search and query 1,500+ OECD statistical datasets via SDMX. Keyless.
Read-only U.S. healthcare dataset metadata, schemas, immutable downloads, and checksums.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chris-page-gov/okf-ons'
If you have feedback or need assistance with the MCP directory API, please join our Discord server