Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,526Letters: 13Defects: 1,322counted 2 min ago
teppi

MCP serverio.datadef/mcp

Generate, edit, and export data-architecture diagrams from your AI.
Read moreGenerate, edit, and export data-architecture diagrams from your AI. Column lineage, PNG in chat.
UNRATEDActivestreamable-httpdatadef.io

Overview

Score?
UNRATED 0.665
of what a free look can see, on 29 looks
Looks
36
last 38 min ago
Tools
39
changed 5 days ago

More info

URL
datadef.io/mcp
streamable-http
Says it is
datadef 1.1.0
protocol 2025-06-18
In the record since
32 days ago

Among servers18,413 with a card

0median 0.606 · this server 0.665 · highest on record 0.8561

Toolsfrom sha256:ab3196cceb…59e006 · +3 −0 5 days ago

The tools this server lists, read out of the definition it returned
ToolSchema
canvas_add_flow_arrow
When: 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 two areas of the diagram
input · no output
canvas_add_lineage
When: Use to record which source columns produce which target columns. No line is drawn. Record column-level lineage: which source column produces which target column, and how. Th
input · no output
canvas_add_nodes
When: 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. Batch every node you
input · no output
canvas_add_region
When: 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 translucent area behind exist
input · no output
canvas_add_shape
When: 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 visual annotation — a di
input · no output
canvas_add_standalone_node
When: 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 exact position, withou
input · no output
canvas_add_text
When: 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, no coordinates neede
input · no output
canvas_align_nodes
When: 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 far more reliable than c
input · no output
canvas_batch added
When: use whenever you would otherwise make several canvas_* write calls in a row, above all with tools that take one item per call: create every zone (group_nodes), convert many n
input · no output
canvas_collapse_nodes
When: Use to merge several similar nodes into one while keeping their connections, usually after canvas_suggest_simplifications. Merge several nodes into one summary node, keeping
input · no output
canvas_connect_nodes
When: 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 show how data flows. L
input · no output
canvas_describe_canvas
When: 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 better first read. G
input · no output
canvas_disconnect_nodes
When: 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: `edges` takes a lis
input · no output
canvas_group_nodes
When: 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 them where they are,
input · no output
canvas_inspect_nodes
When: Use before changing a node's fields or columns, to see everything it carries: columns, metadata, owners, neighbours. Get full detail for specific nodes: all columns with typ
input · no output
canvas_layout_canvas
When: 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; nothing else moves. Set mo
input · no output
canvas_measure_canvas
When: 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 reports overlaps. Get exact
input · no output
canvas_move_nodes
When: 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. Use absolute x/y to p
input · no output
canvas_move_to_group
When: 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 zone cannot move into its
input · no output
canvas_remove_lineage added
When: 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 automatically. Delete linea
input · no output
canvas_remove_nodes
When: 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 keepChildren:false on
input · no output
canvas_replace_node
When: Use when one component changes identity or type (Redshift becomes Snowflake, a card becomes a service icon). The node keeps its id, connections, lineage, zone, position and f
input · no output
canvas_resize_nodes
When: 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 themselves from their c
input · no output
canvas_search_icons
When: 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 library (2000+ cloud and da
input · no output
canvas_set_columns
When: 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 stay keep their ids and l
input · no output
canvas_suggest_simplifications
When: 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 collapsed — groups of si
input · no output
canvas_update_edges
When: Use to relabel, retype, restyle (dashed, colour), reverse, put arrowheads on both ends, or re-point an existing edge, instead of disconnecting and reconnecting it. Change ex
input · no output
canvas_update_nodes
When: 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`), change a zone's style,
input · no output
canvas_validate_canvas
When: Use before you finish: broken references and icons, nodes outside their zone, overlapping zones or nodes. Loops are reported as information only. Check your work: broken ref
input · no output
canvas_view added
When: 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 diagram, where export_diag
input · no output
create_blank_diagram
When: use when you will build the diagram yourself with the canvas_* tools, because you want control over the result or already know the architecture from the conversation. Use cre
input · no output
create_diagram
When: use when Datadef's own model should design a whole new diagram from a description or a pasted schema. To build it yourself step by step, use create_blank_diagram; to change a
input · no output
edit_diagram
When: use for a large change you can describe in words better than you can make it tool by tool: "reorganise this into bronze, silver and gold", "rebuild the consumption side from
input · no output
export_diagram
When: use to give the user an image of a diagram, or a link to download, attach or embed one. Not to check your own edits: a render starts a browser (6-10 s), while canvas_view ans
input · no output
get_design_guide
When: 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) and the tool workflow:
input · no output
get_diagram
When: use to show the user a diagram (it attaches a rendered PNG and a markdown image line, 6-10 s), or to poll a diagram that create_diagram or edit_diagram is still working on. T
input · no output
list_diagrams
When: use to find the id of an existing diagram before viewing, editing or exporting it. Lists the diagrams in the user's Datadef account, most recently updated first. Next: canva
input · no output
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 has, the diagram is R
input · no output
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 daily sync is on. U
input · no output
Verify it yourselfnpx teppi-check https://datadef.io/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2B3V5Y99JZ4ZQXX8SR2T