io.datadef/mcp
up checked
Unclaimed · Unverified
Agent searches it appeared in, last 30 days: 0. Run this server? Claim the listing: verified label, uptime alerts and analytics.
Publisher-provided description
Generate, edit, and export data-architecture diagrams from your AI. Column lineage, PNG in chat.
Summary by lookupd
Creates and edits data-architecture diagrams with column-level lineage, adding nodes, zones, edges and notes, and exports them as PNG in…
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http mcp https://datadef.io/mcp
Codex, remote (streamable-http)
codex mcp add mcp --url https://datadef.io/mcp
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"mcp": {
"url": "https://datadef.io/mcp"
}
}
}Other clients: docs. Or tell your agent: Set up lookupd for me: read https://lookupd.com/agent.md and follow it.
Tools (showing 30 of 39)
Publisher-provided text
get_design_guideWhen: read once before your first canvas_* call, to build or to edit. Datadef's standard for a readable diagram (size, edge discipline, nested zones, notes) andcanvas_describe_canvasWhen: Use when you want a flat list of every node, edge and zone. canvas_view shows the same ids as a zone tree with positions and defects, and is usually the bcanvas_inspect_nodesWhen: Use before changing a node's fields or columns, to see everything it carries: columns, metadata, owners, neighbours. Get full detail for specific nodes:canvas_search_iconsWhen: Use before adding nodes that should show a vendor logo (Snowflake, Kafka, Power BI) and you are unsure of the icon id. Find icon ids in Datadef's librarycanvas_measure_canvasWhen: Use only for a precise manual placement the user asked for: exact x/y/width/height per node. To check a layout, canvas_view is faster and already reportscanvas_add_nodesWhen: Use to add components (tables, pipelines, sources, consumers, service icons), each placed in its zone with `group`. Add one or more nodes to the canvas.canvas_add_standalone_nodeWhen: Use only when the user wants a node at a specific position, outside the automatic layout. Otherwise use canvas_add_nodes. Add a single data node at an excanvas_update_nodesWhen: Use for any in-place change: rename a node or zone (it keeps its size and contents), edit a note's text, recolour (`color: "green"`, `fill`, `family`), chcanvas_replace_nodeWhen: Use when one component changes identity or type (Redshift becomes Snowflake, a card becomes a service icon). The node keeps its id, connections, lineage,canvas_remove_nodesWhen: Use to delete nodes and their edges. Removing a zone keeps its contents (they move up to the parent, same place on screen): that is how to ungroup. Pass kcanvas_connect_nodesWhen: Use to draw the flows that genuinely move data between two nodes. Never connect a zone: connect a node inside it. Draw edges (arrows) between nodes to shcanvas_update_edgesWhen: Use to relabel, retype, restyle (dashed, colour), reverse, put arrowheads on both ends, or re-point an existing edge, instead of disconnecting and reconnecanvas_disconnect_nodesWhen: Use to delete specific edges between two nodes. Remove edges, given as source and target, or as an edge id / "Source -> Target" string in `edge`. Batch:canvas_set_columnsWhen: Use `mode: "merge"` to add or update (renameTo) a few columns, `mode: "remove"` to drop some, or the default replace for the full list. Columns that staycanvas_group_nodesWhen: Use to create a zone (a layer, domain, stage or boundary), nested with `parentGroup`, optionally moving existing nodes into it: the zone is drawn around tcanvas_move_to_groupWhen: Use to move existing nodes or zones into another zone (they are placed inside it and the zone grows to fit), or out of every zone with group null. A zonecanvas_add_lineageWhen: Use to record which source columns produce which target columns. No line is drawn. Record column-level lineage: which source column produces which targetcanvas_remove_lineageWhen: Use to delete lineage rows between two nodes (one column pair, or all rows between them). Lineage pointing at deleted nodes or columns is cleaned automaticanvas_add_textWhen: Use for a note that tells the diagram's reader a decision, constraint or gotcha. Pass `anchor` (the node or zone it explains) and it is placed beside it,canvas_add_shapeWhen: Use rarely: a pointer or highlight the user asked for. Never as a backdrop; zones are the containers. Place a rectangle, circle, arrow, or line as a visucanvas_add_flow_arrowWhen: Use after the final layout, where one arrow should stand for a bundle of identical flows (zone to zone). Draw one large labelled arrow SHAPE between twocanvas_add_regionWhen: Use after the final layout to mark nodes that belong together without moving them into a zone. Regions do not move with layout. Draw a labelled translucecanvas_suggest_simplificationsWhen: Use when the diagram feels dense or the user asks to simplify. It changes nothing; it reports what could collapse. Report where this canvas could be collcanvas_collapse_nodesWhen: Use to merge several similar nodes into one while keeping their connections, usually after canvas_suggest_simplifications. Merge several nodes into one scanvas_move_nodesWhen: Use only when the user asked for a specific placement. Moving a zone moves its children; never move the children as well. Set node positions precisely. Ucanvas_resize_nodesWhen: Use only when the user asked for a specific size. Set the width and height of nodes. Mostly for shapes, text boxes, and group zones — data nodes size thecanvas_align_nodesWhen: Use only when the user asked for alignment that layout does not give. Align nodes to a shared edge or centre line, or space them evenly. Cleaner and farcanvas_layout_canvasWhen: Use once, after the structure (zones, nodes, edges) is complete, not after each change. With no arguments it only places what was added or changed; nothincanvas_validate_canvasWhen: Use before you finish: broken references and icons, nodes outside their zone, overlapping zones or nodes. Loops are reported as information only. Check ycanvas_viewWhen: use to see a diagram before you edit it and after each round of changes; this is how you check your work. It answers in milliseconds from the saved diagra
Details
- Version: 1.0.0
- Transports: streamable-http
- Uptime (7 days): 100%
- Median latency: 1019 ms
- First indexed:
- Last seen in registry:
- Website: https://datadef.io
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/io.datadef/mcp)
- 62071 servers
- Last crawl: 2026-11-11T16:39:06.253Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp