Skip to main content
Glama
niceapps-creative-studio

niceapps-creative-studio

by ilyastorunn

Niceapps Creative Studio

Turn App Store inspiration into an evidence-backed screenshot brief.

npm CI License: MIT

Install · How it works · Tools · Limitations

Niceapps Creative Studio is an analysis-first MCP server for developers preparing App Store screenshots. It studies your app alongside human-reviewed campaigns from niceapps.club, then helps an AI agent produce a clearer story, stronger copy, and a concrete art-direction brief.

It does not generate finished marketing artwork. The first public version is deliberately focused on the part it can do reliably: research, reasoning, critique, and measurable QA.

Why this exists

“Make screenshots like this app” is a weak creative brief. It encourages imitation, generic templates, and unexplained design choices.

Creative Studio gives the agent better evidence:

  • relevant screenshot references, selected at frame level rather than by category alone;

  • the actual reference images in a visual comparison board;

  • an explanation of why each reference is useful;

  • a screen-by-screen narrative, copy, and source-screen plan;

  • art direction described as hierarchy, crop, material, typography, composition, and image-making method;

  • memory for rejected directions so the next proposal changes meaningfully;

  • copy-fit and export checks that remain separate from subjective design review.

Related MCP server: AppScreenshots MCP

Install

Requires Node.js 20 or newer and any MCP-compatible client.

OpenAI Codex

codex mcp add niceapps-creative-studio -- npx -y niceapps-creative-studio@latest

Or install the Codex plugin to load both the MCP server and the screenshot-planning skill:

codex plugin marketplace add ilyastorunn/niceapps-creative-studio --ref main
codex plugin add niceapps-creative-studio@niceapps

Claude Code

claude mcp add --scope user niceapps-creative-studio -- npx -y niceapps-creative-studio@latest

Claude Desktop, Cursor, and Windsurf

Add this server to your client's MCP JSON configuration:

{
  "mcpServers": {
    "niceapps-creative-studio": {
      "command": "npx",
      "args": ["-y", "niceapps-creative-studio@latest"]
    }
  }
}

Common configuration locations:

Client

Configuration

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json on macOS

Cursor

~/.cursor/mcp.json for user scope or .cursor/mcp.json for project scope

Windsurf

~/.codeium/windsurf/mcp_config.json

On Windows, use "command": "cmd" and begin the arguments with "/c", "npx".

VS Code

Add .vscode/mcp.json to a workspace, or use the corresponding user-level MCP configuration:

{
  "servers": {
    "niceapps-creative-studio": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "niceapps-creative-studio@latest"]
    }
  }
}

Gemini CLI

Add the server to ~/.gemini/settings.json:

{
  "mcpServers": {
    "niceapps-creative-studio": {
      "command": "npx",
      "args": ["-y", "niceapps-creative-studio@latest"]
    }
  }
}

Any stdio MCP client

Run the package through npx and configure the client to communicate over standard input/output:

npx -y niceapps-creative-studio@latest

The server writes protocol messages to stdout, so launching it directly may appear to do nothing. That is expected; normally an MCP client starts and controls the process.

Restart the client or begin a new conversation after installation so it discovers the tools.

Try it

Give the agent an App Store URL, product brief, or a set of current screenshots:

Analyze this app and plan a five-frame App Store screenshot story. Find visually and rhetorically relevant Niceapps references, show me the reference board, explain what is worth borrowing, and propose the messaging, source screen, composition, and art direction for every frame. Do not generate final artwork.

For critique:

Review my current screenshot set against the product promise and the selected references. Separate messaging, narrative, visual-system, copy-fit, and technical-export problems. Prioritize the three changes with the highest impact.

For a rejected direction:

I rejected this direction because it feels like a generic gradient template. Record that feedback and define two replacements that change both the image-making method and composition system—not just the palette.

How it works

flowchart LR
    A[App context] --> B[Reference retrieval]
    B --> C[Visual reference board]
    C --> D[Messaging and narrative]
    D --> E[Art-direction brief]
    E --> F[Human design work]
    F --> G[Copy and export QA]

The catalog currently contains 418 human-reviewed frames across all 55 apps in the reviewed 2026-09-17 catalog snapshot. Retrieval considers communication job, headline pattern, product language, visual style, composition, background, and device treatment. Results include match reasons and can exclude the target app or cap repeated results from one campaign.

Annotations are an index, not a substitute for sight. get_reference_board returns the selected screenshots as an image so the agent must inspect the actual hierarchy, crop, lighting, material, typography, collage, and product scale before proposing a direction.

What you get

A useful response should include:

  1. A normalized product brief with unknowns marked explicitly.

  2. A small reference set split into product, visual, and communication relevance.

  3. A positioning statement and the primary audience.

  4. An ordered screenshot story with one job per frame.

  5. Draft headline and supporting copy for each locale.

  6. The real in-app screen or state needed for every frame.

  7. A concrete art-direction brief tied to visible reference evidence.

  8. Risks, unsupported claims, and the next decisions a human designer must make.

Tools

Area

Tool

What it does

Catalog

search_apps

Searches the public niceapps.club catalog.

Catalog

get_app

Returns one app and its screenshot URLs.

Research

search_screenshots

Finds reviewed frame-level patterns and explains every match.

Research

get_screenshot_set

Returns a reviewed campaign in storefront order.

Research

get_reference_board

Returns selected real screenshots as an image for visual inspection.

Context

import_app_store

Imports public App Store metadata and current screenshots.

Iteration

record_direction_feedback

Stores why a direction was rejected and what must change or remain.

Iteration

compare_direction_previews

Checks whether externally created alternatives are materially different.

QA

validate_screenshot_copy

Measures localized copy against the target canvas in pixels.

