Screenshot MCP Server
Servidor de capturas de pantalla (enfocado en la ruta del archivo)
Este proyecto proporciona un servidor MCP (Protocolo de comunicación modular) diseñado para capturar capturas de pantalla y facilitar su uso por otros procesos o asistentes de IA, principalmente guardando la captura de pantalla en una ruta de archivo especificada por el cliente (Host) .
Problema central y solución
La interpretación directa de los datos de captura de pantalla enviados a través de MCP por los asistentes de IA resultó poco fiable en las pruebas. Este servidor adopta flujos de trabajo más robustos centrados en las rutas de archivo:
Flujo de trabajo recomendado (Host WSL -> Servidor Windows):
Un host MCP (como un asistente de IA que se ejecuta en WSL) llama a la herramienta
save_screenshot_to_host_workspacey proporciona su ruta de espacio de trabajo WSL como argumento.Este servidor (que se ejecuta en Windows) captura la pantalla.
El servidor convierte la ruta WSL recibida en una ruta UNC accesible para Windows (por ejemplo,
\\wsl$\Distro\path).El servidor guarda la captura de pantalla en la ubicación especificada dentro del sistema de archivos WSL del Host a través de la ruta UNC.
El servidor devuelve
"success"o"failed:...".El host MCP sabe que el archivo está guardado en su espacio de trabajo (o en un subdirectorio si se especifica en el argumento de ruta).
Luego, el host MCP puede pasar la ruta WSL a otro servidor MCP especializado (que se ejecuta en WSL) para el análisis de imágenes.
Flujo de trabajo alternativo (general):
El host MCP llama
take_screenshot_and_return_pathy especifica opcionalmente un nombre de archivo.El servidor guarda la captura de pantalla en su directorio
images/local.El servidor devuelve la ruta absoluta (por ejemplo, la ruta de Windows) al archivo guardado.
El host MCP recibe la ruta y la pasa (con posible conversión) a un servidor de análisis.
Related MCP server: WSLSnapit-MCP
Herramientas disponibles
Este servidor proporciona las siguientes herramientas, ordenadas según el uso recomendado:
save_screenshot_to_host_workspace(host_workspace_path: str, name: str = "workspace_screenshot.jpg")Uso recomendado: Guarda una captura de pantalla directamente en el espacio de trabajo actual de WSL del Asistente de IA (Anfitrión). Este es el método preferido para una integración fluida.
Acción: Toma una captura de pantalla, convierte la ruta WSL proporcionada a una ruta UNC y guarda el archivo en el espacio de trabajo del host. Detecta automáticamente el nombre de la distribución WSL.
Argumentos:
host_workspace_path(str): la ruta WSL absoluta del espacio de trabajo del host (por ejemplo,/home/user/project).name(str, opcional): nombre de archivo. El valor predeterminado esworkspace_screenshot.jpg.
Devuelve:
str-"success"o"failed: [error message]".
take_screenshot_and_return_path(name: str = "latest_screenshot.jpg")Caso de uso: Guarda una captura de pantalla en un directorio
images/fijo, relativo a la ubicación del servidor, y devuelve la ruta absoluta (normalmente una ruta de Windows). Resulta útil si el usuario necesita la ruta para procesamiento externo.Argumentos:
name(str, opcional): nombre de archivo. El valor predeterminado eslatest_screenshot.jpg.
Devuelve:
str- Ruta absoluta o"failed: [error message]".
take_screenshot_path(path: str = "./", name: str = "screenshot.jpg")Caso de uso: Guarda una captura de pantalla en una ubicación arbitraria especificada por una ruta de Windows o una ruta UNC (p. ej., para guardarla fuera del espacio de trabajo del host). Requiere una especificación cuidadosa de la ruta por parte del llamador.
Argumentos:
path(str, opcional): Directorio de destino (ruta de Windows o UNC). El valor predeterminado es el directorio de trabajo del servidor.name(str, opcional): nombre de archivo. El valor predeterminado esscreenshot.jpg.
Devuelve:
str-"success"o"failed: [error message]".
Configuración y uso
1. Requisitos previos
Python 3.x: Requerido en la máquina donde se ejecutará el servidor.
Dependencias: Instalar usando
uv:uv syncLas bibliotecas necesarias incluyen
mcp[cli]>=1.4.1,pyautoguiyPillow.
2. Ejecución del servidor
Este servidor normalmente lo inicia un host MCP en función de su configuración.
3. Consideraciones ambientales (especialmente WSL2)
Punto crucial: para capturar la pantalla de Windows , este servidor screenshot.py debe ejecutarse directamente en Windows .
Configuración recomendada de host WSL2 -> servidor Windows:
Ubicación del proyecto: coloque esta carpeta del proyecto
screenshot-serveren su sistema de archivos de Windows (por ejemplo,C:\Users\YourUser\projects\screenshot-server).Dependencias de Windows: Instale Python,
uvy las dependencias del proyecto (uv sync ...) directamente en Windows dentro de la carpeta del proyecto.Configuración del host MCP (en WSL): Configure su host MCP (que se ejecuta en WSL) para iniciar el servidor en Windows mediante PowerShell. Actualice
mcp_settings.json(o equivalente).{ "mcpServers": { "Screenshot-server": { "command": "powershell.exe", "args": [ "-Command", "Invoke-Command -ScriptBlock { cd '<YOUR_WINDOWS_PROJECT_PATH>'; & '<YOUR_WINDOWS_UV_PATH>' run screenshot.py }" ] } // ... other servers ... } }Reemplace las rutas con sus rutas reales de Windows.
4. Ejemplo de flujo de trabajo (Asistente de IA en WSL)
El Asistente de IA identifica su ruta de espacio de trabajo actual (por ejemplo,
/home/user/current_project).AI Assistant usa
use_mcp_toolpara llamarsave_screenshot_to_host_workspaceenScreenshot-server, pasandohost_workspace_path="/home/user/current_project"y opcionalmente unname.Recibe
"success".El Asistente de IA sabe que la captura de pantalla ahora está en
/home/user/current_project/workspace_screenshot.jpg(o el nombre especificado).AI Assistant usa
use_mcp_toolpara llamar a un servidor/herramienta de análisis de imágenes (que también se ejecuta en WSL), pasando la ruta WSL/home/user/current_project/workspace_screenshot.jpg.El servidor de análisis de imágenes lee el archivo y realiza su tarea.
Estructura de archivos
screenshot.py: El script principal del servidor MCP.README.md: Este archivo de documentación.pyproject.toml: Definición del proyecto y dependencias parauv.uv.lock: Archivo de bloqueo de dependencia..gitignore: Git ignora la configuración..python-version: (opcional) especificador de la versión de Python.server.log: Archivo de registro generado por el servidor.images/: Directorio predeterminado paratake_screenshot_and_return_path.
This server cannot be deployed
Maintenance
Related MCP Connectors
Capture website screenshots (viewport or full page) with local Chrome, or on OpenScreenShot Cloud.
Screenshots of any public web page as PNG, JPEG, WebP, PDF or a scrolling video.
Capture website screenshots, run bulk captures, and manage screenshot schedules and history.
Clean PNG/JPEG screenshots via REST or MCP, with goal-driven multi-step navigation.
Related MCP Servers
- AlicenseBqualityFmaintenanceEnables AI assistants running in WSL to capture Windows screenshots of full desktops, specific monitors, or individual windows by title or process name. It features DPI awareness, automatic path conversion between WSL and Windows, and customizable storage options.13MIT
- AlicenseAqualityFmaintenanceEnables AI assistants to capture screenshots and read clipboard content from Windows applications while operating within a WSL environment. It supports monitor or window-specific targeting and features intelligent image optimization for efficient data transfer.25MIT
- AlicenseNot gradedqualityDmaintenanceCaptures full-monitor screenshots and returns them as base64 inline or saved file. Supports macOS, Linux, Windows, and WSL2.22 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to capture screenshots of windows (e.g., WeChat developer tools) and save them locally, allowing the agent to read the image directly and close the code-change-to-review loop without OSS or network.1-