← WebMCP Directory

squig.sh

squig.sh

live Unverified (seed import) Developer Tools 14 tools imperative implementation

An infinite canvas of real UI components that all render like you sketched them on a napkin. Argue about structure, not corner radius.

First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com

Answer 4 · Act 10 · Transact 0 · Score: Not yet scored

Tool inspector

squig_add_nodes

act imperative

Add a batch of complete .squig.json nodes in one undo step. All nodes are validated before insertion. Use the individual creation tools for default sizes and generated IDs.

Page: /

Input schema

PropertyTypeRequiredDescription
documentId string yes Current documentId returned by squig_read_canvas; protects against editing a different file
nodes array yes —
Raw JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "documentId": {
      "type": "string",
      "minLength": 1,
      "description": "Current documentId returned by squig_read_canvas; protects against editing a different file"
    },
    "nodes": {
      "minItems": 1,
      "maxItems": 1000,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number",
            "minimum": -1000000,
            "maximum": 1000000
          },
          "y": {
            "type": "number",
            "minimum": -1000000,
            "maximum": 1000000
          },
          "w": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000
          },
          "h": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "groupIds": {
            "maxItems": 32,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 80
            }
          },
          "locked": {
            "type": "boolean"
          },
          "flipX": {
            "type": "boolean"
          },
          "flipY": {
            "type": "boolean"
          },
          "rotation": {
            "type": "number"
          },
          "fill": {
            "type": "string",
            "enum": [
              "none",
              "paper",
              "light",
              "strong"
            ]
          },
          "stroke": {
            "type": "string",
            "enum": [
              "light",
              "regular",
              "heavy"
            ]
          },
          "ink": {
            "type": "string",
            "enum": [
              "ink",
              "muted",
              "faint"
            ]
          },
          "dashed": {
            "type": "boolean"
          },
          "fontSize": {
            "type": "number",
            "exclusiveMinimum": 0,
            "maximum": 1000
          },
          "text": {
            "type": "string",
            "maxLength": 100000
          },
          "align": {
            "type": "string",
            "enum": [
              "left",
              "center",
              "right"
            ]
          },
          "verticalAlign": {
            "type": "string",
            "enum": [
              "top",
              "center",
              "bottom"
            ]
          },
          "fixedW": {
            "type": "boolean"
          },
          "fixedH": {
            "type": "boolean"
          },
          "bold": {
            "type": "boolean"
          },
          "italic": {
            "type": "boolean"
          },
          "underline": {
            "type": "boolean"
          },
          "boxed": {
            "type": "boolean"
          },
          "boxBorder": {
            "type": "boolean"
          },
          "boxDashed": {
            "type": "boolean"
          },
          "boxFill": {
            "type": "string",
            "enum": [
              "none",
              "paper",
              "light",
              "strong"
            ]
          },
          "boxStroke": {
            "type": "string",
            "enum": [
              "light",
              "regular",
              "heavy"
            ]
          },
          "boxInk": {
            "type": "string",
            "enum": [
              "ink",
              "muted",
              "faint"
            ]
          },
          "points": {
            "maxItems": 10000,
            "type": "array",
            "items": {
              "type": "array",
              "items": [
                {
                  "type": "number",
                  "minimum": -1000000,
                  "maximum": 1000000
                },
                {
                  "type": "number",
                  "minimum": -1000000,
                  "maximum": 1000000
                }
              ],
              "additionalItems": false,
              "minItems": 2,
              "maxItems": 2
            }
          },
          "head": {
            "type": "boolean"
          },
          "bind": {
            "type": "array",
            "items": [
              {
                "type": [
                  "string",
                  "null"
                ]
              },
              {
                "type": [
                  "string",
                  "null"
                ]
              }
            ],
            "additionalItems": false,
            "minItems": 2,
            "maxItems": 2
          },
          "anchors": {
            "type": "array",
            "items": [
              {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "top",
                      "right",
                      "bottom",
                      "left",
                      "center"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "top",
                      "right",
                      "bottom",
                      "left",
                      "center"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            ],
            "additionalItems": false,
            "minItems": 2,
            "maxItems": 2
          },
          "lineStyle": {
            "type": "string",
            "enum": [
              "straight",
              "elbow",
              "curved"
            ]
          },
          "elbowAxis": {
            "type": "string",
            "enum": [
              "x",
              "y"
            ]
          },
          "elbowOffset": {
            "type": "array",
            "items": [
              {
                "type": "number",
                "minimum": -1000000,
                "maximum": 1000000
              },
              {
                "type": "number",
                "minimum": -1000000,
                "maximum": 1000000
              }
            ],
            "additionalItems": false,
            "minItems": 2,
            "maxItems": 2
          },
          "curveBend": {
            "type": "array",
            "items": [
              {
                "type": "number",
                "minimum": -1000000,
                "maximum": 1000000
              },
              {
                "type": "number",
                "minimum": -1000000,
                "maximum": 1000000
              }
            ],
            "additionalItems": false,
            "minItems": 2,
            "maxItems": 2
          },
          "snap": {
            "type": "boolean",
            "const": false
          },
          "crop": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "y": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "w": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1
              },
              "h": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1
              }
            },
            "required": [
              "x",
              "y",
              "w",
              "h"
            ],
            "additionalProperties": false
          },
          "link": {
            "type": "string",
            "maxLength": 2000
          },
          "id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]{1,80}$"
          },
          "type": {
            "type": "string",
            "enum": [
              "component",
              "shape",
              "text",
              "arrow",
              "draw",
              "image"
            ]
          },
          "kind": {
            "type": "string"
          },
          "props": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "shape": {
            "type": "string",
            "enum": [
              "rect",
              "ellipse"
            ]
          },
          "src": {
            "type": "string"
          },
          "naturalW": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "naturalH": {
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "required": [
          "x",
          "y",
          "w",
          "h",
          "seed",
          "id",
          "type"
        ],
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "documentId",
    "nodes"
  ],
  "additionalProperties": false
}

Similar websites

morphus.myles4miles.chatgpt.site

morphus.myles4miles.chatgpt.site

Morphus is an AI-native workspace for designing worlds and generating playable game experiences.

live Unverified Developer Tools Transact tools
154 tools A23 / Act124 / T7 Not yet scored Seen 2026-11-05
list_nodes get_scene_settings get_node_details get_terrain_state get_forest_state
Inspect tools
damnpdfs.com

damnpdfs.com

Install the DamnPDFs Codex plugin, pair a browser workspace and use PDF, image and file tools from your coding agent. Includes setup and privacy limits.

live Unverified Developer Tools Transact tools
81 tools A3 / Act77 / T1 Not yet scored Seen 2026-11-05
scan_to_pdf workflow merge_pdf alternate_mix_pdf compress_pdf
Inspect tools
insignifi4nt.github.io

insignifi4nt.github.io

broCAD/M: local-first CAD and CAM for parametric design, wire EDM planning, simulation and controller export.

live Unverified Developer Tools Transact tools
80 tools A29 / Act49 / T2 Not yet scored Seen 2026-11-05
edm_inspect_approach edm_describe_edits edm_get_context edm_list_projects edm_get_project
Inspect tools
cabinet.varera.studio

cabinet.varera.studio

The Cartographer's Cabinet

live Unverified Developer Tools Transact tools
64 tools A10 / Act50 / T4 Not yet scored Seen 2026-11-05
inspect_daylight inspect_cartographers_project list_project_hierarchy inspect_open_map search_project_objects
Inspect tools

Related on Influzer