Skip to main content
Glama
ui-screenshot-mcp
by Angioz

ui-screenshot-mcp

An MCP server and CLI for UI research. Search real app and website screens from public design libraries, download them into a local library that is organized by category, search that library later, and screenshot any web page with a real browser.

Works with Claude Code, Claude Desktop, Gemini CLI, Codex and any other MCP client.

Features

  • Search design libraries: Refero (iOS and web), Mobbin (iOS, Android, web), ScreensDesign and Dribbble.

  • Build a local library: download a whole app or a search into <library>/<category>/<app>/. Downloads resume, and screens locked behind a paywall are skipped.

  • Search offline: each image has a .json file with its source, app and tags, and library_search matches against it.

  • Capture web pages: full page, single element or viewport, with waits for animations and a way to hide cookie banners.

Related MCP server: Mobbin Agent

Install

/plugin marketplace add Angioz/ui-screenshot-mcp
/plugin install ui-screenshot-mcp@angioz

This installs the MCP server and the ui-screenshot-mcp skill, which teaches Claude how to use the tools. Claude Code asks where to keep the library; leave it empty for ~/.ui-library.

Any MCP client

{
  "mcpServers": {
    "ui-screenshot": {
      "command": "npx",
      "args": ["-y", "ui-screenshot-mcp"],
      "env": { "UI_LIBRARY_DIR": "/path/to/your/ui-library" }
    }
  }
}

Or with the Claude Code CLI:

claude mcp add --scope user ui-screenshot -- npx -y ui-screenshot-mcp

To use the skill in other harnesses, copy skills/ui-screenshot-mcp/ into their skills folder.

Browser

Web capture and Dribbble search need a Playwright browser. Install it once:

npx playwright install chromium

Configuration

Variable

Default

Purpose

UI_LIBRARY_DIR

~/.ui-library

Where downloaded screens are saved

MOBBIN_COOKIES

<library>/mobbin-cookies.txt

Mobbin login cookies (see below)

Mobbin login

Mobbin only serves screens to logged-in users. To use it:

  1. Log in at mobbin.com in your browser.

  2. Export the site's cookies in Netscape cookies.txt format, for example with the "Get cookies.txt LOCALLY" extension.

  3. Save the file as mobbin-cookies.txt in your library folder, or point MOBBIN_COOKIES at it.

The file is a login: keep it private and never commit it. Free plans only open part of each app, and locked screens are skipped. When the login expires, export the cookies again.

Sources

Source id

Search returns

Account

refero-ios, refero-web

screens

none

screensdesign

apps

none

mobbin-ios, mobbin-android, mobbin-web

apps

Mobbin login

dribbble

shots

none

Use the appId from an app result with get_ui_screens or download_ui.

Library layout

~/.ui-library/
├── 01-onboarding/
│   └── duolingo/
│       ├── 6d1f….webp
│       └── 6d1f….webp.json
├── 06-paywalls/
└── 99-other/

The category comes from the search query when it names one, otherwise from the screen's first matching tag. The categories are:

01-onboarding, 02-authentication, 03-main-feed, 04-profile, 05-dashboard, 06-paywalls, 07-navigation, 08-search-discover, 09-saved-collections, 10-settings, 11-ai-chat, 12-quiz-gamification, 13-empty-states, 14-notifications, 15-progress, 16-loading, 17-dark-mode and 18-selection. Anything that matches none of them goes to 99-other.

MCP tools

Tool

What it does

ui_sources

List sources; with check: true, test each one live

search_ui

Search a source (source, query, page)

get_ui_screens

List one app's screens with tags (source, appId, page)

download_ui

Save an app (appId) or a search (query) into the library, with a limit

library_search

Search the local library by words

library_stats

Library folder, image count and size per folder

capture_screenshot

Screenshot a URL or an open session (url, selector, fullPage, width, height, waitUntil, delayMs, waitForSelector, hideSelectors, scrollY, scrollToSelector, deviceScaleFactor, outputPath)

open_browser / close_browser

