← WebMCP Directory

Tool tree

openroom-webmcp.pages.dev

CommerceTools verified
Website
AI room planner and furniture shopping
Explore capabilities

    page: Every page

    get_sceneAnswer

    Return the current validated Scene; each object includes a derived unit facing vector {x, z} ({x:0,z:1} faces the camera side) and supportedBy, the id of the object it stands on or null.

    View tool JSON
    {
      "name": "get_scene",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the current validated Scene; each object includes a derived unit facing vector {x, z} ({x:0,z:1} faces the camera side) and supportedBy, the id of the object it stands on or null.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    get_selectionAnswer

    Return the currently selected Scene object, including its derived unit facing vector {x, z} ({x:0,z:1} faces the camera side) and supportedBy, the id of the object it stands on or null.

    View tool JSON
    {
      "name": "get_selection",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the currently selected Scene object, including its derived unit facing vector {x, z} ({x:0,z:1} faces the camera side) and supportedBy, the id of the object it stands on or null.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    search_productsAnswer

    Search the local product catalog in deterministic order.

    View tool JSON
    {
      "name": "search_products",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the local product catalog in deterministic order.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "sofa",
              "coffee_table",
              "rug",
              "floor_lamp",
              "chair",
              "plant",
              "side_table",
              "bookshelf"
            ]
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3,
            "default": 3
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    replace_objectAction

    Replace an explicit or selected Scene object with a catalog product. If the new footprint overlaps furniture or leaves the usable floor, it moves to the nearest open floor position; replacement fails with NO_VALID_PLACEMENT when none exists.

    View tool JSON
    {
      "name": "replace_object",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace an explicit or selected Scene object with a catalog product. If the new footprint overlaps furniture or leaves the usable floor, it moves to the nearest open floor position; replacement fails with NO_VALID_PLACEMENT when none exists.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "\\S"
          },
          "productId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "pattern": "\\S"
          },
          "expectedRevision": {
            "type": "integer",
            "minimum": 1
          },
          "expectedStateVersion": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "productId",
          "expectedRevision",
          "expectedStateVersion"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    move_objectAction

    Move an explicit or selected Scene object; orient it with rotationYDegrees or a facing vector {x, z}. The whole footprint stays on the usable floor and moves to the nearest open position instead of overlapping another non-rug object. A lamp moved onto a table is intentionally supported by it: it rises onto the table and comes back reported with supportedBy set to that table's id.

    View tool JSON
    {
      "name": "move_object",
      "kind": "act",
      "impl": "imperative",
      "description": "Move an explicit or selected Scene object; orient it with rotationYDegrees or a facing vector {x, z}. The whole footprint stays on the usable floor and moves to the nearest open position instead of overlapping another non-rug object. A lamp moved onto a table is intentionally supported by it: it rises onto the table and comes back reported with supportedBy set to that table's id.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "\\S"
          },
          "position": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number",
                "minimum": -20,
                "maximum": 20
              },
              "z": {
                "type": "number",
                "minimum": -20,
                "maximum": 20
              }
            },
            "required": [
              "x",
              "z"
            ],
            "additionalProperties": false
          },
          "rotationYDegrees": {
            "type": "number",
            "minimum": -360,
            "maximum": 360
          },
          "facing": {
            "type": "object",
            "description": "Unit XZ direction the object's front points; {x:0,z:1} faces the camera side (front wall), {x:0,z:-1} faces the back wall. Mutually exclusive with rotationYDegrees.",
            "properties": {
              "x": {
                "type": "number"
              },
              "z": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "z"
            ],
            "additionalProperties": false
          },
          "expectedRevision": {
            "type": "integer",
            "minimum": 1
          },
          "expectedStateVersion": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "position",
          "expectedRevision",
          "expectedStateVersion"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    add_scene_to_cartAction

    Open a local approval draft for product-backed Scene objects. Fails with NO_STORE_CONNECTED when no Shopify store is connected. The draft's required commerce block carries merchandise lines, productLinks for every requested product, a cart permalink when variants are mapped, the store's UCP MCP endpoint (mcpEndpoint) for create_cart/update_cart/get_cart, and agentProfileUrl, the UCP agent profile every call to that endpoint must name.

    View tool JSON
    {
      "name": "add_scene_to_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a local approval draft for product-backed Scene objects. Fails with NO_STORE_CONNECTED when no Shopify store is connected. The draft's required commerce block carries merchandise lines, productLinks for every requested product, a cart permalink when variants are mapped, the store's UCP MCP endpoint (mcpEndpoint) for create_cart/update_cart/get_cart, and agentProfileUrl, the UCP agent profile every call to that endpoint must name.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "expectedRevision": {
            "type": "integer",
            "minimum": 1
          },
          "expectedStateVersion": {
            "type": "integer",
            "minimum": 1
          },
          "objectIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "\\S"
            },
            "minItems": 1,
            "maxItems": 20,
            "uniqueItems": true
          }
        },
        "required": [
          "expectedRevision",
          "expectedStateVersion"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }