mcpserver.lol
registry/datadef-datadef-mcp
Connection check verified live · 27h ago

datadef-datadef-mcp

Generate, edit, and export data-architecture diagrams from your AI. Column lineage, PNG in chat.

Tools 36
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 27h ago

Tools & capabilities

36 tools

Read from the running server on 27h ago.

canvas_add_flow_arrow can modify data arrows*diagram_id*
Draw one large labelled arrow representing a whole flow — "ingest", "serve", "publish" — instead of many thin edges saying the same thing. Use this when several things move the sam…
canvas_add_lineage can modify data links*diagram_id*
Record column-level lineage: which source column produces which target column, and how. This is what makes the diagram queryable for impact analysis, so add it for every real trans…
canvas_add_nodes can modify data nodes*diagram_id*
Add one or more nodes to the canvas. Batch every node you want in a single call. Positions are assigned by canvas_layout_canvas afterwards — never set them yourself. Operates on o…
canvas_add_region can modify data regions*diagram_id*
Draw a labelled translucent area behind existing nodes to show they belong together, without reparenting them. Use this when the grouping is a reading aid rather than real containm…
canvas_add_shape can modify data shapes*diagram_id*
Place a rectangle, circle, arrow, or line as a visual annotation — a backdrop highlighting a region, an arrow pointing something out, a divider. Shapes sit behind data nodes and ar…
canvas_add_standalone_node can modify data xyicontype*label*diagram_id* +2
Add a single data node at an exact position, without connecting it to anything. Use when the user wants something placed somewhere specific, or when you will wire it up yourself af…
canvas_add_text can modify data texts*diagram_id*
Place a free-floating text box on the canvas — a caption, a callout, a section heading, a note explaining a decision. Position it with explicit coordinates from canvas_measure_canv…
canvas_align_nodes can modify data mode*nodes*diagram_id*
Align nodes to a shared edge or centre line, or space them evenly. Cleaner and far more reliable than computing coordinates by hand. Operates on one Datadef diagram, named by diag…
canvas_collapse_nodes can modify data labelnodes*diagram_id*description
Merge several nodes into one summary node, keeping every connection. Use when a set of near-identical objects adds length without adding meaning — eight staging models that all beh…
canvas_connect_nodes can modify data edges*diagram_id*
Draw edges between nodes to show how data flows. Always label the edge with what actually happens ("ingest", "dbt transform", "hourly sync") — unlabelled edges make a diagram usele…
canvas_describe_canvas read-only diagram_id*includeColumns
Get an overview of the current canvas: every node with its id, type, label and group, plus all connections and groups. Call this first, before any edit, so you work from real node…
canvas_disconnect_nodes can modify data edges*diagram_id*
Remove the edge between two nodes. Operates on one Datadef diagram, named by diagram_id.
canvas_group_nodes can modify data label*nodesstylefamilydiagram_id*description +1
Create a labelled zone (e.g. "Bronze Layer", "Ingestion") and optionally move nodes into it. Zones are what turn a tangle of boxes into a readable architecture — use them for layer…
canvas_inspect_nodes read-only nodes*diagram_id*
Get full detail for specific nodes: all columns with types and keys, metadata, schedule, formula, owners. Use before modifying a node so you preserve fields you are not changing.…
canvas_layout_canvas can modify data fulldiagram_id*
Arrange the canvas. Call this once at the end, after all structural edits are done — not between each edit. By default only the parts you touched are re-arranged and everything els…
canvas_measure_canvas read-only nodesdiagram_id*
Get exact geometry: every node's position and size in canvas units, the overall canvas bounds, and any nodes that overlap each other. Call this before moving, resizing, or placing…
canvas_move_nodes can modify data moves*diagram_id*
Set node positions precisely. Use absolute x/y to place something exactly, or dx/dy to nudge it. Coordinates are absolute canvas units (same space canvas_measure_canvas reports). M…
canvas_move_to_group can modify data group*nodes*diagram_id*
Move existing nodes into an existing group, or out of any group. Operates on one Datadef diagram, named by diagram_id.
canvas_remove_nodes can modify data nodes*diagram_id*
Delete nodes and every edge touching them. Deleting a group also deletes the nodes inside it — check with canvas_describe_canvas first if that is not what you want. Operates on on…
canvas_replace_node can modify data iconnode*typelabel*diagram_id*technology +2
Swap a node for a different one while keeping every connection, its position, and its group. Use this when a component changes — Redshift becomes Snowflake, a batch job becomes str…
canvas_resize_nodes can modify data resizes*diagram_id*
Set the width and height of nodes. Mostly for shapes, text boxes, and group zones — data nodes size themselves from their content, and resizing one can clip what it displays. Oper…
canvas_search_icons read-only limitquery*diagram_id*
Search Datadef's icon library (2000+ cloud and data-tool logos) for a valid icon id. Use it when you want a specific vendor logo and are unsure of its exact id — passing an invalid…
canvas_set_columns can modify data node*columns*diagram_id*
Set the full column list of a table node, replacing whatever it had. Pass every column you want to keep — this is a replace, not a merge. Mark primary and foreign keys; they are wh…
canvas_suggest_simplifications read-only diagram_id*minGroupSize
Report where this canvas could be collapsed — groups of similar nodes that could become one summary node — without changing anything. Use it to decide whether the diagram is denser…
canvas_update_edges can modify data updates*diagram_id*
Change existing connections without deleting them: fix a label, change the type, or restyle. Use this to correct a wrong edge label rather than disconnecting and reconnecting. Ope…
canvas_update_nodes can modify data updates*diagram_id*
Change properties of existing nodes. Only the fields you pass are touched; everything else is preserved. To replace a table's columns use canvas_set_columns instead. Operates on o…
canvas_validate_canvas read-only diagram_id*
Check the canvas for structural problems (disconnected nodes, circular data flow, broken references) and quality problems (unlabelled edges, tables without columns). Call this befo…
create_blank_diagram namedescription
Create an empty diagram and return its diagram_id, so you can build it yourself with the canvas_* tools. No AI generation runs and no credit is spent: you draw it. Use this when y…
create_diagram namescopeprompt*detailed
Generate a professional data architecture diagram from a description and save it to the user's Datadef account. Use this for any data-shaped diagram: medallion and lakehouse archi…
edit_diagram can modify data diagram_id*instruction*include_image
Change an existing diagram with a natural-language instruction, add nodes, rewire connections, add columns, reorganise into layers, fill in owners and schedules. Be specific about…
export_diagram read-only widthformatheightdiagram_id*
Render a diagram to a PNG or JPEG image. Returns the image inline AND a short-lived signed download URL. Use the inline image to show the diagram; use the URL when the user wants t…
get_design_guide read-only
Datadef's standard for what makes a diagram readable, size, edge discipline, nested zones, annotations, and the tool order for building or editing. Read this BEFORE your first canv…
get_diagram read-only diagram_id*include_imageinclude_columns
Read the full structure of a diagram: every node with its type and columns, every connection, and the groups. Use this before editing so you know what is actually there.
list_diagrams read-only limit
List diagrams in the user's Datadef account, most recently updated first. Use this to find the id of a diagram before editing or exporting it.
repo_refresh can modify data project_id*
Re-sync a repo-linked diagram from the current state of its repository. If the tracked branch or tag has not moved since the last sync, nothing changes. If it has, the diagram is R…
repo_status read-only project_id*
For a diagram that was created from a connected git repository: which repo and branch or tag it tracks, when it last synced, the commit it reflects, and whether daily sync is on. U…