← WebMCP Directory

Tool tree

puppo.github.io

AI & AgentsTools verified
Website
DOMus
Explore capabilities
    list_room_stylesAnswer

    List the bedroom design styles available in DOMus, each with a one-line tagline. Call this first when the user wants a designed room without naming a style.

    View tool JSON
    {
      "name": "list_room_styles",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the bedroom design styles available in DOMus, each with a one-line tagline. Call this first when the user wants a designed room without naming a style.",
      "inputSchema": {},
      "page": "/DOMus/"
    }
    get_style_guideAnswer

    Get the full design guide for one bedroom style — palette, rules, recommended furniture composition, and placement hints. Pass one of: scandinavian, japandi, boho, industrial, minimalist.

    View tool JSON
    {
      "name": "get_style_guide",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the full design guide for one bedroom style — palette, rules, recommended furniture composition, and placement hints. Pass one of: scandinavian, japandi, boho, industrial, minimalist.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "style": {
            "type": "string"
          }
        },
        "required": [
          "style"
        ]
      },
      "page": "/DOMus/"
    }
    suggest_color_paletteAction

    Return a 5-color coordinated palette (hex codes) for a given style. The keys are primary/secondary/accent/wall/floor and can be passed straight to set_room_colors and set_furniture_color.

    View tool JSON
    {
      "name": "suggest_color_palette",
      "kind": "act",
      "impl": "imperative",
      "description": "Return a 5-color coordinated palette (hex codes) for a given style. The keys are primary/secondary/accent/wall/floor and can be passed straight to set_room_colors and set_furniture_color.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "style": {
            "type": "string"
          },
          "baseHex": {
            "anyOf": [
              {
                "not": {}
              },
              {
                "type": "string",
                "pattern": "^#[0-9a-fA-F]{6}$"
              }
            ],
            "description": "Optional anchor hex color; the palette stays style-faithful either way."
          }
        },
        "required": [
          "style"
        ]
      },
      "page": "/DOMus/"
    }
    suggest_layoutAction

    Suggest an arrangement plan (in plain text with sample coordinates) tailored to a given style and the current room dimensions. Always call get_room_state first to read the current dimensions.

    View tool JSON
    {
      "name": "suggest_layout",
      "kind": "act",
      "impl": "imperative",
      "description": "Suggest an arrangement plan (in plain text with sample coordinates) tailored to a given style and the current room dimensions. Always call get_room_state first to read the current dimensions.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "style": {
            "type": "string"
          },
          "room": {
            "type": "object",
            "properties": {
              "width": {
                "type": "number"
              },
              "length": {
                "type": "number"
              }
            },
            "required": [
              "width",
              "length"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "style",
          "room"
        ]
      },
      "page": "/DOMus/"
    }
    furniture_combo_for_styleAnswer

    Return a list of recommended furniture pieces (kind, target placement notes, palette) for a given style. Use this to plan the sequence of add_furniture calls.

    View tool JSON
    {
      "name": "furniture_combo_for_style",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return a list of recommended furniture pieces (kind, target placement notes, palette) for a given style. Use this to plan the sequence of add_furniture calls.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "style": {
            "type": "string"
          }
        },
        "required": [
          "style"
        ]
      },
      "page": "/DOMus/"
    }
    get_design_principlesAnswer

    Return a short text on a single design principle. Useful for deepening a specific aspect (balance, rhythm, focal_point, lighting, proportion).

    View tool JSON
    {
      "name": "get_design_principles",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return a short text on a single design principle. Useful for deepening a specific aspect (balance, rhythm, focal_point, lighting, proportion).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "string",
            "enum": [
              "balance",
              "rhythm",
              "focal_point",
              "lighting",
              "proportion"
            ]
          }
        },
        "required": [
          "topic"
        ]
      },
      "page": "/DOMus/"
    }
    get_room_stateAnswer

    Return the full current room state — dimensions, colors, every furniture item with id/position/colors. Call this before mutating anything to read current values.

    View tool JSON
    {
      "name": "get_room_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the full current room state — dimensions, colors, every furniture item with id/position/colors. Call this before mutating anything to read current values.",
      "inputSchema": {},
      "page": "/DOMus/"
    }
    set_room_dimensionsAction

    Set the bedroom dimensions in meters. Width and length 2-20, height 2-4.

    View tool JSON
    {
      "name": "set_room_dimensions",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the bedroom dimensions in meters. Width and length 2-20, height 2-4.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "width": {
            "type": "number",
            "minimum": 2,
            "maximum": 20
          },
          "length": {
            "type": "number",
            "minimum": 2,
            "maximum": 20
          },
          "height": {
            "type": "number",
            "minimum": 2,
            "maximum": 4
          }
        },
        "required": [
          "width",
          "length",
          "height"
        ]
      },
      "page": "/DOMus/"
    }
    set_room_colorsAction

    Set the wall and/or floor color of the room. Both args are optional 6-digit hex (#RRGGBB).

    View tool JSON
    {
      "name": "set_room_colors",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the wall and/or floor color of the room. Both args are optional 6-digit hex (#RRGGBB).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "wallColor": {
            "anyOf": [
              {
                "not": {}
              },
              {
                "type": "string",
                "pattern": "^#[0-9a-fA-F]{6}$"
              }
            ]
          },
          "floorColor": {
            "anyOf": [
              {
                "not": {}
              },
              {
                "type": "string",
                "pattern": "^#[0-9a-fA-F]{6}$"
              }
            ]
          }
        }
      },
      "page": "/DOMus/"
    }
    add_furnitureAction

    Add a furniture item at exact room-local coordinates (meters). Room origin is at the (0,0,0) floor corner; x along room width, z along room length, y up. The store clamps the footprint to the room bounds — out-of-bounds placements are clamped silently. Returns the new item id, which you need for any later set_furniture_color / move_furniture / rotate_furniture calls.

    View tool JSON
    {
      "name": "add_furniture",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a furniture item at exact room-local coordinates (meters). Room origin is at the (0,0,0) floor corner; x along room width, z along room length, y up. The store clamps the footprint to the room bounds — out-of-bounds placements are clamped silently. Returns the new item id, which you need for any later set_furniture_color / move_furniture / rotate_furniture calls.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "bed",
              "nightstand",
              "wardrobe",
              "dresser",
              "lamp"
            ]
          },
          "position": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number",
                "description": "meters along room width (X) axis"
              },
              "y": {
                "type": "number",
                "description": "meters above the floor; 0 = on the floor"
              },
              "z": {
                "type": "number",
                "description": "meters along room length (Z) axis"
              }
            },
            "required": [
              "x",
              "y",
              "z"
            ],
            "additionalProperties": false
          },
          "rotationY": {
            "anyOf": [
              {
                "not": {}
              },
              {
                "type": "number",
                "minimum": 0,
                "maximum": 6.283185307179586
              }
            ],
            "description": "Rotation around the vertical axis, in radians. 0 = facing +Z, PI/2 = facing +X."
          },
          "scale": {
            "anyOf": [
              {
                "not": {}
              },
              {
                "type": "object",
                "properties": {
                  "x": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "y": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "z": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "required": [
                  "x",
                  "y",
                  "z"
                ],
                "additionalProperties": false
              }
            ]
          },
          "colors": {
            "anyOf": [
              {
                "not": {}
              },
              {
                "type": "object",
                "properties": {
                  "primary": {
                    "type": "string",
                    "pattern": "^#[0-9a-fA-F]{6}$"
                  },
                  "secondary": {
                    "type": "string",
                    "pattern": "^#[0-9a-fA-F]{6}$"
                  },
                  "accent": {
                    "type": "string",
                    "pattern": "^#[0-9a-fA-F]{6}$"
                  }
                },
                "additionalProperties": false
              }
            ]
          }
        },
        "required": [
          "kind",
          "position"
        ]
      },
      "page": "/DOMus/"
    }
    remove_furnitureAction

    Remove a furniture item by id. Call list_furniture first if you need the id.

    View tool JSON
    {
      "name": "remove_furniture",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a furniture item by id. Call list_furniture first if you need the id.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "id"
        ]
      },
      "page": "/DOMus/"
    }
    list_furnitureAnswer

    Return a one-line-per-item summary table (id, kind, position, colors). Use this to discover ids before mutating them.

    View tool JSON
    {
      "name": "list_furniture",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return a one-line-per-item summary table (id, kind, position, colors). Use this to discover ids before mutating them.",
      "inputSchema": {},
      "page": "/DOMus/"
    }
    set_furniture_colorAction

    Set one color slot of a furniture item. The slot depends on the kind: bed/nightstand/wardrobe/dresser/lamp all accept primary, secondary, accent (some slots may be unused).

    View tool JSON
    {
      "name": "set_furniture_color",
      "kind": "act",
      "impl": "imperative",
      "description": "Set one color slot of a furniture item. The slot depends on the kind: bed/nightstand/wardrobe/dresser/lamp all accept primary, secondary, accent (some slots may be unused).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "slot": {
            "type": "string",
            "enum": [
              "primary",
              "secondary",
              "accent"
            ]
          },
          "hex": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$"
          }
        },
        "required": [
          "id",
          "slot",
          "hex"
        ]
      },
      "page": "/DOMus/"
    }
    set_furniture_scaleAction

    Set per-axis scale multipliers for a furniture item. Each axis is clamped to the kind-specific range.

    View tool JSON
    {
      "name": "set_furniture_scale",
      "kind": "act",
      "impl": "imperative",
      "description": "Set per-axis scale multipliers for a furniture item. Each axis is clamped to the kind-specific range.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "x": {
            "anyOf": [
              {
                "not": {}
              },
              {
                "type": "number",
                "exclusiveMinimum": 0
              }
            ]
          },
          "y": {
            "anyOf": [
              {
                "not": {}
              },
              {
                "type": "number",
                "exclusiveMinimum": 0
              }
            ]
          },
          "z": {
            "anyOf": [
              {
                "not": {}
              },
              {
                "type": "number",
                "exclusiveMinimum": 0
              }
            ]
          }
        },
        "required": [
          "id"
        ]
      },
      "page": "/DOMus/"
    }
    move_furnitureAction

    Move a furniture item to new (x, z) coordinates. Y is preserved. Position is clamped to room bounds.

    View tool JSON
    {
      "name": "move_furniture",
      "kind": "act",
      "impl": "imperative",
      "description": "Move a furniture item to new (x, z) coordinates. Y is preserved. Position is clamped to room bounds.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "x": {
            "type": "number",
            "description": "meters"
          },
          "z": {
            "type": "number",
            "description": "meters"
          }
        },
        "required": [
          "id",
          "x",
          "z"
        ]
      },
      "page": "/DOMus/"
    }
    rotate_furnitureAction

    Rotate a furniture item around the vertical axis. rotationY is in radians [0, 2π).

    View tool JSON
    {
      "name": "rotate_furniture",
      "kind": "act",
      "impl": "imperative",
      "description": "Rotate a furniture item around the vertical axis. rotationY is in radians [0, 2π).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "rotationY": {
            "type": "number",
            "minimum": 0,
            "maximum": 6.283185307179586
          }
        },
        "required": [
          "id",
          "rotationY"
        ]
      },
      "page": "/DOMus/"
    }
    undoAction

    Undo the last mutation. Reverts to the previous state of the scene.

    View tool JSON
    {
      "name": "undo",
      "kind": "act",
      "impl": "imperative",
      "description": "Undo the last mutation. Reverts to the previous state of the scene.",
      "inputSchema": {},
      "page": "/DOMus/"
    }
    redoAction

    Redo the last undone mutation.

    View tool JSON
    {
      "name": "redo",
      "kind": "act",
      "impl": "imperative",
      "description": "Redo the last undone mutation.",
      "inputSchema": {},
      "page": "/DOMus/"
    }
    reset_roomAction

    Reset the room to default dimensions and remove all furniture. Cannot be undone except via the global undo stack.

    View tool JSON
    {
      "name": "reset_room",
      "kind": "act",
      "impl": "imperative",
      "description": "Reset the room to default dimensions and remove all furniture. Cannot be undone except via the global undo stack.",
      "inputSchema": {},
      "page": "/DOMus/"
    }