About Shotlingo
Shotlingo is an MCP server for creating, localizing and rendering App Store and Google Play screenshots. It serves app teams and agents, with tools to edit designs, fit translated text and send finished sets to store listings.
Key features
- 01Start from templates or screenshots
- 02Edit layouts and fit text
- 03Localize into 41 languages
- 04Render individual or batch screenshots
- 05Export to App Store Connect or Google Play
Use cases
- 01Create a store screenshot set from simulator images
- 02Localize captions for target markets
- 03Find and fix overflowing translated captions
- 04Upload rendered screenshots to a store
MCP support
The hosted MCP server connects agents to ShotLingo tools over HTTPS. It exposes project and design editing, translation, rendering, and store export; sign-in is initiated on the first tool call.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.shotlingo.com/mcpclaude mcp add --transport http com-shotlingo https://mcp.shotlingo.com/mcp{"mcpServers":{"com-shotlingo":{"type":"http","url":"https://mcp.shotlingo.com/mcp"}}}Open in Cursor{"servers":{"com-shotlingo":{"type":"http","url":"https://mcp.shotlingo.com/mcp"}}}Open in VS Code{"mcpServers":{"com-shotlingo":{"type":"http","url":"https://mcp.shotlingo.com/mcp"}}}{"mcpServers":{"com-shotlingo":{"serverUrl":"https://mcp.shotlingo.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEShotLingo MCP: App Store screenshot generator for Claude, Cursor and VS Code
Describe the screenshots you want. Your agent writes the copy in 41 languages, ShotLingo renders the pixels,
and the set goes straight to App Store Connect or Google Play.
Install in one line
Claude Code (plugin: MCP server + screenshot design skill + ShotLingo tool guide skill + /shotlingo:localize command)
claude plugin install shotlingo --marketplace AlperenGuntekin/shotlingo-mcp
Inside a Claude Code session, or on a Claude Code version older than 2.1.292:
/plugin marketplace add AlperenGuntekin/shotlingo-mcp
/plugin install shotlingo@shotlingo
Then run /mcp, pick plugin:shotlingo:shotlingo and sign in.
Only the server, no plugin:
claude mcp add --transport http shotlingo https://mcp.shotlingo.com/mcp
Claude (web and desktop): Settings, Connectors, Add custom connector, paste https://mcp.shotlingo.com/mcp.
Cursor: Add to Cursor, or put this in ~/.cursor/mcp.json:
{ "mcpServers": { "shotlingo": { "url": "https://mcp.shotlingo.com/mcp" } } }
VS Code:
code --add-mcp '{"name":"shotlingo","type":"http","url":"https://mcp.shotlingo.com/mcp"}'
Clients that only speak stdio:
{ "mcpServers": { "shotlingo": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.shotlingo.com/mcp"] } } }
The first tool call opens a browser window to sign in to ShotLingo (OAuth 2.1 with PKCE). No API key to copy, nothing stored in this repo.
What you can ask for
"Make a 6.9-inch App Store set for my habit tracker from these five simulator screenshots, one benefit per screen, then translate it into German, Japanese and Brazilian Portuguese."
"Take my English set, localize it for the top five markets, render all of it and upload it to App Store Connect."
"Which captions overflow in German? Shorten them and re-render only those pages."
What you get
| Step | Tools |
|---|---|
| Start from a template or your own screenshots | list_templates, get_template, adapt_template, create_project, duplicate_project, import_image, import_store_screenshots |
| Edit the layout | generate_page, apply_device_frame, update_project, fit_text_into_design |
| Localize | set_translations, get_translations (41 languages, right-to-left included) |
| Render | render_screenshot, start_batch, get_batch_status |
| Ship | export_to_app_store, export_to_google_play, list_app_store_apps, list_google_play_apps |
| Account | get_usage, list_projects |
Text is fitted by the same export pipeline the ShotLingo web editor uses, so a German caption that runs long shrinks to fit instead of spilling off the frame.
The Claude Code plugin also ships:
app-store-screenshotsskill: the screenshot design rules we use: what the first three screens must do, caption length, sizes, localization traps, App Review rules. It works on its own, with no account.shotlingoskill: how to drive the ShotLingo tools: which ones only read, which ones edit the design and which ones touch a live listing, how to undo with saved versions, render without hitting the rate limit, and set up an App Store product page test./shotlingo:localizecommand: one command from "here is my English set" to a rendered, localized set.
Pricing and the free path
- The skill in this repo is free and needs no account.
- The ShotLingo web editor at shotlingo.com has a free plan.
- The MCP connector needs a paid plan (Pro, Plus or Studio). Store upload needs Plus or Studio. Limits are on shotlingo.com/plans.
How it works
your agent ──MCP over HTTPS──▶ mcp.shotlingo.com ──▶ ShotLingo renderer ──▶ PNGs / App Store Connect / Google Play
The server is hosted and closed source. This repo is the open part: client configs, the Claude Code plugin and the design skill. Bugs and feature requests for the server are welcome here as issues.
Privacy
This repo collects nothing: it is configuration and Markdown. What the hosted service stores is described in shotlingo.com/privacy.
Contributing
Better screenshot rules, client configs for more editors, and clearer docs are all welcome. Open a pull request or an issue. Run npm test before you push.
License
MIT for everything in this repository. The ShotLingo service has its own terms.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.