Lo Eyes logo

Lo Eyes

Audits web pages for responsive and accessibility issues with screenshots, WCAG checks, and viewport presets.

Install Lo Eyes

Run the project’s own setup commands, in order.

Setup steps from the project

lo-eyes installs with its own commands rather than a config we can generate, so these are copied as-is. Run them in order in a terminal. Source: github.com

  1. 1. Run
    cd lo-eyes
    
  2. 2. Configure
    python3 -m venv .venv
    
  3. 3. Install
    pip install playwright mcp
    
  4. 4. Install
    python3 -m playwright install chromium
    

Overview

The lo-eyes MCP server inspects websites for responsive layout and accessibility issues across mobile, tablet, and desktop viewports. It uses Playwright with headless Chromium to capture screenshots, split full pages into viewport-sized sections, and run audits through MCP over stdio. Checks include contrast, overflow, font size, touch targets, and heading hierarchy, with results graded from S+ to F. Reach for it when an agent needs visual page evidence or automated frontend accessibility checks.

Use cases

  • Audit a homepage for responsive and accessibility issues
  • Capture screenshots of a route at mobile and desktop sizes
  • Scan a long page into agent-readable viewport sections
  • Check touch targets and heading hierarchy before release

Key features

  • Viewport screenshots across five device presets
  • Full-page scanning with a RAG manifest
  • Responsive and accessibility audits
  • Overflow, font-size, touch-target, and heading checks
  • S+ through F issue grading
  • MCP stdio transport with Playwright Chromium

Tools4

What Lo Eyes lets your agent do. Expand a tool for its parameters.

Self-reported~59 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

9/9 checks healthy over the last 62d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

Last commit5mo agoMost recent push to the default branch.
Tools exposed4Callable tools this server registers over MCP.

How Lo Eyes works

What the lo-eyes MCP server does

The lo-eyes MCP server evaluates web pages as rendered in a browser rather than inspecting source files alone. It can capture a viewport-sized image, examine a complete page in smaller readable sections, and report responsive or accessibility findings. The server works with any site when its base URL is changed, so it can be used against different web applications or environments.

Audit results cover several concrete checks: content that extends beyond the viewport, text smaller than 12px, interactive controls below the 44px Apple HIG touch-target minimum, and skipped heading levels such as a jump from h1 to h3. Accessibility and responsive results receive an S+ through F grade based on the number and severity of findings.

How it works

The implementation is written in Python and uses Playwright with headless Chromium to load and render pages. MCP communication uses the Python MCP SDK and FastMCP with stdio transport. Device presets determine the viewport used for screenshots and audits.

Available presets are iphone-se at 375x667, iphone-14 at 390x844, ipad at 768x1024, laptop at 1280x800, and desktop at 1440x900. The scan operation can divide a long page into viewport-sized pieces and produce a RAG manifest, which gives an agent smaller visual sections to process.

The grading scale is based on issue counts: S+ means no issues; A allows one to five medium issues with no high issues; B means six or more medium issues with no high issues; C, D, and F represent increasing counts of high-severity issues.

Setup and configuration

The lo-eyes MCP server requires Python 3.10 or newer. A documented setup creates a virtual environment, installs the playwright and mcp packages, and downloads the Chromium browser through Playwright:

bash
python3 -m venv .venv
source .venv/bin/activate
pip install playwright mcp
python3 -m playwright install chromium

For Claude Code, add an lo-eyes entry to .mcp.json with the Python executable from the virtual environment as the command and server.py as its argument.

Tools and capabilities

The lo-eyes MCP server exposes four MCP tools:

  • eyes_screenshot captures a viewport-sized screenshot using a device preset.
  • eyes_scan chunks a full page into readable viewport sections and returns a RAG manifest.
  • eyes_audit runs responsive and accessibility checks and assigns an S+ grading result.
  • eyes_devices lists the available device presets.

The tool set supports both focused inspection of one route and broader checks across responsive breakpoints. Screenshots can provide visual context while audit output identifies specific classes of layout and accessibility problems.

Limitations and notes

The documented audit checks are limited to overflow, minimum font size, touch-target dimensions, and skipped heading levels. The material does not describe broader WCAG coverage, browser support beyond headless Chromium, authentication workflows, JavaScript configuration, or result persistence. It also does not document a client-specific setup beyond Claude Code.

The server uses stdio transport, and browser installation is a separate setup step. Pages must be reachable by the configured base URL and route supplied to the server or CLI. Device presets are fixed to the five sizes listed above; custom viewport dimensions are not documented.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Lo Eyes

lo-eyes is an MCP server that connects AI agents to rendered web pages through Playwright and headless Chromium. Its main tools are eyes_screenshot for viewport images, eyes_scan for chunked page views and a RAG manifest, eyes_audit for responsive and accessibility checks, and eyes_devices for listing presets.

Install it with Python 3.10 or newer, then create a virtual environment, install Playwright and the MCP package, and download Chromium with Playwright. The documented commands are `pip install playwright mcp` followed by `python3 -m playwright install chromium`.

lo-eyes checks for content overflow, text below 12px, interactive elements below the 44px touch-target minimum, and skipped heading levels. Its audit also evaluates responsive behavior and assigns a grade from S+ to F according to issue severity and count.

lo-eyes supports iphone-se, iphone-14, ipad, laptop, and desktop presets. Their documented viewport sizes are 375x667, 390x844, 768x1024, 1280x800, and 1440x900 respectively.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewLo Eyes AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/lo-eyes?style=directory)](https://allmcps.com/mcp/lo-eyes)
HTML Embed
<a href="https://allmcps.com/mcp/lo-eyes"><img src="https://allmcps.com/api/badge/lo-eyes?style=directory" alt="Lo Eyes on AllMCPs" /></a>