← WebMCP Directory

Tool tree

schematic-hardware-workspace.decipherer71.chatgpt.site

Developer ToolsTools verified
Website
Design connected hardware, preview typed outcomes, and edit source with an agent-native workbench.
Explore capabilities
    behavior.get_capabilitiesAction

    Read exact typed preview actions and events declared by the checked-in behavior profiles for every component instance. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "behavior.get_capabilities",
      "kind": "act",
      "impl": "imperative",
      "description": "Read exact typed preview actions and events declared by the checked-in behavior profiles for every component instance. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    behavior.plan.writeAction

    Create or replace a versioned Behavior Plan after validating exact component definitions, typed payloads, and profile support. This does not run source code or start preview. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "behavior.plan.write",
      "kind": "act",
      "impl": "imperative",
      "description": "Create or replace a versioned Behavior Plan after validating exact component definitions, typed payloads, and profile support. This does not run source code or start preview. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "plan": {
            "type": "object",
            "description": "Version 1 Behavior Plan JSON"
          },
          "expectedRevision": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "description": "Current plan revision, or null to create only"
          }
        },
        "required": [
          "plan",
          "expectedRevision"
        ],
        "additionalProperties": false
      }
    }
    behavior.previewAction

    Prepare and open the saved Behavior Plan for deterministic typed-action preview; source code is never read or executed. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "behavior.preview",
      "kind": "act",
      "impl": "imperative",
      "description": "Prepare and open the saved Behavior Plan for deterministic typed-action preview; source code is never read or executed. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "planId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "onUnsupported": {
            "type": "string",
            "enum": [
              "block",
              "skip"
            ],
            "default": "block"
          },
          "durationMs": {
            "type": "integer",
            "minimum": 1,
            "maximum": 600000,
            "default": 1000,
            "description": "Minimum logical playback window; scheduled plan items extend it automatically."
          }
        },
        "additionalProperties": false
      }
    }
    behavior.invokeAction

    Dispatch exactly one validated component event, input change, or typed component action into the active Behavior Preview session. It never mutates the durable plan; a schema-valid request that the profile rejects is returned as data.status=rejected with diagnostics. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "behavior.invoke",
      "kind": "act",
      "impl": "imperative",
      "description": "Dispatch exactly one validated component event, input change, or typed component action into the active Behavior Preview session. It never mutates the durable plan; a schema-valid request that the profile rejects is returned as data.status=rejected with diagnostics. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "definitionId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "eventId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "inputId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "actionId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "payload": {},
          "value": {}
        },
        "required": [
          "componentId",
          "definitionId"
        ],
        "oneOf": [
          {
            "required": [
              "eventId",
              "payload"
            ]
          },
          {
            "required": [
              "inputId",
              "value"
            ]
          },
          {
            "required": [
              "actionId",
              "payload"
            ]
          }
        ],
        "additionalProperties": false
      }
    }
    behavior.press_keyAction

    Press one calculator key on a membrane keypad instance through its exact keypad.press action. The keypad's deterministic calculator state emits the resulting display value for Behavior Plan routing to an LCD. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "behavior.press_key",
      "kind": "act",
      "impl": "imperative",
      "description": "Press one calculator key on a membrane keypad instance through its exact keypad.press action. The keypad's deterministic calculator state emits the resulting display value for Behavior Plan routing to an LCD. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Membrane keypad instance id."
          },
          "definitionId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Optional catalog definition id; resolved from the instance when omitted."
          },
          "key": {
            "type": "string",
            "enum": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8",
              "9",
              "+",
              "-",
              "*",
              "/",
              ".",
              "=",
              "C"
            ],
            "description": "Calculator key to press."
          }
        },
        "required": [
          "componentId",
          "key"
        ],
        "additionalProperties": false
      }
    }
    behavior.get_stateAction

    Read compact active Behavior Preview state. Logs and timeline entries are bounded by pagination parameters so default tool output stays small. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "behavior.get_state",
      "kind": "act",
      "impl": "imperative",
      "description": "Read compact active Behavior Preview state. Logs and timeline entries are bounded by pagination parameters so default tool output stays small. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string",
            "enum": [
              "compact",
              "full"
            ],
            "default": "compact"
          },
          "logLimit": {
            "type": "integer",
            "minimum": 0,
            "maximum": 200,
            "default": 12
          },
          "logOffset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          },
          "eventsLimit": {
            "type": "integer",
            "minimum": 0,
            "maximum": 200,
            "default": 12
          }
        },
        "additionalProperties": false
      }
    }
    code.writeAction

    Write editable board source using exact-hash concurrency. expectedContentSha256=null creates source and may replace only Schematic's marked generated starter scaffold; real existing source still requires its exact hash. Browser Check can execute its supported bounded subset separately. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "code.write",
      "kind": "act",
      "impl": "imperative",
      "description": "Write editable board source using exact-hash concurrency. expectedContentSha256=null creates source and may replace only Schematic's marked generated starter scaffold; real existing source still requires its exact hash. Browser Check can execute its supported bounded subset separately. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "targetComponentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "files": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 240
                },
                "content": {
                  "type": "string",
                  "maxLength": 1048576
                }
              },
              "required": [
                "name",
                "content"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 128
          },
          "language": {
            "type": "string",
            "enum": [
              "arduino",
              "micropython",
              "espidf",
              "c",
              "cpp",
              "python"
            ]
          },
          "dependencies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ecosystem": {
                  "type": "string",
                  "enum": [
                    "arduino-library",
                    "platformio",
                    "python-package",
                    "vendor-sdk",
                    "other"
                  ]
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 240
                },
                "version": {
                  "type": "string",
                  "maxLength": 120
                },
                "sourceUrl": {
                  "type": "string",
                  "maxLength": 2000
                }
              },
              "required": [
                "ecosystem",
                "name"
              ],
              "additionalProperties": false
            },
            "maxItems": 256
          },
          "expectedContentSha256": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{64}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "origin": {
            "type": "string",
            "enum": [
              "ai-generated",
              "human-authored",
              "imported",
              "mixed"
            ]
          },
          "boardFqbn": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "linkToBehaviorPlan": {
            "type": "object",
            "properties": {
              "planId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "planSha256": {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{64}$"
              },
              "projectSha256": {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{64}$"
              }
            },
            "required": [
              "planId",
              "planSha256",
              "projectSha256"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "targetComponentId",
          "files",
          "language",
          "expectedContentSha256"
        ],
        "additionalProperties": false
      }
    }
    code.readAction

    Read an editable source document and its origin, revision, hash, preview-link status, and external-use honesty claims. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "code.read",
      "kind": "act",
      "impl": "imperative",
      "description": "Read an editable source document and its origin, revision, hash, preview-link status, and external-use honesty claims. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "targetComponentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "documentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "additionalProperties": false
      }
    }
    code.exportAction

    Create a machine-readable external code handoff manifest with file hashes and graph diagnostics. No compiler, uploader, network, or source execution is involved. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "code.export",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a machine-readable external code handoff manifest with file hashes and graph diagnostics. No compiler, uploader, network, or source execution is involved. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "targetComponentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "documentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "additionalProperties": false
      }
    }
    design.proposeAction

    Stage a non-mutating goal-level hardware proposal. Calculator/math requests produce the reviewed Arduino + membrane keypad + I2C LCD workflow; use design.preview before design.apply. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "design.propose",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage a non-mutating goal-level hardware proposal. Calculator/math requests produce the reviewed Arduino + membrane keypad + I2C LCD workflow; use design.preview before design.apply. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "goal": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          }
        },
        "required": [
          "goal"
        ],
        "additionalProperties": false
      }
    }
    design.previewAction

    Preview the staged design without mutating the active project. Returns component/wiring summary, static graph diagnostics, and an explicit approval token requirement for apply. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "design.preview",
      "kind": "act",
      "impl": "imperative",
      "description": "Preview the staged design without mutating the active project. Returns component/wiring summary, static graph diagnostics, and an explicit approval token requirement for apply. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposalId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "proposalId"
        ],
        "additionalProperties": false
      }
    }
    design.applyAction

    Apply one staged proposal only after explicit exact-id confirmation. The whole design is one undoable transaction; any failed component, wire, or Behavior Plan step rolls back to the prior project. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "design.apply",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply one staged proposal only after explicit exact-id confirmation. The whole design is one undoable transaction; any failed component, wire, or Behavior Plan step rolls back to the prior project. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposalId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "confirmProposalId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "proposalId",
          "confirmProposalId"
        ],
        "additionalProperties": false
      }
    }
    design.discardAction

    Discard the staged proposal without mutating the hardware project. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "design.discard",
      "kind": "act",
      "impl": "imperative",
      "description": "Discard the staged proposal without mutating the hardware project. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposalId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "proposalId"
        ],
        "additionalProperties": false
      }
    }
    design.undoAction

    Undo the latest agent design mutation for the active project by restoring its exact prior project snapshot. Undo itself is reversible with design.redo. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "design.undo",
      "kind": "act",
      "impl": "imperative",
      "description": "Undo the latest agent design mutation for the active project by restoring its exact prior project snapshot. Undo itself is reversible with design.redo. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    design.redoAction

    Redo the most recently undone agent design mutation for the active project. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "design.redo",
      "kind": "act",
      "impl": "imperative",
      "description": "Redo the most recently undone agent design mutation for the active project. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    design.verifyAction

    Return a compact goal-level verification summary for the active design, including calculator interactivity, graph/behavior/source stages, and honest browser/external boundaries. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "design.verify",
      "kind": "act",
      "impl": "imperative",
      "description": "Return a compact goal-level verification summary for the active design, including calculator interactivity, graph/behavior/source stages, and honest browser/external boundaries. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "durationMs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 250
          }
        },
        "additionalProperties": false
      }
    }
    workspace.get_tool_surfaceAction

    Read a small state-aware shortlist of the WebMCP tools most relevant to the current project stage instead of choosing from the full registry blindly. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "workspace.get_tool_surface",
      "kind": "act",
      "impl": "imperative",
      "description": "Read a small state-aware shortlist of the WebMCP tools most relevant to the current project stage instead of choosing from the full registry blindly. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    project.get_graphAction

    Get the current hardware graph and source-document metadata. Source contents and quarantined legacy data are excluded; use code.read for source. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.get_graph",
      "kind": "act",
      "impl": "imperative",
      "description": "Get the current hardware graph and source-document metadata. Source contents and quarantined legacy data are excluded; use code.read for source. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    project.verifyAction

    Produce one honest browser-side readiness report: static graph checks, Behavior Plan coverage, board source coverage, bounded Browser Check execution, static source preflight, and explicit no-compile/no-physical-hardware claims. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.verify",
      "kind": "act",
      "impl": "imperative",
      "description": "Produce one honest browser-side readiness report: static graph checks, Behavior Plan coverage, board source coverage, bounded Browser Check execution, static source preflight, and explicit no-compile/no-physical-hardware claims. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "durationMs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 1000
          }
        },
        "additionalProperties": false
      }
    }
    project.listAction

    List all projects saved in this browser and identify the active project — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.list",
      "kind": "act",
      "impl": "imperative",
      "description": "List all projects saved in this browser and identify the active project — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    project.createAction

    Create and activate a new empty hardware project saved in this browser — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.create",
      "kind": "act",
      "impl": "imperative",
      "description": "Create and activate a new empty hardware project saved in this browser — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        }
      }
    }
    project.switchAction

    Switch the active project; the selected project becomes live in every same-origin Schematic tab — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.switch",
      "kind": "act",
      "impl": "imperative",
      "description": "Switch the active project; the selected project becomes live in every same-origin Schematic tab — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          }
        },
        "required": [
          "projectId"
        ]
      }
    }
    project.duplicateAction

    Duplicate a saved project and activate the copy — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.duplicate",
      "kind": "act",
      "impl": "imperative",
      "description": "Duplicate a saved project and activate the copy — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      }
    }
    project.deleteSensitive Action

    Delete one saved project after confirming its exact id; the final remaining project cannot be deleted — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.delete",
      "kind": "transact",
      "impl": "imperative",
      "description": "Delete one saved project after confirming its exact id; the final remaining project cannot be deleted — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "Exact id of the project to delete"
          },
          "confirmProjectId": {
            "type": "string",
            "description": "Repeat the exact project id to confirm this irreversible operation"
          }
        },
        "required": [
          "projectId",
          "confirmProjectId"
        ]
      }
    }
    project.saveAction

    Persist the active project collection to this browser and broadcast it to same-origin tabs — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.save",
      "kind": "act",
      "impl": "imperative",
      "description": "Persist the active project collection to this browser and broadcast it to same-origin tabs — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    project.clearSensitive Action

    Clear the current project after confirming its exact id (remove all components, connections, and firmware) — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.clear",
      "kind": "transact",
      "impl": "imperative",
      "description": "Clear the current project after confirming its exact id (remove all components, connections, and firmware) — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "Exact id of the active project to clear"
          },
          "confirmProjectId": {
            "type": "string",
            "description": "Repeat the exact active project id to confirm this irreversible operation"
          }
        },
        "required": [
          "projectId",
          "confirmProjectId"
        ]
      }
    }
    project.renameAction

    Rename the active hardware project — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.rename",
      "kind": "act",
      "impl": "imperative",
      "description": "Rename the active hardware project — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      }
    }
    project.apply_blueprintAction

    Create a complete hardware design as a new project by default and prepare fallback Outcome behavior for mapped parts. Replacing the active project requires replace=true and its exact id in confirmProjectId. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "project.apply_blueprint",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a complete hardware design as a new project by default and prepare fallback Outcome behavior for mapped parts. Replacing the active project requires replace=true and its exact id in confirmProjectId. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "blueprintId": {
            "type": "string",
            "enum": [
              "meta-glasses"
            ]
          },
          "replace": {
            "type": "boolean",
            "default": false
          },
          "confirmProjectId": {
            "type": "string"
          }
        },
        "required": [
          "blueprintId"
        ]
      }
    }
    workspace.get_stateAnswer

    Read a compact workspace summary: project counts, current stage, validation status, selection, and the latest few agent actions. Use paginated specialist tools for detailed logs or Behavior state. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "workspace.get_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read a compact workspace summary: project counts, current stage, validation status, selection, and the latest few agent actions. Use paginated specialist tools for detailed logs or Behavior state. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    workspace.get_activityAnswer

    Read bounded paginated WebMCP activity without inflating workspace.get_state. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "workspace.get_activity",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read bounded paginated WebMCP activity without inflating workspace.get_state. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 80,
            "default": 12
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      }
    }
    workspace.set_panelAction

    Open a live bottom workspace panel for the user or agent: webmcp, terminal, debug, or validation — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "workspace.set_panel",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a live bottom workspace panel for the user or agent: webmcp, terminal, debug, or validation — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "panel": {
            "type": "string",
            "enum": [
              "webmcp",
              "terminal",
              "debug",
              "validation"
            ]
          }
        },
        "required": [
          "panel"
        ]
      }
    }
    workspace.set_right_widthAction

    Resize the right code and inspector panel in pixels; keeps the value across sessions — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "workspace.set_right_width",
      "kind": "act",
      "impl": "imperative",
      "description": "Resize the right code and inspector panel in pixels; keeps the value across sessions — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "width": {
            "type": "number",
            "minimum": 300,
            "maximum": 720
          }
        },
        "required": [
          "width"
        ]
      }
    }
    component.searchAction

    Search components in catalog by query, category, or domain. e.g. ESP32, TI DRV, sensor — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "component.search",
      "kind": "act",
      "impl": "imperative",
      "description": "Search components in catalog by query, category, or domain. e.g. ESP32, TI DRV, sensor — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Search text"
          },
          "category": {
            "type": "string",
            "enum": [
              "board",
              "sensor",
              "actuator",
              "display",
              "power",
              "logic",
              "communication",
              "mechanical",
              "rf",
              "custom",
              "analog",
              "passive",
              ""
            ]
          },
          "domain": {
            "type": "string",
            "enum": [
              "power",
              "power_output",
              "ground",
              "gpio",
              "adc",
              "pwm",
              "i2c",
              "spi",
              "uart",
              "usb",
              "ethernet",
              "can",
              "pcie",
              "csi",
              "hdmi",
              "displayport",
              "rf",
              "mechanical",
              "optical",
              ""
            ]
          }
        }
      }
    }
    component.inspectAction

    Inspect a component definition by id — returns ports, exact typed-preview mapping, and catalog metadata — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "component.inspect",
      "kind": "act",
      "impl": "imperative",
      "description": "Inspect a component definition by id — returns ports, exact typed-preview mapping, and catalog metadata — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "description": "Catalog id, e.g. bmp280"
          }
        },
        "required": [
          "componentId"
        ]
      }
    }
    component.addAction

    Add a hardware component to the current project; omit x and y for collision-aware automatic placement, or provide both finite numeric coordinates. Behavior-mapped parts also keep the fallback Outcome plan synchronized without starting playback. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "component.add",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a hardware component to the current project; omit x and y for collision-aware automatic placement, or provide both finite numeric coordinates. Behavior-mapped parts also keep the fallback Outcome plan synchronized without starting playback. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "description": "Catalog definition id"
          },
          "x": {
            "type": "number",
            "description": "Canvas x"
          },
          "y": {
            "type": "number",
            "description": "Canvas y"
          }
        },
        "required": [
          "componentId"
        ]
      }
    }
    component.removeAction

    Remove a component instance and its connections after confirming the exact instance id, then refresh generated fallback Outcome behavior so it does not target the removed instance — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "component.remove",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a component instance and its connections after confirming the exact instance id, then refresh generated fallback Outcome behavior so it does not target the removed instance — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "instanceId": {
            "type": "string"
          },
          "confirmInstanceId": {
            "type": "string"
          }
        },
        "required": [
          "instanceId",
          "confirmInstanceId"
        ]
      }
    }
    component.list_portsAnswer

    List ports for a component instance (or catalog definition). Use componentId; instanceId is accepted as a compatibility alias. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "component.list_ports",
      "kind": "answer",
      "impl": "imperative",
      "description": "List ports for a component instance (or catalog definition). Use componentId; instanceId is accepted as a compatibility alias. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "description": "Instance id or catalog definition id"
          },
          "instanceId": {
            "type": "string",
            "description": "Compatibility alias for componentId"
          }
        },
        "anyOf": [
          {
            "required": [
              "componentId"
            ]
          },
          {
            "required": [
              "instanceId"
            ]
          }
        ]
      }
    }
    connection.connectAction

    Connect two existing ports. Use instance IDs from component.add and port IDs from component.list_ports; source and target may be supplied in either direction and the graph will orient them. Typed domains, self-wiring, duplicates, and missing endpoints are rejected with structured repair details. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "connection.connect",
      "kind": "act",
      "impl": "imperative",
      "description": "Connect two existing ports. Use instance IDs from component.add and port IDs from component.list_ports; source and target may be supplied in either direction and the graph will orient them. Typed domains, self-wiring, duplicates, and missing endpoints are rejected with structured repair details. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sourceComponentId": {
            "type": "string",
            "minLength": 1,
            "description": "Instance id returned by component.add"
          },
          "sourcePortId": {
            "type": "string",
            "minLength": 1,
            "description": "Port id returned by component.list_ports"
          },
          "targetComponentId": {
            "type": "string",
            "minLength": 1,
            "description": "Instance id returned by component.add"
          },
          "targetPortId": {
            "type": "string",
            "minLength": 1,
            "description": "Port id returned by component.list_ports"
          },
          "source": {
            "type": "object",
            "description": "Compatibility shape: {componentId|instanceId, portId}",
            "properties": {
              "componentId": {
                "type": "string"
              },
              "instanceId": {
                "type": "string"
              },
              "portId": {
                "type": "string"
              }
            },
            "required": [
              "portId"
            ]
          },
          "target": {
            "type": "object",
            "description": "Compatibility shape: {componentId|instanceId, portId}",
            "properties": {
              "componentId": {
                "type": "string"
              },
              "instanceId": {
                "type": "string"
              },
              "portId": {
                "type": "string"
              }
            },
            "required": [
              "portId"
            ]
          }
        },
        "anyOf": [
          {
            "required": [
              "sourceComponentId",
              "sourcePortId",
              "targetComponentId",
              "targetPortId"
            ]
          },
          {
            "required": [
              "source",
              "target"
            ]
          }
        ]
      }
    }
    connection.disconnectAction

    Disconnect (remove) a connection after confirming its exact id — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "connection.disconnect",
      "kind": "act",
      "impl": "imperative",
      "description": "Disconnect (remove) a connection after confirming its exact id — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "connectionId": {
            "type": "string"
          },
          "confirmConnectionId": {
            "type": "string"
          }
        },
        "required": [
          "connectionId",
          "confirmConnectionId"
        ]
      }
    }
    connection.get_connectionsAnswer

    Get all connections in current project — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "connection.get_connections",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get all connections in current project — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    firmware.writeAction

    Compatibility alias for code.write. expectedContentSha256=null may create source or replace only Schematic's marked generated starter scaffold; real existing source still requires its exact current hash. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "firmware.write",
      "kind": "act",
      "impl": "imperative",
      "description": "Compatibility alias for code.write. expectedContentSha256=null may create source or replace only Schematic's marked generated starter scaffold; real existing source still requires its exact current hash. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Board instance id"
          },
          "files": {
            "type": "array",
            "minItems": 1,
            "maxItems": 128,
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 240
                },
                "content": {
                  "type": "string",
                  "maxLength": 1048576
                }
              },
              "required": [
                "name",
                "content"
              ],
              "additionalProperties": false
            }
          },
          "language": {
            "type": "string",
            "enum": [
              "arduino",
              "micropython",
              "espidf",
              "c",
              "cpp",
              "python"
            ]
          },
          "boardFqbn": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "expectedContentSha256": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{64}$"
              },
              {
                "type": "null"
              }
            ],
            "description": "null to create source or replace only Schematic's marked generated starter scaffold; otherwise use the exact current hash from firmware.read/code.read"
          }
        },
        "required": [
          "componentId",
          "files",
          "expectedContentSha256"
        ],
        "additionalProperties": false
      }
    }
    firmware.readAnswer

    Compatibility alias for code.read. Read editable source metadata for a board; source is not executed. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "firmware.read",
      "kind": "answer",
      "impl": "imperative",
      "description": "Compatibility alias for code.read. Read editable source metadata for a board; source is not executed. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "componentId"
        ]
      }
    }
    firmware.checkAction

    Run Schematic's bounded Browser Check for one board. It executes the supported Arduino/C++ subset and returns topology/protocol/serial/static diagnostics; it is not compilation, electrical simulation, upload, or physical verification. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "firmware.check",
      "kind": "act",
      "impl": "imperative",
      "description": "Run Schematic's bounded Browser Check for one board. It executes the supported Arduino/C++ subset and returns topology/protocol/serial/static diagnostics; it is not compilation, electrical simulation, upload, or physical verification. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "durationMs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 1000
          },
          "inputs": {
            "type": "object",
            "maxProperties": 64,
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                }
              ]
            }
          }
        },
        "required": [
          "componentId"
        ],
        "additionalProperties": false
      }
    }
    validation.checkAction

    Run static graph-rule validation for wiring and component constraints. Source is not read or executed, and physical wiring/hardware are not verified. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "validation.check",
      "kind": "act",
      "impl": "imperative",
      "description": "Run static graph-rule validation for wiring and component constraints. Source is not read or executed, and physical wiring/hardware are not verified. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    validation.explain_errorAction

    Explain a static graph-check error code with fix guidance. Physical wiring, hardware behavior, and editable source remain unverified. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "validation.explain_error",
      "kind": "act",
      "impl": "imperative",
      "description": "Explain a static graph-check error code with fix guidance. Physical wiring, hardware behavior, and editable source remain unverified. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "code"
        ]
      }
    }
    shopping.searchAction

    Discover electronics parts through the configured bounded shopping source when listings are omitted, then publish agent-attributed listings into the Parts desk after checking them. Discovery is cached and rate-limited; candidates never become offers automatically. Return the schematic.parts.lookup.v1 handoff to a browsing agent when publication is unavailable. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "shopping.search",
      "kind": "act",
      "impl": "imperative",
      "description": "Discover electronics parts through the configured bounded shopping source when listings are omitted, then publish agent-attributed listings into the Parts desk after checking them. Discovery is cached and rate-limited; candidates never become offers automatically. Return the schematic.parts.lookup.v1 handoff to a browsing agent when publication is unavailable. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 240,
            "description": "Exact part, board, manufacturer, or catalog id"
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999,
            "description": "Required quantity"
          },
          "listings": {
            "type": "array",
            "minItems": 1,
            "maxItems": 24,
            "description": "Agent-found listings only; every item must identify one canonical catalog part and its reported offers.",
            "items": {
              "type": "object",
              "required": [
                "id",
                "catalogId",
                "title",
                "partNumber",
                "requestedQuantity",
                "exactMatch",
                "offers",
                "updatedAt"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "catalogId": {
                  "type": "string",
                  "description": "Schematic catalog id; do not invent one"
                },
                "title": {
                  "type": "string"
                },
                "partNumber": {
                  "type": "string",
                  "description": "Manufacturer or distributor part number"
                },
                "requestedQuantity": {
                  "type": "integer",
                  "minimum": 1
                },
                "exactMatch": {
                  "const": true,
                  "description": "Agent's exact-match claim; the boundary does not independently verify real-world identity."
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Recent time at which the agent refreshed this claimed catalog record."
                },
                "offers": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 3,
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "retailer",
                      "title",
                      "price",
                      "currency",
                      "url",
                      "fetchedAt",
                      "provider"
                    ],
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "retailer": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "price": {
                        "anyOf": [
                          {
                            "type": "number",
                            "minimum": 0
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "currency": {
                        "type": "string",
                        "pattern": "^[A-Z]{3}$"
                      },
                      "url": {
                        "type": "string",
                        "format": "uri",
                        "description": "HTTPS retailer URL supplied by the agent; the UI does not verify the page."
                      },
                      "fetchedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Recent time at which the agent observed this offer."
                      },
                      "provider": {
                        "type": "string"
                      }
                    }
                  }
                },
                "alternatives": {
                  "type": "array",
                  "maxItems": 3,
                  "description": "Optional context-aware alternatives; publish each alternative as its own canonical catalog-ID claim too."
                }
              }
            }
          },
          "publication": {
            "type": "object",
            "description": "Sourcing provenance supplied by the agent. Authentication and agent identity come from the verified WebMCP session, not from these fields. publishedAt must be recent.",
            "properties": {
              "provider": {
                "type": "string",
                "minLength": 1
              },
              "publishedAt": {
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "provider",
              "publishedAt"
            ]
          }
        },
        "description": "Omit listings/publication to run bounded public discovery and receive a handoff request. Include both to publish agent-attributed results."
      }
    }
    shopping.get_stateAnswer

    Read agent-sourced part listings, cart lines, budget, and cheapest-price quote for the current build — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "shopping.get_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read agent-sourced part listings, cart lines, budget, and cheapest-price quote for the current build — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    shopping.cart_addAction

    Add an agent-published shopping result to the build cart — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "shopping.cart_add",
      "kind": "act",
      "impl": "imperative",
      "description": "Add an agent-published shopping result to the build cart — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "resultId": {
            "type": "string",
            "maxLength": 160
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999
          }
        },
        "required": [
          "resultId"
        ]
      }
    }
    shopping.cart_removeAction

    Remove a part from the shopping cart — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "shopping.cart_remove",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a part from the shopping cart — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "resultId": {
            "type": "string",
            "maxLength": 160
          }
        },
        "required": [
          "resultId"
        ]
      }
    }
    shopping.cart_set_quantityAction

    Set the quantity for a shopping cart line, or remove it with zero — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "shopping.cart_set_quantity",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the quantity for a shopping cart line, or remove it with zero — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "resultId": {
            "type": "string",
            "maxLength": 160
          },
          "quantity": {
            "type": "integer",
            "minimum": 0,
            "maximum": 999
          }
        },
        "required": [
          "resultId",
          "quantity"
        ]
      }
    }
    shopping.cart_set_budgetAction

    Set or clear the target build budget in USD — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "shopping.cart_set_budget",
      "kind": "act",
      "impl": "imperative",
      "description": "Set or clear the target build budget in USD — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "budget": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0,
            "maximum": 1000000000
          }
        },
        "required": [
          "budget"
        ]
      }
    }
    shopping.cart_undoAction

    Undo the last cart change — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "shopping.cart_undo",
      "kind": "act",
      "impl": "imperative",
      "description": "Undo the last cart change — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    shopping.cart_resetAction

    Reset the cart to one of every catalog part currently required by the project, after listings have been searched — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "shopping.cart_reset",
      "kind": "act",
      "impl": "imperative",
      "description": "Reset the cart to one of every catalog part currently required by the project, after listings have been searched — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "requiredCatalogIds": {
            "type": "array",
            "maxItems": 500,
            "items": {
              "type": "string",
              "maxLength": 120
            }
          }
        }
      }
    }
    shopping.choose_alternativeAction

    Replace a cart part with an agent-recommended context-aware alternative — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "shopping.choose_alternative",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace a cart part with an agent-recommended context-aware alternative — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "resultId": {
            "type": "string",
            "maxLength": 160
          },
          "catalogId": {
            "type": "string",
            "maxLength": 120
          }
        },
        "required": [
          "resultId",
          "catalogId"
        ]
      }
    }
    shopping.quoteAction

    Calculate the total using the cheapest priced agent-sourced offer per cart line and report missing prices or budget overage — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "shopping.quote",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculate the total using the cheapest priced agent-sourced offer per cart line and report missing prices or budget overage — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    design.auto_layoutAction

    Auto-layout components on canvas (simple grid) — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.

    View tool JSON
    {
      "name": "design.auto_layout",
      "kind": "act",
      "impl": "imperative",
      "description": "Auto-layout components on canvas (simple grid) — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }