Koskamo

MagicScreenshots MCP

MagicScreenshots MCP provides AI agents with access to a library of real App Store screenshots and preview videos. It enables searching the directory by app, category, or chart rank, and offers generation tools to restyle existing screenshots using AI inspiration or localize text into 40+ languages with automatic layout adaptation.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

MagicScreenshots MCP logo, by HumanleapCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by Humanleap
MCP endpoint (Streamable HTTP)
https://www.magicscreenshots.com/api/mcp
Vendor documentation

What its tools do

19 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

19 of 19 have a description · 19 of 19 declare behavior hints · 4 of 16 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search App Store screenshots by app name, category, or chart rank
  • Restyle screenshots using AI inspiration from top apps
  • Localize screenshot text into 40+ languages with RTL support
  • Download preview videos and view listing history

Source and maintenance

Community listingRegistry 1.3.0
Maintenance checked

Protocol and capabilities

Server
magicscreenshots 1.3.0
MCP protocol negotiated in check
2024-11-05
Tools
19 advertised
Resources
0 advertised
Resource templates
3 advertised
Prompts
2 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

MagicScreenshots is the library of real App Store screenshots, app preview posters, and in-app event photos: the top free and top-grossing apps in every Apple category, refreshed daily, with listing history. Use it as design inspiration, then generate the user's own screenshots in that style. A short search is free: 3 apps and 3 screenshots from the US listing. The rest of the library, other countries, similar apps, videos and history are Library Pro at $19 a month. Send Authorization: Bearer with a claimed key or a signed-in session that has Library Pro for the full search. Start with list_directory_apps (filter by category, look, chart or has_video), list_directory_categories or list_directory_tags, then get_directory_app / get_directory_screens. To generate your own screenshots: call create_api_key, look up the user's app with get_screenshots and live=true, then create_restyle. Copying a library app with inspiration_slug also needs Library Pro. Poll get_job_group until overview_url exists, ask the human to approve, then approve_restyle. Restyle and localize need the human to open claim_url, sign in, and pay. Generation is separate from the library plan. Directory screens are listing shots (1290×2796). Do not treat this catalog as in-app UI like Mobbin.

Tools

19 advertised

create_api_key — Create API key
Advertised by the server during the last successful anonymous check.
Open-world

Create an agent API key without an account. A short library search is free. The rest of the library needs Library Pro, $19 a month, on a claimed key. Live App Store lookup of the user's own app works with the key. Restyle and localize require the human to open claim_url, sign in, and pay.

create_api_key input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Optional label for the key, such as the agent or chat name."
    }
  },
  "additionalProperties": false
}
create_api_key annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
list_directory_categories — List directory categories
Advertised by the server during the last successful anonymous check.
Advertised read-only

List App Store screenshot directory categories (Finance, Food & Drink, Productivity, …) with app counts. Use this first when an agent wants inspiration by genre. A short search is free. The rest of the library is Library Pro, $19 a month.

list_directory_categories input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_directory_categories annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_directory_tags — List directory tags
Advertised by the server during the last successful anonymous check.
Advertised read-only

List listing-screenshot treatments (headline, device-frame, lifestyle, dark, character, social-proof, …) with app counts. These are App Store creative tags, not in-app UI patterns. A short search is free. The rest of the library is Library Pro, $19 a month.

list_directory_tags input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_directory_tags annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_directory_apps — Search the screenshot library
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search thousands of real App Store listings (the top 100 free and top-grossing apps in every Apple category, refreshed daily). Filter by text, Apple genre slug, listing look (tag), today's chart rank, or apps that have preview videos. Returns slugs for get_directory_app, get_app_videos, get_app_history and create_restyle. Without Library Pro this returns 3 apps. The rest is $19 a month.

list_directory_apps input schema
{
  "type": "object",
  "properties": {
    "tag": {
      "type": "string",
      "description": "Listing-look slug from list_directory_tags, such as headline, device-frame or dark."
    },
    "chart": {
      "enum": [
        "free",
        "grossing"
      ],
      "type": "string",
      "description": "With category: order by today's top free or top grossing chart for that category."
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "description": "App name, developer, slug or Apple ID. Example: \"duolingo\"."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "minimum": 0,
      "description": "For paging; count in the response is the total match count."
    },
    "category": {
      "type": "string",
      "description": "Genre slug from list_directory_categories, such as finance or food-drink."
    },
    "platform": {
      "enum": [
        "ios",
        "android"
      ],
      "type": "string",
      "description": "ios (App Store) or android (Google Play). Default: both."
    },
    "has_video": {
      "type": "boolean",
      "description": "Only apps whose listing has an App Store preview video."
    }
  },
  "additionalProperties": false
}
list_directory_apps annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_directory_app — Get directory app
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get one directory app: metadata, ordered listing screenshots, app preview posters, and in-app event photos (as markdown images), related apps in the same genre, and the create_restyle arguments to copy that style. Without Library Pro this returns 3 screenshots. The rest, similar apps, and other countries are $19 a month.

get_directory_app input schema
{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Directory slug such as duolingo, monzo, or doordash."
    },
    "query": {
      "type": "string",
      "description": "App name if you do not have a slug."
    },
    "app_id": {
      "type": "string",
      "description": "Apple numeric app ID."
    }
  },
  "additionalProperties": false
}
get_directory_app annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_directory_screens — Get directory screens
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the ordered App Store listing screenshots for a library app, including markdown images a vision model can inspect. Pass country (jp, de, ...) for that storefront's screenshots and in-app events. Index is 1-based and matches /apps/:slug/screens/:index. Without Library Pro this returns the first 3 US screenshots. Other countries and the rest are $19 a month.

get_directory_screens input schema
{
  "type": "object",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Directory slug such as duolingo."
    },
    "index": {
      "type": "integer",
      "minimum": 1,
      "description": "Optional 1-based screenshot index."
    },
    "country": {
      "type": "string",
      "maxLength": 2,
      "minLength": 2,
      "description": "App Store country for the localized listing, e.g. jp, de, fr, kr, cn, br, es, it, sa. Default us. get_directory_app lists which storefronts exist."
    }
  },
  "additionalProperties": false
}
get_directory_screens annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_app_videos — Get App Store preview videos
Advertised by the server during the last successful anonymous check.
Advertised read-only

App Store preview videos for a library app, including 1-hour download links to the mp4 files. Needs Library Pro, $19 a month. Pass slug from list_directory_apps.

get_app_videos input schema
{
  "type": "object",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Library slug such as instagram."
    }
  },
  "additionalProperties": false
}
get_app_videos annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_app_history — Get listing history
Advertised by the server during the last successful anonymous check.
Advertised read-only

Every version of an app's App Store listing we have captured (screenshots and preview videos per date), newest first. Needs Library Pro, $19 a month.

get_app_history input schema
{
  "type": "object",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Library slug such as instagram."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
get_app_history annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_magicscreenshots_site_summary — Get site summary
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return a concise summary of MagicScreenshots, the screenshot directory, public routes, MCP tools, and auth requirements.

get_magicscreenshots_site_summary input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_magicscreenshots_site_summary annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_magicscreenshots_markdown — Get page markdown
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fetch a markdown representation of a known MagicScreenshots public page.

get_magicscreenshots_markdown input schema
{
  "type": "object",
  "required": [
    "route"
  ],
  "properties": {
    "route": {
      "enum": [
        "/",
        "/apps",
        "/studio",
        "/localize-app-store-screenshots",
        "/restyle-app-store-screenshots",
        "/ai-app-store-screenshot-generator",
        "/best-app-store-screenshot-localization-tools",
        "/how-to-translate-app-store-screenshots",
        "/languages",
        "/markets",
        "/categories",
        "/top",
        "/pricing",
        "/agents",
        "/tags",
        "/mcp",
        "/mcp/docs",
        "/faq",
        "/legal"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_magicscreenshots_markdown annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_magicscreenshots_discovery_document — Get discovery document
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fetch a known agent discovery document such as API catalog, Agent Skills, MCP, OAuth metadata, OpenAPI, or llms.txt.

get_magicscreenshots_discovery_document input schema
{
  "type": "object",
  "required": [
    "endpoint"
  ],
  "properties": {
    "endpoint": {
      "enum": [
        "/.well-known/api-catalog",
        "/.well-known/agent-skills/index.json",
        "/.well-known/mcp/server-card.json",
        "/.well-known/oauth-protected-resource",
        "/.well-known/openid-configuration",
        "/.well-known/oauth-authorization-server",
        "/openapi.json",
        "/llms.txt"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_magicscreenshots_discovery_document annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_magicscreenshots_languages — List languages
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return supported screenshot localization languages and public guide routes.

list_magicscreenshots_languages input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 50,
      "maximum": 50,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
list_magicscreenshots_languages annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_magicscreenshots_markets — List markets
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return supported App Store market guides and public market routes.

list_magicscreenshots_markets input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 100,
      "maximum": 100,
      "minimum": 1
    },
    "region": {
      "enum": [
        "asia-pacific",
        "europe",
        "americas",
        "middle-east"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_magicscreenshots_markets annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_screenshots — Get screenshots
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fetch high-resolution App Store screenshots. Directory shots return 3 screenshots without Library Pro. The rest of the listing is $19 a month. Pass live=true to look up the current App Store listing of the user's own app (API key required). Use get_directory_app when you already have a catalog slug.

get_screenshots input schema
{
  "type": "object",
  "properties": {
    "live": {
      "type": "boolean",
      "default": false,
      "description": "Skip the directory and fetch the current App Store listing."
    },
    "slug": {
      "type": "string",
      "description": "Directory slug. Returns catalog screens without a live App Store lookup."
    },
    "query": {
      "type": "string",
      "description": "App name to search in the directory, then the App Store."
    },
    "app_id": {
      "type": "string",
      "description": "Apple numeric app ID."
    },
    "app_url": {
      "type": "string",
      "description": "Apple App Store URL."
    },
    "country": {
      "type": "string",
      "default": "us",
      "maxLength": 2,
      "minLength": 2
    }
  },
  "additionalProperties": false
}
get_screenshots annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
create_restyle — Create restyle
Advertised by the server during the last successful anonymous check.
Open-world

Restyle the user's App Store screenshots to match a directory inspiration set. Prefer inspiration_slug from list_directory_apps (duolingo, monzo, doordash, …). Requires an API key; the human must claim the key and pay before generation runs.

create_restyle input schema
{
  "type": "object",
  "required": [
    "source_app"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1
    },
    "source_app": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "query": {
          "type": "string"
        },
        "app_id": {
          "type": "string"
        },
        "app_url": {
          "type": "string"
        },
        "country": {
          "type": "string"
        }
      },
      "description": "The user's app. Use query, app_url, or app_id from get_screenshots.",
      "additionalProperties": true
    },
    "inspiration_app": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "query": {
          "type": "string"
        },
        "app_id": {
          "type": "string"
        },
        "app_url": {
          "type": "string"
        },
        "country": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "inspiration_slug": {
      "type": "string",
      "description": "Directory slug from list_directory_apps / get_directory_app. Preferred over a free-text inspiration query."
    },
    "source_screenshot_urls": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "inspiration_screenshot_urls": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
create_restyle annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
create_localize — Create localize
Advertised by the server during the last successful anonymous check.
Open-world

Create MagicScreenshots localization jobs for source App Store screenshots across one or more target locales.

create_localize input schema
{
  "type": "object",
  "required": [
    "source_app",
    "target_locales"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1
    },
    "source_app": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "query": {
          "type": "string"
        },
        "app_id": {
          "type": "string"
        },
        "app_url": {
          "type": "string"
        },
        "country": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "target_locales": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "object",
            "required": [
              "language"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "country": {
                "type": "string"
              },
              "language": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        ]
      },
      "description": "Locale IDs such as JPN, DEU, FRA, BRA, or objects with language/country."
    },
    "source_screenshot_urls": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
create_localize annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
approve_restyle — Approve restyle
Advertised by the server during the last successful anonymous check.
Open-world

Approve a generated restyle overview and start final screenshot extraction.

approve_restyle input schema
{
  "type": "object",
  "required": [
    "group_id"
  ],
  "properties": {
    "group_id": {
      "type": "string"
    },
    "overview_url": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
approve_restyle annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
get_job_group — Get job group
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Check restyle job group status, overview URL, errors, and final output URLs.

get_job_group input schema
{
  "type": "object",
  "required": [
    "group_id"
  ],
  "properties": {
    "group_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_job_group annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_results — List results
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List recent MagicScreenshots restyle job groups and outputs for the authenticated account.

list_results input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
list_results annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

2 advertised

find_inspiration

Advertised by the server during the last successful anonymous check.

Browse the MagicScreenshots directory for App Store listing styles in a category or by app name.

category
Optional genre slug such as finance or food-drink.
tag
Optional listing-treatment slug such as headline or device-frame.
query
Optional app name to search for.
restyle_like_app

Advertised by the server during the last successful anonymous check.

Restyle the user's screenshots to match a directory inspiration app, then poll until outputs are ready.

inspiration_slug
Directory slug such as duolingo or monzo. (required)
source_app
The user's app name or App Store URL. (required)

Resources

0 advertised

Directory app screenshot set

Advertised by the server during the last successful anonymous check.

One catalog app: listing screenshots, app preview posters, and in-app event photos.

Directory app screenshot set URI template
magicscreenshots://directory/apps/{slug}

MIME type: application/json

Directory listing screenshot

Advertised by the server during the last successful anonymous check.

One 1-based listing screenshot from a catalog app.

Directory listing screenshot URI template
magicscreenshots://directory/apps/{slug}/screens/{index}

MIME type: application/json

Directory listing-tag apps

Advertised by the server during the last successful anonymous check.

Catalog apps that use a listing treatment such as headline or device-frame.

Directory listing-tag apps URI template
magicscreenshots://directory/tags/{slug}

MIME type: application/json

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
600 ms
95th percentile latency
600 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 600 ms · metadata changed · 19 tool(s), 0 resource(s), 3 resource template(s), 2 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http magicscreenshots-mcp https://www.magicscreenshots.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add magicscreenshots-mcp --url https://www.magicscreenshots.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable magicscreenshots-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "magicscreenshots-mcp": {
      "url": "https://www.magicscreenshots.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "magicscreenshots-mcp": {
      "type": "streamableHttp",
      "url": "https://www.magicscreenshots.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start magicscreenshots-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "magicscreenshots-mcp": {
      "type": "http",
      "url": "https://www.magicscreenshots.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http magicscreenshots-mcp https://www.magicscreenshots.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://www.magicscreenshots.com/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "magicscreenshots-mcp": {
      "serverUrl": "https://www.magicscreenshots.com/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like MagicScreenshots MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.