Launch Shots
Turn your app's screens into editable App Store and Google Play screenshot sets, from your agent.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- HIGH
- LOWen get_screenshot_set
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"launchshots": {
"url": "https://www.launchshots.com/api/mcp"
}
}
}Puntos de conexión remotos
https://www.launchshots.com/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (5)
🟡prepare_screenshot_upload(screenshot_count)
Start a screenshot set and get one upload URL per screenshot. Step 1 of 3. Pick the app's key screens — one per core feature, in roughly the order a new user would care about them — captured with realistic content. Avoid empty states, onboarding walls, permission dialogs, debug banners and lorem ipsum: the headlines are written from what is on screen. Upload each file with an HTTP PUT of the raw bytes to its URL (the response includes ready-to-run curl commands). URLs are valid for 2 hours; PUT to the same slot again to replace a file. Then call generate_screenshot_set with the returned set_id.
Esquema de entrada
{
"type": "object",
"properties": {
"screenshot_count": {
"description": "How many screenshots you will upload (1–10; 3–8 makes the best set).",
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"screenshot_count"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡generate_screenshot_set(set_id, app_name, app_description, platform, language, ...)
Design a finished App Store / Google Play screenshot set from uploaded screenshots. Step 2 of 3. Returns immediately with a review link while the set is designed in the background (about 1–2 minutes) — then call get_screenshot_set to wait for it. The result is three art directions sharing one set of headlines, each fully editable in the LaunchShots editor. Write app_description from the real source: the README, store listing, or the app's own copy — what it does, who it's for, and what makes it different. Specific beats generic; the headlines are only as sharp as this. Either pass set_id from prepare_screenshot_upload (preferred), or pass the screenshots inline as base64 if you cannot run shell commands (keep each under ~1 MB). Calling again with the same set_id after a failure retries it; nothing is charged for a failed run.
Esquema de entrada
{
"type": "object",
"properties": {
"set_id": {
"description": "The set_id from prepare_screenshot_upload, once its screenshots are uploaded.",
"type": "string",
"maxLength": 80
},
"app_name": {
"description": "The app’s name as it appears in the store.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"app_description": {
"description": "What the app does, who it is for and what sets it apart — 2–6 specific sentences drawn from the README, store listing or product copy.",
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"platform": {
"description": "ios for the App Store, android for Google Play.",
"type": "string",
"enum": [
"ios",
"android"
]
},
"language": {
"description": "Store language to write the headlines in, e.g. en-US, de-DE, ja, pt-BR. Defaults to en-US.",
"type": "string",
"maxLength": 32
},
"style_note": {
"description": "Optional art direction, e.g. \"dark and premium\", \"playful, uses our brand orange #FF6B00\".",
"type": "string",
"maxLength": 500
},
"include_tablet": {
"description": "Also produce the matching iPad / Android tablet set. Counts as a second generation; needs an API key.",
"type": "boolean"
},
"screenshots": {
"description": "Only if you cannot upload with prepare_screenshot_upload: the screenshots inline, each under ~1 MB.",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"data_base64": {
"description": "The image file, base64-encoded (no data: prefix).",
"type": "string",
"maxLength": 2000004
}
},
"required": [
"data_base64"
]
}
}
},
"required": [
"app_name",
"app_description",
"platform"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_screenshot_set(set_id, wait_seconds)
Check on a screenshot set, waiting up to wait_seconds for it to finish. Step 3 of 3. When it is ready this returns the review link, the headline written for every screen and the three directions. Share the link with the user: they choose a direction and the set opens in the LaunchShots editor (free signup if they are not signed in). If it is still generating, call again — a set usually takes 1–2 minutes.
Esquema de entrada
{
"type": "object",
"properties": {
"set_id": {
"description": "The set_id (ls_set_…).",
"type": "string",
"maxLength": 80
},
"wait_seconds": {
"description": "How long to wait for a set that is still generating (0–50, default 45).",
"type": "integer",
"minimum": 0,
"maximum": 50
}
},
"required": [
"set_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_account
Show which LaunchShots account this connection uses and how many generations it has left. Without an API key, explains the free tier and how to connect an account.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢list_projects(limit)
List the most recently edited projects in this API key's LaunchShots account, with a link to open each in the editor. Requires an API key.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "How many to return (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia