← WebMCP Directory

Tool tree

couch-editor.com

Developer ToolsTools verified
Website
CouchEditor is a browser-based visual photo editor for building reusable editing pipelines and exporting photo recipes.
Explore capabilities
    set_themeAction

    Set the application theme to either light mode or dark mode.

    View tool JSON
    {
      "name": "set_theme",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the application theme to either light mode or dark mode.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "light",
              "dark"
            ],
            "description": "The theme mode to apply."
          }
        },
        "required": [
          "mode"
        ],
        "additionalProperties": false
      }
    }
    add_pipeline_nodeAction

    Add a node of the given type to the current pipeline at the supplied x and y position.

    View tool JSON
    {
      "name": "add_pipeline_node",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a node of the given type to the current pipeline at the supplied x and y position.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The pipeline node type to add."
          },
          "x": {
            "type": "number",
            "description": "The x position of the node in the pipeline canvas."
          },
          "y": {
            "type": "number",
            "description": "The y position of the node in the pipeline canvas."
          }
        },
        "required": [
          "type",
          "x",
          "y"
        ],
        "additionalProperties": false
      }
    }
    clone_pipeline_nodeAction

    Clone a node in the current pipeline by node id.

    View tool JSON
    {
      "name": "clone_pipeline_node",
      "kind": "act",
      "impl": "imperative",
      "description": "Clone a node in the current pipeline by node id.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "description": "The id of the node to clone."
          }
        },
        "required": [
          "nodeId"
        ],
        "additionalProperties": false
      }
    }
    connect_pipeline_nodesAction

    Connect two nodes in the current pipeline with an edge. Specify handles when a node has multiple inputs or outputs.

    View tool JSON
    {
      "name": "connect_pipeline_nodes",
      "kind": "act",
      "impl": "imperative",
      "description": "Connect two nodes in the current pipeline with an edge. Specify handles when a node has multiple inputs or outputs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sourceNodeId": {
            "type": "string",
            "description": "The id of the node where the edge starts."
          },
          "targetNodeId": {
            "type": "string",
            "description": "The id of the node where the edge ends."
          },
          "sourceHandle": {
            "type": "string",
            "description": "Optional id of the source handle. Defaults to image when the source node has one output."
          },
          "targetHandle": {
            "type": "string",
            "description": "Optional id of the target handle. Defaults to image when the target node has one input."
          }
        },
        "required": [
          "sourceNodeId",
          "targetNodeId"
        ],
        "additionalProperties": false
      }
    }
    delete_pipeline_edgeSensitive Action

    Delete the edge from one pipeline node to another by their node ids.

    View tool JSON
    {
      "name": "delete_pipeline_edge",
      "kind": "transact",
      "impl": "imperative",
      "description": "Delete the edge from one pipeline node to another by their node ids.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sourceNodeId": {
            "type": "string",
            "description": "The id of the node where the edge starts."
          },
          "targetNodeId": {
            "type": "string",
            "description": "The id of the node where the edge ends."
          }
        },
        "required": [
          "sourceNodeId",
          "targetNodeId"
        ],
        "additionalProperties": false
      }
    }
    delete_pipeline_nodeSensitive Action

    Delete a node from the current pipeline by node id.

    View tool JSON
    {
      "name": "delete_pipeline_node",
      "kind": "transact",
      "impl": "imperative",
      "description": "Delete a node from the current pipeline by node id.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "description": "The id of the node to delete."
          }
        },
        "required": [
          "nodeId"
        ],
        "additionalProperties": false
      }
    }
    get_current_pipelineAnswer

    Get the current pipeline, including its name, id, dirty state, nodes, and edges.

    View tool JSON
    {
      "name": "get_current_pipeline",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the current pipeline, including its name, id, dirty state, nodes, and edges.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_pipeline_toolboxAnswer

    Get all pipeline node types available in the toolbox, grouped by category, including their exposed numeric properties and limits.

    View tool JSON
    {
      "name": "get_pipeline_toolbox",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get all pipeline node types available in the toolbox, grouped by category, including their exposed numeric properties and limits.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    move_pipeline_nodeAction

    Move a node in the current pipeline from its given position to another position.

    View tool JSON
    {
      "name": "move_pipeline_node",
      "kind": "act",
      "impl": "imperative",
      "description": "Move a node in the current pipeline from its given position to another position.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "description": "The id of the pipeline node to move."
          },
          "fromPosition": {
            "type": "object",
            "description": "The node position before the move.",
            "properties": {
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ],
            "additionalProperties": false
          },
          "toPosition": {
            "type": "object",
            "description": "The node position after the move.",
            "properties": {
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "nodeId",
          "fromPosition",
          "toPosition"
        ],
        "additionalProperties": false
      }
    }
    update_pipeline_node_propertiesAction

    Update exposed numeric properties on a pipeline node. Values must be within the property limits and match its step when one is defined.

    View tool JSON
    {
      "name": "update_pipeline_node_properties",
      "kind": "act",
      "impl": "imperative",
      "description": "Update exposed numeric properties on a pipeline node. Values must be within the property limits and match its step when one is defined.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "description": "The id of the pipeline node to update."
          },
          "values": {
            "type": "object",
            "description": "A map of exposed property keys to numeric values. Valid keys and limits depend on the node type.",
            "additionalProperties": {
              "type": "number"
            }
          }
        },
        "required": [
          "nodeId",
          "values"
        ],
        "additionalProperties": false
      }
    }