← WebMCP Directory

Tool tree

faultline-studio.pages.dev

Developer ToolsTools verified
Website
Faultline
Explore capabilities
    propose-architectureAction

    Replace the canvas with a starting architecture built from a plain-language requirements sentence. Understands intent keywords (read-heavy, cache, background jobs / async, static assets, serverless, key-value / NoSQL, multi-region / survive a region outage, prototype / cheap) and a region name (defaults to us-east-1). Every resource is configured, placed and connected. This is a starting point — follow with resilience-lint. One undo step.

    View tool JSON
    {
      "name": "propose-architecture",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace the canvas with a starting architecture built from a plain-language requirements sentence. Understands intent keywords (read-heavy, cache, background jobs / async, static assets, serverless, key-value / NoSQL, multi-region / survive a region outage, prototype / cheap) and a region name (defaults to us-east-1). Every resource is configured, placed and connected. This is a starting point — follow with resilience-lint. One undo step.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "requirements": {
            "type": "string",
            "maxLength": 400,
            "description": "One or two sentences describing the system, e.g. \"public web app with a Postgres database and background email jobs, must survive an availability-zone outage\"."
          }
        },
        "required": [
          "requirements"
        ],
        "additionalProperties": false
      }
    }
    describe-architectureAnswer

    List every resource on the canvas (id, kind, label, provider variant, region/zone placement) and every dependency edge. Call this first to see the current design before adding, connecting or configuring anything. Read-only.

    View tool JSON
    {
      "name": "describe-architecture",
      "kind": "answer",
      "impl": "imperative",
      "description": "List every resource on the canvas (id, kind, label, provider variant, region/zone placement) and every dependency edge. Call this first to see the current design before adding, connecting or configuring anything. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    add-resourceAction

    Add one cloud building block to the architecture canvas. Call repeatedly to sketch a design.

    View tool JSON
    {
      "name": "add-resource",
      "kind": "act",
      "impl": "imperative",
      "description": "Add one cloud building block to the architecture canvas. Call repeatedly to sketch a design.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "compute",
              "database",
              "queue",
              "load-balancer",
              "object-store",
              "cache",
              "cdn",
              "dns",
              "functions",
              "api-gateway"
            ],
            "description": "Which vendor-neutral building block to add."
          },
          "label": {
            "type": "string",
            "maxLength": 40,
            "description": "Short human-readable name, e.g. \"orders API\"."
          }
        },
        "required": [
          "kind",
          "label"
        ],
        "additionalProperties": false
      }
    }
    connectAction

    Add a dependency edge — `from` depends on / calls `to`. Both resources must already exist.

    View tool JSON
    {
      "name": "connect",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a dependency edge — `from` depends on / calls `to`. Both resources must already exist.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "description": "Id of the dependent resource, e.g. \"compute-1\"."
          },
          "to": {
            "type": "string",
            "description": "Id of the depended-on resource, e.g. \"database-1\"."
          }
        },
        "required": [
          "from",
          "to"
        ],
        "additionalProperties": false
      }
    }
    configure-resourceAction

    Set an existing resource's provider variant and/or its region/availability-zone placement. Omitted fields are left unchanged.

    View tool JSON
    {
      "name": "configure-resource",
      "kind": "act",
      "impl": "imperative",
      "description": "Set an existing resource's provider variant and/or its region/availability-zone placement. Omitted fields are left unchanged.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Resource id, e.g. \"database-1\"."
          },
          "variant": {
            "type": "string",
            "description": "Provider service, e.g. \"rds-multi-az\". See the active profile on /learn."
          },
          "region": {
            "type": "string",
            "description": "Region id, e.g. \"us-east-1\"."
          },
          "az": {
            "type": "string",
            "description": "Availability zone, e.g. \"us-east-1a\". Omit for a regional (multi-AZ) deployment."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      }
    }
    move-resourceAction

    Set an existing resource's position on the canvas (top-left origin). Use it to lay out the diagram so the dependency flow reads clearly.

    View tool JSON
    {
      "name": "move-resource",
      "kind": "act",
      "impl": "imperative",
      "description": "Set an existing resource's position on the canvas (top-left origin). Use it to lay out the diagram so the dependency flow reads clearly.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Resource id, e.g. \"compute-1\"."
          },
          "x": {
            "type": "number",
            "description": "Horizontal position; 0 is the left edge."
          },
          "y": {
            "type": "number",
            "description": "Vertical position; 0 is the top edge."
          }
        },
        "required": [
          "id",
          "x",
          "y"
        ],
        "additionalProperties": false
      }
    }
    remove-resourceAction

    Delete a resource from the canvas by id. Any dependency edges to or from it are removed too. One undo step.

    View tool JSON
    {
      "name": "remove-resource",
      "kind": "act",
      "impl": "imperative",
      "description": "Delete a resource from the canvas by id. Any dependency edges to or from it are removed too. One undo step.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Resource id, e.g. \"cache-1\"."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      }
    }
    simulate-failureAction

    Knock out one availability zone (pass az) or a whole region (omit az) and report which resources go down, which degrade, and why.

    View tool JSON
    {
      "name": "simulate-failure",
      "kind": "act",
      "impl": "imperative",
      "description": "Knock out one availability zone (pass az) or a whole region (omit az) and report which resources go down, which degrade, and why.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "region": {
            "type": "string",
            "description": "Region id, e.g. \"us-east-1\"."
          },
          "az": {
            "type": "string",
            "description": "Availability zone to fail, e.g. \"us-east-1a\". Omit to fail the entire region."
          }
        },
        "required": [
          "region"
        ],
        "additionalProperties": false
      }
    }
    find-spofsAnswer

    List resources that are single points of failure by construction, with the resources each would take down.

    View tool JSON
    {
      "name": "find-spofs",
      "kind": "answer",
      "impl": "imperative",
      "description": "List resources that are single points of failure by construction, with the resources each would take down.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    resilience-lintAction

    Run rule-based resilience checks over the current design. Each finding has a severity (high / medium / low), the resource it concerns, a plain-language explanation of the risk and the fix, and a citation to the architectural principle in Designing Data-Intensive Applications (2nd ed.) behind it. Read-only: reports, changes nothing on the canvas.

    View tool JSON
    {
      "name": "resilience-lint",
      "kind": "act",
      "impl": "imperative",
      "description": "Run rule-based resilience checks over the current design. Each finding has a severity (high / medium / low), the resource it concerns, a plain-language explanation of the risk and the fix, and a citation to the architectural principle in Designing Data-Intensive Applications (2nd ed.) behind it. Read-only: reports, changes nothing on the canvas.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    explainAnswer

    Explain a selection in plain language: its role in the design, its dependencies and dependents, what its failure would take down, and a relevant principle from Designing Data-Intensive Applications (2nd ed.). Pass a resource id (e.g. "database-1") or an edge as "from->to" (e.g. "compute-1->database-1"). Read-only: reports, changes nothing.

    View tool JSON
    {
      "name": "explain",
      "kind": "answer",
      "impl": "imperative",
      "description": "Explain a selection in plain language: its role in the design, its dependencies and dependents, what its failure would take down, and a relevant principle from Designing Data-Intensive Applications (2nd ed.). Pass a resource id (e.g. \"database-1\") or an edge as \"from->to\" (e.g. \"compute-1->database-1\"). Read-only: reports, changes nothing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "selection": {
            "type": "string",
            "description": "A resource id (\"database-1\") or a dependency edge (\"compute-1->database-1\")."
          }
        },
        "required": [
          "selection"
        ],
        "additionalProperties": false
      }
    }
    estimate-costAnswer

    Order-of-magnitude monthly cost of the current design (USD), from the bundled pricing snapshot — not a live quote. Returns the total, a per-resource breakdown, unpriced resources, and the delta since the previous estimate. Read-only.

    View tool JSON
    {
      "name": "estimate-cost",
      "kind": "answer",
      "impl": "imperative",
      "description": "Order-of-magnitude monthly cost of the current design (USD), from the bundled pricing snapshot — not a live quote. Returns the total, a per-resource breakdown, unpriced resources, and the delta since the previous estimate. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    generate-iacAction

    Emit the current architecture as Terraform HCL for the human to review. Read-only: produces text, changes nothing. Each configured resource becomes one or more `resource` blocks with its AWS variant and placement; an alb -> compute edge wires target groups, other edges become depends_on. Network and IAM are var.* inputs, not generated. Returns a fenced hcl code block.

    View tool JSON
    {
      "name": "generate-iac",
      "kind": "act",
      "impl": "imperative",
      "description": "Emit the current architecture as Terraform HCL for the human to review. Read-only: produces text, changes nothing. Each configured resource becomes one or more `resource` blocks with its AWS variant and placement; an alb -> compute edge wires target groups, other edges become depends_on. Network and IAM are var.* inputs, not generated. Returns a fenced hcl code block.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "enum": [
              "terraform"
            ],
            "description": "Output format. Only \"terraform\" is supported today."
          }
        },
        "additionalProperties": false
      }
    }