{"ok":true,"site":{"host":"handoff-agent-studio.netlify.app","url":"https://handoff-agent-studio.netlify.app/","type":"live","desc":"An agent-native image editor. Every edit is a WebMCP tool, so you and your agent share the same canvas.","tools":[{"name":"upload_media","kind":"act","impl":"imperative","description":"Load an image into the shared canvas from a public image URL, so it can then be edited by other tools.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Public URL of an image"}},"required":["url"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_media_info","kind":"answer","impl":"imperative","description":"Read-only. Returns the current canvas's width, height, export format, and whether an image is loaded.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"resize_media","kind":"act","impl":"imperative","description":"Resize the current image to exact pixel dimensions, stretching if the aspect ratio changes.","inputSchema":{"type":"object","properties":{"width":{"type":"number","description":"Target width in pixels"},"height":{"type":"number","description":"Target height in pixels"}},"required":["width","height"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"crop_to_aspect","kind":"act","impl":"imperative","description":"Crop the image to a target aspect ratio, centered. Common presets: square (1:1), portrait (4:5), landscape (16:9), story (9:16).","inputSchema":{"type":"object","properties":{"ratioW":{"type":"number","description":"Width part of the ratio, e.g. 16"},"ratioH":{"type":"number","description":"Height part of the ratio, e.g. 9"}},"required":["ratioW","ratioH"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remove_background","kind":"act","impl":"imperative","description":"Remove the background from the current image, leaving a transparent PNG. Runs a segmentation model entirely in the browser — may take a few seconds.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"apply_overlay_text","kind":"act","impl":"imperative","description":"Draw text over the image, e.g. a caption or watermark.","inputSchema":{"type":"object","properties":{"text":{"type":"string"},"position":{"type":"string","enum":["top","center","bottom"]},"color":{"type":"string","description":"CSS color, e.g. #ffffff"}},"required":["text"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"convert_format","kind":"act","impl":"imperative","description":"Set the export format used by export_media. Does not change how the image looks, only how it's saved.","inputSchema":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","webp"]}},"required":["format"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"export_media","kind":"act","impl":"imperative","description":"Export the current image as a downloadable file, in the format set by convert_format (PNG by default).","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","favicon":"/favicons/handoff-agent-studio.netlify.app.ico","apiSurface":"spec","toolCount":8}}