For AI agents

An agent can use the registry to answer questions like “what is in this column?”, “is this field personal data?” or “which Presidio entity is this?”, and to link its answer to a stable URL. Everything below is free, read-only and needs no key.

Each record has a status. Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions. Filter on status: stable when that matters.

Read the registry

MCP server

The metacrafter-registry Python package includes a local MCP server. It works offline from a data snapshot, so sample values never leave your machine. Tools:

ToolWhat it does
identify_valuesRanks datatypes for sample values and an optional field name: regexp hit rate, check digits, name similarity
search_datatypesFull-text search with filters: category, country, PII, status
get_datatypeOne record by id; former ids (aliases) resolve
crosswalkFinds the registry record for an id in another vocabulary, e.g. a Wikidata property
list_categories, list_countriesReference lists with record counts

Each record is also an MCP resource, registry://datatype/{id}, in Markdown.

Claude Code:

claude mcp add metacrafter-registry -- uvx --from "metacrafter-registry[mcp]" metacrafter-registry mcp

Other clients (Claude Desktop, Cursor, …):

{
  "mcpServers": {
    "metacrafter-registry": {
      "command": "uvx",
      "args": ["--from", "metacrafter-registry[mcp]", "metacrafter-registry", "mcp"]
    }
  }
}

Until the package is on PyPI, install from GitHub: uvx --from "metacrafter-registry[mcp] @ git+https://github.com/apicrafter/metacrafter-registry" metacrafter-registry mcp. Without a bundled snapshot the server downloads the published data once and caches it. Add --refresh to check for newer data on start.

Python package

from metacrafter_registry import Registry

reg = Registry.fetch()                      # published data, cached locally
reg.get("ssn")["id"]                        # 'usssn': former ids resolve
reg.identify(["7707083893", "7728168971"], field_name="inn")[0]["id"]   # 'inn'
reg.search("passport", country="GB")
reg.url_for("email")                        # https://registry.apicrafter.io/datatype/email

Agent skills