Skip to main content
Glama

Настоящие цвета терминала, код с подсветкой Shiki, визуальные диффы, PDF и GIF — один MCP-сервер, 13 инструментов, ноль тяжёлых зависимостей. Защита от SSRF включена по умолчанию. Создан для агентов, которые пишут документацию, а не просто управляют браузерами.

Быстрый старт

Три шага — меньше двух минут:

1. Установите

npm install -g snapmcp
# or run without installing: npx -y snapmcp

2. Добавьте в Claude Code (~/.claude/claude.json)

{
  "mcpServers": {
    "snapmcp": {
      "command": "npx",
      "args": ["-y", "snapmcp"],
      "env": {
        "SNAPMCP_DIR": "./captures",
        "SNAPMCP_THEME": "nord"
      }
    }
  }
}

3. Захват

Попросите агента естественным языком:

«Сделай снимок терминала с выводом git log --oneline -5 и PNG с подсветкой синтаксиса для src/index.ts».

Агент вызовет capture_terminal и capture_file — изображения сохранятся в ./captures/ с вашей реальной темой терминала и выбранной темой подсветки синтаксиса.

OpenCode (opencode.json):

{
  "mcpServers": {
    "snapmcp": {
      "command": "npx",
      "args": ["-y", "snapmcp"],
      "env": {
        "SNAPMCP_DIR": "./captures",
        "SNAPMCP_FORMAT": "jpeg",
        "SNAPMCP_QUALITY": "95"
      }
    }
  }
}

VS Code / Cline / Roo-Cline (settings.jsoncline.mcpServers):

{
  "mcpServers": {
    "snapmcp": {
      "command": "npx",
      "args": ["-y", "snapmcp"],
      "env": {
        "SNAPMCP_DIR": "./captures",
        "SNAPMCP_FORMAT": "jpeg"
      }
    }
  }
}

Docker:

docker run -i --rm \
  -e SNAPMCP_DIR=/captures \
  -e SNAPMCP_THEME=nord \
  -v /path/to/output:/captures \
  ghcr.io/reeinharddd/snapmcp

Related MCP server: @tscafejr/mcp

Как это выглядит

Реальные скриншоты, созданные snapmcp:

Снимок

Предпросмотр

Терминал (реальные распознанные цвета)

Код (подсветка Shiki)

Дифф (зелёный/красный)

Рендер Markdown

Почему snapmcp, а не Playwright MCP

Разные инструменты — для разных задач. Playwright MCP управляет браузером через экономные по токенам accessibility-снимки; snapmcp создаёт попиксельно точные изображения для чтения человеком. Если вашему агенту нужно кликать — используйте Playwright. Если нужно показывать — используйте snapmcp.

Задача

snapmcp

Playwright MCP

Захват терминала с реальными цветами

✅ автоматически определяет темы Kitty, Gnome, Alacritty, WezTerm

❌ нет поддержки терминала

Код → изображение xостингом подсветки синтаксиса

✅ Shiki, 50+ языков, 27 тем

❌ не его задача

Git-дифф → визуальное красно-зелёное изображение

capture_diff

URL → PDF-документ

capture_pdf

Анимированный GIF из снимков

capture_gif (gifenc без зависимостей)

Markdown → стилизованный документ

capture_markdown, capture_to_document

Скриншот страницы браузера

capture_browser (полная страница или область просмотра)

Автоматизация браузера (клик, заполнение, навигация)

❌ только скриншоты

✅ на основе accessibility-дерева, экономно по токенам — правильный инструмент для этого

Большинство конвейеров документации используют их вместе: Playwright MCP — чтобы взаимодействовать, snapmcp — чтобы документировать.

Инструменты

Инструмент

Описание

capture_terminal

Вывод терминала с синтаксически подсвеченными приглашениями (автоопределяет реальную тему)

capture_code

Код с подсветкой синтаксиса через Shiki (50+ языков, 27 тем)

capture_browser

Скриншот полной страницы или области просмотра (использует системный профиль Chrome при наличии)

capture_file

Файл → автоопределение языка → подсвеченный скриншот

capture_markdown

Рендер Markdown в виде стилизованного документа

capture_html

Произвольный HTML-фрагмент, отрендеренный в изображение

capture_diff

Git-диффы с зелёными добавлениями / красными удалениями

capture_pdf

URL → PDF-документ

capture_batch

Пакетный захват нескольких элементов за один вызов

capture_gif

Анимированный GIF из нескольких скриншотов

capture_sequence

Анимированная последовательность для сравнения (side-by-side)

capture_to_document

Рендер многораздельного документа из Markdown

snapmcp-hint

Подсказки о возможностях сервера для MCP-клиентов

Сценарии использования

Автоматическая документация — агент пишет руководство по установке и встраивает реальные снимки: вывод терминала команды установки (с вашей настоящей темой), подсвеченный конфигурационный файл, дифф миграции. Один запрос — три вызова capture_*, изображения сохраняются рядом с markdown-файлом.

Визуальный QA — после изменения интерфейса агент снимает затронутые страницы с помощью capture_browser, объединяет «до/после» через capture_batch и собирает анимированное сравнение через capture_gif для описания PR.