Keep a browser session open for several captures

list_screenshots

List captured screenshots

CLI

The same features without an MCP client:

npx ui-screenshot-mcp            # MCP server on stdio
npm i -g ui-screenshot-mcp       # installs the `ui-screenshot` CLI

ui-screenshot sources --check
ui-screenshot search --source refero-ios --query paywall
ui-screenshot screens --source screensdesign --app 862
ui-screenshot sync --source refero-ios --query onboarding --limit 50
ui-screenshot library --query "duolingo paywall"
ui-screenshot capture --url https://example.com --full-page --output page.png
ui-screenshot --help

Development

git clone https://github.com/Angioz/ui-screenshot-mcp
cd ui-screenshot-mcp
npm install
npx playwright install chromium
npm test

Disclaimer

This project is not affiliated with Refero, Mobbin, ScreensDesign or Dribbble. It uses their public web endpoints, which can change without notice. Respect each site's terms, keep downloads for personal reference and research, and don't redistribute the images.

License

MIT © Angioz

Available Tools

10 tools
capture_screenshotB

Capture a screenshot of a webpage or current page. Returns path to saved screenshot.

Inputs: url, width, format, height, +13 more.

close_browserC

Close a browser session

Inputs: sessionId.

download_uiA

Download screens into the local UI library (UI_LIBRARY_DIR, default ~/.ui-library): every screen of an appId, or the results of a query. Already-downloaded and paywalled screens are skipped.

Inputs: source (required), appId, limit, query.

get_ui_screensA

List the screens of one app/site (appId from search_ui results), with image URLs and tags

Inputs: appId (required), source (required), page.

library_statsB

Count the images in the local UI library per source/app folder

Inputs: no named parameters.

list_screenshotsC

List all screenshots in the output directory

Inputs: directory.

open_browserA

Open a browser and navigate to a URL. Returns page ID for subsequent screenshots.

Inputs: url, width, height, browser, +8 more.

search_uiA

Search a UI library source. Returns screens (refero-ios, refero-web, dribbble) or apps (screensdesign, mobbin-*); pass an app's appId to get_ui_screens or download_ui.

Inputs: query (required), source (required), page.

ui_sourcesA

List the UI library sources; with check=true, run a live search on each to report which ones work right now

Inputs: check.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 10 tools

    Disambiguation4/5

    Most tools have distinct purposes: external source exploration (ui_sources, search_ui, get_ui_screens, download_ui), local library management (library_search, library_stats), and browser capture (open_browser, capture_screenshot, close_browser, list_screenshots). The two search tools (search_ui vs library_search) and two image-saving tools (download_ui vs capture_screenshot) could be momentarily confused, but descriptions clarify remote vs local and download vs capture.

    Naming Consistency3/5

    The set mixes verb_noun names (capture_screenshot, open_browser, list_screenshots) with noun_phrases (ui_sources, library_stats) and uses inconsistent prefixes like 'ui_' and 'library_' for related concepts. It remains readable, but the convention is not predictable across all tools.

    Tool Count5/5

    Ten tools is well-scoped for a server that covers source discovery, search, screenshot capture, download, and local library management. Each tool has a clear role in the workflow without unnecessary duplication.

    Completeness4/5

    The surface covers the main lifecycle: discovering sources, searching remote and local libraries, downloading screens, opening a browser, capturing screenshots, and listing outputs. Minor gaps exist, such as no explicit tool to delete or update local library entries, but core workflows are covered.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      MCP server that scrapes Terminal Trove to search CLI/TUI tools and retrieve design references like screenshots and install commands for agentic UI research.
      12
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      An MCP server that works with Mobbin — 600k+ real app screens and flows from 1,100+ apps. Search screens, browse flows, grab palettes, build better UI without leaving Claude.
      6
      ISC
    • A
      license
      Not graded
      quality
      A
      maintenance
      Screenshot any URL from the command line with metadata sidecars, accessibility audits, visual regression, performance analysis, and MCP integration for AI-assisted development.
      34 npm
      1
      MIT