addrbookFor publishers
← The evidence ledger

Evidence row 4353850

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 00e3e8e5-e38e-4d35-abb7-68cb52dcbbb7
Recorded
Previous row
#3716673
Body SHA-256
baa392c2384e1fe9f540423b76107988cd0e72694edb6728e2fe29fa0cf2a5bc
Leaf
0x4064ddc530f7789953dcf2fc14563c67887db1906f515ecf1f0e431a573c0a23

What was observed

{
  "count": 9,
  "tools": [
    {
      "description": "Search Printables for ready-made 3D models. Returns titles, designers and page links; the customer downloads their pick and drops it into ply's card.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "query": {
            "description": "What to look for, e.g. 'milwaukee m18 battery holder'",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "find_models"
    },
    {
      "description": "The materials, colors and strength levels ply prints custom parts in, with what each material is good for.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "list_materials"
    },
    {
      "description": "Build, check and price a custom 3D-printed part from exact sizes (mm): plate with holes, L-bracket, spacer/standoff, washer, or box with lid. Shows the part in 3D with its price and an Order button. Sizes left out use sensible defaults. Use again with new sizes or options when the customer asks for changes.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "armA": {
            "description": "tslot-plate: holes along the first arm",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "armB": {
            "description": "tslot-plate: holes along the second arm",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "board": {
            "description": "plate/tslot-mount: a circuit board whose mounting holes ply places from the maker's drawing (rpi5 = Raspberry Pi 5, rpi4b = Raspberry Pi 4 Model B, rpi3bplus = Raspberry Pi 3 Model B+, rpizero2w = Raspberry Pi Zero 2 W / Zero W, pico = Raspberry Pi Pico, rpicam = Raspberry Pi Camera Module 3 / v2, uno = Arduino Uno (R3 / R4), mega = Arduino Mega 2560); also give width/depth (hole pattern + 12 mm), screw and, on tslot-mount, standoffHeight",
            "enum": [
              "none",
              "rpi5",
              "rpi4b",
              "rpi3bplus",
              "rpizero2w",
              "pico",
              "rpicam",
              "uno",
              "mega"
            ],
            "type": "string"
          },
          "cableDiameter": {
            "description": "tslot-cable: cable bundle diameter (mm)",
            "type": "number"
          },
          "centerHole": {
            "description": "tslot-cap: hole to reach the end bolt",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string"
          },
          "color": {
            "description": "Color name, e.g. black, white, red (default black)",
            "type": "string"
          },
          "compartmentsX": {
            "description": "tray: compartments across (1 = none)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "compartmentsY": {
            "description": "tray: compartments front to back (1 = none)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "cornerRadius": {
            "description": "plate: outside corner radius, 0 = square; box: inside corner radius (mm)",
            "type": "number"
          },
          "depth": {
            "description": "plate: depth (mm)",
            "type": "number"
          },
          "extraHoles": {
            "description": "plate: holes at exact spots, x/y = hole center in mm from the plate's center",
            "items": {
              "properties": {
                "diameter": {
                  "type": "number"
                },
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                }
              },
              "required": [
                "x",
                "y",
                "diameter"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "floor": {
            "description": "tray: floor thickness (mm)",
            "type": "number"
          },
          "gridColumns": {
            "description": "plate, grid: hole columns",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "gridRows": {
            "description": "plate, grid: hole rows",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "gusset": {
            "description": "tslot-bracket: side gussets",
            "enum": [
              "sides",
              "none"
            ],
            "type": "string"
          },
          "height": {
            "description": "spacer: height; washer: thickness (mm)",
            "type": "number"
          },
          "holeDiameter": {
            "description": "plate: diameter of the pattern holes; bracket: hole diameter (0 = no holes) (mm)",
            "type": "number"
          },
          "holeInset": {
            "description": "plate, corner holes: distance from each edge to the hole center (mm)",
            "type": "number"
          },
          "holePattern": {
            "description": "plate: hole layout",
            "enum": [
              "none",
              "center",
              "corners",
              "grid"
            ],
            "type": "string"
          },
          "holeStyle": {
            "description": "with screw: plain hole, screw threads into the plastic, counterbored, countersunk (flat head), hex nut pocket, or heat-set insert",
            "enum": [
              "clearance",
              "tap",
              "counterbore",
              "countersink",
              "nut",
              "insert"
            ],
            "type": "string"
          },
          "holes": {
            "description": "tslot-bracket: bolts per leg (1–4)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "holesA": {
            "description": "bracket: holes in the base leg",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "holesB": {
            "description": "bracket: holes in the upright leg",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "innerDepth": {
            "description": "box: inside depth (mm)",
            "type": "number"
          },
          "innerDiameter": {
            "description": "spacer/washer: hole diameter, 0 = solid spacer (mm)",
            "type": "number"
          },
          "innerHeight": {
            "description": "box: inside height (mm)",
            "type": "number"
          },
          "innerRadius": {
            "description": "bracket: inside corner radius (mm)",
            "type": "number"
          },
          "innerWidth": {
            "description": "box: inside width (mm)",
            "type": "number"
          },
          "keys": {
            "description": "tslot-bracket/mount/panel: alignment keys that sit in the slot",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string"
          },
          "legA": {
            "description": "bracket: base leg length (mm)",
            "type": "number"
          },
          "legB": {
            "description": "bracket: upright leg length (mm)",
            "type": "number"
          },
          "length": {
            "description": "tslot-cover: length (mm)",
            "type": "number"
          },
          "lid": {
            "description": "box: lid",
            "enum": [
              "lift-off",
              "none"
            ],
            "type": "string"
          },
          "material": {
            "description": "Material name or id, e.g. PLA, PETG, ASA, TPU (default PLA).",
            "type": "string"
          },
          "outerDiameter": {
            "description": "spacer/washer: outside diameter (hex: across the flats) (mm)",
            "type": "number"
          },
          "panelThickness": {
            "description": "tslot-panel: panel thickness (mm)",
            "type": "number"
          },
          "plugDepth": {
            "description": "tslot-cap: plug length into the slots (mm)",
            "type": "number"
          },
          "profile": {
            "description": "T-slot parts: the extrusion (8020-10 = 80/20 10 series 1 in, 8020-15 = 15 series 1.5 in, m20 = 20 mm / 2020)",
            "enum": [
              "8020-10",
              "8020-15",
              "m20"
            ],
            "type": "string"
          },
          "quantity": {
            "description": "How many (default 1)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "reach": {
            "description": "tslot-panel: overlap onto the panel (mm)",
            "type": "number"
          },
          "screw": {
            "description": "plate/bracket/tslot-mount: the screw the holes are for (ply sizes them; omit or custom = use holeDiameter)",
            "enum": [
              "custom",
              "M2",
              "M2.5",
              "M3",
              "M4",
              "M5",
              "M6",
              "M8",
              "M10",
              "M12",
              "#2",
              "#4",
              "#6",
              "#8",
              "#10",
              "1/4",
              "5/16",
              "3/8",
              "1/2"
            ],
            "type": "string"
          },
          "shape": {
            "description": "spacer/washer: round or hex; tslot-plate: L, T, X, straight or gusset",
            "enum": [
              "round",
              "hex",
              "L",
              "T",
              "X",
              "straight",
              "gusset"
            ],
            "type": "string"
          },
          "slotHoles": {
            "description": "tslot-mount: bolts into the slot",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "slotOffset": {
            "description": "tslot-mount: slot line from the plate's center, across (mm)",
            "type": "number"
          },
          "span": {
            "description": "tslot-bracket: one or two profiles wide",
            "enum": [
              "single",
              "double"
            ],
            "type": "string"
          },
          "strength": {
            "description": "Plastic parts only. Default balanced; strong for parts under load",
            "enum": [
              "economy",
              "balanced",
              "strong",
              "heavy"
            ],
            "type": "string"
          },
          "template": {
            "description": "plate = flat plate with holes; bracket = L-bracket; spacer = spacer/standoff; washer; box = box with optional lift-off lid, sized by the inside; tray = open tray / bin / organizer sized by the OUTSIDE (width, depth, height), optional compartments; for T-slot aluminum extrusion (pick its profile): tslot-bracket = corner bracket, tslot-plate = joining plate, tslot-mount = mounting plate (bolts into a slot + the customer's own holes), tslot-cap = end cap / foot, tslot-cover = slot cover, tslot-panel = panel clip, tslot-cable = cable clip",
            "enum": [
              "plate",
              "bracket",
              "spacer",
              "washer",
              "box",
              "tray",
              "tslot-bracket",
              "tslot-plate",
              "tslot-mount",
              "tslot-cap",
              "tslot-cover",
              "tslot-panel",
              "tslot-cable"
            ],
            "type": "string"
          },
          "thickness": {
            "description": "plate/bracket: thickness (mm)",
            "type": "number"
          },
          "wall": {
            "description": "box: wall thickness (mm)",
            "type": "number"
          },
          "width": {
            "description": "plate/bracket: width (mm)",
            "type": "number"
          }
        },
        "required": [
          "template"
        ],
        "type": "object"
      },
      "name": "make_part"
    },
    {
      "description": "Put every part from price_cart into one ply cart and get the link to finish the order on plyparts.com (shipping, payment, engineer review). Pass the same parts list. Nothing is charged here.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "parts": {
            "description": "Every part in the cart (up to 40): a built part (template + sizes) or a file (path from price_file), each with its own material, color, strength and quantity",
            "items": {
              "properties": {
                "armA": {
                  "description": "tslot-plate: holes along the first arm",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "armB": {
                  "description": "tslot-plate: holes along the second arm",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "board": {
                  "description": "plate/tslot-mount: a circuit board whose mounting holes ply places from the maker's drawing (rpi5 = Raspberry Pi 5, rpi4b = Raspberry Pi 4 Model B, rpi3bplus = Raspberry Pi 3 Model B+, rpizero2w = Raspberry Pi Zero 2 W / Zero W, pico = Raspberry Pi Pico, rpicam = Raspberry Pi Camera Module 3 / v2, uno = Arduino Uno (R3 / R4), mega = Arduino Mega 2560); also give width/depth (hole pattern + 12 mm), screw and, on tslot-mount, standoffHeight",
                  "enum": [
                    "none",
                    "rpi5",
                    "rpi4b",
                    "rpi3bplus",
                    "rpizero2w",
                    "pico",
                    "rpicam",
                    "uno",
                    "mega"
                  ],
                  "type": "string"
                },
                "cableDiameter": {
                  "description": "tslot-cable: cable bundle diameter (mm)",
                  "type": "number"
                },
                "centerHole": {
                  "description": "tslot-cap: hole to reach the end bolt",
                  "enum": [
                    "yes",
                    "no"
                  ],
                  "type": "string"
                },
                "coating": {
                  "description": "Resin only: coating (needs sanding)",
                  "enum": [
                    "none",
                    "matte",
                    "gloss"
                  ],
                  "type": "string"
                },
                "color": {
                  "description": "Color name, e.g. black, white, red (default black)",
                  "type": "string"
                },
                "compartmentsX": {
                  "description": "tray: compartments across (1 = none)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "compartmentsY": {
                  "description": "tray: compartments front to back (1 = none)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "cornerRadius": {
                  "description": "plate: outside corner radius, 0 = square; box: inside corner radius (mm)",
                  "type": "number"
                },
                "depth": {
                  "description": "plate: depth (mm)",
                  "type": "number"
                },
                "extraHoles": {
                  "description": "plate: holes at exact spots, x/y = hole center in mm from the plate's center",
                  "items": {
                    "properties": {
                      "diameter": {
                        "type": "number"
                      },
                      "x": {
                        "type": "number"
                      },
                      "y": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "x",
                      "y",
                      "diameter"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "fileName": {
                  "type": "string"
                },
                "floor": {
                  "description": "tray: floor thickness (mm)",
                  "type": "number"
                },
                "gridColumns": {
                  "description": "plate, grid: hole columns",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "gridRows": {
                  "description": "plate, grid: hole rows",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "gusset": {
                  "description": "tslot-bracket: side gussets",
                  "enum": [
                    "sides",
                    "none"
                  ],
                  "type": "string"
                },
                "height": {
                  "description": "spacer: height; washer: thickness (mm)",
                  "type": "number"
                },
                "holeDiameter": {
                  "description": "plate: diameter of the pattern holes; bracket: hole diameter (0 = no holes) (mm)",
                  "type": "number"
                },
                "holeInset": {
                  "description": "plate, corner holes: distance from each edge to the hole center (mm)",
                  "type": "number"
                },
                "holePattern": {
                  "description": "plate: hole layout",
                  "enum": [
                    "none",
                    "center",
                    "corners",
                    "grid"
                  ],
                  "type": "string"
                },
                "holeStyle": {
                  "description": "with screw: plain hole, screw threads into the plastic, counterbored, countersunk (flat head), hex nut pocket, or heat-set insert",
                  "enum": [
                    "clearance",
                    "tap",
                    "counterbore",
                    "countersink",
                    "nut",
                    "insert"
                  ],
                  "type": "string"
                },
                "holes": {
                  "description": "tslot-bracket: bolts per leg (1–4)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "holesA": {
                  "description": "bracket: holes in the base leg",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "holesB": {
                  "description": "bracket: holes in the upright leg",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "innerDepth": {
                  "description": "box: inside depth (mm)",
                  "type": "number"
                },
                "innerDiameter": {
                  "description": "spacer/washer: hole diameter, 0 = solid spacer (mm)",
                  "type": "number"
                },
                "innerHeight": {
                  "description": "box: inside height (mm)",
                  "type": "number"
                },
                "innerRadius": {
                  "description": "bracket: inside corner radius (mm)",
                  "type": "number"
                },
                "innerWidth": {
                  "description": "box: inside width (mm)",
                  "type": "number"
                },
                "keys": {
                  "description": "tslot-bracket/mount/panel: alignment keys that sit in the slot",
                  "enum": [
                    "yes",
                    "no"
                  ],
                  "type": "string"
                },
                "legA": {
                  "description": "bracket: base leg length (mm)",
                  "type": "number"
                },
                "legB": {
                  "description": "bracket: upright leg length (mm)",
                  "type": "number"
                },
                "length": {
                  "description": "tslot-cover: length (mm)",
                  "type": "number"
                },
                "lid": {
                  "description": "box: lid",
                  "enum": [
                    "lift-off",
                    "none"
                  ],
                  "type": "string"
                },
                "material": {
                  "description": "Material name or id, e.g. PLA, PETG, ASA, TPU (default PLA).",
                  "type": "string"
                },
                "outerDiameter": {
                  "description": "spacer/washer: outside diameter (hex: across the flats) (mm)",
                  "type": "number"
                },
                "panelThickness": {
                  "description": "tslot-panel: panel thickness (mm)",
                  "type": "number"
                },
                "path": {
                  "description": "A file's ply path (from price_file)",
                  "type": "string"
                },
                "plugDepth": {
                  "description": "tslot-cap: plug length into the slots (mm)",
                  "type": "number"
                },
                "process": {
                  "description": "fdm = plastic (default); resin = fine detail (miniatures, figurines, smooth looks)",
                  "enum": [
                    "fdm",
                    "resin"
                  ],
                  "type": "string"
                },
                "profile": {
                  "description": "T-slot parts: the extrusion (8020-10 = 80/20 10 series 1 in, 8020-15 = 15 series 1.5 in, m20 = 20 mm / 2020)",
                  "enum": [
                    "8020-10",
                    "8020-15",
                    "m20"
                  ],
                  "type": "string"
                },
                "quantity": {
                  "description": "How many (default 1)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "reach": {
                  "description": "tslot-panel: overlap onto the panel (mm)",
                  "type": "number"
                },
                "sanding": {
                  "description": "Resin only: sanded finish",
                  "type": "boolean"
                },
                "screw": {
                  "description": "plate/bracket/tslot-mount: the screw the holes are for (ply sizes them; omit or custom = use holeDiameter)",
                  "enum": [
                    "custom",
                    "M2",
                    "M2.5",
                    "M3",
                    "M4",
                    "M5",
                    "M6",
                    "M8",
                    "M10",
                    "M12",
                    "#2",
                    "#4",
                    "#6",
                    "#8",
                    "#10",
                    "1/4",
                    "5/16",
                    "3/8",
                    "1/2"
                  ],
                  "type": "string"
                },
                "shape": {
                  "description": "spacer/washer: round or hex; tslot-plate: L, T, X, straight or gusset",
                  "enum": [
                    "round",
                    "hex",
                    "L",
                    "T",
                    "X",
                    "straight",
                    "gusset"
                  ],
                  "type": "string"
                },
                "slotHoles": {
                  "description": "tslot-mount: bolts into the slot",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "slotOffset": {
                  "description": "tslot-mount: slot line from the plate's center, across (mm)",
                  "type": "number"
                },
                "span": {
                  "description": "tslot-bracket: one or two profiles wide",
                  "enum": [
                    "single",
                    "double"
                  ],
                  "type": "string"
                },
                "strength": {
                  "description": "Plastic parts only. Default balanced; strong for parts under load",
                  "enum": [
                    "economy",
                    "balanced",
                    "strong",
                    "heavy"
                  ],
                  "type": "string"
                },
                "template": {
                  "description": "plate = flat plate with holes; bracket = L-bracket; spacer = spacer/standoff; washer; box = box with optional lift-off lid, sized by the inside; tray = open tray / bin / organizer sized by the OUTSIDE (width, depth, height), optional compartments; for T-slot aluminum extrusion (pick its profile): tslot-bracket = corner bracket, tslot-plate = joining plate, tslot-mount = mounting plate (bolts into a slot + the customer's own holes), tslot-cap = end cap / foot, tslot-cover = slot cover, tslot-panel = panel clip, tslot-cable = cable clip",
                  "enum": [
                    "plate",
                    "bracket",
                    "spacer",
                    "washer",
                    "box",
                    "tray",
                    "tslot-bracket",
                    "tslot-plate",
                    "tslot-mount",
                    "tslot-cap",
                    "tslot-cover",
                    "tslot-panel",
                    "tslot-cable"
                  ],
                  "type": "string"
                },
                "thickness": {
                  "description": "plate/bracket: thickness (mm)",
                  "type": "number"
                },
                "units": {
                  "description": "Units of an STL/OBJ file, which doesn't say (default mm). Use in if the part comes out 25x too small.",
                  "enum": [
                    "mm",
                    "in"
                  ],
                  "type": "string"
                },
                "wall": {
                  "description": "box: wall thickness (mm)",
                  "type": "number"
                },
                "width": {
                  "description": "plate/bracket: width (mm)",
                  "type": "number"
                }
              },
              "type": "object"
            },
            "maxItems": 40,
            "minItems": 1,
            "type": "array"
          },
          "thumbs": {
            "description": "Leave empty (the ply card fills in pictures).",
            "items": {
              "maxLength": 300000,
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "parts"
        ],
        "type": "object"
      },
      "name": "order_cart"
    },
    {
      "description": "Put a part into a ply cart and get the link to finish the order on plyparts.com (shipping, payment, engineer review). Nothing is charged here. For a built part pass the same template, sizes and options; for a file pass its path and options.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "armA": {
            "description": "tslot-plate: holes along the first arm",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "armB": {
            "description": "tslot-plate: holes along the second arm",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "board": {
            "description": "plate/tslot-mount: a circuit board whose mounting holes ply places from the maker's drawing (rpi5 = Raspberry Pi 5, rpi4b = Raspberry Pi 4 Model B, rpi3bplus = Raspberry Pi 3 Model B+, rpizero2w = Raspberry Pi Zero 2 W / Zero W, pico = Raspberry Pi Pico, rpicam = Raspberry Pi Camera Module 3 / v2, uno = Arduino Uno (R3 / R4), mega = Arduino Mega 2560); also give width/depth (hole pattern + 12 mm), screw and, on tslot-mount, standoffHeight",
            "enum": [
              "none",
              "rpi5",
              "rpi4b",
              "rpi3bplus",
              "rpizero2w",
              "pico",
              "rpicam",
              "uno",
              "mega"
            ],
            "type": "string"
          },
          "cableDiameter": {
            "description": "tslot-cable: cable bundle diameter (mm)",
            "type": "number"
          },
          "centerHole": {
            "description": "tslot-cap: hole to reach the end bolt",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string"
          },
          "coating": {
            "description": "Resin only: coating (needs sanding)",
            "enum": [
              "none",
              "matte",
              "gloss"
            ],
            "type": "string"
          },
          "color": {
            "description": "Color name, e.g. black, white, red (default black)",
            "type": "string"
          },
          "compartmentsX": {
            "description": "tray: compartments across (1 = none)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "compartmentsY": {
            "description": "tray: compartments front to back (1 = none)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "cornerRadius": {
            "description": "plate: outside corner radius, 0 = square; box: inside corner radius (mm)",
            "type": "number"
          },
          "depth": {
            "description": "plate: depth (mm)",
            "type": "number"
          },
          "extraHoles": {
            "description": "plate: holes at exact spots, x/y = hole center in mm from the plate's center",
            "items": {
              "properties": {
                "diameter": {
                  "type": "number"
                },
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                }
              },
              "required": [
                "x",
                "y",
                "diameter"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "fileName": {
            "type": "string"
          },
          "floor": {
            "description": "tray: floor thickness (mm)",
            "type": "number"
          },
          "gridColumns": {
            "description": "plate, grid: hole columns",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "gridRows": {
            "description": "plate, grid: hole rows",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "gusset": {
            "description": "tslot-bracket: side gussets",
            "enum": [
              "sides",
              "none"
            ],
            "type": "string"
          },
          "height": {
            "description": "spacer: height; washer: thickness (mm)",
            "type": "number"
          },
          "holeDiameter": {
            "description": "plate: diameter of the pattern holes; bracket: hole diameter (0 = no holes) (mm)",
            "type": "number"
          },
          "holeInset": {
            "description": "plate, corner holes: distance from each edge to the hole center (mm)",
            "type": "number"
          },
          "holePattern": {
            "description": "plate: hole layout",
            "enum": [
              "none",
              "center",
              "corners",
              "grid"
            ],
            "type": "string"
          },
          "holeStyle": {
            "description": "with screw: plain hole, screw threads into the plastic, counterbored, countersunk (flat head), hex nut pocket, or heat-set insert",
            "enum": [
              "clearance",
              "tap",
              "counterbore",
              "countersink",
              "nut",
              "insert"
            ],
            "type": "string"
          },
          "holes": {
            "description": "tslot-bracket: bolts per leg (1–4)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "holesA": {
            "description": "bracket: holes in the base leg",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "holesB": {
            "description": "bracket: holes in the upright leg",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "innerDepth": {
            "description": "box: inside depth (mm)",
            "type": "number"
          },
          "innerDiameter": {
            "description": "spacer/washer: hole diameter, 0 = solid spacer (mm)",
            "type": "number"
          },
          "innerHeight": {
            "description": "box: inside height (mm)",
            "type": "number"
          },
          "innerRadius": {
            "description": "bracket: inside corner radius (mm)",
            "type": "number"
          },
          "innerWidth": {
            "description": "box: inside width (mm)",
            "type": "number"
          },
          "keys": {
            "description": "tslot-bracket/mount/panel: alignment keys that sit in the slot",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string"
          },
          "legA": {
            "description": "bracket: base leg length (mm)",
            "type": "number"
          },
          "legB": {
            "description": "bracket: upright leg length (mm)",
            "type": "number"
          },
          "length": {
            "description": "tslot-cover: length (mm)",
            "type": "number"
          },
          "lid": {
            "description": "box: lid",
            "enum": [
              "lift-off",
              "none"
            ],
            "type": "string"
          },
          "material": {
            "description": "Material name or id, e.g. PLA, PETG, ASA, TPU (default PLA).",
            "type": "string"
          },
          "outerDiameter": {
            "description": "spacer/washer: outside diameter (hex: across the flats) (mm)",
            "type": "number"
          },
          "panelThickness": {
            "description": "tslot-panel: panel thickness (mm)",
            "type": "number"
          },
          "path": {
            "description": "A file's ply path (from price_file)",
            "type": "string"
          },
          "plugDepth": {
            "description": "tslot-cap: plug length into the slots (mm)",
            "type": "number"
          },
          "process": {
            "description": "fdm = plastic (default); resin = fine detail (miniatures, figurines, smooth looks)",
            "enum": [
              "fdm",
              "resin"
            ],
            "type": "string"
          },
          "profile": {
            "description": "T-slot parts: the extrusion (8020-10 = 80/20 10 series 1 in, 8020-15 = 15 series 1.5 in, m20 = 20 mm / 2020)",
            "enum": [
              "8020-10",
              "8020-15",
              "m20"
            ],
            "type": "string"
          },
          "quantity": {
            "description": "How many (default 1)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "reach": {
            "description": "tslot-panel: overlap onto the panel (mm)",
            "type": "number"
          },
          "sanding": {
            "description": "Resin only: sanded finish",
            "type": "boolean"
          },
          "screw": {
            "description": "plate/bracket/tslot-mount: the screw the holes are for (ply sizes them; omit or custom = use holeDiameter)",
            "enum": [
              "custom",
              "M2",
              "M2.5",
              "M3",
              "M4",
              "M5",
              "M6",
              "M8",
              "M10",
              "M12",
              "#2",
              "#4",
              "#6",
              "#8",
              "#10",
              "1/4",
              "5/16",
              "3/8",
              "1/2"
            ],
            "type": "string"
          },
          "shape": {
            "description": "spacer/washer: round or hex; tslot-plate: L, T, X, straight or gusset",
            "enum": [
              "round",
              "hex",
              "L",
              "T",
              "X",
              "straight",
              "gusset"
            ],
            "type": "string"
          },
          "slotHoles": {
            "description": "tslot-mount: bolts into the slot",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "slotOffset": {
            "description": "tslot-mount: slot line from the plate's center, across (mm)",
            "type": "number"
          },
          "span": {
            "description": "tslot-bracket: one or two profiles wide",
            "enum": [
              "single",
              "double"
            ],
            "type": "string"
          },
          "strength": {
            "description": "Plastic parts only. Default balanced; strong for parts under load",
            "enum": [
              "economy",
              "balanced",
              "strong",
              "heavy"
            ],
            "type": "string"
          },
          "template": {
            "description": "plate = flat plate with holes; bracket = L-bracket; spacer = spacer/standoff; washer; box = box with optional lift-off lid, sized by the inside; tray = open tray / bin / organizer sized by the OUTSIDE (width, depth, height), optional compartments; for T-slot aluminum extrusion (pick its profile): tslot-bracket = corner bracket, tslot-plate = joining plate, tslot-mount = mounting plate (bolts into a slot + the customer's own holes), tslot-cap = end cap / foot, tslot-cover = slot cover, tslot-panel = panel clip, tslot-cable = cable clip",
            "enum": [
              "plate",
              "bracket",
              "spacer",
              "washer",
              "box",
              "tray",
              "tslot-bracket",
              "tslot-plate",
              "tslot-mount",
              "tslot-cap",
              "tslot-cover",
              "tslot-panel",
              "tslot-cable"
            ],
            "type": "string"
          },
          "thickness": {
            "description": "plate/bracket: thickness (mm)",
            "type": "number"
          },
          "thumb": {
            "description": "Leave empty (the ply card fills in a picture).",
            "maxLength": 300000,
            "type": "string"
          },
          "units": {
            "description": "Units of an STL/OBJ file, which doesn't say (default mm). Use in if the part comes out 25x too small.",
            "enum": [
              "mm",
              "in"
            ],
            "type": "string"
          },
          "wall": {
            "description": "box: wall thickness (mm)",
            "type": "number"
          },
          "width": {
            "description": "plate/bracket: width (mm)",
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "order_part"
    },
    {
      "description": "Price a cart of several different parts at once (built parts from sizes and/or the customer's files, each with its own options and quantity). ply's card shows them in a grid with each part's picture, quantity, price and the total, and an Order button for all of them. Call again with the whole updated list after any change.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "parts": {
            "description": "Every part in the cart (up to 40): a built part (template + sizes) or a file (path from price_file), each with its own material, color, strength and quantity",
            "items": {
              "properties": {
                "armA": {
                  "description": "tslot-plate: holes along the first arm",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "armB": {
                  "description": "tslot-plate: holes along the second arm",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "board": {
                  "description": "plate/tslot-mount: a circuit board whose mounting holes ply places from the maker's drawing (rpi5 = Raspberry Pi 5, rpi4b = Raspberry Pi 4 Model B, rpi3bplus = Raspberry Pi 3 Model B+, rpizero2w = Raspberry Pi Zero 2 W / Zero W, pico = Raspberry Pi Pico, rpicam = Raspberry Pi Camera Module 3 / v2, uno = Arduino Uno (R3 / R4), mega = Arduino Mega 2560); also give width/depth (hole pattern + 12 mm), screw and, on tslot-mount, standoffHeight",
                  "enum": [
                    "none",
                    "rpi5",
                    "rpi4b",
                    "rpi3bplus",
                    "rpizero2w",
                    "pico",
                    "rpicam",
                    "uno",
                    "mega"
                  ],
                  "type": "string"
                },
                "cableDiameter": {
                  "description": "tslot-cable: cable bundle diameter (mm)",
                  "type": "number"
                },
                "centerHole": {
                  "description": "tslot-cap: hole to reach the end bolt",
                  "enum": [
                    "yes",
                    "no"
                  ],
                  "type": "string"
                },
                "coating": {
                  "description": "Resin only: coating (needs sanding)",
                  "enum": [
                    "none",
                    "matte",
                    "gloss"
                  ],
                  "type": "string"
                },
                "color": {
                  "description": "Color name, e.g. black, white, red (default black)",
                  "type": "string"
                },
                "compartmentsX": {
                  "description": "tray: compartments across (1 = none)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "compartmentsY": {
                  "description": "tray: compartments front to back (1 = none)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "cornerRadius": {
                  "description": "plate: outside corner radius, 0 = square; box: inside corner radius (mm)",
                  "type": "number"
                },
                "depth": {
                  "description": "plate: depth (mm)",
                  "type": "number"
                },
                "extraHoles": {
                  "description": "plate: holes at exact spots, x/y = hole center in mm from the plate's center",
                  "items": {
                    "properties": {
                      "diameter": {
                        "type": "number"
                      },
                      "x": {
                        "type": "number"
                      },
                      "y": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "x",
                      "y",
                      "diameter"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "fileName": {
                  "type": "string"
                },
                "floor": {
                  "description": "tray: floor thickness (mm)",
                  "type": "number"
                },
                "gridColumns": {
                  "description": "plate, grid: hole columns",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "gridRows": {
                  "description": "plate, grid: hole rows",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "gusset": {
                  "description": "tslot-bracket: side gussets",
                  "enum": [
                    "sides",
                    "none"
                  ],
                  "type": "string"
                },
                "height": {
                  "description": "spacer: height; washer: thickness (mm)",
                  "type": "number"
                },
                "holeDiameter": {
                  "description": "plate: diameter of the pattern holes; bracket: hole diameter (0 = no holes) (mm)",
                  "type": "number"
                },
                "holeInset": {
                  "description": "plate, corner holes: distance from each edge to the hole center (mm)",
                  "type": "number"
                },
                "holePattern": {
                  "description": "plate: hole layout",
                  "enum": [
                    "none",
                    "center",
                    "corners",
                    "grid"
                  ],
                  "type": "string"
                },
                "holeStyle": {
                  "description": "with screw: plain hole, screw threads into the plastic, counterbored, countersunk (flat head), hex nut pocket, or heat-set insert",
                  "enum": [
                    "clearance",
                    "tap",
                    "counterbore",
                    "countersink",
                    "nut",
                    "insert"
                  ],
                  "type": "string"
                },
                "holes": {
                  "description": "tslot-bracket: bolts per leg (1–4)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "holesA": {
                  "description": "bracket: holes in the base leg",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "holesB": {
                  "description": "bracket: holes in the upright leg",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "innerDepth": {
                  "description": "box: inside depth (mm)",
                  "type": "number"
                },
                "innerDiameter": {
                  "description": "spacer/washer: hole diameter, 0 = solid spacer (mm)",
                  "type": "number"
                },
                "innerHeight": {
                  "description": "box: inside height (mm)",
                  "type": "number"
                },
                "innerRadius": {
                  "description": "bracket: inside corner radius (mm)",
                  "type": "number"
                },
                "innerWidth": {
                  "description": "box: inside width (mm)",
                  "type": "number"
                },
                "keys": {
                  "description": "tslot-bracket/mount/panel: alignment keys that sit in the slot",
                  "enum": [
                    "yes",
                    "no"
                  ],
                  "type": "string"
                },
                "legA": {
                  "description": "bracket: base leg length (mm)",
                  "type": "number"
                },
                "legB": {
                  "description": "bracket: upright leg length (mm)",
                  "type": "number"
                },
                "length": {
                  "description": "tslot-cover: length (mm)",
                  "type": "number"
                },
                "lid": {
                  "description": "box: lid",
                  "enum": [
                    "lift-off",
                    "none"
                  ],
                  "type": "string"
                },
                "material": {
                  "description": "Material name or id, e.g. PLA, PETG, ASA, TPU (default PLA).",
                  "type": "string"
                },
                "outerDiameter": {
                  "description": "spacer/washer: outside diameter (hex: across the flats) (mm)",
                  "type": "number"
                },
                "panelThickness": {
                  "description": "tslot-panel: panel thickness (mm)",
                  "type": "number"
                },
                "path": {
                  "description": "A file's ply path (from price_file)",
                  "type": "string"
                },
                "plugDepth": {
                  "description": "tslot-cap: plug length into the slots (mm)",
                  "type": "number"
                },
                "process": {
                  "description": "fdm = plastic (default); resin = fine detail (miniatures, figurines, smooth looks)",
                  "enum": [
                    "fdm",
                    "resin"
                  ],
                  "type": "string"
                },
                "profile": {
                  "description": "T-slot parts: the extrusion (8020-10 = 80/20 10 series 1 in, 8020-15 = 15 series 1.5 in, m20 = 20 mm / 2020)",
                  "enum": [
                    "8020-10",
                    "8020-15",
                    "m20"
                  ],
                  "type": "string"
                },
                "quantity": {
                  "description": "How many (default 1)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "reach": {
                  "description": "tslot-panel: overlap onto the panel (mm)",
                  "type": "number"
                },
                "sanding": {
                  "description": "Resin only: sanded finish",
                  "type": "boolean"
                },
                "screw": {
                  "description": "plate/bracket/tslot-mount: the screw the holes are for (ply sizes them; omit or custom = use holeDiameter)",
                  "enum": [
                    "custom",
                    "M2",
                    "M2.5",
                    "M3",
                    "M4",
                    "M5",
                    "M6",
                    "M8",
                    "M10",
                    "M12",
                    "#2",
                    "#4",
                    "#6",
                    "#8",
                    "#10",
                    "1/4",
                    "5/16",
                    "3/8",
                    "1/2"
                  ],
                  "type": "string"
                },
                "shape": {
                  "description": "spacer/washer: round or hex; tslot-plate: L, T, X, straight or gusset",
                  "enum": [
                    "round",
                    "hex",
                    "L",
                    "T",
                    "X",
                    "straight",
                    "gusset"
                  ],
                  "type": "string"
                },
                "slotHoles": {
                  "description": "tslot-mount: bolts into the slot",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "slotOffset": {
                  "description": "tslot-mount: slot line from the plate's center, across (mm)",
                  "type": "number"
                },
                "span": {
                  "description": "tslot-bracket: one or two profiles wide",
                  "enum": [
                    "single",
                    "double"
                  ],
                  "type": "string"
                },
                "strength": {
                  "description": "Plastic parts only. Default balanced; strong for parts under load",
                  "enum": [
                    "economy",
                    "balanced",
                    "strong",
                    "heavy"
                  ],
                  "type": "string"
                },
                "template": {
                  "description": "plate = flat plate with holes; bracket = L-bracket; spacer = spacer/standoff; washer; box = box with optional lift-off lid, sized by the inside; tray = open tray / bin / organizer sized by the OUTSIDE (width, depth, height), optional compartments; for T-slot aluminum extrusion (pick its profile): tslot-bracket = corner bracket, tslot-plate = joining plate, tslot-mount = mounting plate (bolts into a slot + the customer's own holes), tslot-cap = end cap / foot, tslot-cover = slot cover, tslot-panel = panel clip, tslot-cable = cable clip",
                  "enum": [
                    "plate",
                    "bracket",
                    "spacer",
                    "washer",
                    "box",
                    "tray",
                    "tslot-bracket",
                    "tslot-plate",
                    "tslot-mount",
                    "tslot-cap",
                    "tslot-cover",
                    "tslot-panel",
                    "tslot-cable"
                  ],
                  "type": "string"
                },
                "thickness": {
                  "description": "plate/bracket: thickness (mm)",
                  "type": "number"
                },
                "units": {
                  "description": "Units of an STL/OBJ file, which doesn't say (default mm). Use in if the part comes out 25x too small.",
                  "enum": [
                    "mm",
                    "in"
                  ],
                  "type": "string"
                },
                "wall": {
                  "description": "box: wall thickness (mm)",
                  "type": "number"
                },
                "width": {
                  "description": "plate/bracket: width (mm)",
                  "type": "number"
                }
              },
              "type": "object"
            },
            "maxItems": 40,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "parts"
        ],
        "type": "object"
      },
      "name": "price_cart"
    },
    {
      "description": "Price the customer's 3D file (STL, 3MF, STEP or OBJ) and show it in ply's card. Without a file, shows the card with an upload button (with sourceUrl: the model page to download it from). In ChatGPT, pass a file the customer attached. Pass `path` (from an earlier result) to change options for a file already priced.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "coating": {
            "description": "Resin only: coating (needs sanding)",
            "enum": [
              "none",
              "matte",
              "gloss"
            ],
            "type": "string"
          },
          "color": {
            "description": "Color name, e.g. black, white, red (default black)",
            "type": "string"
          },
          "file": {
            "description": "A 3D file the customer attached in this chat",
            "properties": {
              "download_url": {
                "type": "string"
              },
              "file_id": {
                "type": "string"
              },
              "file_name": {
                "type": "string"
              },
              "mime_type": {
                "type": "string"
              }
            },
            "required": [
              "download_url",
              "file_id"
            ],
            "type": "object"
          },
          "fileName": {
            "description": "The file's name, with a path",
            "type": "string"
          },
          "material": {
            "description": "Material name or id, e.g. PLA, PETG, ASA, TPU (default PLA).",
            "type": "string"
          },
          "path": {
            "description": "The file's ply path from an earlier price_file result",
            "type": "string"
          },
          "process": {
            "description": "fdm = plastic (default); resin = fine detail (miniatures, figurines, smooth looks)",
            "enum": [
              "fdm",
              "resin"
            ],
            "type": "string"
          },
          "quantity": {
            "description": "How many (default 1)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "sanding": {
            "description": "Resin only: sanded finish",
            "type": "boolean"
          },
          "sourceTitle": {
            "description": "That model's name",
            "type": "string"
          },
          "sourceUrl": {
            "description": "The model page the customer picked (they download the file there and drop it in the card)",
            "type": "string"
          },
          "strength": {
            "description": "Plastic parts only. Default balanced; strong for parts under load",
            "enum": [
              "economy",
              "balanced",
              "strong",
              "heavy"
            ],
            "type": "string"
          },
          "units": {
            "description": "Units of an STL/OBJ file, which doesn't say (default mm). Use in if the part comes out 25x too small.",
            "enum": [
              "mm",
              "in"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "price_file"
    },
    {
      "description": "Show a 3D model's page in ply's card with an upload box: the customer opens the link, downloads the file (STL, 3MF, STEP or OBJ) and drops it in for an instant price. ply doesn't download models from any site itself.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "coating": {
            "description": "Resin only: coating (needs sanding)",
            "enum": [
              "none",
              "matte",
              "gloss"
            ],
            "type": "string"
          },
          "color": {
            "description": "Color name, e.g. black, white, red (default black)",
            "type": "string"
          },
          "material": {
            "description": "Material name or id, e.g. PLA, PETG, ASA, TPU (default PLA).",
            "type": "string"
          },
          "process": {
            "description": "fdm = plastic (default); resin = fine detail (miniatures, figurines, smooth looks)",
            "enum": [
              "fdm",
              "resin"
            ],
            "type": "string"
          },
          "quantity": {
            "description": "How many (default 1)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "sanding": {
            "description": "Resin only: sanded finish",
            "type": "boolean"
          },
          "strength": {
            "description": "Plastic parts only. Default balanced; strong for parts under load",
            "enum": [
              "economy",
              "balanced",
              "strong",
              "heavy"
            ],
            "type": "string"
          },
          "title": {
            "description": "The model's name",
            "type": "string"
          },
          "units": {
            "description": "Units of an STL/OBJ file, which doesn't say (default mm). Use in if the part comes out 25x too small.",
            "enum": [
              "mm",
              "in"
            ],
            "type": "string"
          },
          "url": {
            "description": "The model's page",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "price_model_link"
    },
    {
      "description": "Run ply's material advisor (\"Help me choose\" on plyparts.com) for a part: it may ask up to 2 questions about how the part is used, then recommends a process, material, color and strength. Give either the part's ply `path` (a file) or its template and sizes (a built part).",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "answers": {
            "description": "The advisor's earlier questions and the customer's answers",
            "items": {
              "properties": {
                "answer": {
                  "type": "string"
                },
                "question": {
                  "type": "string"
                }
              },
              "required": [
                "question",
                "answer"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "armA": {
            "description": "tslot-plate: holes along the first arm",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "armB": {
            "description": "tslot-plate: holes along the second arm",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "board": {
            "description": "plate/tslot-mount: a circuit board whose mounting holes ply places from the maker's drawing (rpi5 = Raspberry Pi 5, rpi4b = Raspberry Pi 4 Model B, rpi3bplus = Raspberry Pi 3 Model B+, rpizero2w = Raspberry Pi Zero 2 W / Zero W, pico = Raspberry Pi Pico, rpicam = Raspberry Pi Camera Module 3 / v2, uno = Arduino Uno (R3 / R4), mega = Arduino Mega 2560); also give width/depth (hole pattern + 12 mm), screw and, on tslot-mount, standoffHeight",
            "enum": [
              "none",
              "rpi5",
              "rpi4b",
              "rpi3bplus",
              "rpizero2w",
              "pico",
              "rpicam",
              "uno",
              "mega"
            ],
            "type": "string"
          },
          "cableDiameter": {
            "description": "tslot-cable: cable bundle diameter (mm)",
            "type": "number"
          },
          "centerHole": {
            "description": "tslot-cap: hole to reach the end bolt",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string"
          },
          "compartmentsX": {
            "description": "tray: compartments across (1 = none)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "compartmentsY": {
            "description": "tray: compartments front to back (1 = none)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "cornerRadius": {
            "description": "plate: outside corner radius, 0 = square; box: inside corner radius (mm)",
            "type": "number"
          },
          "depth": {
            "description": "plate: depth (mm)",
            "type": "number"
          },
          "extraHoles": {
            "description": "plate: holes at exact spots, x/y = hole center in mm from the plate's center",
            "items": {
              "properties": {
                "diameter": {
                  "type": "number"
                },
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                }
              },
              "required": [
                "x",
                "y",
                "diameter"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "fileName": {
            "description": "The file's name, as in price_file (it can tell the advisor what the part is)",
            "type": "string"
          },
          "floor": {
            "description": "tray: floor thickness (mm)",
            "type": "number"
          },
          "gridColumns": {
            "description": "plate, grid: hole columns",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "gridRows": {
            "description": "plate, grid: hole rows",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "gusset": {
            "description": "tslot-bracket: side gussets",
            "enum": [
              "sides",
              "none"
            ],
            "type": "string"
          },
          "height": {
            "description": "spacer: height; washer: thickness (mm)",
            "type": "number"
          },
          "holeDiameter": {
            "description": "plate: diameter of the pattern holes; bracket: hole diameter (0 = no holes) (mm)",
            "type": "number"
          },
          "holeInset": {
            "description": "plate, corner holes: distance from each edge to the hole center (mm)",
            "type": "number"
          },
          "holePattern": {
            "description": "plate: hole layout",
            "enum": [
              "none",
              "center",
              "corners",
              "grid"
            ],
            "type": "string"
          },
          "holeStyle": {
            "description": "with screw: plain hole, screw threads into the plastic, counterbored, countersunk (flat head), hex nut pocket, or heat-set insert",
            "enum": [
              "clearance",
              "tap",
              "counterbore",
              "countersink",
              "nut",
              "insert"
            ],
            "type": "string"
          },
          "holes": {
            "description": "tslot-bracket: bolts per leg (1–4)",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "holesA": {
            "description": "bracket: holes in the base leg",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "holesB": {
            "description": "bracket: holes in the upright leg",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "innerDepth": {
            "description": "box: inside depth (mm)",
            "type": "number"
          },
          "innerDiameter": {
            "description": "spacer/washer: hole diameter, 0 = solid spacer (mm)",
            "type": "number"
          },
          "innerHeight": {
            "description": "box: inside height (mm)",
            "type": "number"
          },
          "innerRadius": {
            "description": "bracket: inside corner radius (mm)",
            "type": "number"
          },
          "innerWidth": {
            "description": "box: inside width (mm)",
            "type": "number"
          },
          "keys": {
            "description": "tslot-bracket/mount/panel: alignment keys that sit in the slot",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string"
          },
          "legA": {
            "description": "bracket: base leg length (mm)",
            "type": "number"
          },
          "legB": {
            "description": "bracket: upright leg length (mm)",
            "type": "number"
          },
          "length": {
            "description": "tslot-cover: length (mm)",
            "type": "number"
          },
          "lid": {
            "description": "box: lid",
            "enum": [
              "lift-off",
              "none"
            ],
            "type": "string"
          },
          "outerDiameter": {
            "description": "spacer/washer: outside diameter (hex: across the flats) (mm)",
            "type": "number"
          },
          "panelThickness": {
            "description": "tslot-panel: panel thickness (mm)",
            "type": "number"
          },
          "path": {
            "description": "A file's ply path from price_file",
            "type": "string"
          },
          "plugDepth": {
            "description": "tslot-cap: plug length into the slots (mm)",
            "type": "number"
          },
          "profile": {
            "description": "T-slot parts: the extrusion (8020-10 = 80/20 10 series 1 in, 8020-15 = 15 series 1.5 in, m20 = 20 mm / 2020)",
            "enum": [
              "8020-10",
              "8020-15",
              "m20"
            ],
            "type": "string"
          },
          "reach": {
            "description": "tslot-panel: overlap onto the panel (mm)",
            "type": "number"
          },
          "screw": {
            "description": "plate/bracket/tslot-mount: the screw the holes are for (ply sizes them; omit or custom = use holeDiameter)",
            "enum": [
              "custom",
              "M2",
              "M2.5",
              "M3",
              "M4",
              "M5",
              "M6",
              "M8",
              "M10",
              "M12",
              "#2",
              "#4",
              "#6",
              "#8",
              "#10",
              "1/4",
              "5/16",
              "3/8",
              "1/2"
            ],
            "type": "string"
          },
          "shape": {
            "description": "spacer/washer: round or hex; tslot-plate: L, T, X, straight or gusset",
            "enum": [
              "round",
              "hex",
              "L",
              "T",
              "X",
              "straight",
              "gusset"
            ],
            "type": "string"
          },
          "slotHoles": {
            "description": "tslot-mount: bolts into the slot",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "slotOffset": {
            "description": "tslot-mount: slot line from the plate's center, across (mm)",
            "type": "number"
          },
          "span": {
            "description": "tslot-bracket: one or two profiles wide",
            "enum": [
              "single",
              "double"
            ],
            "type": "string"
          },
          "template": {
            "description": "plate = flat plate with holes; bracket = L-bracket; spacer = spacer/standoff; washer; box = box with optional lift-off lid, sized by the inside; tray = open tray / bin / organizer sized by the OUTSIDE (width, depth, height), optional compartments; for T-slot aluminum extrusion (pick its profile): tslot-bracket = corner bracket, tslot-plate = joining plate, tslot-mount = mounting plate (bolts into a slot + the customer's own holes), tslot-cap = end cap / foot, tslot-cover = slot cover, tslot-panel = panel clip, tslot-cable = cable clip",
            "enum": [
              "plate",
              "bracket",
              "spacer",
              "washer",
              "box",
              "tray",
              "tslot-bracket",
              "tslot-plate",
              "tslot-mount",
              "tslot-cap",
              "tslot-cover",
              "tslot-panel",
              "tslot-cable"
            ],
            "type": "string"
          },
          "thickness": {
            "description": "plate/bracket: thickness (mm)",
            "type": "number"
          },
          "use": {
            "description": "What the part is for, in the customer's words (where it's used, heat, water, loads, looks)",
            "type": "string"
          },
          "wall": {
            "description": "box: wall thickness (mm)",
            "type": "number"
          },
          "width": {
            "description": "plate/bracket: width (mm)",
            "type": "number"
          }
        },
        "required": [
          "use"
        ],
        "type": "object"
      },
      "name": "recommend_material"
    }
  ]
}

What the leaf hashes

{"body":"baa392c2384e1fe9f540423b76107988cd0e72694edb6728e2fe29fa0cf2a5bc","id":4353850,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1794190273365409,"prev":3716673,"subject":"00e3e8e5-e38e-4d35-abb7-68cb52dcbbb7","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (209593 rows).

  1. 0x4065127d6b101b9809b5177b04fa0ee4fe1de4cbe36d2a1dd01815024fdf92c0
  2. 0xfd1868899005121f9081362b207a8a79d218703ad81bff0d5339628d94019fa0
  3. 0x887639294ea769166d9713cd03a93e1d276b29c7b0fdc1fc79d7dc347d448a7e
  4. 0x55621102e677f40a147960f653ac9e9991985a224e7ad30dacc17118da5fe8db
  5. 0x8f7a84e1c5d5737e5f2657fa759fdde14fc08812d09d9fd8af4b2ea8d6219acb
  6. 0x504c7acaefbb9d42087da5bd7ac0b8bab0d5775b826bf809fa9221f05b93ad10
  7. 0x33ca6b095db7081e79704cf62494f118e55b9131214d32677f57d06b6d886200
  8. 0xffdd8a4912f72de5e1e8f448e68b752aee999ca580ec4798f56f4a68c7a446b3
  9. 0x3548dd098b304b8fa8309168bbe6ecc7fc99a2154d53093793db981b3e90baad
  10. 0x8d2be1833039174950b9a54a9d93a634210b28067e4c0b7942dd117029a57a24
  11. 0x8dd760402004a282ab05aafc7164068f2438187e3edc5ed8c186bab574ea73b0
  12. 0x8df0703df47dc6665ee421aab3366156bb02ae769e7b96380d28dc6e09137ce4
  13. 0x1f18f1bd69bf8496d3e49e16396ed33a60274d612e7dd3b55b6f52373fda3a3e
  14. 0xf88302e3191e7215f21985c4915808b511fba4391ae3ec76795c3d9e46bb84d3
  15. 0xf6b3eceb29836d21a5d97ad1c0a924b9082cf54ce82c4a69556f8eee1d77af94
  16. 0x2dd22f05bd7268923bf30d0cc848bd064fbd061bf02f16d90215f8ae10f07b66
  17. 0xc892e5eeecc39a72898e3bda2089da5c601ead7142231d2b8fa7fa7662e57588
  18. 0x891d501ebce4e16e69b2fbfe01109109c42b0c84f270dea9ce05be75fe9100dd
Day root
0xadd23e68d2467b177541de6f25330599d6ddfbb2156c723aa2064f85e01c7cc2
Chained
0xd527699f30feab3ee8deb2be1d65df3f65bd292a7fc58fbfcc8dfa8e9dc59bec
Published
On Arc Testnet, block 71621141: 0x8257214b88f5db5a00aad541f3322e6d61772740bc3a1b67ccfc1eff91e945bb

How to check it · This row as JSON