addrbookFor publishers
← The evidence ledger

Evidence row 3716673

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 00e3e8e5-e38e-4d35-abb7-68cb52dcbbb7
Recorded
Previous row
#3366628
Body SHA-256
139244b3482d1b5486bcb33af01870110d3a658af7ff7deff664471679a9d4a7
Leaf
0x37a715ec982898dc76b7879766ae5dc4903096520952c543a06e24bc8883059d

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"
          },
          "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"
          },
          "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; 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",
              "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"
                },
                "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"
                },
                "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; 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",
                    "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"
          },
          "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"
          },
          "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; 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",
              "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"
                },
                "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"
                },
                "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; 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",
                    "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"
          },
          "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"
          },
          "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; 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",
              "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":"139244b3482d1b5486bcb33af01870110d3a658af7ff7deff664471679a9d4a7","id":3716673,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793963897496995,"prev":3366628,"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 (303443 rows).

  1. 0x37a69c553a7ff605b8db81a45257eb1689713c341676d51bb4897e54b5ce828d
  2. 0x7ea6e2150403f8580349eaa96f6eea4f341059a304e958a3eca35778987160ef
  3. 0xb4f9a01a583e9eed1ea8e2bcbafa87135ecf09e73534c16b8b0183243647a374
  4. 0xaaae24b8eee64a176558013d07ece5201a4e78b80650de49088207b065c04597
  5. 0x28f6894b590af2392c705ce2f8b146c1a1d50f0f024a2bb3b90ace82d07cabc7
  6. 0x6555323e8d25660c4ca23c96f238435276825707c106a94e9b6d920cdca310ce
  7. 0x6e95384aafea7bf283a7871007993dd55784c6e51253b1eca94907058962bfca
  8. 0x18624f9b845299a8ad6698b7a05e80cb805d9e119c37cd2bf542f40addf8fcfc
  9. 0xd6dddd551a9323201e71bb8af0051f44649e0ac987407c36c59320dadffbe2b0
  10. 0xde410a0a49384ea1e95bfe696f394cc982498cbf33cc1db89acdd0c81363b4db
  11. 0x53f36d8be41694171e67f7e9afa49d827ac3e2f95dfeb659fc5613a9fac6abf9
  12. 0x4aa2244d8a2eff80d2fc6268189106f147b1b992d0e35e5f9267c0967cba8308
  13. 0x96c9683002cf54ddc9ae7c3de6b14dcc4b51d5c0f60575d2e2baa598473b684c
  14. 0x0391cd09482a72b233cbeae67d3b018b52668bdda462ad6890dcef531af5784b
  15. 0x3e5703f087c9966ff9f302cea33450db9f9fde7cafb8269b22ded1b2a3da03b0
  16. 0xdfedd18f60be5438b67a88cd42d31ead60bf5dbfc8d726e3d83be13474b3bd3f
  17. 0x4a618d78b1cebba8beec4ef22aaac9187dcdfb39064e0be537ca2600abb90740
  18. 0x119743aadcddb571b28b442b62196d4a0afc4e1c9979c2d477d34fcc9413deaf
  19. 0xc0d08d48601d1be90bcfc025e66bcaa0030120d688dd9c919b36c2c4446f4948
Day root
0xb30ccefe7182c6f767e1fcbfb5f64ffd649da831f665f65c5ff39cd40512284f
Chained
0xc383f7ef68d2914082484765aa09e42c12c59a74a096ae64127c562618c506d3
Published
On Arc Testnet, block 71111178: 0xfba13cb7ee4ada7f2fee3702a786a2201596be2ffea37dfc281ab4c8e9942fe1

How to check it · This row as JSON