← All WebMCP sites

webroom.openai.chatgpt.site

demo
Media & Personalhttps://webroom.openai.chatgpt.site/listed as of 2026-08-26
A private, browser-based photo editor with precise manual controls and agent-ready WebMCP tools.
Run a live auditWe load the site in a real browser and score the tools it gives an agent.

Tools

get_document_infoanswerimperative
Get safe metadata for the active Webroom image, including source and current output pixel dimensions, revision, dirty state, and history counts.
Input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_edit_stateanswerimperative
Get every manual adjustment, non-destructive geometry value, independently selected filter, and revision for the active image. Manual values are applied on top of the filter.
Input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_edit_historyanswerimperative
Get concise ordered edit history and redo entries. Returns command summaries and sources without pixel data.
Input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_image_previewanswerimperative
Return an original or edited image preview as a bounded data URL. maxDimension is 64–2048 pixels and quality is 1–100.
Input schema
{
  "type": "object",
  "properties": {
    "variant": {
      "type": "string",
      "enum": [
        "original",
        "edited"
      ],
      "default": "edited",
      "description": "Whether to render the untouched source or current edit."
    },
    "format": {
      "type": "string",
      "enum": [
        "jpeg",
        "png",
        "webp"
      ],
      "default": "jpeg"
    },
    "maxDimension": {
      "type": "integer",
      "minimum": 64,
      "maximum": 2048,
      "default": 1024
    },
    "quality": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 85
    }
  },
  "additionalProperties": false
}
open_image_from_urlactimperative
Open a JPEG, PNG, or WebP from an HTTPS URL using a CORS request without credentials. Set replace true only to discard unexported edits.
Input schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Required HTTPS image URL."
    },
    "filename": {
      "type": "string",
      "description": "Optional safe display filename."
    },
    "replace": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}
open_image_from_data_urlactimperative
Open a JPEG, PNG, or WebP data URL up to 12 MiB encoded length. Set replace true only to discard unexported edits.
Input schema
{
  "type": "object",
  "properties": {
    "dataUrl": {
      "type": "string",
      "description": "Required supported image data URL."
    },
    "filename": {
      "type": "string",
      "description": "Optional safe display filename."
    },
    "replace": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "dataUrl"
  ],
  "additionalProperties": false
}
set_exposureactimperative
Set the manual exposure layer to an absolute value from -5 through 5. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -5,
      "maximum": 5,
      "description": "Absolute exposure value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_brightnessactimperative
Set the manual brightness layer to an absolute value from -100 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -100,
      "maximum": 100,
      "description": "Absolute brightness value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_contrastactimperative
Set the manual contrast layer to an absolute value from -100 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -100,
      "maximum": 100,
      "description": "Absolute contrast value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_highlightsactimperative
Set the manual highlights layer to an absolute value from -100 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -100,
      "maximum": 100,
      "description": "Absolute highlights value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_shadowsactimperative
Set the manual shadows layer to an absolute value from -100 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -100,
      "maximum": 100,
      "description": "Absolute shadows value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_whitesactimperative
Set the manual whites layer to an absolute value from -100 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -100,
      "maximum": 100,
      "description": "Absolute whites value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_blacksactimperative
Set the manual blacks layer to an absolute value from -100 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -100,
      "maximum": 100,
      "description": "Absolute blacks value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_temperatureactimperative
Set the manual temperature layer to an absolute value from -100 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -100,
      "maximum": 100,
      "description": "Absolute temperature value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_tintactimperative
Set the manual tint layer to an absolute value from -100 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -100,
      "maximum": 100,
      "description": "Absolute tint value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_saturationactimperative
Set the manual saturation layer to an absolute value from -100 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -100,
      "maximum": 100,
      "description": "Absolute saturation value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_vibranceactimperative
Set the manual vibrance layer to an absolute value from -100 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": -100,
      "maximum": 100,
      "description": "Absolute vibrance value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_sharpeningactimperative
Set the manual sharpening layer to an absolute value from 0 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Absolute sharpening value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
set_bluractimperative
Set the manual blur layer to an absolute value from 0 through 100. It is applied on top of the selected filter and creates one undoable edit.
Input schema
{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Absolute blur value."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false
}
apply_filteractimperative
Select one canonical Webroom filter as an independent undoable layer. Manual adjustment values are preserved; use none to remove only the filter.
Input schema
{
  "type": "object",
  "properties": {
    "filter": {
      "type": "string",
      "enum": [
        "none",
        "vivid",
        "warm",
        "cool",
        "mono",
        "film",
        "fade"
      ]
    }
  },
  "required": [
    "filter"
  ],
  "additionalProperties": false
}
crop_imageactimperative
Crop using whole-pixel x, y, width, and height in the current oriented image coordinates returned by get_document_info.
Input schema
{
  "type": "object",
  "properties": {
    "x": {
      "type": "integer",
      "minimum": 0
    },
    "y": {
      "type": "integer",
      "minimum": 0
    },
    "width": {
      "type": "integer",
      "minimum": 1
    },
    "height": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "x",
    "y",
    "width",
    "height"
  ],
  "additionalProperties": false
}
rotate_imageactimperative
Rotate the active image by -90, 90, or 180 degrees. Positive values rotate clockwise.
Input schema
{
  "type": "object",
  "properties": {
    "degrees": {
      "type": "integer",
      "enum": [
        -90,
        90,
        180
      ]
    }
  },
  "required": [
    "degrees"
  ],
  "additionalProperties": false
}
flip_imageactimperative
Flip the active image across its horizontal or vertical axis.
Input schema
{
  "type": "object",
  "properties": {
    "axis": {
      "type": "string",
      "enum": [
        "horizontal",
        "vertical"
      ]
    }
  },
  "required": [
    "axis"
  ],
  "additionalProperties": false
}
resize_imageactimperative
Resize to positive whole-pixel dimensions. Supply width, height, or both; one omitted dimension preserves aspect ratio.
Input schema
{
  "type": "object",
  "properties": {
    "width": {
      "type": "integer",
      "minimum": 1
    },
    "height": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false
}
undo_editactimperative
Undo one committed human or agent edit in the active Webroom document.
Input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
redo_editactimperative
Redo one previously undone edit in the active Webroom document.
Input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
reset_editsactimperative
Reset all adjustments and geometry to the untouched source as one undoable command.
Input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
export_imageactimperative
Export the current full-resolution edit as JPEG, PNG, or WebP. Delivery defaults to a local download; bounded data_url delivery returns image data.
Input schema
{
  "type": "object",
  "properties": {
    "format": {
      "type": "string",
      "enum": [
        "jpeg",
        "png",
        "webp"
      ]
    },
    "quality": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 90
    },
    "delivery": {
      "type": "string",
      "enum": [
        "download",
        "data_url"
      ],
      "default": "download"
    }
  },
  "required": [
    "format"
  ],
  "additionalProperties": false
}
Listings are sourced from public community registries and shown as reported.