okf-ons

okf-ons

Enables discovery and selection of ONS datasets using a frozen metadata bundle, providing bounded access to dataset descriptions, dimensions, and alternatives without making network calls or returning observation values.

Category
访问服务器

README

ONS Open Knowledge Format

okf-ons is a metadata-only discovery layer for public Office for National Statistics data. It is designed to help a person or an agent find the exact dataset, see easily confused alternatives, understand the statistical-quality evidence that is available, and hand a validated selection to a downstream MCP server for live retrieval.

The project deliberately separates four jobs:

  1. The static OKF bundle discovers and explains datasets, versions, dimensions, provenance, standards evidence, and alternatives.
  2. OKF Explorer narrows and compares a large static corpus without an LLM or a hosted search service.
  3. The repository's local MCP broker gives AI clients bounded access to the same frozen metadata and prepares a non-executing selection plan.
  4. A downstream live-data MCP server executes an ONS or Nomis query only after the required dataset-specific choices are complete.

The local broker is not the downstream live-data server: it makes no network calls and returns no observation values. No observations, API keys, or private data are stored in the bundle.

SDMX support

The bundle registers SDMX 3.1 (ISO 17369), maps seven canonical OKF fields to SDMX concepts, and preserves the Nomis lane's SDMX agency, identifier, version, dimension order, component roles and code-list references. Nomis selections remain incomplete until their dimensions and codelist values have been chosen; completed live execution uses MCP-Geo's nomis_query.

The bundle is not itself an SDMX message. It is serialized as JSON-LD using DCAT 3, SKOS, PROV-O and RDF Data Cube terms, with no SDMX namespace in its context. The generated data/standards/sdmx.json reports the exact mapping and Nomis evidence counts without asserting upstream conformance or certification.

Monday demonstrator

The pre-hackathon demonstrator is frozen so the Monday presentation can use a reproducible, reviewable snapshot rather than changing live acquisitions. It publishes:

  • a source and coverage ledger that makes incompleteness explicit;
  • a frozen 4,989-record metadata snapshot from ONS Data API (337), Nomis (1,617), and ONS Open Geography (3,035);
  • deterministic search and first-class filter postings;
  • evidence-backed alternative/contrast relationships;
  • exact Census table-code reconciliation across ONS Data API and Nomis;
  • statistical-quality and standards evidence without false assurance claims;
  • an MCP selection-plan contract; and
  • a reproducible retrieval and metadata-quality evaluation report.

The immutable snapshot ID monday-2026-07-17 records the Friday 17 July freeze for the Monday 20 July 2026 hackathon; it is not a claim that 17 July was a Monday.

The public descriptor is designed to be:

https://chris-page-gov.github.io/okf-ons/okf-explorer.json

and to open in OKF Explorer using:

https://chris-page-gov.github.io/okf-explorer/?bundle=https%3A%2F%2Fchris-page-gov.github.io%2Fokf-ons%2Fokf-explorer.json

Build

Python 3.11 or later is required. To refresh a snapshot, keep the raw acquisition cache outside the repository; the checked-in Monday build is generated from source/demo-snapshot.

python scripts/acquire_snapshot.py \
  --cache-dir /path/to/raw-cache \
  --output-dir /path/to/public-snapshots \
  --snapshot-id monday-2026-07-17
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

Acquisition is resumable and external. bundle/ is deterministic from a frozen snapshot.

The sendable ONS hackathon brief explains the work package, demo route and questions for ONS. See also the standards register, evaluation method, and scope and denominator.

AI access research and evaluation

The repository preserves and SHA-256-pins 18 July 2026 trials from Claude Desktop Cowork, Google Antigravity CLI and Microsoft 365 Copilot Researcher in research/. Only technically reviewed, sanitized public DOCX derivatives are published. The original Office packages are withheld outside Git and identified only by their pinned source hashes. Normalized observations keep public derivatives, session-reported identity, later verification and our interpretations distinct.

The case study now seeds a provider-neutral, fixture-safe harness:

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

The harness defines OKF, open-web and raw-API arms; eight development smoke tasks; six ONS-specific personas and eight journeys; a ten-item observed-issue register; a common structured answer; answer-bound independent assessment; deterministic component scoring; enforced-versus-self-reported separation; and separate readiness outcomes so a blocked client is not scored as a wrong answer. CI performs no live, authenticated or paid model calls.

A dependency-free, metadata-only MCP broker now exposes deterministic descriptor, search, exact-record, comparison, read-only MCP-plan and answer-submission tools. Antigravity CLI (agy) can load it from the repository-scoped .agents/mcp_config.json. That configuration was added after the preserved Antigravity trial; no new paid or live model run is claimed. The broker uses the frozen corpus, makes no network call, stores no credentials and returns no observation values.

AI-system connection map

The MCP rollout guide is the canonical setup and status guide for every AI surface in the evaluation registry. It distinguishes four access and deployment layers:

  • Static bundle access: any permitted HTTP client can read the Pages descriptor and JSON, but native fetch limits differ by host.
  • Local metadata MCP: command-line and desktop clients that support local stdio MCP can start scripts/okf_ons_mcp.py. The committed AGY workspace configuration is the only repository-scoped client configuration; the guide gives the separate Codex, Claude, Gemini, VS Code/Copilot and Inspector routes without treating installation as a successful trial.
  • Planned remote metadata MCP: ChatGPT custom apps need a supported remote endpoint or tunnel route; Claude Research, remote-session Cowork and Microsoft 365 Copilot Researcher need an authenticated remote endpoint. Desktop-local Cowork may use local MCP, subject to device policy. This repository deploys neither a remote endpoint nor a tunnel. The M365 federated-connector route is documented, but it has not been created or enabled for a tenant.
  • Downstream live MCP: once selection is complete, a separate ONS or Nomis integration may execute the plan. The repository broker deliberately never does so.

The machine-readable client-profiles.json is the complete 16-profile client registry; study.json pins the evaluation design. The public tasks.json, personas-and-journeys.json and issue-register.json keep the tasks, users, journeys, observed failures and remediations in lockstep with that design.

See the cross-client trial analysis for the evidence, issue/remediation matrix, personas, efficiency protocol and prioritized work packages.

What “all” means

The repository may describe itself as covering all public ONS metadata only when every in-scope source in source/source-register.json has a measured denominator and the generated coverage ledger reports unexplained_omissions = 0.

Observation cells, secure microdata, and duplicate binary payloads are intentionally out of scope. See scope and denominator.

Licensing

Code is MIT licensed. Source metadata remains subject to its stated upstream licence, normally the Open Government Licence v3.0. Generated records preserve source and licence evidence.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选