← WebMCP Directory

open-architect.vercel.app

open-architect.vercel.app

live Unverified (seed import) Productivity & Business 28 tools imperative implementation

OpenArchitect — describe a home. An agent asks follow-ups, then draws a schematic floor plan on a live canvas. The same tools are exposed to browser agents via WebMCP.

First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com

Answer 4 · Act 24 · Transact 0 · Score: Not yet scored

Tool inspector

apply_layout

act imperative

Replace rooms, openings, furniture, and the frontage street in one shot. Prefer this for the first draft. Include an entrance porch, a stairs area, and street.edge on the same side as the main door unless the user declined them. Room ids must be stable slugs (kitchen, bed-1, porch, stairs). Coordinates are meters on a 0.5 m grid.

Input schema

PropertyTypeRequiredDescription
plot object no —
street — no —
rooms array yes —
openings array no —
furniture array no —
Raw JSON schema
{
  "type": "object",
  "properties": {
    "plot": {
      "type": "object",
      "properties": {
        "width": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "height": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "required": [
        "width",
        "height"
      ],
      "additionalProperties": false
    },
    "street": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "edge": {
              "type": "string",
              "enum": [
                "north",
                "south",
                "east",
                "west"
              ],
              "description": "Plot edge the street runs along — the same side as the main entrance"
            },
            "width": {
              "description": "Street carriageway width in meters",
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "required": [
            "edge"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "rooms": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Stable id, e.g. kitchen or bed-1",
            "type": "string",
            "minLength": 1,
            "maxLength": 48,
            "pattern": "^[a-z][a-z0-9_-]*$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Human label shown on the canvas"
          },
          "type": {
            "type": "string",
            "enum": [
              "bedroom",
              "bathroom",
              "kitchen",
              "living",
              "dining",
              "hallway",
              "closet",
              "balcony",
              "office",
              "laundry",
              "stairs",
              "porch",
              "other"
            ]
          },
          "x": {
            "type": "number",
            "description": "Meters from the plot's left (west) edge"
          },
          "y": {
            "type": "number",
            "description": "Meters from the plot's top (north) edge"
          },
          "width": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Room width in meters"
          },
          "height": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Room height in meters"
          }
        },
        "required": [
          "name",
          "type",
          "x",
          "y",
          "width",
          "height"
        ],
        "additionalProperties": false
      }
    },
    "openings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 48,
            "pattern": "^[a-z][a-z0-9_-]*$"
          },
          "kind": {
            "type": "string",
            "enum": [
              "door",
              "window"
            ]
          },
          "roomId": {
            "type": "string",
            "description": "Id of the room this opening belongs to"
          },
          "edge": {
            "type": "string",
            "enum": [
              "north",
              "south",
              "east",
              "west"
            ],
            "description": "Wall: north is top of the canvas"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "description": "Meters along the edge from its start (west for N/S, north for E/W)"
          },
          "width": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Opening width in meters"
          }
        },
        "required": [
          "kind",
          "roomId",
          "edge",
          "offset",
          "width"
        ],
        "additionalProperties": false
      }
    },
    "furniture": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 48,
            "pattern": "^[a-z][a-z0-9_-]*$"
          },
          "roomId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "kind": {
            "type": "string",
            "minLength": 1,
            "description": "bed, sofa, table, counter, toilet, sink, stove, wardrobe, desk, other"
          },
          "x": {
            "type": "number",
            "description": "Meters from the room's left edge"
          },
          "y": {
            "type": "number",
            "description": "Meters from the room's top edge"
          },
          "width": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "height": {
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "required": [
          "roomId",
          "name",
          "kind",
          "x",
          "y",
          "width",
          "height"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "rooms"
  ],
  "additionalProperties": false
}

Similar websites

econsor.de

econsor.de

German digital agency building portals, e-commerce sites and online marketing, combining strategy, design and AI to grow clients' visibility and customer base.

live Unverified Productivity & Business Transact tools
143 tools A0 / Act142 / T1 Not yet scored Seen 2026-11-05
econsor_click_search econsor_click_image econsor_click_menu econsor_click_burger_menu_icon econsor_click_previous_button
Inspect tools
inkframe-eta.vercel.app

inkframe-eta.vercel.app

Browser-native Elah video editor for 9:16 and 16:9 exports

live Unverified Productivity & Business Transact tools
87 tools A12 / Act71 / T4 Not yet scored Seen 2026-11-05
get_capabilities list_templates navigate_workspace open_template editor_inspect_video_moments
Inspect tools
agentdesk-demo.vercel.app

agentdesk-demo.vercel.app

Meridian Ops

live Unverified Productivity & Business Transact tools
83 tools A43 / Act24 / T16 Not yet scored Seen 2026-11-05
find_capabilities invoke_capability get_context get_action_status search_customers
Inspect tools
eworker.ca

eworker.ca

E-Worker is business infrastructure powered by AI, with focused apps and connected business work.

live Unverified Productivity & Business
73 tools A10 / Act63 / T0 Not yet scored Seen 2026-11-05
eworker_site_status eworker_list_apps eworker_resolve_app eworker_open_app ewdoc_status
Inspect tools

Related on Influzer