Skip to main content
Glama

Colores reales de terminal, código resaltado con Shiki, diffs visuales, PDFs y GIFs: un solo servidor MCP, 13 herramientas, cero dependencias pesadas. Protección SSRF activada por defecto. Diseñado para agentes que escriben documentación, no solo para manejar navegadores.

Inicio rápido

Tres pasos, en menos de dos minutos:

1. Instalar

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

2. Añadir a Claude Code (~/.claude/claude.json)

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

3. Capturar

Pídele a tu agente en lenguaje natural:

"Captura una imagen de terminal de git log --oneline -5 y un PNG con resaltado de sintaxis de src/index.ts."

El agente llama a capture_terminal y capture_file: las imágenes se guardan en ./captures/ con tu tema real de terminal y el tema de sintaxis elegido aplicado.

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

Cómo se ve

Capturas reales generadas por snapmcp:

Capture

Preview

Terminal (colores reales detectados)

Código (sintaxis Shiki)

Diff (verde/rojo)

Render de Markdown

Por qué snapmcp frente a Playwright MCP

Herramientas diferentes para trabajos diferentes. Playwright MCP maneja un navegador mediante capturas de accesibilidad eficientes en tokens; snapmcp renderiza imágenes fieles al píxel para que las lean los humanos. Si tu agente necesita hacer clic, usa Playwright. Si necesita mostrar, usa snapmcp.

Use case

snapmcp

Playwright MCP

Captura de terminal con colores reales

✅ auto-detecta temas de Kitty, Gnome, Alacritty, WezTerm

❌ sin soporte de terminal

Código → imagen con resaltado de sintaxis

✅ Shiki, 50+ lenguajes, 27 temas

❌ no es su propósito

Diff de Git → imagen visual rojo/verde

capture_diff

URL → documento PDF

capture_pdf

GIF animado a partir de capturas

capture_gif (gifenc sin dependencias)

Markdown → documento con estilo

capture_markdown, capture_to_document

Captura de página del navegador

capture_browser (página completa o viewport)

Automatización del navegador (clic, rellenar, navegar)

❌ solo capturas

✅ basado en árbol de accesibilidad, eficiente en tokens — la herramienta adecuada para esto

La mayoría de los flujos de documentación los combinan: Playwright MCP para interactuar, snapmcp para documentar.

Herramientas

Tool

Description

capture_terminal

Salida de terminal con prompts coloreados por sintaxis (auto-detecta el tema real de terminal)

capture_code

Código con resaltado de sintaxis mediante Shiki (50+ lenguajes, 27 temas)

capture_browser

Capturas de página completa o viewport (usa el perfil de Chrome del sistema cuando está disponible)

capture_file

Archivo → lenguaje auto-detectado → captura resaltada

capture_markdown

Markdown renderizado como documento con estilo

capture_html

Fragmento HTML arbitrario renderizado como imagen

capture_diff

Diffs de Git con adiciones en verde / eliminaciones en rojo

capture_pdf

URL → documento PDF

capture_batch

Captura por lotes de múltiples elementos en una sola llamada

capture_gif

GIF animado a partir de múltiples capturas

capture_sequence

Secuencia animada lado a lado

capture_to_document

Render de documento markdown de varias secciones

snapmcp-hint

Indicaciones de capacidades del servidor para clientes MCP

Casos de uso

Documentación automatizada: un agente escribe una guía de instalación e incrusta capturas reales: la salida de terminal del comando de instalación (con tu tema real), el archivo de configuración con resaltado de sintaxis, el diff de la migración. Una sola instrucción, tres llamadas a capture_*, imágenes guardadas junto al markdown.

QA visual: después de un cambio de interfaz, el agente captura las páginas afectadas con capture_browser, agrupa antes/después con capture_batch y crea una comparación animada con capture_gif para la descripción del PR.

Guías de terminal: tutoriales de CLI donde las capturas deben coincidir con lo que verán los lectores: capture_terminal reproduce los colores reales del prompt en lugar de un rectángulo oscuro genérico.

Seguridad

La protección SSRF está activada por defecto — no se requiere opt-in.

Feature

Description

Protección SSRF

Activada por defecto (desactivar con SNAPMCP_SSRF_PROTECTION=false). Bloquea literales de IP (v4 y v6), variantes de localhost y nombres DNS que resuelven a rangos privados (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, fc00::/7, fe80::/10, etc.); cada solicitud de página (incluidas las redirecciones) se vuelve a comprobar

Lista de archivos permitidos

SNAPMCP_ALLOWED_PATHS por defecto deniega todo si no está definido; solo se pueden capturar las rutas explícitamente permitidas

Path Traversal

Previene escapes ../, recorrido de enlaces simbólicos (mediante realpath) e inyección de bytes nulos

Límites de entrada

Terminal 1000 líneas; código/markdown/HTML 200KB; diff 500KB; lecturas de archivo 5MB; máximo de fotogramas GIF 60; lienzo GIF máximo 8192×8192

Registro de auditoría

Archivo de registro JSON estructurado opcional con eventos con marca de tiempo

Sandbox de Chromium

La disponibilidad del sandbox se comprueba al inicio

Configuración

Variables de entorno para el servidor MCP:

Variable

Default

Description

SNAPMCP_DIR

./captures

Directorio de salida para capturas

SNAPMCP_THEME

auto-detectado

Tema de sintaxis (27 temas integrados + terminal auto-detectado)

SNAPMCP_FORMAT

png

Formato de salida (png, jpeg)

SNAPMCP_QUALITY

90

Calidad JPEG (1-100)

SNAPMCP_PADDING

32

Relleno de contenido en píxeles

SNAPMCP_SHADOW

none

Sombra proyectada (none, soft, medium, strong; alias sm/md/lg)

SNAPMCP_WINDOW_CHROME

false

Marco de barra de título estilo macOS

SNAPMCP_BORDER_RADIUS

0

Radio de esquina de la ventana

SNAPMCP_BADGE

false

Insignia de pie de página

SNAPMCP_LOG_FILE

Ruta del archivo de registro de auditoría

SNAPMCP_CHROME_EXECUTABLE

Ruta al binario de Chrome/Chromium

SNAPMCP_CHROME_CHANNEL

Canal de Chrome (stable, beta, dev, canary)

SNAPMCP_CHROME_PROFILE

Nombre del directorio de perfil de Chrome

SNAPMCP_ALLOWED_PATHS

(denegar todo)

Rutas de archivo permitidas separadas por comas o puntos y coma para capture_file

27 temas Shiki integrados: 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 incluye una CLI completa además del servidor 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

Documentación

Página

Contenido

Primeros pasos

Instalación, inicio rápido, configuración del cliente MCP

Referencia de herramientas

Las 13 herramientas con parámetros y ejemplos

Configuración

Todas las variables de entorno SNAPMCP_*, temas y valores predeterminados

Referencia de CLI

Comandos init, doctor y test

Guías

Captura de terminal, captura de navegador, animación GIF

ARCHITECTURE.md

Mapa de módulos, flujo de datos, arquitectura de seguridad

CONTRIBUTING.md

Flujo de trabajo de desarrollo, pautas de pruebas, lista de verificación de PR

Desarrollo

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

Requisitos: Node.js ≥ 20 o Bun ≥ 1.2. El CI se ejecuta en ubuntu / macOS / windows mediante GitHub Actions.

Licencia

MIT — consulte 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