
Mcp Screenshot
io.github.Digital-DefiancePublished by GitHub account Digital-Defiancev1.0.3Updated Oct 24, 2026
Screenshot capture with PII masking and cross-platform support for AI agents
The publisher's own server: screenshot.com.ar
Overview
Lets an AI assistant capture screenshots of the full screen, a specific window, or a screen region, with optional PII masking.
- What you can do
- Exposes five tools: screenshot_capture_full, screenshot_capture_window, screenshot_capture_region, screenshot_list_displays, and screenshot_list_windows. Captures can be saved to a file or returned as base64 in PNG, JPEG, WebP, or BMP with configurable quality. Optional OCR-based PII masking redacts emails, phone numbers, and credit cards. Security controls include allowed save directories, rate limiting, blocked window patterns, and audit logging.
- When to use it
- Useful when an assistant needs to see the actual user interface rather than only code: visual debugging, accessibility or contrast checks, responsive design comparison, and generating documentation or bug reports with screenshots. It is a desktop-only tool, so it fits local development machines, not headless servers. Skip it if you only need web page rendering inside a browser session.
- Requirements
- Runs locally as a Node.js process via the npm package @ai-capabilities-suite/mcp-screenshot over stdio. Linux needs imagemagick (X11) or grim (Wayland); macOS needs Screen Recording permission; Windows needs no extra dependencies. Optional environment variables: SCREENSHOT_ALLOWED_DIRS, SCREENSHOT_MAX_CAPTURES_PER_MIN, SCREENSHOT_ENABLE_AUDIT_LOG, SCREENSHOT_BLOCKED_WINDOWS. No accounts or API keys.
Installation
In SourceWeft
- Open Mcp Screenshot in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
📸 MCP ACS Screenshot Server
[NPM Version] [GitHub Release] [License: MIT] [Node.js Version] [Docker Pulls]
Give AI agents visual superpowers to see, analyze, and document your applications like senior UX designers.
This enterprise-grade MCP server transforms AI from code-only assistants into visual experts capable of UI analysis, accessibility auditing, documentation generation, and responsive design testing.
🔗 Repository
This package is now maintained in its own repository: https://github.com/Digital-Defiance/mcp-screenshot
This repository is part of the AI Capabilitites Suite on GitHub.
🤔 Why Do AI Agents Need Visual Capabilities?
AI agents today are powerful but visually blind:
- ❌ Can read HTML/CSS but can't see actual layouts
- ❌ Can suggest UI improvements without seeing the real user experience
- ❌ Can't detect accessibility issues like poor contrast or spacing
- ❌ Can't create visual documentation or bug reports
- ❌ Can't analyze responsive design across different screen sizes
Result: You're stuck manually creating screenshots, documentation, and visual analysis that AI should handle.
🎯 Revolutionary Use Cases
📚 "AI, create professional documentation"
🔍 "AI, audit this page for accessibility"
🐛 "AI, create a detailed bug report"
🎨 "AI, compare these design variations"
📱 "AI, test responsive design"
✨ What This Changes
Before: AI worked blind, relying on code descriptions
- ❌ "The button looks wrong" → AI guesses the issue
- ❌ "Create documentation" → AI writes generic text
- ❌ "Check accessibility" → AI only reviews code
- ❌ "Test responsive design" → AI can't see actual breakpoints
After: AI sees and analyzes your actual user interface
- ✅ Visual debugging - AI identifies exact pixel-level issues
- ✅ Smart documentation - AI creates guides with real screenshots and annotations
- ✅ Accessibility audits - AI measures actual contrast ratios and spacing
- ✅ Responsive testing - AI captures and compares different screen sizes
- ✅ Design analysis - AI evaluates visual hierarchy and user experience
- ✅ Professional reports - AI creates detailed visual evidence for bugs and improvements
🚀 Features
- Multi-format Support: PNG, JPEG, WebP, BMP with configurable quality
- Flexible Capture: Full screen, specific windows, or custom regions
- Privacy Protection: PII masking with OCR-based detection for emails, phone numbers, and credit cards
- Security Controls: Path validation, rate limiting, audit logging, and configurable policies
- Cross-platform: Linux (X11/Wayland), macOS, Windows with native APIs
- Multi-monitor Support: Capture from specific displays in multi-monitor setups
- Enterprise Security: Window exclusion, audit logging, rate limiting
- AI-Optimized: Structured responses perfect for AI agent workflows
Installation
NPM Installation
System Requirements
Linux:
- X11:
imagemagickpackage (providesimportcommand) - Wayland:
grimpackage
macOS:
- Built-in
screencapturecommand (no additional dependencies) - Screen Recording permission required (System Preferences > Security & Privacy > Privacy > Screen Recording)
Windows:
- No additional dependencies required
MCP Configuration
Add to your MCP settings file (e.g., ~/.kiro/settings/mcp.json or .kiro/settings/mcp.json):
🛠️ 5 Professional MCP Tools
Purpose-built for AI agents to capture, analyze, and work with visual information:
The server exposes 5 comprehensive MCP tools that enable AI agents to see and understand your applications:
1. screenshot_capture_full
Capture full screen or specific display.
Parameters:
display(string, optional): Display ID to capture (defaults to primary display)format(string, optional): Image format -png,jpeg,webp, orbmp(default:png)quality(number, optional): Compression quality 1-100 for lossy formats (default: 90)savePath(string, optional): File path to save screenshot (returns base64 if not provided)enablePIIMasking(boolean, optional): Enable PII detection and masking (default: false)
Example:
Response:
2. screenshot_capture_window
Capture specific application window by ID or title pattern.
Parameters:
windowId(string, optional): Window identifier (usewindowIdorwindowTitle)windowTitle(string, optional): Window title pattern to match (usewindowIdorwindowTitle)includeFrame(boolean, optional): Include window frame and title bar (default: false)format(string, optional): Image format (default:png)quality(number, optional): Compression quality 1-100 (default: 90)savePath(string, optional): File path to save screenshot
Example:
Response:
3. screenshot_capture_region
Capture specific rectangular region of the screen.
Parameters:
x(number, required): X coordinate of top-left cornery(number, required): Y coordinate of top-left cornerwidth(number, required): Width of region in pixelsheight(number, required): Height of region in pixelsformat(string, optional): Image format (default:png)quality(number, optional): Compression quality 1-100 (default: 90)savePath(string, optional): File path to save screenshot
Example:
Response:
4. screenshot_list_displays
List all connected displays with resolution and position information.
Parameters: None
Example:
Response:
5. screenshot_list_windows
List all visible windows with title, process, and position information.
Parameters: None
Example:
Response:
Security Configuration
The server enforces security policies to control screenshot operations. Configure via environment variables or security policy file.
Environment Variables
SCREENSHOT_ALLOWED_DIRS: Comma-separated list of allowed directories for saving screenshotsSCREENSHOT_MAX_CAPTURES_PER_MIN: Maximum captures per minute (default: 60)SCREENSHOT_ENABLE_AUDIT_LOG: Enable audit logging (default: true)SCREENSHOT_BLOCKED_WINDOWS: Comma-separated list of window title patterns to exclude
Security Policy File
Create a security-policy.json file:
Load the policy when starting the server:
Error Handling
All tools return structured error responses with error codes and remediation suggestions.
Error Codes
Error Response Format
Troubleshooting
Linux Issues
Problem: import: command not found or grim: command not found
Solution: Install required packages:
Problem: Black screen or empty captures
Solution: Check display server environment variables:
macOS Issues
Problem: PERMISSION_DENIED error
Solution: Grant Screen Recording permission:
- Open System Preferences > Security & Privacy > Privacy
- Select "Screen Recording" from the list
- Add your terminal application or Node.js to the allowed list
- Restart the application
Problem: Retina display captures are double resolution
Solution: This is expected behavior. Retina displays have 2x pixel density. Use the width and height from metadata to determine actual dimensions.
Windows Issues
Problem: Capture fails with access denied
Solution: Run the application with administrator privileges or check Windows Defender settings.
Problem: Multi-monitor captures show wrong display
Solution: Use screenshot_list_displays to get correct display IDs and positions.
General Issues
Problem: RATE_LIMIT_EXCEEDED error
Solution: The server limits captures to prevent abuse. Wait 60 seconds or adjust maxCapturesPerMinute in security policy.
Problem: INVALID_PATH error when saving
Solution: Ensure the save path is within allowed directories configured in security policy.
Problem: PII masking not working
Solution:
- Ensure tesseract.js is properly installed
- Check that
eng.traineddatalanguage file is available - PII masking requires OCR which may be slow on large images
Problem: Large file sizes
Solution:
- Use JPEG format with lower quality (60-80) for smaller files
- Use WebP format for best compression
- Reduce capture region size if possible
Problem: Out of memory errors
Solution:
- Capture smaller regions instead of full screen
- Reduce quality settings
- Close other applications to free memory
- Use streaming for very large captures
Programmatic Usage
TypeScript/JavaScript
Direct Capture Engine Usage
Development
This package is part of the AI Capabilities Suite monorepo.
Build
Test
Project Structure
Contributing
Contributions are welcome! Please ensure:
- All tests pass (
npm test) - Code follows TypeScript best practices
- New features include tests and documentation
- Security considerations are addressed
License
MIT
Support
For issues and questions:
- GitHub Issues: Create an issue
- Documentation: See TESTING.md for testing guide
- Security: Report security issues privately to [email protected]
Source: README.md at commit d87dc1f
Tools
0Version history
1- v1.0.3LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.
Other Screenshot integrations
screenshot.com.ar
ar.com.screenshotOfficial publisher
Remote MCP server that renders any public web page in a real Chrome browser and returns screenshots or clean markdown.

Website Screenshot API
Published by GitHub account prometheus-maker
Apify-hosted MCP server that lets an assistant capture full-page, first-screen, mobile or element screenshots of any URL as PNG, JPEG or PDF.
Website Screenshot and PDF (Apify actor)
dev.pages.website-screenshot-pdf
Website Screenshot and PDF (Apify actor)'s hosted MCP server, published by website-screenshot-pdf.pages.dev; credential required; Streamable HTTP.

x402-screenshot-mcp
Published by GitHub account 6mickswagger9
Local stdio MCP server that fronts an x402 paid screenshot API for AI agents, with USDC payments on Base settled through a CDP facilitator.

ScreenshotAPI
Published by GitHub account Screenshot-API
Official ScreenshotAPI MCP server that lets an assistant capture website screenshots, convert URLs or HTML to PDF, record scrolling videos, scrape rendered…