Skip to main content
Glama
International Classifications MCP

International Classifications MCP

by lbruce-wq

International Classifications MCP

A free, open-source, deterministic MCP server for discovering, explaining, validating and mapping official international statistical classifications.

It is designed for questionnaire development, survey coding, statistical harmonisation and reproducible analysis. No LLM, embedding service or paid AI runs inside the server. The connected AI client interprets the user's task; this service provides versioned official structures, deterministic retrieval and provenance.

Coverage (v0.5.2)

Production safeguards include first-class typed codelist hierarchy nodes, deterministic routing fixtures for every curated codelist, weekly authoritative-link checks, per-tool request IDs and latency logging, and documented OpenAI directory annotation justifications.

The registry includes full machine-readable structures for ISIC Rev.5, CPC 3.0, COICOP 2018, HS 2022, SITC Rev.4, BEC Rev.5 and UN M49; a complete ISCO-08 code/title hierarchy; the official ISIC Rev.4 to Rev.5 correspondence; operational ICSE-18, ICSaW-18 and ISCED structures; detailed ISCED-F and ICCS structures; and clearly labelled reference-only entries for ICD-11 and ICF.

MICS7 is represented only by curated, question-specific response codelists for matching questionnaire answer categories. MICS modules and analytical indicator definitions are intentionally not exposed as classifications; indicator discovery belongs in a development-indicators service. The response layer does not replace UNICEF's current questionnaires or country customisation guidance and never silently combines MICS rounds.

Version 0.5 adds ICC 1.1, ICATUS 2016, COFOG, COPNI, COPP, UNECE Recommendation 20 units and Recommendation 21 package types; detailed ISCED-F and ICCS titles; expanded ICSE/ICSaW and SDMX cores; and separately versioned DHS-8, Washington Group, JMP WASH, WHO vaccination and FAO WCA questionnaire codelists.

Each curated answer list has a stable codelist_id. Call list_codelists, then pass one identifier to search or export. The server refuses to merge unrelated MICS choices into one questionnaire list.

National census and administrative geography codes are intentionally out of scope because they change frequently and lack one authoritative global registry.

Coverage is explicit in list_classifications: full, seed, mapping, reference, or curated. Reference-only and curated families are never presented as complete code lists.

Related MCP server: istat-mcp-suite

Tools

  • list_classifications

  • get_classification

  • list_codelists

  • recommend_classifications

  • search_codes

  • get_code_definition

  • browse_hierarchy

  • validate_codes

  • map_codes

  • export_choice_list

Connect

codex mcp add international-classifications --url https://classifications.impactengines.ai/mcp

The root URL provides service status; /mcp is the MCP endpoint.

Local development

python -m pip install -e ".[dev]"
python -m international_classifications_mcp.build_registry
pytest
classifications-mcp

For HTTP transport:

MCP_TRANSPORT=streamable-http MCP_HOST=0.0.0.0 classifications-mcp

Build philosophy

  • Official custodians remain authoritative.

  • Source files are hashed and registry releases are versioned.

  • Search is programmatic: FTS5, curated concept rules and explicit scoring.

  • Correspondences preserve one-to-many and changed-definition warnings.

  • Detailed occupations, industries, diseases and crimes are normally post-coded, not dumped into respondent-facing questionnaires.

  • Source content remains subject to its custodian's terms; the MIT licence covers this software, not third-party classification content.

See source audit and agent test prompts.

Documentation

Available Tools

10 tools
browse_hierarchyBrowse classification hierarchyA
Read-onlyIdempotent
Inspect

Browse top-level nodes or immediate children. Curated families return node_kind=codelist containers at root; pass that code as parent_code to browse its options.

Inputs: classification_id (required), limit, parent_code. Returns: result

export_choice_listExport a choice listB
Read-onlyIdempotent
Inspect

Return a structured choice list at a selected hierarchy level. MICS exports require one codelist_id and never merge unrelated answer lists.

Inputs: classification_id (required), level, limit, format, +1 more. Returns: rows, level, format, warning, +4 more

get_classificationGet classification metadataA
Read-onlyIdempotent
Inspect

Get authoritative metadata and coverage for one classification_id returned by list_classifications.

Inputs: classification_id (required). Returns: id, name, domain, status, +8 more

get_code_definitionGet code definitionB
Read-onlyIdempotent
Inspect

Retrieve one exact code or codelist container, including its node_kind, hierarchy position and explanatory notes.

Inputs: code (required), classification_id (required). Returns: code, label, level, score, +11 more

list_classificationsList classificationsA
Read-onlyIdempotent
Inspect

List classification families, versions, custodians, coverage and licensing notes. Start here when the correct standard is unknown.

Inputs: domain, status. Returns: result

list_codelistsList codelistsA
Read-onlyIdempotent
Inspect

List independent option lists within a classification before searching or exporting one list.

Inputs: classification_id (required). Returns: result

map_codesMap codes between versionsB
Read-onlyIdempotent
Inspect

Apply official stored correspondences and expose splits, merges, changed meanings and unmapped codes. Never assume one-to-one equivalence.

Inputs: codes (required), source_classification_id (required), target_classification_id (required). Returns: results, sources, warnings, source_classification, +1 more

recommend_classificationsRecommend classificationsA
Read-onlyIdempotent
Inspect

Return a deterministic ranked shortlist of all relevant classification concepts and codelists. Ranking supports user choice; it is not an automatic selection. Include answer options and context.

Inputs: question_text (required), limit, answer_options, survey_context. Returns: warnings, next_action, recommendations

search_codesSearch classification codesB
Read-onlyIdempotent
Inspect

Full-text search labels and notes. Results restrict to one option list only when codelist_id is explicitly supplied.

Inputs: query (required), limit, codelist_id, classification_ids. Returns: query, total, results, warnings

validate_codesValidate classification codesB
Read-onlyIdempotent
Inspect

Validate exact codes against one named classification version.

Inputs: codes (required), classification_id (required). Returns: results, valid_count, invalid_count, classification_id

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool targets a distinct operation in the classification workflow: listing families, listing option lists, metadata retrieval, recommendation, search, code lookup, hierarchy browsing, validation, mapping, and export. The only mild overlap is between recommend_classifications and search_codes, but their descriptions clearly separate ranked concept selection from full-text label/note search.

    Naming Consistency5/5

    All tool names use snake_case with a consistent verb_noun structure, such as list_classifications, get_classification, search_codes, validate_codes, and map_codes. Minor variations in token length do not break the predictable pattern.

    Tool Count5/5

    The server exposes 10 tools, which is well within the ideal range for a focused reference-data MCP. Each tool earns its place by covering a distinct discovery, retrieval, validation, mapping, or export need without redundant CRUD operations.

    Completeness5/5

    The surface covers the full read-only lifecycle for international classifications: discovery, metadata, recommendation, search, hierarchy browsing, exact code retrieval, validation, mapping, and choice-list export. No create/update/delete tools are expected for authoritative reference standards, and any bulk navigation is handled by browse_hierarchy and export_choice_list.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      MCP server to query U.S. Census Bureau data, variables, and geography through 7 tools supporting dataset discovery, variable search, geography resolution, and data queries with suppression code decoding.
      717 npm
      3
      Apache 2.0
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables language models to search and query Statistics Netherlands open data, turning natural-language questions into traceable statistics by discovering tables, resolving codes, and retrieving filtered observations.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables any MCP client to discover and query official Catalonia statistics through read-only tools and resources, including statistic catalogues, table metadata, filtered JSON-stat data, territorial breakdowns, and Markdown tables with source attribution.
      1
      MIT