visual-hunt-mcp
visual-hunt-mcp
visual-hunt-mcp — это локальный TypeScript MCP-сервер для macOS, который подключается к вашему текущему сеансу Chrome через CDP и помогает Codex / Claude находить визуально сильные изображения для плакатов, обоев и досок вдохновения.
v0.4.0 · 11 инструментов · сквозной аудит · 15/15 пройденных поведенческих тестов · 108 изображений загружено в ходе стресс-теста по 10 темам · поставляется с набором для оценки и полной тестовой обвязкой.
Он разработан для того, чтобы:
использовать официальный
@modelcontextprotocol/sdkсMcpServerиregisterToolподключаться к локальному экземпляру Chrome через
chromium.connectOverCDP(...)повторно использовать ваш локальный профиль браузера, когда вы выбираете ручной просмотр
избегать обхода платных стен, экранов входа, CAPTCHA или ограничений платформы
возвращать метаданные кандидатов и при необходимости загружать файлы изображений в папку проекта, созданную в текущей рабочей директории MCP-сервера
Зачем нужен CDP
Этот проект использует протокол Chrome DevTools вместо запуска отдельного браузера для автоматизации, поэтому MCP-сервер может повторно использовать локальный профиль Chrome, который вы контролируете. Это делает рабочие процессы в Instagram и Xiaohongshu более практичными, так как сеанс браузера может быть уже авторизован, в то время как MCP-сервер остается локальным на вашем Mac.
Почему Instagram / Xiaohongshu требуют ручного участия
Instagram и Xiaohongshu часто требуют входа в систему, могут часто менять макет и скрывать контент за элементами управления платформы. Этот MCP намеренно открывает эти страницы в вашем подключенном локальном Chrome и извлекает только видимые общедоступные изображения, когда они доступны. Он не пытается обойти вход в систему, ограничения по частоте запросов или ограничения доступа.
Область загрузки
Этот проект теперь может загружать файлы изображений из таких источников, как Unsplash, Pexels, Pixabay, сайты с обоями, а также видимые URL-адреса изображений, полученные в ходе ручного просмотра, когда ваш подключенный сеанс Chrome имеет к ним доступ. По-прежнему действуют некоторые ограничения:
превью, размещенные на Google, и изображения Google Maps остаются заблокированными
Instagram и Xiaohongshu по-прежнему зависят от состояния вашего входа в Chrome и от того, какие URL-адреса изображений фактически отображаются на странице
вы по-прежнему несете ответственность за проверку лицензирования перед повторным использованием
save_candidates_jsonпо-прежнему работает только с метаданными, в то время какdownload_candidate_imagesзаписывает файлы изображений и манифест загрузки
Функции
Инструменты MCP (11)
Инструмент | Надежность | Примечания |
| ★★★★★ | Флагман. Набор из 6 проверенных источников (Unsplash, Pexels, Pixabay, Wikimedia, Wallhaven, Alpha Coders). 100% охват тем в стресс-тестах. |
| ★★★★★ | Флагман для тем путешествий/дизайна. 100% охват тем. |
| ★★★ | Ручное участие. Большинство изображений намеренно заблокированы для загрузки — используйте для визуального вдохновения. |
| ★★ | Ручное участие. Pinterest показывает модальное окно входа в большинстве поисковых запросов; войдите через Chrome, затем вызовите |
| ★★ | Ручное участие. Тот же шаблон с экраном входа, что и у Pinterest. |
| ★★ | Нестабильно из-за макета Google с ленивой загрузкой |
| ★★★★ | Универсальный экстрактор. Работает с Wikipedia, блогами, страницами брендов. |
| ★★★★★ | Повторное извлечение после ручной прокрутки/входа на открытой странице. |
| ★★★★★ | Очистка. Идемпотентно. |
| ★★★★★ | Сохранение только метаданных. |
| ★★★★★ | Загрузка с referer + user-agent из подключенного Chrome. Превью от Google заблокированы намеренно. |
Набор источников по умолчанию (v0.4.0)
Список источников по умолчанию для search_wallpaper_sites был сокращен в v0.4.0 с 13 до 6, которые возвращали загружаемых кандидатов для более чем 80% тем в ходе стресс-тестирования:
Unsplash — современная редакционная фотография
Pexels — современная редакционная фотография
Pixabay — современная редакционная фотография
Wikimedia Commons — достопримечательности, архитектура, общественное достояние
Wallhaven — лучшие бесплатные обои 4K/8K
Alpha Coders / Wallpaper Abyss — лучшие бесплатные обои 4K/8K
Адаптеры для удаленных источников по-прежнему поставляются — передавайте их явно, когда они вам нужны: sites: ["openverse.org", "loc.gov", "images.nasa.gov", "rawpixel.com", "publicdomainpictures.net", "wallpaperscraft.com", "hdqwalls.com"].
Оценка кандидатов
Каждый кандидат получает легкий scoreHint, основанный на:
размере изображения
близости соотношения сторон к распространенным форматам плакатов / обоев
ключевых словах в заголовке или alt-тексте, таких как
poster,cinematic,wallpaper,4k,8k,travel,filmиlandscape
Установка
cd /Users/lanston/Desktop/Codex/visual-hunt-mcp
npm installЗапуск Chrome для MCP
npm run chrome:debugЭтот помощник привязывает удаленную отладку Chrome только к 127.0.0.1. Он не открывает порт CDP публично.
Если вы предпочитаете исходный скрипт:
chmod +x scripts/start-chrome-mcp.sh
./scripts/start-chrome-mcp.shРабочий процесс проверки
Запустите детерминированный дымовой тест MCP после запуска Chrome:
npm run smokeДля комплексной проверки всех 11 инструментов (приведение схемы, оптимизация запросов, жизненный цикл ручных страниц, подавление экранов входа, фильтры ложных срабатываний, меры безопасности):
node scripts/full-test.mjs # 15 cases including live Chrome paths
node scripts/full-test.mjs --skip-live # 10 cases, fast, no browser depsЧто проверяет npm run smoke:
локальный MCP-сервер запускается через stdio из текущего вывода
dist/tools/listпредоставляет ожидаемый набор инструментовopen_url_and_extract_imagesможет извлекать видимых кандидатов с локальной страницы-фиксатораextract_manual_page_candidatesиclose_manual_pageдоступны для последующих действий с ручным участиемsave_candidates_jsonзаписывает метаданные кандидатов во временный корневой каталог выводаdownload_candidate_imagesзагружает разрешенное локальное изображение и пропускает заблокированного кандидата от Google с четким объяснением
Дымовой тест использует временный VISUAL_HUNT_OUTPUT_ROOT и очищает его после успешного завершения. Чтобы сохранить артефакты для проверки:
npm run smoke -- --keep-outputДля более уверенного прохождения, которое также затрагивает реальные потоки Google Images и поиска обоев через ваш подключенный сеанс Chrome:
npm run smoke:liveИспользуйте npm run validate в качестве стабильной команды проверки по умолчанию. Теперь она сначала запускает npm run build, а затем детерминированный дымовой тест.
Запуск MCP локально
npm run devДля использования в производственном режиме:
npm run build
node dist/index.jsКонфигурация Claude Desktop
{
"mcpServers": {
"visual-hunt": {
"command": "node",
"args": [
"/Users/lanston/Desktop/Codex/visual-hunt-mcp/dist/index.js"
],
"env": {
"CHROME_CDP_ENDPOINT": "http://127.0.0.1:9222"
}
}
}
}Примеры промптов
Use visual-hunt to search_google_images for "cinematic Oahu Hawaii sunset travel poster 8k", limit 10.Use visual-hunt to search_wallpaper_sites for "dark luxury black gold abstract 8k wallpaper", limit 15.Use visual-hunt to open_xiaohongshu_visual_search for "夏威夷 绝美 海报 壁纸 旅行 摄影", limit 10.Use visual-hunt to download_candidate_images for project "oahu-poster-board" using the candidates from the last search, limit 5.Use visual-hunt to extract_manual_page_candidates for the manualPageId from the Xiaohongshu search after I log in or scroll more.Примечания
Логи записываются только в
stderr, чтобы JSON-RPC MCP вstdoutоставался чистым.Chrome должен быть уже запущен с включенной удаленной отладкой.
Папки вывода по умолчанию создаются в текущей рабочей директории MCP-сервера. Пример:
/path/to/visual-hunt-mcp/<project>/images.Переопределите корневой каталог вывода с помощью
VISUAL_HUNT_OUTPUT_ROOT, если хотите сохранять загрузки в другом месте.save_candidates_jsonзаписывает метаданные в<output-root>/<project>/candidates.json.download_candidate_imagesзаписывает файлы изображений в<output-root>/<project>/imagesи манифест в<output-root>/<project>/downloads.json.scripts/smoke-test.mjs— самый быстрый способ проверить контракт MCP от начала до конца на локальном серверном процессе.scripts/smoke-test.mjsпроверяет локальный сервер через текущий выводdist/и использует временный корневой каталог вывода для артефактов.Сервер не хранит учетные данные.
Сервер не выполняет произвольные команды оболочки.
Переменные окружения
Переменная | По умолчанию | Эффект |
|
| Конечная точка удаленной отладки Chrome |
|
| Корневой каталог для загруженных изображений и манифестов |
|
| Тайм-аут навигации/извлечения для каждой страницы |
|
| TTL для записей в реестре ручных страниц; |
|
| Жесткое ограничение размера реестра ручных страниц; самые старые удаляются первыми |
| не задано | Установите |
Ручные проверки помимо дымового теста
Когда вы хотите проверить работоспособность частей продукта, требующих ручного участия, это самые ценные последующие действия после npm run smoke:
npm run smoke:liveopen_instagram_visual_searchс тем же профилем Chrome, который вы планируете использовать ежедневноopen_xiaohongshu_visual_searchс тем же профилем, если требуется вход в системуopen_google_maps_visual_search, чтобы подтвердить, что примечание о ручном просмотре и поведение без обхода по-прежнему выглядят корректно
Точные команды для Mac
cd /Users/lanston/Desktop/Codex/visual-hunt-mcp
npm install
npm run chrome:debug
npm run smoke
npm run smoke:liveResources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/CTlanston/visual-hunt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server