Руководства по терминалу — обучающие материалы по CLI, где скриншоты должны соответствовать тому, что увидит читатель: capture_terminal воспроизводит настоящие цвета приглашения вместо обычного тёмного прямоугольника.

Безопасность

Защита от SSRF включена по умолчанию — не нужно явно включать.

Функция

Описание

Защита SSRF

Включена по умолчанию (отключить — SNAPMCP_SSRF_PROTECTION=false). Блокирует IP-адреса (v4 + v6), варианты localhost и DNS-имена, резолвящиеся в частные диапазоны (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, fc00::/7, fe80::/10 и т.д.); каждый запрос страницы (включая редиректы) проверяется повторно

Список разрешённых путей

SNAPMCP_ALLOWED_PATHS по умолчанию запрещает все пути, если не задан; захватывать можно только явно разрешённые пути

Защита пути

Предотвращает выход через ../, обход символических ссылок (через realpath) и внедрение null-байтов

Лимиты ввода

Терминал: 1000 строк; код/Markdown/HTML: 200 КБ; дифф: 500 КБ; чтение файлов: 5 МБ; максимум кадров GIF: 60; максимальный холст GIF: 8192×8192

Журнал аудита

Необязательный структурированный JSON-журнал с метками времени событий

Песочница Chromium

Доступность песочницы проверяется при запуске

Настройка

Переменные окружения для MCP-сервера:

Переменная

По умолчанию

Описание

SNAPMCP_DIR

./captures

Каталог вывода для снимков

SNAPMCP_THEME

автоопределение

Синтаксическая тема (27 встроенных тем + автоопределение терминала)

SNAPMCP_FORMAT

png

Формат вывода (png, jpeg)

SNAPMCP_QUALITY

90

Качество JPEG (1-100)

SNAPMCP_PADDING

32

Отступ содержимого в пикселях

SNAPMCP_SHADOW

none

Тень (none, soft, medium, strong; псевдонимы sm/md/lg)

SNAPMCP_WINDOW_CHROME

false

Рамка заголовка в стиле macOS

SNAPMCP_BORDER_RADIUS

0

Радиус скругления углов окна

SNAPMCP_BADGE

false

Значок в нижнем колонтитуле

SNAPMCP_LOG_FILE

Путь к файлу журнала аудита

SNAPMCP_CHROME_EXECUTABLE

Путь к исполняемому файлу Chrome/Chromium

SNAPMCP_CHROME_CHANNEL

Канал Chrome (stable, beta, dev, canary)

SNAPMCP_CHROME_PROFILE

Имя каталога профиля Chrome

SNAPMCP_ALLOWED_PATHS

(запрещено всё)

Разрешённые пути к файлам через запятую или точку с запятой для capture_file

27 встроенных тем Shiki: dracula, one-dark-pro, nord, tokyo-night, catppuccin-mocha, catppuccin-latte, ayu-dark, ayu-light, vitesse-dark, vitesse-light, min-dark, min-light, poimandres, rose-pine, rose-pine-moon, rose-pine-dawn, slack-dark, slack-ochin, snazzy-light, github-dark-dimmed, github-light, one-light, solarized-light, solarized-dark, material-theme, material-theme-lighter, material-theme-ocean

CLI

SnapMCP поставляется с полноценным CLI помимо MCP-сервера:

snapmcp        — Start the MCP server
snapmcp init   — Interactive setup wizard (detects Chrome, terminal theme, output dir)
snapmcp doctor — Health check: 7 checks across Node, Chromium, paths, env
snapmcp test   — Generate test captures (terminal + code) to verify the setup

Документация

Страница

Содержание

Getting Started

Установка, быстрый старт, настройка MCP-клиента

Tools Reference

Все 13 инструментов с параметрами и примерами

Configuration

Все переменные окружения SNAPMCP_*, темы, значения по умолчанию

CLI Reference

Команды init, doctor, test

Guides

Захват терминала, захват браузера, GIF-анимация

ARCHITECTURE.md

Карта модулей, поток данных, архитектура безопасности

CONTRIBUTING.md

Процесс разработки, рекомендации по тестированию, чек-лист PR

Разработка

git clone https://github.com/reeinharddd/snapmcp
cd snapmcp
bun install
bun run build    # tsc → dist/
bun test         # 317 tests

Требования: Node.js ≥ 20 или Bun ≥ 1.2. CI запускается на ubuntu / macOS / windows через GitHub Actions.

Лицензия

MIT — см. LICENSE.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
2wRelease cycle
5Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    A
    maintenance
    A self-hosted MCP server that fetches live documentation and performs code audits using real-time authoritative references to prevent AI hallucinations. It provides tools for searching documentation across 330+ libraries and scanning local source code for security, performance, and accessibility issues.
    14
    601
    5
    Elastic 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that fixes, validates, and generates visual text content for AI coding assistants.
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for doc2mcp documentation, generated by doc2mcp.

  • A MCP server built for developers enabling Git based project management with project and personal…

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

View all MCP Connectors

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/reeinharddd/snapmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server