Frontend expert for Claude Code. Screenshots, Lighthouse, axe-core, code analysis, auto-fix.
io.github.prembobby39-gif/uimax-mcp (MCP)
This Model Context Protocol (MCP) server acts as a frontend expert for Claude Code. It performs UI review and diagnostics focused on accessibility and front-end quality. The project includes screenshot collection, Lighthouse reports, axe-core checks, code analysis, and automated fixing.
Audits SEO โ 18 checks: meta tags, Open Graph, Twitter cards, structured data, heading hierarchy, canonical URLs
Scans your code โ AST-based analysis for 25+ anti-patterns across accessibility, design, and code quality
Grades everything โ per-section Report Card with letter grades (A+ through F) for Accessibility, Performance, Best Practices, SEO, and Code Quality
Generates an expert review โ Claude acts as a senior frontend engineer with a baked-in review methodology
Implements the fixes โ edits your actual code files, starting from critical issues down
Tracks everything โ auto-saves review history so you can see progress over time
Works on any URL โ localhost, staging, production. Any site your machine can reach.
Free for all Claude Code users (Pro plan and above). No API keys. No extra costs. Just install and go.
bash
claude mcp add uimax -- npx -y uimax-mcp
Quick Start
Install as MCP Server (for Claude Code)
bash
# Add to Claude Code โ that's it, no API keys needed
claude mcp add uimax -- npx -y uimax-mcp
That's it. Now in any Claude Code conversation:
code
You: Review the UI at http://localhost:3000, source code is in ./src
Claude Code calls review_ui ->
1. Captures screenshot of your running app
2. Runs axe-core accessibility audit
3. Runs Google Lighthouse (Performance, A11y, Best Practices, SEO)
4. Measures Core Web Vitals
5. Runs dedicated SEO audit (18 checks)
6. Scans source code with AST-based analysis
7. Generates per-section Report Card (A+ through F letter grades)
8. Returns screenshot + all data + expert review methodology
9. Claude Code generates expert review (using YOUR Pro plan -- $0 extra)
10. Claude Code implements every fix automatically
11. Review saved to .uimax-reviews.json for tracking
Install Globally
bash
npm install -g uimax-mcp
Tools (37)
Review Pipeline
Tool
Description
review_ui
The main tool. Full automated pipeline: screenshot + Lighthouse + axe-core + performance + SEO + code analysis + Report Card (A+-F letter grades) + expert review methodology. Auto-saves to review history.
verify_fixes
New in v0.9.0. Re-run the full audit after applying fixes. Compares against the previous review and shows a before/after Report Card with grade transitions, resolved issue count, and verdict (improved/regressed/mixed). Closes the review-fix-verify loop.
compare_sites
New in v0.9.0. Competitive benchmarking โ audit two URLs side-by-side. Returns screenshots of both sites plus a comparison Report Card with grades for Accessibility, Performance, SEO, and weighted Overall score.
quick_review
Fast design-only review. Screenshot + focused design methodology. No code analysis or performance audit.
export_report
Generate a standalone HTML report with everything embedded. Now includes Report Card grade cards and SEO section. Dark themed, zero dependencies. Share with your team.
Screenshots & Visual
Tool
Description
screenshot
Capture a high-resolution PNG screenshot of any URL.
responsive_screenshots
Screenshots at mobile (375px), tablet (768px), and desktop (1440px) viewports.
check_dark_mode
Compare light mode vs dark mode (emulated). Returns both screenshots + difference percentage.
compare_screenshots
Pixel-level diff using pixelmatch. Returns both screenshots + red-highlighted diff image + exact pixel difference %.
semantic_compare
AI-powered visual comparison. Captures before/after + pixel diff, returns structured methodology for Claude to evaluate whether changes match the intended design request.
Lighthouse, Performance & SEO
Tool
Description
lighthouse_audit
Full Google Lighthouse audit โ Performance, Accessibility, Best Practices, SEO scores + failing audits.
seo_audit
New in v0.8.0. Dedicated SEO audit checking 18 signals: meta title/description, heading hierarchy, Open Graph, Twitter cards, structured data (JSON-LD), canonical URLs, image alt text, viewport meta, lang attribute, and more. Weighted scoring by impact.
pwa_audit
PWA readiness: installable, service worker, HTTPS, manifest, offline capability.
Find unused JavaScript and CSS with exact byte savings per resource.
lcp_optimization
Deep LCP analysis: what the element is, resource load time, render delay, TTFB, optimization suggestions.
resource_analysis
Full resource breakdown by type, transfer sizes, request count, top 10 largest, render-blocking resources.
performance_audit
Core Web Vitals via Performance API: FCP, LCP, CLS, TBT, DOM node count, JS heap size.
accessibility_audit
axe-core WCAG 2.1 Level A & AA audit. Violations grouped by severity with fix instructions.
Code Analysis
Tool
Description
analyze_code
AST-based analysis (TypeScript compiler API) for 25+ rules. Zero false positives on string literals. Falls back to regex for non-JS files. Configurable via .uimaxrc.json.
Browser Interaction
Tool
Description
navigate
Navigate to a URL, wait for network idle. Returns page info + screenshot.
click
Click an element by CSS selector. Returns screenshot after click.
type_text
Type into input fields. Options: clearFirst, pressEnter. Returns screenshot after.
select_option
Select a dropdown option by value. Returns screenshot after.
scroll
Scroll by pixel amount or to a specific element. Returns screenshot after.
wait_for
Wait for an element to appear in the DOM. Returns tag name and text content.
get_element
Get element details: attributes, bounding box, computed styles, visibility.
Debugging
Tool
Description
capture_console
Capture all console messages (log, warn, error, info, debug) + uncaught exceptions during page load.
capture_network
Capture all network requests with status, size, timing, resource type. Summary grouped by type.
capture_errors
Capture JS exceptions, unhandled rejections, and failed resource loads.
Multi-Page
Tool
Description
crawl_and_review
Discover internal links from a URL and audit up to 10 pages โ screenshot + axe-core + performance each.
Baselines & Budgets
Tool
Description
save_baseline
Save current audit state to .uimax-history.json. Track scores over time.
compare_to_baseline
Compare current state vs previous baseline. Shows improvements and regressions with letter grade transitions (e.g., "D -> B+ (+22)").
check_budgets
Enforce performance budgets from .uimaxrc.json. Pass/fail for Lighthouse scores, Web Vitals, violation counts.
Review History
Tool
Description
get_review_history
View past UIMax reviews for this project. Filter by URL, limit count. Now includes letter grades alongside scores.
get_review_stats
Aggregate statistics: total reviews, score trends, most common issues, most problematic files. Includes Code Quality grades.
review_diff
Compare two specific reviews โ new issues, resolved issues, score changes with letter grade transitions.
Every review is auto-saved. When you run review_ui, the results are automatically persisted to .uimax-reviews.json. No manual save needed โ just ask "show me my review history" anytime.
Report Card (A+ through F)
Every review_ui run now generates a per-section Report Card with letter grades on a 13-tier scale:
code
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ REPORT CARD โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโฌโโโโโโโโโโโโโโโโค
โ Section โ Score โ Grade โ Rating โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโผโโโโโโโโโโโโโโโโค
โ Accessibility โ 95 โ A โ Excellent โ
โ Performance โ 72 โ C- โ Below Average โ
โ Best Practices โ 88 โ B+ โ Very Good โ
โ SEO โ 61 โ D- โ Very Weak โ
โ Code Quality โ 83 โ B โ Good โ
โโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโดโโโโโโโโโโโโโโโโ
Grades appear in:
review_ui output โ Report Card table at the top of every review
export_report HTML โ color-coded grade cards (green A -> red F)
You: Review the UI at http://localhost:3000
Source code is in ./src
Claude: [Calls review_ui]
[Captures screenshot, runs Lighthouse + axe + perf + code scan]
[Generates 20+ findings with specific fixes]
[Implements every fix automatically]
[Auto-saves review to .uimax-reviews.json]
Review Any Public Website
code
You: Review the UI at https://stripe.com
Claude: [Calls review_ui]
[Full audit of the live production site]
[Returns findings + recommendations]
Track Progress Over Time
code
You: Show me my review history
Claude: [Calls get_review_history]
[Shows table of past reviews: dates, scores, issue counts]
You: Compare my last two reviews
Claude: [Calls review_diff]
[Shows what improved โ , what regressed โ, new issues, resolved issues]
You: What are my most common issues?
Claude: [Calls get_review_stats]
[Shows trends, most common issues, most problematic files]
Interact with Your App
code
You: Navigate to localhost:3000, click the login button,
type "test@email.com" in the email field
Claude: [Calls navigate โ click โ type_text]
[Returns a screenshot after each action]
[Verifies each step visually]
Deep Performance Analysis
code
You: Find unused code on https://myapp.com
Claude: [Calls unused_code]
[Lists every unused JS/CSS file with byte savings]
[Suggests what to tree-shake]
You: Why is my LCP slow?
Claude: [Calls lcp_optimization]
[Identifies the LCP element, breakdown of load time]
[Specific optimization suggestions]
Verify Fixes (Close the Loop)
code
You: Review and fix my UI at localhost:3000
Claude: [Calls review_ui โ finds 14 issues โ implements fixes]
You: Now verify the fixes worked
Claude: [Calls verify_fixes]
[Re-runs full audit โ compares to previous review]
Fix Verification โ Before vs After
| Metric | Before | After | Change |
| Accessibility violations | 5 | 0 | โ -5 |
| Code findings | 9 | 2 | โ -7 |
| Total issues | 14 | 2 | โ -12 |
Verdict: โ IMPROVED
Competitive Benchmarking
code
You: Compare my site vs stripe.com
Claude: [Calls compare_sites]
[Audits both URLs concurrently]
[Returns screenshots of both sites + comparison table]
| Category | myapp.com | stripe.com | Winner |
| Accessibility | C+ (78) | A (94) | โ stripe.com |
| Performance | B- (81) | A+ (98) | โ stripe.com |
| SEO | D (63) | A (93) | โ stripe.com |
| Overall | C (74) | A (95) | โ stripe.com |
SEO Audit
code
You: Run an SEO audit on https://myapp.com
Claude: [Calls seo_audit]
[Checks 18 SEO signals: meta tags, Open Graph, structured data, etc.]
[Returns score, passing checks, and failed checks with fix recommendations]
[Weighted by impact: critical > high > medium > low]
Debug Page Load Issues
code
You: What console errors does localhost:3000 produce?
Claude: [Calls capture_console]
[Returns all console messages + uncaught exceptions]
You: Show me all network requests on page load
Claude: [Calls capture_network]
[Returns every request: URL, status, size, timing]
[Summary grouped by resource type]
Before/After Comparison
code
You: Compare localhost:3000 with localhost:3001
Claude: [Calls compare_screenshots]
[Pixel-level diff with red-highlighted changes]
[Reports exact pixel difference %]
Semantic Visual Review
code
You: I changed the header to be sticky. Compare before and after.
Claude: [Calls semantic_compare with change description]
[Captures both states + pixel diff]
[Evaluates whether changes match the intent]
[Checks for visual regressions]
Enforce Performance Budgets
code
You: Check if my site meets our performance budgets
Claude: [Calls check_budgets]
[Reads thresholds from .uimaxrc.json]
[Returns โ pass or โ fail for each metric]
Generate Shareable Report
code
You: Export a full report of localhost:3000 to ./report.html
Claude: [Calls export_report]
[Generates standalone dark-themed HTML report]
[Open in any browser, share with team]
Multi-Page Audit
code
You: Crawl localhost:3000 and audit all pages
Claude: [Calls crawl_and_review]
[Discovers internal links, audits up to 10 pages]
[Per-page: screenshot + accessibility + performance]
What Claude Reviews
When using the full review_ui pipeline, Claude evaluates:
Category
What's Checked
Visual Design
Layout, typography, color contrast, whitespace, shadows, icon consistency
Chrome/Chromium (uses your system Chrome โ no extra download)
Claude Code (for MCP integration)
No API keys needed โ runs entirely within Claude Code using your existing Pro plan
How It Works
code
+----------------------------------------------------------------------+
| Claude Code (your Pro plan) |
| |
| User: "Review my UI at localhost:3000 and fix everything" |
| | |
| v |
| +----------------------------------------------------------------+ |
| | UIMax MCP (37 tools) | |
| | | |
| | Screenshot -------> Puppeteer ----------> PNG Image | |
| | Accessibility ----> axe-core ------------> WCAG Violations | |
| | Lighthouse -------> Google LH ----------> Scores + Audits | |
| | Deep LH ----------> PWA/Security/LCP --> Granular Analysis | |
| | SEO Audit --------> 18 checks ----------> SEO Score | |
| | Performance ------> Perf API ----------> Web Vitals | |
| | Code Scan --------> TypeScript AST -----> Anti-patterns | |
| | Report Card ------> Grading Engine -----> A+ to F Grades | |
| | Browser ----------> Click/Type/Scroll --> Interaction | |
| | Debugging --------> Console/Network ----> Runtime Data | |
| | History ----------> .uimax-reviews.json > Progress Tracking | |
| | Expert Prompt ----> Baked-in methodology | |
| +----------------------------+-----------------------------------+ |
| | |
| v |
| Claude Code receives: screenshot + data + expert methodology |
| | |
| v |
| Claude acts as world-class frontend expert (FREE -- Pro plan) |
| Generates comprehensive review with exact fixes |
| | |
| v |
| Claude implements every fix in the codebase automatically |
| |
+----------------------------------------------------------------------+
CI / GitHub Action
UIMax ships with a reusable GitHub Action that runs audits on every PR and posts a Report Card comment.
Quick Setup
Copy the example workflow to your project:
yaml
# .github/workflows/uimax-ci.ymlname:UIMaxReviewon:pull_request:branches: [main]
jobs:uimax-review:runs-on:ubuntu-lateststeps:-uses:actions/checkout@v4-uses:actions/setup-node@v4with:node-version:"20"# Build and start your app-run:npmci&&npmrunbuild-run:npmstart&-run:npxwait-onhttp://localhost:3000# Run UIMax-uses:prembobby39-gif/uimax-mcp/.github/actions/uimax-review@mainwith:url:http://localhost:3000budget-accessibility:90budget-performance:80budget-seo:80max-violations:0
Action Inputs
Input
Description
Required
Default
url
URL to audit
Yes
โ
github-token
Token for PR comments
No
GITHUB_TOKEN
budget-performance
Min performance score (0-100)
No
โ
budget-accessibility
Min accessibility score (0-100)
No
โ
budget-seo
Min SEO score (0-100)
No
โ
max-violations
Max allowed a11y violations
No
โ
fail-on-regression
Fail if grades regress
No
false
Action Outputs
Output
Description
accessibility-grade
Letter grade (A+ through F)
performance-grade
Letter grade
seo-grade
Letter grade
total-violations
Accessibility violation count
passed
Whether all budgets passed (true/false)
report
Full markdown report
The action updates existing UIMax comments on re-push (no duplicate comments).
See examples/uimax-ci.yml for a complete working example.
Development
bash
# Clone
git clone https://github.com/prembobby39-gif/uimax-mcp.git
cd uimax-mcp
# Install
npm install
# Build
npm run build
# Run tests
npm test# Run tests with coverage
npm run test:coverage
# Test locally with Claude Code
claude mcp add uimax-dev -- node /path/to/uimax-mcp/dist/index.js