Analyzes Android app screenshots for UI/UX issues following Material Design guidelines, including batch processing and design comparison capabilities.
Compares Figma design exports against actual implementation screenshots to identify design inconsistencies and measure consistency scores.
Analyzes iOS app screenshots for UI/UX issues following Human Interface Guidelines (HIG), including batch processing and design comparison capabilities.
Uses OpenAI's GPT-5.2 and GPT-4o models via the Responses API to perform AI-powered analysis of screenshots for UI/UX issues and design comparisons.
Screenshot Analyzer MCP
AI-powered screenshot analysis for UI/UX issues using GPT-5.2
A Model Context Protocol (MCP) server that acts as "eyes" for AI coding assistants, analyzing app screenshots to identify UI/UX problems, compare designs with implementations, and provide actionable fixes.
Features
Single/Multi Screenshot Analysis - Analyze 1-10 screenshots at once
Batch Analysis - Process entire folders with automatic batching
Design Comparison - Compare design mockups vs actual screenshots
Fast Mode - Quick scans with gpt-4o-mini at lower cost
Report History - Store and retrieve past analysis reports
Concurrent Loading - Parallel URL fetching (10x faster)
Auto Retry - Exponential backoff for rate limits
Requirements
Python 3.10+
OpenAI API key (with GPT-5.2 or GPT-4o access)
Claude Code CLI (for MCP integration)
Installation
1. Clone the Repository
2. Install Dependencies
Or with requirements.txt:
3. Add to Claude Code
Add to your global settings (~/.claude/settings.json):
Or use Claude CLI:
4. Set Your API Key
In Claude Code, run:
Or create config.json in the same directory:
Available Tools
Tool | Description |
| Analyze screenshots for UI/UX issues |
| Batch analyze folder or multiple files |
| Compare design mockup vs implementation |
| Toggle fast/precise mode |
| List recent analysis reports |
| Retrieve a specific report |
| Get the most recent report |
| Configure OpenAI API key |
| Set reasoning level (none/low/medium/high/xhigh) |
| View current configuration |
Usage Examples
Basic Analysis
Batch Analysis
Design Comparison
Fast Mode (Lower Cost)
Output Format
Analysis Report
Comparison Report
Configuration Options
Option | Default | Description |
| (required) | OpenAI API key |
|
| Model for analysis |
|
| Reasoning level |
|
| Max dimension in pixels |
|
| Compression quality |
|
| Use faster/cheaper model |
|
| Model for fast mode |
|
| Reasoning in fast mode |
Tolerance Levels (Design Comparison)
Level | Description |
| Flag all differences, even 1px variations |
| Flag noticeable differences (2-4px, visible color mismatches) |
| Only flag significant differences affecting UX |
Technical Details
Uses OpenAI GPT-5.2 Responses API (
/v1/responses)Automatic image compression (max 1024px, JPEG 85%)
Concurrent URL loading with
asyncio.gather()Exponential backoff retry (429/5xx errors)
Report history cache (last 20 reports)
Supports PNG, JPEG, GIF, WebP, BMP formats
Auto-repair corrupted images (e.g., Android screencap with text header)
Platform Support
Platform | Guidelines |
| Human Interface Guidelines (HIG) |
| Material Design |
| WCAG, modern web standards |
| Platform-specific guidelines |
Troubleshooting
"API key not configured"
Run set_api_key tool or create config.json with your key.
"Request timed out"
Reduce number of images per request
Enable fast mode for quicker responses
Use
batch_analyzefor many images
"429 Rate Limit"
The server automatically retries with exponential backoff. If persistent, wait a few minutes or upgrade your OpenAI plan.
Corrupted Images (Android screencap)
If your screenshots have text/warnings embedded at the beginning (common with Android adb exec-out screencap), the MCP will automatically repair them by finding the actual image data.
To prevent this in your capture scripts:
License
MIT License - see LICENSE file for details.
Contributing
Pull requests welcome! Please ensure:
Code follows existing style
Add tests for new features
Update README for new tools
Made with Claude Code