← WebMCP Directory

Tool tree

lockshot-nu.vercel.app

Developer ToolsTools verified
Website
iOS App Store screenshot localization desk with WebMCP
Explore capabilities
    get_page_stateAnswer

    Get the current page state including project info, locale, all slide overlays, locked status, overflow flags, and comments

    View tool JSON
    {
      "name": "get_page_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the current page state including project info, locale, all slide overlays, locked status, overflow flags, and comments",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    add_localeAction

    Add a new locale to the project. Use BCP 47 codes (e.g., en, de, es, ja, fr, pt-BR, zh-Hans). ChatGPT should then translate via set_overlay.

    View tool JSON
    {
      "name": "add_locale",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a new locale to the project. Use BCP 47 codes (e.g., en, de, es, ja, fr, pt-BR, zh-Hans). ChatGPT should then translate via set_overlay.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "description": "BCP 47 locale code (e.g., de, es, ja, fr, pt-BR, zh-Hans)"
          }
        },
        "required": [
          "locale"
        ],
        "additionalProperties": false
      }
    }
    set_templateAction

    Set the template for all unlocked slides or a specific slide. Templates: full_bleed_caption_bottom (default, screenshot fills frame with caption at bottom), caption_top (caption bar at top), framed_on_gradient (phone frame on gradient), gradient_only (gradient background only)

    View tool JSON
    {
      "name": "set_template",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the template for all unlocked slides or a specific slide. Templates: full_bleed_caption_bottom (default, screenshot fills frame with caption at bottom), caption_top (caption bar at top), framed_on_gradient (phone frame on gradient), gradient_only (gradient background only)",
      "inputSchema": {
        "type": "object",
        "properties": {
          "template": {
            "type": "string",
            "enum": [
              "full_bleed_caption_bottom",
              "caption_top",
              "framed_on_gradient",
              "gradient_only"
            ],
            "description": "Template ID to apply"
          },
          "slide": {
            "type": "number",
            "description": "Optional slide ID (1-5). If omitted, applies to all unlocked slides."
          }
        },
        "required": [
          "template"
        ],
        "additionalProperties": false
      }
    }
    set_localeAction

    Switch to a different locale from available locales

    View tool JSON
    {
      "name": "set_locale",
      "kind": "act",
      "impl": "imperative",
      "description": "Switch to a different locale from available locales",
      "inputSchema": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "description": "Target locale code from available locales"
          }
        },
        "required": [
          "locale"
        ],
        "additionalProperties": false
      }
    }
    set_overlayAction

    Set headline and/or subhead for a specific slide in the current locale. Supports campaign slide (id=0) and product slides (id=1-5). Does not affect locked slides. Overflow is automatically measured.

    View tool JSON
    {
      "name": "set_overlay",
      "kind": "act",
      "impl": "imperative",
      "description": "Set headline and/or subhead for a specific slide in the current locale. Supports campaign slide (id=0) and product slides (id=1-5). Does not affect locked slides. Overflow is automatically measured.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slide": {
            "type": "number",
            "description": "Slide ID (0 for campaign, 1-5 for product slides)"
          },
          "headline": {
            "type": "string",
            "description": "New headline text (optional)"
          },
          "subhead": {
            "type": "string",
            "description": "New subhead text (optional)"
          }
        },
        "required": [
          "slide"
        ],
        "additionalProperties": false
      }
    }
    check_overflowAnswer

    Check overflow status for all slides in the current locale

    View tool JSON
    {
      "name": "check_overflow",
      "kind": "answer",
      "impl": "imperative",
      "description": "Check overflow status for all slides in the current locale",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    rewrite_overlayAction

    Rewrite headline and/or subhead for a specific slide with an instruction. Does not affect locked slides. ChatGPT should generate the new text based on the instruction.

    View tool JSON
    {
      "name": "rewrite_overlay",
      "kind": "act",
      "impl": "imperative",
      "description": "Rewrite headline and/or subhead for a specific slide with an instruction. Does not affect locked slides. ChatGPT should generate the new text based on the instruction.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slide": {
            "type": "number",
            "description": "Slide ID (1-5)"
          },
          "instruction": {
            "type": "string",
            "description": "Instruction for rewriting (e.g., 'make it shorter', 'fix overflow')"
          }
        },
        "required": [
          "slide",
          "instruction"
        ],
        "additionalProperties": false
      }
    }
    apply_locale_passAction

    Identify all unlocked overflowing slides for a specific locale. ChatGPT should then rewrite them via set_overlay.

    View tool JSON
    {
      "name": "apply_locale_pass",
      "kind": "act",
      "impl": "imperative",
      "description": "Identify all unlocked overflowing slides for a specific locale. ChatGPT should then rewrite them via set_overlay.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "description": "Target locale code"
          }
        },
        "required": [
          "locale"
        ],
        "additionalProperties": false
      }
    }
    comment_on_slideAction

    Add a comment to a specific slide that will be visible to the human

    View tool JSON
    {
      "name": "comment_on_slide",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a comment to a specific slide that will be visible to the human",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slide": {
            "type": "number",
            "description": "Slide ID (1-5)"
          },
          "text": {
            "type": "string",
            "description": "Comment text"
          }
        },
        "required": [
          "slide",
          "text"
        ],
        "additionalProperties": false
      }
    }
    reset_projectSensitive Action

    Clear the current project and start over with a fresh empty state (equivalent to 'Start Over' button). Wipes localStorage, clears images, resets to empty drop zone.

    View tool JSON
    {
      "name": "reset_project",
      "kind": "transact",
      "impl": "imperative",
      "description": "Clear the current project and start over with a fresh empty state (equivalent to 'Start Over' button). Wipes localStorage, clears images, resets to empty drop zone.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    set_slide_colorsAction

    Set custom colors for a slide's Kova template (full_bleed_caption_bottom). Overrides auto-sampled colors. Does not affect locked slides. Use RGB hex format (#RRGGBB).

    View tool JSON
    {
      "name": "set_slide_colors",
      "kind": "act",
      "impl": "imperative",
      "description": "Set custom colors for a slide's Kova template (full_bleed_caption_bottom). Overrides auto-sampled colors. Does not affect locked slides. Use RGB hex format (#RRGGBB).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slide": {
            "type": "number",
            "description": "Slide ID (1-5)"
          },
          "text": {
            "type": "string",
            "description": "Text color (hex, e.g. #6d28d9). Used for headline and subhead."
          },
          "background": {
            "type": "string",
            "description": "Background color (hex, e.g. #f3e8ff). Light variant for canvas fill."
          },
          "accent": {
            "type": "string",
            "description": "Accent color (hex, e.g. #c4b5fd). Dark variant for organic blobs."
          }
        },
        "required": [
          "slide"
        ],
        "additionalProperties": false
      }
    }
    export_zipAction

    Export the current locale's slides as a ZIP of 1320x2868 PNG files (no alpha channel, sRGB)

    View tool JSON
    {
      "name": "export_zip",
      "kind": "act",
      "impl": "imperative",
      "description": "Export the current locale's slides as a ZIP of 1320x2868 PNG files (no alpha channel, sRGB)",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }