Where's Waldo Rick
MCP-сервер для визуального регрессионного тестирования
Сервер протокола контекста модели (MCP), который добавляет возможности агентского зрения в Claude Code для визуального регрессионного тестирования с использованием Gemini 3 Flash.
Обзор
Больше никаких двусмысленных разговоров о визуальных изменениях. Видьте точно, что изменилось, с обводками и аннотациями, а также с функцией обнаружения преднамеренных и непреднамеренных изменений.
Решаемая проблема
Разработчик часами работает над изменениями интерфейса
Сборка проходит успешно, код «чист»
Вы открываете приложение... макет точно такой же
Вы спрашиваете: «Что именно изменилось?»
Разработчик отвечает: «Мы добавили 2 пикселя к карточке»
Вы спрашиваете: «Где? Сверху? Снизу? Внутри блока? Вокруг него?»
😤 Потеря времени, неясная коммуникация
Решение
Where's Waldo Rick предоставляет:
Захват скриншотов с различных платформ (macOS, симулятор iOS, веб)
Попиксельное сравнение с настраиваемыми порогами
Анализ агентским зрением с использованием Gemini 3 Flash (итеративное масштабирование/обрезка/аннотирование)
Обнаружение ожидаемых и непреднамеренных изменений
Диалоговое исследование («Не этот блок, а дочерний элемент»)
Related MCP server: visual-ui-debug-agent-mcp
Установка
Требования
Python 3.10+
API-ключ Gemini (бесплатный уровень: 15 запросов в минуту)
Установка из GitHub
# Install via uvx
uvx --from git+https://github.com/bretbouchard/gemini-vision-mcp wheres_waldo.server
# Or install locally
pip install -e .Настройка Claude Code
Добавьте в конфигурацию MCP Claude Code (~/.claude/mcp.json или специфичную для проекта):
{
"mcpServers": {
"wheres-waldo-rick": {
"command": "uvx",
"args": ["--from", "git+https://github.com/bretbouchard/gemini-vision-mcp", "wheres_waldo.server"],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}Использование
Базовый рабочий процесс
# 1. Declare expected changes before work
/visual:prepare "Card padding increases by 2px, button moves to right"
# 2. Capture baseline screenshot
/visual:capture "Phase 3 - Before card update"
# 3. Development happens...
# 4. Capture current state
/visual:capture "Phase 4 - After card update"
# 5. Compare and see all changes
/visual:compare screenshots/phases/3-before.png screenshots/phases/4-after.pngИнструменты MCP
visual_capture
Захват скриншота и его сохранение для визуального регрессионного тестирования.
await visual_capture(
name="Phase 3 - Before card update",
platform="macos" # auto, macos, ios, web
)visual_prepare
Объявление базовой линии с ожидаемыми изменениями перед разработкой.
await visual_prepare(
phase="Phase 3 - Card Layout Update",
expected_changes="Card padding increases by 2px, button moves to right"
)visual_compare
Сравнение двух скриншотов с попиксельной точностью и агентским зрением.
await visual_compare(
before_path="screenshots/phases/3-before.png",
after_path="screenshots/phases/4-after.png",
threshold=2 # 1px, 2px, or 3px
)visual_cleanup
Очистка старых скриншотов и кэша.
await visual_cleanup(retention_days=7)Разработка
Настройка
# Clone repository
git clone https://github.com/bretbouchard/gemini-vision-mcp
cd gemini-vision-mcp
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black src/
ruff check src/Структура проекта
src/wheres_waldo/
├── __init__.py
├── server.py # MCP server with tool definitions
├── models/ # Pydantic domain models
├── services/ # Business logic (capture, compare, storage)
├── tools/ # MCP tool implementations
└── utils/ # Logging, hashing, path helpersДорожная карта
[x] Фаза 1: Основа (скелет MCP-сервера, типы, хранилище)
[ ] Фаза 2: Захват и базовые линии (мультиплатформенные скриншоты)
[ ] Фаза 3: Механизм сравнения (интеграция OpenCV + Gemini) 🔥 ВЫСОКИЙ РИСК
[ ] Фаза 4: Операции (кэширование, прогрессивное разрешение, отчетность)
[ ] Фаза 5: Полировка (диалоговое исследование)
Полный план выполнения см. в ROADMAP.md.
Участие в разработке
Вклад приветствуется! Пожалуйста, ознакомьтесь с REQUIREMENTS.md и ROADMAP.md перед внесением изменений.
Лицензия
Лицензия MIT — подробности см. в файле LICENSE
Благодарности
Создано с использованием:
Создано с помощью Claude Code через Happy
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for vision AI — screenshots to code, OCR, error diagnosis, and image analysis via OpenAI-compatible APIs.82MIT
- AlicenseCqualityAmaintenanceAn MCP server that enables AI agents to autonomously test, debug, and analyze web interfaces visually using Playwright, with 30 tools for screenshots, workflows, performance, and visual comparison.301780ISC
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that analyzes software UI screenshots using Google's Gemini AI vision, providing detailed descriptions of UI elements, layout, functionality, and accessibility.181MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for rendering responsive screenshots of URLs at multiple viewports. Enables agents to capture screenshots and detect visual issues like overflow, clipped elements, and missing alt text.MIT
Related MCP Connectors
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
Capture screenshots, detect visual regressions between page versions, and analyze with AI.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bretbouchard/gemini-vision-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server