QA

validate_screenshot_set

Checks existing exports for dimensions, format, opacity, and ordering.

The two QA tools validate measurable facts. They do not certify visual quality or predict conversion performance.

Design principles

  • Evidence before aesthetics. Every recommendation points back to the app, a visible reference, or a stated product constraint.

  • References are not templates. The server extracts principles; it does not reproduce another campaign.

  • Real gaps stay visible. Weak catalog coverage is reported instead of forcing an unrelated match.

  • Rejection changes the system. A replacement must alter image-making method and composition, not merely color or decoration.

  • Human judgment remains the final gate. Technical validity and creative acceptance are different questions.

Privacy and writes

  • Catalog and App Store lookups use public data.

  • The server does not upload screenshots, edit your app, or publish to App Store Connect.

  • No API key is required for the default public catalog.

  • Direction feedback and optional comparison boards are written only when you provide an explicit local path beneath the current project or operating-system temporary directory.

  • Set NICEAPPS_API_URL only if you want to use a different catalog API origin. The default is https://api.niceapps.club.

Honest limitations

  • The reviewed catalog is intentionally small and will not cover every product or visual language.

  • Reference relevance is explainable lexical retrieval plus human-authored annotations, not proof of conversion lift.

  • The MCP can critique and specify art direction, but it cannot replace a strong graphic designer or produce finished App Store artwork.

  • Copy measurement currently targets the supported 1290 × 2796 iPhone canvas and local font fallbacks can vary by operating system.

  • Cross-platform behavior beyond the current macOS verification remains incomplete.

Development

git clone https://github.com/ilyastorunn/niceapps-creative-studio.git
cd niceapps-creative-studio
npm install
npm test
npm run eval:retrieval
npm pack --dry-run

To inspect the server interactively:

npx -y @modelcontextprotocol/inspector npx -y niceapps-creative-studio@latest

See the project wiki, changelog, contribution guide, security policy, and architecture notes.

Status and roadmap

Creative Studio is an early public preview. The next milestones are broader reviewed reference coverage, stronger critique evaluations, and additional copy-measurement targets.

Image generation is not on the first-version roadmap. It should return only after repeatable evaluation shows that it improves on a designer-ready brief.

License

MIT © niceapps.club contributors

Available Tools

10 tools
compare_direction_previewsCompare replacement direction previewsB

Build one visual board for two to four opening-frame previews and reject candidates that do not materially change the image-making method, composition, and enough core visual axes. Use before expanding any replacement into a full set.

Inputs: rejected (required), candidates (required), output_path, minimum_changed_axes.

get_appGet niceapps.club appA

Get one catalog app and its screenshot URLs by slug.

Inputs: slug (required).

get_reference_boardView selected screenshot referencesA

Fetch selected approved niceapps.club screenshots and return one visual comparison board. Use after retrieval and visually inspect the actual compositions before proposing art direction; annotations alone are insufficient.

Inputs: screenshot_ids (required).

get_screenshot_setGet an annotated screenshot setA

Return the ordered, human-reviewed screenshot annotations for one niceapps.club app slug.

Inputs: slug (required).

import_app_storeImport App Store contextA

Load public App Store metadata and current screenshots from an App Store URL or Apple ID.

Inputs: input (required).

record_direction_feedbackRecord rejected creative directionA

Persist a rejected direction and the user’s reason so later iterations do not silently repeat the same image-making method, composition, palette, or device treatment.

Inputs: reason (required), project_id (required), fingerprint (required), direction_id (required), +3 more.

search_appsSearch niceapps.clubA

Find screenshot references in the niceapps.club catalog. Results are candidates, not conversion evidence.

Inputs: limit, query, category.

search_screenshotsSearch curated screenshot patternsA

Search human-reviewed screenshot-level annotations by communication job, visual style, composition, device treatment, and category. Results explain their text-match reasons and are references, not conversion evidence.

Inputs: limit, query, category, composition, +5 more.

validate_screenshot_copyPreflight screenshot copyB

Rasterize localized screenshot copy with the same typography and target dimensions as the renderer, then report exact pixel widths and copy-to-source collisions before any files are written.

Inputs: frames (required), slot, width, height, +1 more.

validate_screenshot_setValidate App Store screenshot filesC

Validate local screenshot files for dimensions, format, opacity, readable image data, and deterministic sequence naming. Reports visual-review and source-fidelity gates separately.

Inputs: slot (required), files (required), expected (required), locale, +4 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 10 tools

    Disambiguation4/5

    Most tools target clearly distinct resources: catalog apps, screenshot annotations, reference boards, preview comparisons, and validations. A few pairs like search_apps/search_screenshots and get_reference_board/compare_direction_previews could be confused, but their descriptions clarify intent.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern: search_, get_, validate_, import_, record_, compare_. There are no mixed conventions or vague generic verbs.

    Tool Count5/5

    Ten tools cover the advertised creative-studio workflow without bloat. Each tool has a distinct role in research, direction, comparison, validation, or import.

    Completeness4/5

    The set covers the main workflow: reference discovery, retrieval, board creation, direction feedback, preview comparison, and validation. A notable minor gap is that record_direction_feedback persists rejected directions but no tool retrieves or lists that persisted feedback.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to draft evidence-grounded cold-email openers, A/B variants, personalized LinkedIn DMs, and SEO content-gap plans for sales and marketing outreach.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to research mobile apps, compare onboarding and paywall flows, explore App Store reviews, and find visual UI references, bringing real screens and market context into their research.
      3
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to search a daily-updated library of real App Store screenshots, preview videos and listing history from thousands of top apps by category, chart, look or app name. It also generates and localizes the user's own App Store screenshots at App Store resolution, restyled after any app in the library.
      MIT