Everything here was measured by our prober or read from a registry. Nothing is self-reported.
30-day availability1/1 checks ok
30 days agotoday
Endpoints
https://datadef.io/mcpmcp streamable http · checked on a schedule
Registry facts
Not distributed through a package registry we index.
when
check
result
http
latency
detail
5 h ago
mcp initialize
ok
200
70 ms
server datadef 1.0.0 · protocol 2025-06-18 · 36 tools
Tools observed via MCP handshake
get_design_guide — 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 BE
canvas_describe_canvas — 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
canvas_inspect_nodes — 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
canvas_measure_canvas — 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, r
canvas_suggest_simplifications — 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 t
canvas_search_icons — 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
canvas_add_nodes — 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 your
canvas_add_standalone_node — 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 wi
canvas_update_nodes — 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 ins
canvas_replace_node — 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 b
canvas_remove_nodes — 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 w
Declared by sources
What the publisher says
Attributed to the source that supplied each field. Treated as claims, not facts.
No long description beyond the summary.
kind ← Official MCP Registry
name ← Official MCP Registry
summary ← Official MCP Registry
version ← Official MCP Registry
description ← Official MCP Registry
homepageUrl ← Official MCP Registry
publisherName ← Official MCP Registry
Derived by Wellknown
Capabilities
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
7 h ago · declared · summary → "Generate, edit, and export data-architecture diagrams from your AI. Column lineage, PNG in chat."
7 h ago · declared · description → "Generate, edit, and export data-architecture diagrams from your AI. Column lineage, PNG in chat."
7 h ago · declared · publisherName → "io.datadef"
7 h ago · declared · homepageUrl → "https://datadef.io"
7 h ago · declared · version → "1.0.0"
7 h ago · declared · protocols → ["mcp"]
canvas_connect_nodes — Draw edges between nodes to show how data flows. Always label the edge with what actually happens ("ingest", "dbt transform", "hourly sync") — unlabelled edges
canvas_update_edges — 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 an
canvas_disconnect_nodes — Remove the edge between two nodes.
Operates on one Datadef diagram, named by diagram_id.
canvas_set_columns — 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 forei
canvas_group_nodes — 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
canvas_move_to_group — Move existing nodes into an existing group, or out of any group.
Operates on one Datadef diagram, named by diagram_id.
canvas_add_lineage — 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
canvas_add_text — 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_add_shape — 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 behi
canvas_add_flow_arrow — 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
canvas_add_region — 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 rathe
canvas_move_nodes — 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_measur
canvas_resize_nodes — 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 wha
canvas_align_nodes — 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 di
canvas_collapse_nodes — 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
canvas_layout_canvas — 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-arrange
canvas_validate_canvas — Check the canvas for structural problems (disconnected nodes, circular data flow, broken references) and quality problems (unlabelled edges, tables without colu
create_diagram — 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
create_blank_diagram — 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
list_diagrams — 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.
get_diagram — 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 actual
edit_diagram — Change an existing diagram with a natural-language instruction, add nodes, rewire connections, add columns, reorganise into layers, fill in owners and schedules
export_diagram — 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 w
repo_status — 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
repo_refresh — 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 h
Agent-first SEO research and publishing: competitors, SERPs, internal links, and Search Console.