snapmcp

Servidor MCP integral que le da ojos reales a los agentes de IA. 13 herramientas sobre Playwright — terminal, código, navegador, markdown, diffs, HTML, PDF y más.

Rol
Creador y Mantenedor
Año
2026
Stack
TypeScriptBunPlaywrightDocker

Por qué existe snapmcp

Los agentes de IA son excelentes con texto y ciegos ante lo visual. Pídele a uno que revise un layout, lea una gráfica o confirme que un comando imprimió lo que esperabas, y tendrá que adivinar. Esa brecha aparece todo el tiempo en el trabajo real: revisar una interfaz, verificar la salida de un CLI o validar un documento renderizado.

snapmcp cierra esa brecha. Es un servidor de Model Context Protocol que le entrega una cámara al agente. En lugar de describir cómo se ve una pantalla, el agente llama a una herramienta y recibe una imagen real sobre la que puede razonar.

Qué hace

El servidor expone 13 herramientas, cada una enfocada en un tipo de captura visual. El agente elige la herramienta que corresponde a la tarea, pasa unos argumentos y recibe una imagen (o un conjunto) por el canal estándar de MCP. Sin código de pegamento ni integración distinta por host — si el host habla MCP, funciona.

Las trece herramientas

HerramientaCapturaUso típico
terminalSalida de shellMostrar lo que produjo un comando
codeArchivos fuenteRenderizar código con resaltado
browserPáginas webScreenshot de página completa de una URL
markdownMarkdown renderizadoPrevisualizar documentación
diffAntes/despuésVisualizar un cambio
htmlMarkup crudoInspeccionar la estructura de una página
pdfPáginas PDFVerificar un documento página por página
fileCualquier archivoLeer y mostrar un archivo
batchTipos mixtosCapturar varias cosas a la vez
sequenceFrames multi-pasoGrabar un proceso como serie
gifFrames animadosCompilar frames en un GIF
documentCapturas mixtasArmar un documento multi-captura
hintConfiguraciónDevolver tips de configuración

Cómo funciona

Cada herramienta es un handler pequeño e independiente que maneja una instancia compartida de Playwright/Chromium. Las herramientas se registran con el SDK de MCP, así que el host las descubre automáticamente y la superficie es fácil de extender — agregar un tipo de captura es agregar un handler, no recablear el servidor.

snapmcp/
├── src/
│   ├── tools/          # un handler por herramienta de captura
│   ├── server.ts       # punto de entrada del servidor MCP
│   └── types.ts        # tipos compartidos
├── tests/              # suite de pruebas completa
├── docker/             # Dockerfile multi-arch (amd64 + arm64)
└── package.json        # runtime Bun

Seguridad por defecto

Una herramienta que renderiza entrada arbitraria es un riesgo si es descuidada. snapmcp incluye protección SSRF (bloquea IPs privadas, localhost y DNS-rebinding), prevención de path-traversal y validación estricta de entrada — apuntarla a contenido no significa apuntarla a tu red interna.

Instalación y uso

Se distribuye de dos formas, para encajar tanto en local como en contenedores:

# vía npm (corre sobre Bun, cero configuración)
npx snapmcp

# vía Docker (multi-arch: amd64 + arm64)
docker pull ghcr.io/reeinharddd/snapmcp

Calidad

El proyecto está hecho para ser confiable, no solo para funcionar. Cada herramienta está cubierta por la suite de pruebas y CI corre la matriz completa en Linux, macOS y Windows en cada cambio. Los releases publican a npm y a GitHub Container Registry desde el mismo pipeline.

Qué sigue

MCP sigue siendo joven y la superficie evoluciona rápido. Los siguientes pasos son backends de captura más amplios (más allá de un solo motor de navegador) y herramientas de composición más ricas, para que un agente arme un reporte visual completo en una sola llamada.