# rendercheck

Runs local in-process OCR on screenshots to confirm users can actually read the rendered text. Helpful when an AI agent needs to verify UI edits without network calls.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 94
- Author: ParthibanRajasekaran
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/ParthibanRajasekaran/text-from-image/tree/HEAD/packages/rendercheck
- Updated: 2026-10-18
- HTML: https://affpapa.org/en/nevibecode/mcp/rendercheck

## What it does

DOM assertions miss visual bugs. Elements stay in the DOM tree even when hidden under floating layers or rendered in low contrast. RenderCheck inspects PNG or JPEG screenshots with in-process Tesseract.js on WebAssembly, verifying what actually appears on the screen.

The integration exposes two stdio tools: `verify_text` for visual assertions and `read_text` for raw extraction. Only English language assets come bundled inside the package. Other alphabets require downloading a separate `.traineddata` file and setting `langPath` accordingly.

Environment setup requires Node 18+. The tool keeps an offline counter in `~/.rendercheck/usage.jsonl`, which you can suppress with `RENDERCHECK_NO_USAGE_LOG=1`.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add rendercheck -- npx -y @rendercheck/sdk
```

### Codex

**Platform CLI**
```bash
codex mcp add rendercheck -- npx -y @rendercheck/sdk
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "rendercheck": {
            "command": "npx",
            "args": [
                "-y",
                "@rendercheck/sdk"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "rendercheck": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@rendercheck/sdk"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add rendercheck npx -y @rendercheck/sdk
```

## When to use it
- confirm rendered screen text matches requirements after frontend edits
- detect low-contrast text using WCAG ratios directly on screenshots
- spot overlapping elements that hide text despite valid DOM nodes
- extract visible text locally without sending images to cloud APIs

## Example prompts
- Use `verify_text` on `checkout.png` to confirm "Total: $14.00" is clearly legible.
- Call `read_text` to extract all visible strings from `screen.png`.
- Check if the text "Pay now" inside `dialog.png` satisfies a minimum contrast ratio of 4.5.

## Similar
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74559
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13169
- [mobile-mcp](https://affpapa.org/en/nevibecode/mcp/mobile-mcp.md) — MCP server · ★ 9946
- [e2e](https://affpapa.org/en/nevibecode/mcp/e2e.md) — MCP server · ★ 11912
- [mockserver](https://affpapa.org/en/nevibecode/mcp/mockserver.md) — MCP server · ★ 4996

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
