mcp
Was dieses MCP kann
Creates and edits data architecture diagrams with tables, data flows, column lineage, grouping, validation, and PNG export.
Tools
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'arrows'], 'properties': {'arrows': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'x', 'y'], 'properties': {'x': {'type': 'number', 'description': "Absolute x of the arrow's top-left corner."}, 'y': {'type': 'number', 'description': "Absolute y of the arrow's top-left corner."}, 'color': {'type': 'string', 'description': 'Colour name or hex. Default a soft grey-blue.'}, 'label': {'type': 'string', 'minLength': 1, 'description': 'What moves, e.g. "batch + streaming ingest".'}, 'width': {'type': 'number', 'maximum': 4000, 'minimum': 40, 'description': 'Length. Default 200.'}, 'direction': {'enum': ['right', 'left', 'up', 'down'], 'type': 'string', 'description': 'Which way the head points. Default right.'}, 'thickness': {'type': 'number', 'maximum': 400, 'minimum': 12, 'description': 'How thick the arrow body is. Default 48. Big flows deserve 60-120.'}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'links'], 'properties': {'links': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceNode', 'targetNode'], 'properties': {'joinType': {'type': 'string', 'description': 'direct, transform, aggregation, lookup, filter, union, or a join kind.'}, 'sourceNode': {'type': 'string', 'description': 'Upstream node id or label.'}, 'targetNode': {'type': 'string', 'description': 'Downstream node id or label.'}, 'description': {'type': 'string', 'description': 'The transformation logic in one line.'}, 'sourceColumn': {'type': 'string', 'description': 'Upstream column name. Omit for table-level lineage.'}, 'targetColumn': {'type': 'string', 'description': 'Downstream column name.'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'nodes'], 'properties': {'nodes': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'label'], 'properties': {'icon': {'type': 'string', 'description': 'Icon id from search_icons, e.g. "snowflake". A product name is resolved if unambiguous; an unknown one is left out.'}, 'type': {'enum': ['table', 'kpi', 'dataSource', 'pipeline', 'consumption', 'serviceIcon'], 'type': 'string', 'description': 'table = a dataset with columns; dataSource = an external system feeding data in; pipeline = a job that moves or transforms data; consumption = a dashboard, app, or ML model reading data; kpi = a business metric; serviceIcon = a plain labelled service logo (needs an icon).'}, 'group': {'type': 'string', 'description': 'Zone id or label to place this node in. The zone must already exist.'}, 'label': {'type': 'string', 'description': 'Display name. Use the real object name, e.g. "fct_orders".'}, 'family': {'enum': ['source', 'ingest', 'bronze', 'silver', 'gold', 'consume', 'dbt', 'neutral'], 'type': 'string', 'description': 'Accent hue for the node tile. Tables infer their layer from names; set this for operators/endpoints or to override.'}, 'columns': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Column name, e.g. "customer_id".'}, 'type': {'type': 'string', 'description': 'SQL type, e.g. "varchar", "bigint", "timestamp". Default "unknown" for a new column; an existing column keeps its type.'}, 'description': {'type': 'string', 'description': 'What the column means in business terms.'}, 'isForeignKey': {'type': 'boolean'}, 'isPrimaryKey': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': 'Columns. Table nodes only.'}, 'kpiUnit': {'type': 'string'}, 'schedule': {'type': 'string', 'description': 'Cron expression or cadence, e.g. "0 2 * * *".'}, 'dataOwner': {'type': 'string'}, 'kpiTarget': {'type': 'string'}, 'kpiFormula': {'type': 'string'}, 'technology': {'type': 'string', 'description': 'Implementing tool, e.g. "dbt", "Airflow".'}, 'dataSteward': {'type': 'string'}, 'description': {'type': 'string', 'description': 'One line on what this is and why it exists.'}, 'pipelineType': {'type': 'string', 'description': 'etl, elt, transformation, streaming, batch, cdc, or reverse_etl.'}, 'teamInCharge': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'maxItems': 40, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'regions'], 'properties': {'regions': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'x', 'y', 'width', 'height'], 'properties': {'x': {'type': 'number'}, 'y': {'type': 'number'}, 'color': {'type': 'string', 'description': 'Colour name or hex, drawn translucent. Default a neutral slate.'}, 'label': {'type': 'string', 'minLength': 1, 'description': 'Region name, drawn at the top-left.'}, 'width': {'type': 'number', 'maximum': 6000, 'minimum': 60}, 'height': {'type': 'number', 'maximum': 6000, 'minimum': 60}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'shapes'], 'properties': {'shapes': {'type': 'array', 'items': {'type': 'object', 'required': ['shape', 'x', 'y'], 'properties': {'x': {'type': 'number'}, 'y': {'type': 'number'}, 'label': {'type': 'string', 'description': 'Text drawn on the shape.'}, 'shape': {'enum': ['rectangle', 'circle', 'arrow', 'line'], 'type': 'string'}, 'width': {'type': 'number', 'maximum': 4000, 'minimum': 4}, 'height': {'type': 'number', 'maximum': 4000, 'minimum': 1}, 'fillColor': {'type': 'string', 'description': 'Colour name or hex.'}, 'strokeColor': {'type': 'string', 'description': 'Colour name or hex.'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'type', 'label'], 'properties': {'x': {'type': 'number', 'description': 'Absolute x. Omit to place clear of the existing diagram.'}, 'y': {'type': 'number', 'description': 'Absolute y.'}, 'icon': {'type': 'string', 'description': 'Icon id from search_icons.'}, 'type': {'enum': ['table', 'kpi', 'dataSource', 'pipeline', 'consumption', 'serviceIcon'], 'type': 'string'}, 'label': {'type': 'string'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}, 'technology': {'type': 'string'}, 'description': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'texts'], 'properties': {'texts': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'x': {'type': 'number', 'description': 'Absolute x of the top-left corner, when there is no anchor.'}, 'y': {'type': 'number', 'description': 'Absolute y of the top-left corner, when there is no anchor.'}, 'bold': {'type': 'boolean'}, 'text': {'type': 'string', 'minLength': 1, 'description': 'The text content. Newlines are preserved.'}, 'style': {'enum': ['note', 'callout', 'caption'], 'type': 'string', 'description': 'note = quiet grey text (default), callout = highlighted amber box, caption = small bold label.'}, 'width': {'type': 'number', 'maximum': 1200, 'minimum': 40, 'description': 'Default 220 (240 for anchored notes).'}, 'anchor': {'type': 'string', 'description': 'Node or zone id or label this note explains; the note is placed next to it.'}, 'height': {'type': 'number', 'maximum': 800, 'minimum': 20, 'description': 'Default 60.'}, 'fontSize': {'type': 'number', 'maximum': 72, 'minimum': 8, 'description': 'Default 14.'}, 'textColor': {'type': 'string', 'description': 'Colour name or hex, e.g. "#111827".'}, 'transparent': {'type': 'boolean', 'description': 'Draw with no box or border, for a caption floating over the canvas.'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'nodes', 'mode'], 'properties': {'mode': {'enum': ['left', 'right', 'top', 'bottom', 'center-horizontal', 'center-vertical', 'distribute-horizontal', 'distribute-vertical'], 'type': 'string', 'description': 'left/right/top/bottom align edges; center-* align centre lines; distribute-* space evenly between the outermost two.'}, 'nodes': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 40, 'minItems': 2, 'description': 'Node ids or labels.'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'operations'], 'properties': {'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}, 'operations': {'type': 'array', 'items': {'type': 'object', 'required': ['tool'], 'properties': {'args': {'type': 'object', 'description': "That tool's arguments, exactly as its own canvas_* tool takes them, without diagram_id.", 'additionalProperties': {}}, 'tool': {'type': 'string', 'description': 'A canvas write tool, e.g. "group_nodes", "add_nodes", "replace_node", "set_columns", "connect_nodes", "layout_canvas".'}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1, 'description': 'Applied in order, all or nothing. Up to 50.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'nodes'], 'properties': {'label': {'type': 'string', 'description': 'Label for the merged node. Omit to generate one such as "stg_* (8)".'}, 'nodes': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 40, 'minItems': 2, 'description': 'Node ids or labels to merge. They should be genuinely similar.'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}, 'description': {'type': 'string', 'description': 'What the merged node stands for. Defaults to listing what was collapsed.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'edges'], 'properties': {'edges': {'type': 'array', 'items': {'type': 'object', 'required': ['source', 'target'], 'properties': {'type': {'enum': ['dataflow', 'transformation', 'dependency', 'lineage', 'join'], 'type': 'string', 'description': 'Default "dataflow".'}, 'color': {'type': 'string', 'description': "Override the edge colour (default: the source node's hue)."}, 'label': {'type': 'string', 'description': 'What this connection does, when not obvious.'}, 'style': {'enum': ['solid', 'dashed', 'dotted'], 'type': 'string'}, 'source': {'type': 'string', 'description': 'Upstream node id or label â\x80\x94 data flows FROM here.'}, 'target': {'type': 'string', 'description': 'Downstream node id or label â\x80\x94 data flows TO here.'}, 'bidirectional': {'type': 'boolean', 'description': 'Arrowheads on both ends, for a genuinely two-way link. Not a replacement for existing edges in each direction.'}}, 'additionalProperties': False}, 'maxItems': 60, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id'], 'properties': {'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}, 'includeColumns': {'type': 'boolean', 'description': 'Include a short column list for each table node. Default false.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'edges'], 'properties': {'edges': {'type': 'array', 'items': {'type': 'object', 'properties': {'edge': {'type': 'string', 'description': 'Edge id, or "Source -> Target".'}, 'source': {'type': 'string', 'description': 'Source node id or label.'}, 'target': {'type': 'string', 'description': 'Target node id or label.'}}, 'additionalProperties': False}, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'label'], 'properties': {'color': {'type': 'string', 'description': 'A colour instead of a family, e.g. "green".'}, 'label': {'type': 'string', 'description': 'Zone name, e.g. "Silver Layer".'}, 'nodes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Node or zone ids or labels to place inside.'}, 'style': {'enum': ['layer', 'cluster', 'swimlane'], 'type': 'string', 'description': 'layer = horizontal band (default), cluster = box, swimlane = vertical lane.'}, 'family': {'enum': ['source', 'ingest', 'bronze', 'silver', 'gold', 'consume', 'dbt', 'neutral'], 'type': 'string', 'description': 'Accent hue encoding the zone role. Zones with different roles get different families.'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}, 'description': {'type': 'string'}, 'parentGroup': {'type': 'string', 'description': 'Existing zone to nest this one inside, e.g. "Databricks Workspace". Default: the zone the nodes already share, if any.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'nodes'], 'properties': {'nodes': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 1, 'description': 'Node ids or exact labels. Up to 10 at a time.'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id'], 'properties': {'fit': {'enum': ['none', 'page-portrait', 'page-landscape', 'slide-16:9', 'square'], 'type': 'string', 'description': 'Shape the diagram for a format: page-portrait = A4 / Word / paper; slide-16:9 = presentation.'}, 'full': {'type': 'boolean', 'description': 'Same as mode "full". Prefer `mode`.'}, 'mode': {'enum': ['place', 'full'], 'type': 'string', 'description': '"place" (default) positions only new or moved nodes and moves nothing else. "full" re-arranges everything (or just `zone`) â\x80\x94 only when the user asked for a different layout.'}, 'zone': {'type': 'string', 'description': 'Re-arrange only this zone (id or label); it keeps its place and neighbours make room.'}, 'spacing': {'enum': ['compact', 'normal', 'airy'], 'type': 'string', 'description': 'Gaps between things for a re-arrange. "airy" when the user wants more whitespace, "compact" to save space.'}, 'direction': {'enum': ['LR', 'TB', 'RL'], 'type': 'string', 'description': 'Reading direction for a re-arrange: LR left-to-right, TB top-to-bottom, RL right-to-left. Default: the direction the diagram reads in now.'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id'], 'properties': {'nodes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Limit to specific node ids or labels. Omit to measure everything.'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'moves'], 'properties': {'moves': {'type': 'array', 'items': {'type': 'object', 'required': ['node'], 'properties': {'x': {'type': 'number', 'description': 'Absolute x. Omit to keep current x.'}, 'y': {'type': 'number', 'description': 'Absolute y. Omit to keep current y.'}, 'dx': {'type': 'number', 'description': 'Relative horizontal shift. Ignored if x is given.'}, 'dy': {'type': 'number', 'description': 'Relative vertical shift. Ignored if y is given.'}, 'node': {'type': 'string', 'description': 'Node id or exact label.'}}, 'additionalProperties': False}, 'maxItems': 60, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'nodes', 'group'], 'properties': {'group': {'type': ['string', 'null'], 'description': 'Target zone id or label. Pass null to take the nodes out of their zones.'}, 'nodes': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'Node or zone ids or labels to move.'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'links'], 'properties': {'links': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceNode', 'targetNode'], 'properties': {'sourceNode': {'type': 'string', 'description': 'Upstream node id or label.'}, 'targetNode': {'type': 'string', 'description': 'Downstream node id or label.'}, 'sourceColumn': {'type': 'string', 'description': 'Only rows from this column.'}, 'targetColumn': {'type': 'string', 'description': 'Only rows to this column.'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'nodes'], 'properties': {'nodes': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'Node or zone ids or exact labels.'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}, 'keepChildren': {'type': 'boolean', 'description': 'For zones: true (default) moves the contents up to the parent; false deletes everything inside too.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'node', 'label'], 'properties': {'icon': {'type': 'string', 'description': 'Icon id from search_icons.'}, 'node': {'type': 'string', 'description': 'Node id or exact label to replace.'}, 'type': {'enum': ['table', 'kpi', 'dataSource', 'pipeline', 'consumption', 'serviceIcon'], 'type': 'string', 'description': 'New type. Omit to keep the current type.'}, 'label': {'type': 'string', 'description': 'New label.'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}, 'technology': {'type': 'string'}, 'description': {'type': 'string'}, 'keepColumns': {'type': 'boolean', 'description': 'Keep the existing columns (table to table). Default true; false clears them.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'resizes'], 'properties': {'resizes': {'type': 'array', 'items': {'type': 'object', 'required': ['node'], 'properties': {'node': {'type': 'string', 'description': 'Node id or exact label.'}, 'width': {'type': 'number', 'maximum': 4000, 'minimum': 20}, 'height': {'type': 'number', 'maximum': 4000, 'minimum': 20}}, 'additionalProperties': False}, 'maxItems': 40, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Matches per name. Default 5 for `query`, 1 for `queries`.'}, 'query': {'type': 'string', 'minLength': 1, 'description': 'One product or tool name.'}, 'queries': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 40, 'description': 'Several names at once, e.g. ["Snowflake", "Fivetran", "Power BI"]. Returns the best icon for each.'}, 'diagram_id': {'type': 'string', 'description': 'Not needed for icon search; accepted for compatibility.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'node', 'columns'], 'properties': {'mode': {'enum': ['replace', 'merge', 'remove'], 'type': 'string', 'description': 'Default "replace".'}, 'node': {'type': 'string', 'description': 'Table node id or exact label.'}, 'columns': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Column name, e.g. "customer_id".'}, 'type': {'type': 'string', 'description': 'SQL type, e.g. "varchar", "bigint", "timestamp". Default "unknown" for a new column; an existing column keeps its type.'}, 'renameTo': {'type': 'string', 'description': 'merge mode: new name for the column called `name`.'}, 'description': {'type': 'string', 'description': 'What the column means in business terms.'}, 'isForeignKey': {'type': 'boolean'}, 'isPrimaryKey': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 80}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id'], 'properties': {'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}, 'minGroupSize': {'type': 'integer', 'maximum': 20, 'minimum': 2, 'description': 'Smallest group worth reporting. Default 3.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'updates'], 'properties': {'updates': {'type': 'array', 'items': {'type': 'object', 'properties': {'edge': {'type': 'string', 'description': 'Edge id, or "Source -> Target".'}, 'type': {'enum': ['dataflow', 'transformation', 'dependency', 'lineage', 'join'], 'type': 'string'}, 'color': {'type': 'string', 'description': 'Colour name or hex; "default" returns to the source node\'s hue.'}, 'label': {'type': 'string', 'description': 'New label.'}, 'style': {'enum': ['solid', 'dashed', 'dotted'], 'type': 'string'}, 'source': {'type': 'string', 'description': 'Current source node id or label.'}, 'target': {'type': 'string', 'description': 'Current target node id or label.'}, 'reverse': {'type': 'boolean', 'description': 'Swap source and target: the arrow points the other way.'}, 'newSource': {'type': 'string', 'description': 'Re-point the edge to start at this node.'}, 'newTarget': {'type': 'string', 'description': 'Re-point the edge to end at this node.'}, 'removeLabel': {'type': 'boolean', 'description': 'Remove the label.'}, 'bidirectional': {'type': 'boolean', 'description': 'true = arrowheads on both ends of this one edge (a genuinely two-way link); false = only at the target.'}}, 'additionalProperties': False}, 'maxItems': 60, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'updates'], 'properties': {'updates': {'type': 'array', 'items': {'type': 'object', 'required': ['node'], 'properties': {'fill': {'$ref': '#/properties/updates/items/properties/color', 'description': 'Background / wash colour. Name or hex.'}, 'icon': {'type': 'string', 'description': 'Icon id from search_icons, or "none" to remove it. An unknown icon is not applied.'}, 'node': {'type': 'string', 'description': 'Node or zone id, or exact label.'}, 'text': {'type': 'string', 'description': 'New text of a note / text box (same as label for notes).'}, 'type': {'enum': ['table', 'kpi', 'dataSource', 'pipeline', 'consumption', 'serviceIcon'], 'type': 'string', 'description': "Change a data node's type in place (same id, edges, zone and position). serviceIcon needs an icon."}, 'color': {'type': 'string', 'description': "Main colour: a zone's border and header, a card's tile and border, a note's border, a shape's stroke. Name, hex, or family."}, 'label': {'type': 'string', 'description': 'New name. For a zone this renames its caption; for a note it replaces the note text.'}, 'family': {'enum': ['source', 'ingest', 'bronze', 'silver', 'gold', 'consume', 'dbt', 'neutral'], 'type': 'string', 'description': 'Colour family for a node or zone. Clears custom colours.'}, 'kpiUnit': {'type': 'string'}, 'schedule': {'type': 'string'}, 'container': {'enum': ['layer', 'boundary'], 'type': 'string', 'description': 'Zones only: layer = tinted band with a header; boundary = dashed perimeter (account, VPC, workspace).'}, 'dataOwner': {'type': 'string'}, 'kpiTarget': {'type': 'string'}, 'textColor': {'$ref': '#/properties/updates/items/properties/color', 'description': 'Text colour. Name or hex.'}, 'zoneStyle': {'enum': ['layer', 'cluster', 'swimlane'], 'type': 'string', 'description': 'Zones only: layer = horizontal band, cluster = box, swimlane = vertical lane.'}, 'kpiFormula': {'type': 'string'}, 'resetStyle': {'type': 'boolean', 'description': 'Drop custom colours and family, back to the default look. Applied before any colour in the same update.'}, 'technology': {'type': 'string'}, 'borderStyle': {'enum': ['solid', 'dashed', 'dotted'], 'type': 'string', 'description': 'Border line of a zone or card; line style of an arrow or line shape.'}, 'dataSteward': {'type': 'string'}, 'description': {'type': 'string'}, 'pipelineType': {'type': 'string'}, 'teamInCharge': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'maxItems': 60, 'minItems': 1}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id'], 'properties': {'scope': {'enum': ['changed', 'all'], 'type': 'string', 'description': '"changed" (default when you have changed something) or "all".'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id'], 'properties': {'zone': {'type': 'string', 'description': 'Zone id or exact label: show only that zone and what it contains.'}, 'diagram_id': {'type': 'string', 'description': 'Diagram id, from list_diagrams, create_diagram or create_blank_diagram.'}, 'include_edges': {'type': 'boolean', 'description': 'List the edges. Default true.'}, 'include_image': {'type': 'boolean', 'description': 'Also render a PNG, 6-10 s. Default false.'}, 'include_columns': {'type': 'boolean', 'description': 'List column names under each table. Default false.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': 'Diagram name. Defaults to "Untitled diagram".'}, 'description': {'type': 'string', 'description': 'Optional short description.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt'], 'properties': {'name': {'type': 'string', 'description': 'Title for the diagram. Defaults to an AI-chosen title.'}, 'scope': {'enum': ['overview', 'detailed'], 'type': 'string', 'description': 'overview (default): ~12-20 nodes, the shape of the system, right for almost every open-ended request. detailed: every object itemised, denser and harder to read. Ask the user rather than assuming they want detailed.'}, 'prompt': {'type': 'string', 'minLength': 10, 'description': 'What to diagram. Include technologies, data sources, transformations, layers, and destinations.'}, 'detailed': {'type': 'boolean', 'description': 'Use a higher-tier model. Slower and roughly 10x the cost, only when the user explicitly asks for maximum quality. Independent of `scope`.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id', 'instruction'], 'properties': {'diagram_id': {'type': 'string', 'description': 'Diagram id to modify.'}, 'instruction': {'type': 'string', 'minLength': 3, 'description': 'What to change, in plain language.'}, 'include_image': {'type': 'boolean', 'description': 'Return a PNG of the updated diagram when the edit finishes in time. Default true.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id'], 'properties': {'width': {'type': 'integer', 'maximum': 4000, 'minimum': 600, 'description': 'Viewport width in pixels. Default 1600.'}, 'format': {'enum': ['png', 'jpeg'], 'type': 'string', 'description': 'Default png.'}, 'height': {'type': 'integer', 'maximum': 4000, 'minimum': 400, 'description': 'Viewport height in pixels. Default 1000.'}, 'diagram_id': {'type': 'string', 'description': 'Canvas id to export.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diagram_id'], 'properties': {'diagram_id': {'type': 'string', 'description': 'Canvas id, from list_diagrams, create_diagram, or create_blank_diagram.'}, 'include_image': {'type': 'boolean', 'description': 'Attach a PNG preview and a markdown image link to show the user. Default true; pass false for structure-only reads.'}, 'include_columns': {'type': 'boolean', 'description': 'Include table column lists. Default true.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max results. Default 25.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'description': 'Project id of the repo-linked diagram. A diagram_id from list_diagrams works too.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'description': 'Project id of the repo-linked diagram. A diagram_id from list_diagrams works too.'}}, 'additionalProperties': False}
Letzte Tool-Änderungen
Ähnliche MCP-Server
Blixtworks
Offers pay-per-call utilities for text, image processing and analysis, data conversion, validation, web inspection, cryptography,…
chartlink
Creates, styles, publishes, embeds, and automatically refreshes charts and tables from inline data or scheduled external data sou…
GripForge
Generates, rigs, animates, analyzes, and packages game characters, weapons, armor, effects, environments, and engine-ready assets.
spriteship
Generates and manages 2D game characters, assets, animations, tilesets, UI packs, maps, and engine-ready exports for multiple gam…
Thousand API
Provides deterministic data conversion, validation, JSON transformation, statistical calculations, date and schedule utilities, i…
HubVibe: Pay-per-Call Tools for AI Agents: Web Search, Email Verify, KYC, Stocks, Crypto, News, Data
Offers paid utilities for web audits, HTTP fetching and extraction, BigQuery analysis, LLM processing, code execution, blockchain…
Compose Preview Catalogs
Browses, renders, compares, audits, and edits Jetpack Compose preview catalogs and associated UI designs.
arch-tools-mcp
Provides general-purpose agent APIs for browser automation, web and PDF extraction, data conversion, email operations, fact check…