okf-ons
ONS 开放知识格式
okf-ons 是一个仅含元数据的发现层,用于公开通过英国国家统计局(Office for National Statistics)服务发布的统计数据。它旨在帮助个人或代理找到确切的数据集、查看容易混淆的备选方案、了解可用的统计质量证据,并准备一份非执行性的候选计划,由下游服务在检索前进行实时验证和授权。
该项目有意将四项工作分开:
静态 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",并逐步链接到目录、冻结快照、四个来源通道、提供方状态、治理、标准和 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 摘要
文档地图
仓库操作: 仓库指南、 安全策略、 发布变更日志 以及 CI 发布工作流;其中 AI 客户端变更片段 作为预发布历史保留
元数据与保障: 元数据模型、 范围与分母 以及 标准注册表,外加 定时元数据丰富活动 和 OKF Explorer 活动交接, 以及机器可读的 停止审计
评估: 评估方法、 跨客户端试验分析 以及 机器可读的 研究、 客户端注册表、 任务、 预期结果、 角色与旅程、 问题注册表 以及 黄金查询
研究与沟通: 研究注册表、 研究证据清单、 架构清单、 受治理 AI 研究提示、 受治理 AI 架构报告 以及 发布草稿
带日期的 AI 客户端研究记录: Claude Desktop 访问追踪、 Antigravity 简报 以及 Antigravity 事后分析
可移植研究输出: Claude 追踪 DOCX、 M365 访问简报 DOCX、 M365 托管研究 DOCX、 受治理 AI 演示文稿、 企业 AI 演示文稿 以及 发现桥接可视化
OKF Explorer 目前可以通过上述直接链接加载该捆绑包。建议单独更新 Explorer 注册表和展示,以便无需粘贴 URL 即可建议该捆绑包,并将新的权威、权利和治理字段作为一等 UI 展示,而不仅仅是在原始 JSON 中显示。
SDMX 支持
该捆绑包注册了 SDMX 3.1(ISO 17369),将七个规范 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 证据计数,而不声称上游符合性或认证。
周一演示器
黑客松前的演示器已冻结,以便周一演示可以使用可重现、可审查的快照,而不是不断变化的实时采集。它发布:
一个明确说明不完整性的来源和覆盖范围账本;
来自 ONS Data API(337)、Nomis(1,617)、ONS Open Geography(3,035)和 ONS Explore Local Statistics(108)的冻结 5,097 条记录元数据快照;
合格的来源生产者、服务运营商、捆绑包发布者和语义权威角色,并明确不背书;
确定性搜索和一等过滤器发布;
有证据支持的替代/对比关系;
跨 ONS Data API 和 Nomis 的精确 Census 表代码对账;
统计质量和标准证据,不包含虚假保证声明;
一个 MCP 选择计划契约;以及
一个可重现的检索和元数据质量评估报告。
不可变快照 ID monday-2026-07-17-r2 扩展了 7 月 17 日星期五的冻结,增加了固定的 ELS 元数据投影。r2 后缀防止扩展语料库重用原始 v0.1 快照身份;“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 个指标都已比较。描述符对提供者清单进行哈希,清单对数据包进行哈希,因此带日期的审查无法在同一快照 ID 下被替换而不导致 Explorer 的完整性检查失败。请参阅
提供者数据包契约。
此实验性捆绑包由 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,因为没有跟踪生成的捆绑包基线。引入单独的不可变基线或发布工件是记录的未来选项;工作流不会仅仅为了将结果与自身比较而执行第二次相同的构建。
要从其检入的冻结快照重现 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,并选择新的不可变身份——切勿覆盖现有快照。要仅刷新 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 访问研究与评估
该仓库保存并对 2026 年 7 月 18 日来自 Claude Desktop Cowork、Google Antigravity CLI 和 Microsoft 365 Copilot Researcher 的试验进行 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 三个分支;八项开发冒烟任务;六个 ONS 特定角色和八条旅程;一个包含十项观察问题的登记册;一个通用结构化答案;与答案绑定的独立评估;确定性组件评分;强制报告与自我报告分离;以及独立的就绪结果,因此受阻的客户端不会被计为错误答案。CI 不执行任何实时、已认证或付费的模型调用。
一个无依赖、仅元数据的 MCP 代理现在公开确定性的描述符、搜索、精确记录、比较、只读 MCP 计划和答案提交工具。Antigravity CLI(agy)可以从仓库范围的 .agents/mcp_config.json 加载它。该配置是在保存的 Antigravity 试验之后添加的;不声称有任何新的付费或实时模型运行。该代理使用冻结的语料库,不进行网络调用,不存储凭据,也不返回任何观察值。
AI 系统连接图
MCP 部署指南 是评估注册表中每个 AI 界面的规范设置和状态指南。它区分了四个访问和部署层:
静态捆绑访问: 任何允许的 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