Consume
Read it anywhere
The same 22 items, with the same IDs, status and lineage, through every channel. Pick the one that fits your reader.
| You are | Use | Address |
|---|---|---|
| A person | This website | https://dealwithdata.com/ |
| An AI agent | MCP server (read-only) | see below |
| An LLM or crawler | llms.txt | /llms.txt, /llms-full.txt |
| An application | JSON catalog and per-item JSON | /api/catalog.json, /api/items/<id>.json |
| A glossary tool | SKOS (JSON-LD) | /api/glossary.skos.jsonld |
| A lineage tool | Graph of items, terms and sources | /api/lineage.json |
| A subscriber | CloudEvents change log | /api/events.jsonl |
| A feed reader | Atom | /feed.xml |
| A writer or editor | Raw Markdown for any page | add .md to a page URL |
| A validator | The data contract | /schema/item.schema.json |
MCP server
A small, read-only, dependency-free MCP server lives in the repository under mcp/. It reads the live catalog, so it is always current. Add it to any MCP client:
{
"mcpServers": {
"dealwithdata": {
"command": "python3",
"args": ["/path/to/dealwithdata/mcp/server.py"]
}
}
}
Tools: search, get_item, define_term, list_items, recent_changes. Every answer carries the item's status and sources, so an agent knows how much to trust it.
What every channel promises
- Same truth. All channels are generated from one catalog in one build.
- Stable IDs.
dwd_…identifiers never change; slugs may, with redirects. - Legible state. Status travels with the content: draft, reviewed or verified.
- Provenance. Human authors, plus disclosure of any AI assistance.