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
- /llms.txt: an index in the llms.txt format; /llms-full.txt has every record in one Markdown file.
- Every record page has a Markdown twin: append
.md, for example /datatype/email.md. - JSON API described in OpenAPI 3.1; frameworks that import OpenAPI tools can use it directly.
- RAG corpus: one embedding text per record, with a versioned template (see the manifest).
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:
| Tool | What it does |
|---|---|
| identify_values | Ranks datatypes for sample values and an optional field name: regexp hit rate, check digits, name similarity |
| search_datatypes | Full-text search with filters: category, country, PII, status |
| get_datatype | One record by id; former ids (aliases) resolve |
| crosswalk | Finds the registry record for an id in another vocabulary, e.g. a Wikidata property |
| list_categories, list_countries | Reference 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
- registry-lookup: label the columns of a dataset with registry types.
- registry-contributor: add or improve a record so that it passes validation.