← Documentation

MCP Integration

Control Screenshot Master from AI coding agents via the Model Context Protocol (MCP).

Setup

Screenshot Master embeds an MCP server that runs locally. Enable it in the app, then configure your AI client to connect.

  1. Open Screenshot MasterSettingsClaude Code (MCP)
    Toggle Enable MCP Server on. Default port is 9847.
  2. Add the server configuration to your AI client (see below).
  3. Open a document in Screenshot Master — your AI agent can now control it.
Note: The MCP server only listens on localhost (127.0.0.1). It is not accessible from the network. A document must be open for the agent to interact with it.

Configuration

Claude Code
Option 1 — Run this command in your terminal:
claude mcp add --transport http screenshot-master http://localhost:9847/mcp
Option 2 — Edit ~/.claude/mcp.json or your project's .mcp.json:
{
  "mcpServers": {
    "screenshot-master": {
      "type": "http",
      "url": "http://localhost:9847/mcp"
    }
  }
}
Auto-approve all Screenshot Master tools
By default, Claude Code asks for permission each time a tool is called. To allow all Screenshot Master MCP tools automatically, run:
claude permission add mcp__screenshot-master__*
Or add it manually to your project's .claude/settings.json:
{
  "permissions": {
    "allow": [
      "mcp__screenshot-master__*"
    ]
  }
}
Claude Desktop
Edit your Claude Desktop configuration file.
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "screenshot-master": {
      "url": "http://localhost:9847/mcp"
    }
  }
}
Cursor
Add to your project's MCP configuration.
.cursor/mcp.json
{
  "mcpServers": {
    "screenshot-master": {
      "url": "http://localhost:9847/mcp"
    }
  }
}
VS Code
Add to your workspace MCP configuration (requires GitHub Copilot).
.vscode/mcp.json
{
  "servers": {
    "screenshot-master": {
      "type": "http",
      "url": "http://localhost:9847/mcp"
    }
  }
}
OpenAI Codex
Add to your Codex CLI configuration.
codex.json
{
  "mcpServers": {
    "screenshot-master": {
      "url": "http://localhost:9847/mcp"
    }
  }
}
OpenClaw
Add to your OpenClaw MCP configuration.
mcp.json
{
  "mcpServers": {
    "screenshot-master": {
      "type": "http",
      "url": "http://localhost:9847/mcp"
    }
  }
}
Custom Port
The default port is 9847. If you change the port in Screenshot Master's settings, update the url in your AI agent configuration to match the new port.
http://localhost:PORT/mcp

Available Tools

52 tools to create, edit, style, export, upload, and organize App Store screenshots — all in real time.

Read

Document & Screenshots

get_document_state Full document state: document name, app info, variations, screenshots
list_screenshots All screenshots with IDs, titles, image status
get_screenshot Detailed screenshot: background, text, bezels, layers
preview_screenshot Renders a visual preview image for AI feedback. Supports cross-variation preview for A/B comparison
preview_appstore_search Renders an App Store search results preview (first 3 screenshots) to evaluate readability and impact at small size
Write

Screenshot Management

add_screenshot Add screenshot with title, subtitle, and base64 image
remove_screenshot Remove a screenshot by ID
reorder_screenshots Reorder by providing screenshot IDs in desired order
set_screenshot_image Set device screenshot image for a format/locale
Style

Text, Background & Device

update_screenshot_text Set title/subtitle text, with locale support
set_text_block_style Alignment, rotation, scale, visibility, box background offset
set_text_slot_style Font, weight, color, outline, highlight
set_background_color Solid background color
set_background_gradient Gradient with direction and multiple colors
set_background_image Background image with blend mode, opacity, blur
list_available_bezels List device bezels available for the current format
add_bezel_slot Add additional bezel for multi-device layouts
set_bezel_slot Device bezel, alignment, scale, shadow
set_bezel_screenshot Set screenshot image for a specific bezel slot
remove_bezel_slot Remove an additional bezel slot
Style

Layers

add_layer Add emoji, badge, notification banner, highlight box, or image overlay
update_layer Update position, scale, rotation, stroke, opacity
set_layer_image Set image for an imageOverlay layer
remove_layer Remove a layer by ID
Style

Templates

list_templates List all available screenshot templates
apply_template Apply a template to the current document
save_user_template Save selected screenshots as a user template
delete_user_template Delete a user template by ID
Locale

Localisation

add_locale Add a locale (e.g. fr-FR, de-DE, ja)
remove_locale Remove a locale
list_locales Default locale + additional locales
Variation

Variations & Settings

list_variations All variations with settings and screenshot count
create_variation Create or duplicate a variation
select_variation Switch active variation
delete_variation Delete a variation
rename_variation Rename a variation
set_formats Set active device formats
set_sync_options Format/locale sync mode: mirror, override, none
set_default_locale Change default locale
set_locale_order Reorder additional locales
Write

App Info

set_app_name Set the app name displayed on screenshots
list_asc_apps List all apps from App Store Connect
link_asc_app Link an ASC app to the document for uploads
Export

Export & App Store Connect

export_screenshots Render final images as base64 JPEG (membership required)
upload_to_asc Upload to App Store Connect for all complete locales (membership required)
list_experiments List draft A/B test experiments and their treatments for the linked app
upload_to_experiment Upload screenshots to an A/B test experiment treatment (membership required)
asc_connection_status Check credentials status and active account
list_asc_accounts List all ASC accounts with credential status
switch_asc_account Switch active App Store Connect account
setup_asc_credentials Configure API credentials (stored in Keychain)
Subscription

Membership

get_subscription_status Check membership status and available plans with prices
subscribe Start a subscription purchase (monthly or annual)

Available Resources

19 read-only resources providing format specs, device bezels, locale lists, design capabilities, and expert guidelines.

available_formats 6 device formats with dimensions
available_bezels 39 device bezels by family
available_locales 37 App Store Connect locales
app_store_requirements Required dimensions per format
available_fonts 11 text font sizes
available_font_weights 9 weights: ultraLight to black
available_font_widths 4 widths: compressed to expanded
available_font_designs 5 designs: default, serif, rounded...
available_text_outlines 4 types: none, glow, stroke...
available_blend_modes 21 blend modes
available_alignments 10 device + 9 text alignments
available_gradient_directions 8 gradient directions
available_layer_kinds 5 layer types with parameters
screenshot_best_practices General rules for effective screenshots
text_guidelines Title/subtitle copy best practices
color_guidelines Color, gradient, contrast tips
layout_guidelines Device alignment and layout tips
localization_guidelines Per-language adaptation tips
aso_guidelines ASO and conversion optimization

How It Works

Screenshot Master runs an MCP server on localhost. Your AI agent connects to it and can read/modify the active document in real time. You see every change instantly in the app.

The server uses JSON-RPC 2.0 over HTTP. All tool calls are serialized to prevent concurrent mutations. Images are transferred as base64-encoded PNG/JPEG.

Supported Formats

iPhone 6.9" — 1320 × 2868 Required for App Store
iPhone 6.7" — 1290 × 2796 Optional
iPhone 6.5" — 1284 × 2778 Optional
iPhone 5.5" — 1242 × 2208 Legacy
iPad 12.9" — 2048 × 2732 Optional
Android Phone Not uploadable to ASC

Last updated: