Safari Screenshot MCP Server
Captura de pantalla de Safari
Un servidor MCP Node.js para capturar capturas de pantalla usando Safari en macOS.
Características
Capturar capturas de pantalla de ventanas en tamaños específicos
Admite diferentes niveles de zoom
Tiempos de espera configurables para la carga de la página
Limpiar después de la captura
Calidad de captura de pantalla nativa de macOS
Related MCP server: Website Screenshot MCP
Uso
import { takeScreenshot } from './screenshot.js';
// Basic window screenshot
await takeScreenshot({
url: 'https://www.apple.com',
outputPath: './screenshot.png',
width: 1024, // Optional: window width (default: 1024)
height: 768, // Optional: window height (default: 768)
waitTime: 3, // Optional: seconds to wait for load (default: 3)
zoomLevel: 1, // Optional: page zoom level (default: 1)
});
// Responsive design testing
await takeScreenshot({
url: 'https://www.apple.com',
outputPath: './mobile.png',
width: 375, // iPhone SE width
height: 667, // iPhone SE height
zoomLevel: 1,
});
// High-resolution capture
await takeScreenshot({
url: 'https://www.apple.com',
outputPath: './desktop-hd.png',
width: 1920, // Full HD width
height: 1080, // Full HD height
waitTime: 5, // Wait longer for HD content
zoomLevel: 0.8, // Zoom out slightly
});Requisitos
macOS
Safari
Node.js >= 14.0.0
El terminal necesita permisos de accesibilidad (Preferencias del Sistema → Seguridad y Privacidad → Privacidad → Accesibilidad)
Instalación
npm install safari-screenshotOpciones
Opción | Tipo | Por defecto | Descripción |
URL | cadena | requerido | La URL para capturar |
ruta de salida | cadena | auto | Dónde guardar la captura de pantalla (predeterminado: ./screenshots/[nombre de host]-[marca de tiempo].png) |
ancho | número | 1024 | Ancho de la ventana en píxeles |
altura | número | 768 | Altura de la ventana en píxeles |
tiempo de espera | número | 3 | Segundos de espera para la carga de la página |
nivel de zoom | número | 1 | Nivel de zoom de la página (1 = 100%) |
Tamaños de ventana gráfica comunes
El módulo se prueba con estos tamaños de ventana gráfica comunes:
Escritorio: 1920×1080 (Full HD)
Portátil: 1366×768
Tableta horizontal: 1024×768
Tableta vertical: 768×1024
Móvil grande: 428×926 (iPhone 12 Pro Max)
Móvil Medio: 390×844 (iPhone 12 Pro)
Móvil pequeño: 375×667 (iPhone SE)
Cómo funciona
Abre Safari con el tamaño de ventana especificado
Carga la URL y espera a que se cargue la página.
Aplica nivel de zoom si se especifica
Utiliza la captura de pantalla nativa de macOS para obtener resultados con píxeles perfectos.
Verifica que la captura de pantalla se haya realizado correctamente
Limpia las ventanas de Safari
Permisos
Este paquete requiere permisos de Eventos del sistema para funcionar:
Abra Preferencias del Sistema > Seguridad y privacidad > Privacidad > Accesibilidad
Agregue Terminal (o su IDE) a la lista de aplicaciones permitidas
Uso con cursor
Configuración en el cursor
Cursor abierto
Vaya a configuración, "Agregar servidor MCP"
En el cuadro de diálogo de configuración:
Nombre:
safari-screenshotTipo:
commandComando:
npx -y @rogerheykoop/mcp-safari-screenshot
O para el desarrollo local:
Comando:
npx -y /path/to/mcp-safari-screenshot/server.js
Comandos de ejemplo
Después de conectarse al servidor en Cursor, puede utilizar estos comandos:
Take a screenshot of https://apple.com at desktop sizeRespuesta: Capturará a 1920×1080
Capture https://apple.com on iPhone 12 ProRespuesta: Capturará a 390×844
Screenshot github.com at 50% zoomRespuesta: Capturará con zoomNivel: 0,5
Parámetros admitidos
El servidor MCP entiende estos conceptos:
Nombres de dispositivos (por ejemplo, "iPhone", "iPad", "escritorio")
Dimensiones (por ejemplo, "1024x768")
Niveles de zoom (por ejemplo, "zoom 50%", "zoom 2x")
Tiempos de espera (por ejemplo, "esperar 5 segundos")
Flujos de trabajo de ejemplo
Pruebas de respuesta
Take screenshots of apple.com on iPhone, iPad, and desktopPrueba de Zoom
Capture github.com at 75% zoom and 125% zoomTamaño personalizado
Screenshot example.com at 1440x900
Consejos
Las capturas de pantalla se guardan en el directorio
screenshotsde forma predeterminada.Los nombres de los dispositivos establecen automáticamente las dimensiones apropiadas
El servidor se encarga de la limpieza de las ventanas de Safari.
Utilice "esperar X segundos" para páginas de carga lenta
Solución de problemas
Si encuentra problemas:
Comprobar que la terminal tiene permisos de accesibilidad
Verificar que Safari no esté en modo de navegación privada
Asegúrese de que el directorio de trabajo sea escribible
Verifique la consola de Cursor para ver si hay mensajes de error
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Pruebas locales
Puede probar la implementación de MCP directamente:
# Test discovery
echo '{"type":"discover"}' | npx -y ./server.js
# Test screenshot
echo '{"type":"execute","tool":"take_screenshot","input":"Take a screenshot of https://apple.com","requestId":"123"}' | npx -y ./server.jsRespuestas esperadas:
Discover recuperará las capacidades
Se ejecutará:
Registrar el progreso en stderr
Devuelve el resultado JSON a la salida estándar
Guardar captura de pantalla en ./screenshots/
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- -licenseAqualityNot gradedmaintenanceA server that provides AI assistants programmatic control of Safari browser on macOS for web automation, testing, and debugging.161
- AlicenseCqualityCmaintenanceA server that allows AI agents and clients to programmatically capture screenshots of websites with options for image format and viewport selection.1179MIT
- AlicenseCqualityDmaintenanceEnables taking screenshots of web pages with support for multiple devices (desktop, mobile, tablet), custom dimensions, full-page capture, and various image formats. Built with Playwright for reliable web page rendering and screenshot generation.1MIT
- AlicenseNot gradedqualityCmaintenanceCaptures full-monitor screenshots and returns them as base64 inline or saved file. Supports macOS, Linux, Windows, and WSL2.41MIT
Related MCP Connectors
Capture screenshots of webpages as images or PDFs with Screenshot Scout.
Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API
Capture screenshots, detect visual regressions between page versions, and analyze with AI.
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/rogerheykoop/mcp-safari-screenshot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server