datadef-mcp
by tlouvart
README.md
# Datadef MCP
Data-architecture diagrams your AI generates, edits, and exports — from Claude, Cursor, VS Code, Gemini CLI, or any MCP client. Typed tables with columns, pipelines, column-level lineage, 2,000+ real tool icons. Exported PNGs come back inline in the chat.
This repo is the public home of the **remote** MCP server at `https://datadef.io/mcp` (Streamable HTTP). There is nothing to install from here — it exists for directories, install links, and issues.
## What it draws — live
The diagram below is **not a screenshot**. It is a public Datadef diagram embedded by URL — when the diagram is edited, this image updates with it. That is the loop this server exists for: your agent draws and maintains the diagram, and every doc that embeds it stays current.

```md

```
## Connect
Two ways in — both included in the 7-day free trial:
- **OAuth (no key):** add `https://datadef.io/mcp` as a connector in Claude or ChatGPT and sign in when prompted. Claude Code works keyless too: `claude mcp add --transport http datadef https://datadef.io/mcp`.
- **API key (headless):** create one at [datadef.io/settings/mcp](https://datadef.io/settings/mcp) and send it as a Bearer header — right for CI and scripts.
**Claude Code**
```bash
claude mcp add --transport http datadef https://datadef.io/mcp \
--header "Authorization: Bearer dd_live_YOUR_KEY"
```
**Cursor / Claude Desktop** (via the `mcp-remote` bridge)
```jsonc
{
"mcpServers": {
"datadef": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://datadef.io/mcp",
"--header", "Authorization: Bearer dd_live_YOUR_KEY"
]
}
}
}
```
**VS Code** (`.vscode/mcp.json`)
```jsonc
{
"servers": {
"datadef": {
"type": "http",
"url": "https://datadef.io/mcp",
"headers": { "Authorization": "Bearer ${input:datadef-key}" }
}
}
}
```
**Gemini CLI** (`~/.gemini/settings.json`) — note `httpUrl`, not `url`; plain `url` is legacy SSE there and fails silently:
```json
{
"mcpServers": {
"datadef": {
"httpUrl": "https://datadef.io/mcp",
"headers": { "Authorization": "Bearer $DATADEF_API_KEY" }
}
}
}
```
One-click install buttons live at [datadef.io/settings/mcp](https://datadef.io/settings/mcp).
## Tools
Three layers. **Outcome-level** — describe an intent, Datadef's pipeline carries it out: `create_diagram`, `list_diagrams`, `get_diagram`, `edit_diagram`, `export_diagram`, `get_design_guide`. **Repository sync** — `repo_status` and `repo_refresh` inspect and re-run the sync that keeps a diagram and its architecture.md regenerated from a connected GitHub/GitLab/Azure DevOps branch or tag. Terraform repositories get a dedicated pipeline: every `.tf` file parsed (no init, no state, no cloud credentials), modules drawn as zones, per-environment counts kept honest. **Atomic** — 25 `canvas_*` tools your model drives directly (add/update/remove nodes, connect edges, set columns, add lineage, group, align, layout, validate), so the agent that already knows your repo can draw what it finds. The `datadef_design_guide` prompt teaches any model the design standard before it draws.
Anonymous `initialize` and `tools/list` are open — point any MCP inspector at the endpoint to browse the surface before creating a key.
## Why a diagram tool wants an agent
The agent that just changed your dbt project still has the whole change in context. Telling it "update the architecture diagram too" costs one sentence — and an embedded diagram (``) updates everywhere the canvas does. Docs stop rotting.
## Run as a container
For clients or checkers that want a runnable image, the included Dockerfile
bridges stdio to the hosted server:
```bash
docker build -t datadef-mcp .
docker run -i -e DATADEF_API_KEY=dd_live_YOUR_KEY datadef-mcp
```
## Links
- Try without an account: [datadef.io/scratch](https://datadef.io/scratch)
- MCP guide: [datadef.io/guides/en/mcp-diagram-server](https://datadef.io/guides/en/mcp-diagram-server)
- Issues and feedback: right here.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues