Skip to content

MagicScreenshots

by Humanleap · remote · no sign-in to list tools · v1.3.0 · published by GitHub user Humanleap

Search real App Store screenshots and preview videos; generate and localize your own.

Changes · 4

19 tools: 4 change things and 15 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http magicscreenshots https://www.magicscreenshots.com/api/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

19 tools

Changes things 4Claude Code: ask
  • approve_restyleApprove a generated restyle overview and start final screenshot extraction.No findings

    Why it is in this group

    • The name "approve_restyle" says "approve": a word for a change.
    Description, as the server wrote it
    Approve a generated restyle overview and start final screenshot extraction.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • create_api_keyCreate an agent API key without an account.No findings

    Why it is in this group

    • The name "create_api_key" says "create": a word for a change.
    Description, as the server wrote it
    Create an agent API key without an account. Directory browse works with no key. Screenshot lookup works immediately with the key. Restyle and localize require the human to open claim_url, sign in, and pay.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • create_localizeCreate MagicScreenshots localization jobs for source App Store screenshots across one or more target locales.No findings

    Why it is in this group

    • The name "create_localize" says "create": a word for a change.
    Description, as the server wrote it
    Create MagicScreenshots localization jobs for source App Store screenshots across one or more target locales.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • create_restyleRestyle the user's App Store screenshots to match a directory inspiration set.No findings

    Why it is in this group

    • The name "create_restyle" says "create": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 15Claude Code: allow
  • get_app_historyEvery version of an app's App Store listing we have captured (screenshots and preview videos per date), newest first.No findings

    Why it is in this group

    • The name "get_app_history" says "get": a word for reading.
    Description, as the server wrote it
    Every version of an app's App Store listing we have captured (screenshots and preview videos per date), newest first. Shows how top apps change their creative over time. Needs a Pro API key; without one it returns how many versions exist.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_app_videosApp Store preview videos for a library app: poster frames for everyone; with a Pro API key, 1-hour download links to the mp4 files (about 30 s each).No findings

    Why it is in this group

    • The name "get_app_videos" says "get": a word for reading.
    Description, as the server wrote it
    App Store preview videos for a library app: poster frames for everyone; with a Pro API key, 1-hour download links to the mp4 files (about 30 s each). Use them as reference when making your own app preview video. Pass slug from list_directory_apps (has_video=true finds apps that have them).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_directory_appGet one directory app: metadata, ordered listing screenshot URLs (as markdown images), related apps in the same genre, and the create_restyle arguments to copy that style.No findings

    Why it is in this group

    • The name "get_directory_app" says "get": a word for reading.
    Description, as the server wrote it
    Get one directory app: metadata, ordered listing screenshot URLs (as markdown images), related apps in the same genre, and the create_restyle arguments to copy that style. No API key required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_directory_screensGet the ordered App Store listing screenshots for a library app, including markdown images a vision model can inspect.No findings

    Why it is in this group

    • The name "get_directory_screens" says "get": a word for reading.
    Description, as the server wrote it
    Get the ordered App Store listing screenshots for a library app, including markdown images a vision model can inspect. Pass country (jp, de, ...) for the localized listing in that storefront. Index is 1-based and matches /apps/:slug/screens/:index. No API key required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_job_groupCheck restyle job group status, overview URL, errors, and final output URLs.No findings

    Why it is in this group

    • The name "get_job_group" says "get": a word for reading.
    Description, as the server wrote it
    Check restyle job group status, overview URL, errors, and final output URLs.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_magicscreenshots_discovery_documentFetch a known agent discovery document such as API catalog, Agent Skills, MCP, OAuth metadata, OpenAPI, or llms.txt.No findings

    Why it is in this group

    • The name "get_magicscreenshots_discovery_document" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a known agent discovery document such as API catalog, Agent Skills, MCP, OAuth metadata, OpenAPI, or llms.txt.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_magicscreenshots_markdownFetch a markdown representation of a known MagicScreenshots public page.No findings

    Why it is in this group

    • The name "get_magicscreenshots_markdown" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a markdown representation of a known MagicScreenshots public page.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_magicscreenshots_site_summaryReturn a concise summary of MagicScreenshots, the screenshot directory, public routes, MCP tools, and auth requirements.No findings

    Why it is in this group

    • The name "get_magicscreenshots_site_summary" says "get": a word for reading.
    Description, as the server wrote it
    Return a concise summary of MagicScreenshots, the screenshot directory, public routes, MCP tools, and auth requirements.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_screenshotsFetch high-resolution App Store screenshots.No findings

    Why it is in this group

    • The name "get_screenshots" says "get": a word for reading.
    Description, as the server wrote it
    Fetch high-resolution App Store screenshots. If the app is in the MagicScreenshots directory, returns those curated listing shots (with markdown images) with no API key. Otherwise looks up the live App Store listing (API key required). Pass live=true to skip the directory. Use this for the user's own app; use get_directory_app when you already have a catalog slug.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_directory_appsSearch thousands of real App Store listings (the top 100 free and top-grossing apps in every Apple category, refreshed daily).No findings

    Why it is in this group

    • The name "list_directory_apps" says "list": a word for reading.
    Description, as the server wrote it
    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. No API key required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_directory_categoriesList App Store screenshot directory categories (Finance, Food & Drink, Productivity, …) with app counts.No findings

    Why it is in this group

    • The name "list_directory_categories" says "list": a word for reading.
    Description, as the server wrote it
    List App Store screenshot directory categories (Finance, Food & Drink, Productivity, …) with app counts. Use this first when an agent wants inspiration by genre. No API key required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_directory_tagsList listing-screenshot treatments (headline, device-frame, lifestyle, dark, character, social-proof, …) with app counts.No findings

    Why it is in this group

    • The name "list_directory_tags" says "list": a word for reading.
    Description, as the server wrote it
    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. No API key required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_magicscreenshots_languagesReturn supported screenshot localization languages and public guide routes.No findings

    Why it is in this group

    • The name "list_magicscreenshots_languages" says "list": a word for reading.
    Description, as the server wrote it
    Return supported screenshot localization languages and public guide routes.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_magicscreenshots_marketsReturn supported App Store market guides and public market routes.No findings

    Why it is in this group

    • The name "list_magicscreenshots_markets" says "list": a word for reading.
    Description, as the server wrote it
    Return supported App Store market guides and public market routes.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_resultsList recent MagicScreenshots restyle job groups and outputs for the authenticated account.No findings

    Why it is in this group

    • The name "list_results" says "list": a word for reading.
    Description, as the server wrote it
    List recent MagicScreenshots restyle job groups and outputs for the authenticated account.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http magicscreenshots https://www.magicscreenshots.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__magicscreenshots__list_directory_categories",
      "mcp__magicscreenshots__list_directory_tags",
      "mcp__magicscreenshots__list_directory_apps",
      "mcp__magicscreenshots__get_directory_app",
      "mcp__magicscreenshots__get_directory_screens",
      "mcp__magicscreenshots__get_app_videos",
      "mcp__magicscreenshots__get_app_history",
      "mcp__magicscreenshots__get_magicscreenshots_site_summary",
      "mcp__magicscreenshots__get_magicscreenshots_markdown",
      "mcp__magicscreenshots__get_magicscreenshots_discovery_document",
      "mcp__magicscreenshots__list_magicscreenshots_languages",
      "mcp__magicscreenshots__list_magicscreenshots_markets",
      "mcp__magicscreenshots__get_screenshots",
      "mcp__magicscreenshots__get_job_group",
      "mcp__magicscreenshots__list_results"
    ],
    "ask": [
      "mcp__magicscreenshots__create_api_key",
      "mcp__magicscreenshots__create_restyle",
      "mcp__magicscreenshots__create_localize",
      "mcp__magicscreenshots__approve_restyle"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as magicscreenshots. Review it before you use it.