Assess · Framework
AI-readiness assessment framework
MethodScores a national statistical organization on two pillars and twelve dimensions, with 69 questions and a gateway question, and places it at one of four maturity levels per dimension.
- Stack
- Reference guide (draft), interactive summary page, scoring annex
- Licence
- Published on this site
- Operator
- Applied by the program with the organization; the summary page is public.
- Status evidence
- Reference guide v0.0.8 and its scoring annex; Interactive summary page on this site.
- Checked
- 2026-10-13
Known limits
- The reference guide is a draft; question wording and scoring may change between versions.
- The score is a self-assessment with evidence; it is not an audit.
- The framework places an organization; the improvement pathway cookbook and the operational companion say what to do next.
Assess · Guidance
Operational companion to the assessment
MethodFor each dimension of the assessment, the workstreams, tools, and cookbook recipes that support progress to a higher level, and the evidence each produces for the assessment form.
- Stack
- Page on this site, generated from the cookbook investment view
- Licence
- MIT
- Status evidence
- Generated from the cookbook content in CI.
- Checked
- 2026-10-13
Known limits
- Coverage flags count the public cookbooks; a hidden draft cookbook is not credited until it is published.
- Effort estimates per recipe are ranges taken from the cookbook; a project estimate needs the organization’s own rates.
Document · Application
Metadata Editor
DeployableWeb application for documenting microdata (DDI Codebook 2.5), indicators, documents, geospatial data, images, videos, and scripts in the World Bank metadata schemas, with validation, templates, a REST API, and publication to NADA catalogs.
- Stack
- PHP 8.2 or later with the listed extensions; MySQL 8 or MariaDB 10 or later; Apache 2.4, NGINX, or IIS 10; Python 3.11 or later for the FastAPI service
- Licence
- MIT with the World Bank IGO rider
- Operator
- Deployed by the adopting organization.
- Status evidence
- Tagged releases with notes; Installation guide, with the Metadata Reviewer add-on guide; OpenAPI description of the REST API in the repository.
- Checked
- 2026-10-19
Known limits
- The Metadata Reviewer is an optional add-on to the Editor's FastAPI service, installed from its own requirements file and enabled in site administration; it adds AI-generated issues with suggested corrections under Assess metadata on a project's Issues page. The augmentation package runs beside the Editor on exported records.
- Publication targets NADA catalogs through catalog connections; other catalogs take the exported JSON or DDI.
- Requires a PHP web stack, a relational database, and the Python service for importing and processing data, so it is deployed on a server.
Document · Application
NADA catalog
DeployableOpen-source data cataloguing system for surveys, indicators, documents, tables, and geospatial data, with search, managed access requests, and a catalog administration REST API with API-key authentication.
- Stack
- PHP, MySQL or MariaDB
- Licence
- MIT
- Operator
- Deployed by the adopting organization. The World Bank Microdata Library runs on NADA.
- Status evidence
- Repository and releases; Catalog administration API description (OpenAPI) in the repository.
- Checked
- 2026-10-13
Known limits
- The released software has keyword search and a REST API. Semantic search and the Model Context Protocol interface come from NADA AI, listed below, which is being integrated into NADA.
- A catalog is as findable as its records are complete; the completeness checks in the cookbooks apply before publication.
Document · Standard
World Bank metadata schemas
DeployableJSON Schema definitions for indicators, indicator databases, microdata (DDI), geospatial (ISO 19115), documents, tables, images, videos, scripts, and resources, with a Python library of pydantic models and Excel templates.
- Stack
- JSON Schema; Python package metadataschemas on PyPI
- Licence
- MIT
- Status evidence
- Schema files in the repository; Package on PyPI; Pinned snapshot used by the cookbook tests.
- Checked
- 2026-10-13
Known limits
- The schemas require very little (an identifier and a title), so a record that validates can still be incomplete. Completeness is decided by a profile, as in the cookbooks.
- The Python package version lags the schema files in the repository; pin the commit when validation must match a catalog.
Document · Python package
Metadata Reviewer
Pre-releaseFive-agent pipeline that scans metadata records for typos, inconsistencies, missing fields, and incorrect content, and returns ranked issues with suggested corrections for a curator to accept or reject. It runs as a Python package, through the review app, and inside the Metadata Editor as an optional add-on.
- Stack
- Python 3.11 or later; any AutoGen-compatible model client (OpenAI, Azure OpenAI, Anthropic, Ollama)
- Licence
- MIT
- Status evidence
- User manual on this site; Package extras on PyPI; Tests in the repository; Metadata Reviewer add-on guide in the Metadata Editor documentation.
- Checked
- 2026-10-19
Known limits
- Every suggestion needs a curator decision; the pipeline detects and proposes. As a package it writes no catalog record; inside the Metadata Editor the curator accepts or rejects each issue on the project's Issues page.
- Quality depends on the model behind the agents; results differ between providers and model versions.
Document · Python package
Metadata Augmentation
Pre-releaseGenerates DDI-style variable groups for a data dictionary: embeds variable labels, clusters them, asks a model to curate each group, and checks the result for self-consistency before a curator reviews it.
- Stack
- Python 3.11 or later; sentence-transformers, scikit-learn, litellm
- Licence
- MIT
- Status evidence
- Methodology pages on this site; Package extras on PyPI.
- Checked
- 2026-10-13
Known limits
- Groups that fail the self-consistency check are kept and flagged, so the output always needs review.
- Cluster counts and group quality vary with the embedding model and the dictionary language.
Document · Notebook
Generative AI for metadata quality
MethodScores each metadata record on completeness, semantic alignment, specificity, and consistency with structured model output, and aggregates the scores to find systematic gaps in a catalog.
- Stack
- Jupyter notebook; a model provider
- Licence
- MIT
- Status evidence
- Notebook in the repository, rendered on this site.
- Checked
- 2026-10-13
Known limits
- The notebook demonstrates the workflow; there is no packaged command to run it on a catalog.
- Scores are model judgments and are calibrated against curators before they are used to prioritize work.
Document · Method and benchmark
Data Snapshots
MethodLayout detection models locate figures and tables in PDF documents so that the data they hold can be extracted and documented; the paper benchmarks open-source models on the task.
- Stack
- Paper and benchmark dataset
- Licence
- See the paper
- Status evidence
- Paper.
- Checked
- 2026-10-13
Known limits
- Extraction of values from a located figure is a separate step; the cookbook on data from documents covers verification of extracted values.
Connect · MCP server
Data360 MCP server
OperationModel Context Protocol server over the World Bank Data360 platform: search of indicators with country coverage checks, metadata, disaggregation, codelist lookup, and time-series data for any MCP client, with chart specifications and a system-prompt resource.
- Stack
- Python 3.11 or later; published on PyPI as data360-mcp; HTTP and SSE transports
- Licence
- MIT with the World Bank IGO rider
- Operator
- Development Data Group, World Bank. The public endpoint serves the Data360 catalog.
- Public endpoint
https://maimcpext.worldbank.org/ext/data360/mcp- Status evidence
- Public endpoint named in the documentation site; Semantic-versioned releases with a documented rollback; Test suite in the repository; Client setup guides for three MCP clients.
- Checked
- 2026-10-13
Known limits
- Serves the indicators in Data360; microdata and documents are out of scope.
- Text search in the upstream API is unreliable, so the server fetches broadly and ranks in application code; results depend on that ranking.
- A dimension listed in metadata can have data for only some of its values; the disaggregation tool reports what exists.
- Availability follows the Data360 API; the server degrades to cached metadata for a short cooldown when the API is slow.
- Adapting the server to another organization’s data API means replacing the data layer; the tool contracts and the client setup guides carry over.
Connect · Python service
NADA AI
Pre-releaseSemantic search and a Model Context Protocol server over a NADA catalog: the service ingests the catalog records through the NADA REST API, indexes them with local or hosted embeddings, answers keyword, vector, and hybrid queries, and exposes the catalog to MCP clients through tools, interactive apps, resources, and prompts. It is being integrated into NADA, and its release is tied to the NADA release.
- Stack
- Python 3.11 or later; OpenSearch or Qdrant as the index; a local sentence-transformer or a hosted embedding model; Docker files for the index
- Licence
- MIT with the World Bank IGO rider
- Operator
- Deployed beside a NADA catalog by the adopting organization until the integrated NADA release.
- Status evidence
- Repository with installation instructions and Docker files; The MCP server tool list in the repository.
- Checked
- 2026-10-16
Known limits
- Runs as a separate service beside the catalog and reads it through the REST API until the integration into NADA is released; interfaces may change before then.
- Repository in transfer to a World Bank organization; the link above is the current location.
- Needs a vector index (OpenSearch or Qdrant) and an embedding model, local or hosted.
Connect · Application
Data AI Chatbot
DeployableSelf-hostable chat application that connects to any MCP server over HTTP or SSE, routes model calls through LiteLLM, renders charts and documents in a side panel, and marks numbers in answers with Proof-Carrying Numbers. The World Bank customization, Data360 Chat, ships pre-configured for the Data360 MCP server.
- Stack
- Next.js frontend and FastAPI backend; PostgreSQL, with Redis optional for resumable streams and caching; Docker Compose
- Licence
- Apache-2.0 with the World Bank IGO rider
- Operator
- The World Bank runs Data360 Chat. Other organizations deploy the application with their own MCP server and model provider.
- Status evidence
- Deployment, operations, and security documentation in the repository; Docker Compose files for development and production.
- Checked
- 2026-10-13
Known limits
- Needs a model provider through LiteLLM and a PostgreSQL database, with Redis optional; it is a full-stack deployment.
- The verification marks depend on the MCP server returning claim identifiers with values; a server without them yields unverified numbers.
- Verification covers the numbers the model tagged; the PCN page says what a mark does and does not mean.
Connect · Guidance
MCP for official statistics
MethodArchitecture and tool design for an MCP server over official statistics, with a minimal example server in the cookbook and a full treatment of tools, context, access control, safety, and evaluation in the agents cookbook.
- Stack
- Documentation and example scripts
- Licence
- MIT
- Status evidence
- Pages on this site; Example server tested in CI with the cookbook scripts.
- Checked
- 2026-10-13
Known limits
- The example server reads two CSV files; a production server calls the organization’s API and adds access control.
Connect · Python package and toolkit
Semantic search and the PI-FT toolkit
Pre-releaseIndexing and search by meaning over catalog records, and a toolkit that fine-tunes embedding models on structured metadata with permutation-invariant training, reporting Recall@k, MRR, and nDCG.
- Stack
- Python 3.11 or later; sentence-transformers, FAISS; the @ai4data/search package on npm for in-browser search
- Licence
- MIT
- Status evidence
- Toolkit documentation on this site; Package extras in the repository.
- Checked
- 2026-10-13
Known limits
- Fine-tuning needs question sets in the organization’s languages; the cookbooks give the method for building them.
Verify · Protocol and packages
Proof-Carrying Numbers
DeployablePresentation-layer protocol for numeric fidelity: a model emits each number as a claim tag naming its source record, and the renderer verifies the number against the record under a declared policy and draws the mark. TypeScript packages for the core, the UI, and a Data360 preset; a Python core for comparison; a specification with shared fixtures.
- Stack
- TypeScript packages on npm under the @pcn-js scope (React 18 or later for the UI); Python 3.10 or later for the core
- Licence
- MIT with the World Bank IGO rider
- Operator
- Used inside Data360 Chat. Other applications integrate the packages.
- Status evidence
- Packages @pcn-js/core, @pcn-js/ui, and @pcn-js/data360 on npm; Specification and fixtures shared across languages; Package tests in the repository; Paper with the formal results.
- Checked
- 2026-10-13
Known limits
- A verified mark means the number matches the record it cites under the stated policy. It says nothing about whether the record, the method behind it, or the interpretation is right.
- The application must ingest tool results and render claim tags; PCN does not extract claims from free text on its own.
- The TypeScript packages are published on npm; the Python core is installed from the repository until it is published to PyPI.
- The Python core compares a token with a claim under a policy; parsing and rendering are in the TypeScript packages.
Verify · Python package and review app
Anomaly detection and explanation
Pre-releaseTakes anomaly scores from any detector on indicator time series, builds the context for each flagged point, elicits a structured explanation from a model with a classification, a confidence, and cited evidence, and exports it to a web application where a reviewer approves, rejects, or corrects it.
- Stack
- Python 3.11 or later; batch APIs of OpenAI or Gemini; FastAPI review app
- Licence
- MIT
- Status evidence
- Methodology handbook and notebook on this site; Review application in the repository.
- Checked
- 2026-10-13
Known limits
- Explanations are hypotheses with cited evidence; the reviewer decides, and the feedback export is the record.
- Evidence quality depends on what the model can retrieve for a country and period; sparse contexts produce low-confidence outputs.
- Batch runs are asynchronous and take hours for large sets.
Verify · Python package
Monitoring of data use
Pre-releaseExtracts dataset mentions from documents with zero-shot named-entity recognition, harmonizes name variants to canonical datasets, and deduplicates them, so that use of a dataset in research and policy documents can be counted.
- Stack
- Python 3.11 or later; GLiNER, PyMuPDF, RapidFuzz; sentence-transformers optional
- Licence
- MIT
- Status evidence
- Package extras on PyPI; Tests in the repository.
- Checked
- 2026-10-13
Known limits
- Recall on informal mentions is lower than on formal citations; the cookbook on monitoring data use combines the two.
- Harmonization needs a dictionary of the organization’s dataset names and their variants.
Implement · Reproducible pipeline
End-to-end reference implementation
DeployableA script that documents a set of series and a survey in the World Bank schemas, validates them against the pinned schemas and a completeness profile, publishes a catalog with schema.org records, serves it through an MCP server, composes an answer from the tool results, and verifies the numbers in the answer with the PCN engine.
- Stack
- Python 3.10 or later; jsonschema, mcp, pcn-core
- Licence
- MIT
- Status evidence
- Test in CI that runs the pipeline and checks every step’s outcome.
- Checked
- 2026-10-13
Known limits
- The catalog is a directory of files, and the publication step to a NADA instance runs only when a catalog URL and an API key are given.
- The answer is composed from tool results by a template, so that the run needs no model; a model’s answer can be verified with the same step.
- The pipeline shows the pattern on the cookbook’s example organization; it is not a deployment of any of the applications above.
Implement · Scripts
Cookbook scripts
DeployableThe scripts shipped with the cookbooks: checkers, scorers, builders, and converters that run on the shared example organization, each with a docstring stating its purpose, usage, exit status, and what it does not check.
- Stack
- Python 3.11 or later; pandas, jsonschema, PyYAML, scikit-learn, mcp
- Licence
- MIT
- Status evidence
- Lint, structure checks, and tests in CI; quoted outputs regenerated from the scripts.
- Checked
- 2026-10-13
Known limits
- Each script does one check on one input layout; adapting it to an organization’s files is the first recipe of each chapter.