canvasops-webmcp.vercel.app
A collaborative architecture canvas where humans and agents configure cloud infrastructure together.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 5 · Act 14 · Transact 1 · Score: Not yet scored
Tool inspector
propose_architecture_plan
Preview a strict multi-operation architecture plan with a cost diff. The human must approve the in-page proposal before changes apply atomically.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
summary |
string | yes | — |
max_monthly_cost_usdc |
number | no | — |
operations |
array | yes | — |
Raw JSON schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"summary": {
"type": "string",
"minLength": 8,
"maxLength": 240
},
"max_monthly_cost_usdc": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000
},
"operations": {
"minItems": 1,
"maxItems": 24,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "add_node"
},
"ref": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"type": {
"type": "string",
"enum": [
"client",
"service",
"api-gateway",
"load-balancer",
"database",
"cache",
"storage",
"queue",
"external-system",
"auth-service",
"worker",
"group",
"note"
]
},
"x": {
"type": "number",
"minimum": -5000,
"maximum": 5000
},
"y": {
"type": "number",
"minimum": -5000,
"maximum": 5000
},
"config": {
"type": "object",
"properties": {
"region": {
"type": "string",
"minLength": 2,
"maxLength": 32
},
"size": {
"type": "string",
"minLength": 2,
"maxLength": 40
},
"replicas": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"env_vars": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"technology": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"description": {
"type": "string",
"maxLength": 500
},
"owner": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"environment": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"custom_properties": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"input_ports": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"output_ports": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"additionalProperties": false
}
},
"required": [
"action",
"ref",
"type",
"x",
"y"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "move_node"
},
"node_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"x": {
"type": "number",
"minimum": -5000,
"maximum": 5000
},
"y": {
"type": "number",
"minimum": -5000,
"maximum": 5000
}
},
"required": [
"action",
"node_id",
"x",
"y"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "remove_node"
},
"node_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"action",
"node_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "connect_nodes"
},
"source_ref": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"target_ref": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"connection_type": {
"type": "string",
"enum": [
"data",
"request",
"event",
"replication",
"dependency"
]
}
},
"required": [
"action",
"source_ref",
"target_ref",
"connection_type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "disconnect_nodes"
},
"source_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"target_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"action",
"source_id",
"target_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "update_node"
},
"node_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"config": {
"type": "object",
"properties": {
"region": {
"type": "string",
"minLength": 2,
"maxLength": 32
},
"size": {
"type": "string",
"minLength": 2,
"maxLength": 40
},
"replicas": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"env_vars": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"technology": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"description": {
"type": "string",
"maxLength": 500
},
"owner": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"environment": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"custom_properties": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"input_ports": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"output_ports": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"additionalProperties": false
}
},
"required": [
"action",
"node_id",
"config"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "group_nodes"
},
"ref": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"node_refs": {
"minItems": 1,
"maxItems": 24,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
}
},
"required": [
"action",
"ref",
"label",
"node_refs"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "set_group_members"
},
"group_ref": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"node_refs": {
"maxItems": 24,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
}
},
"required": [
"action",
"group_ref",
"node_refs"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "set_group_collapsed"
},
"group_ref": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"collapsed": {
"type": "boolean"
}
},
"required": [
"action",
"group_ref",
"collapsed"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"summary",
"operations"
],
"additionalProperties": false
}
Similar websites
morphus.myles4miles.chatgpt.site
Morphus is an AI-native workspace for designing worlds and generating playable game experiences.
damnpdfs.com
Install the DamnPDFs Codex plugin, pair a browser workspace and use PDF, image and file tools from your coding agent. Includes setup and privacy limits.
insignifi4nt.github.io
broCAD/M: local-first CAD and CAM for parametric design, wire EDM planning, simulation and controller export.
cabinet.varera.studio
The Cartographer's Cabinet