Enables screenshot capture functionality on macOS, allowing full desktop screenshots, specific window captures, custom area selection, and screenshot management through the built-in screencapture command.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Screenshot MCP Servertake a screenshot of this window"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Screenshot MCP Server
A Model Context Protocol (MCP) server that enables natural language screenshot capture on macOS using FastMCP.
Features
Full Desktop Screenshots: Capture the entire desktop with optional delay
Window Screenshots: Interactive window selection for capturing specific applications
Area Screenshots: Interactive area selection for capturing custom regions
Screenshot Management: List and manage saved screenshots
Automatic Organization: Screenshots saved to
~/Desktop/mcp-screenshots/
Related MCP server: MCP Fetch
Installation
Clone the repository:
git clone https://github.com/your-username/screenshot-mcp.git
cd screenshot-mcpCreate and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On macOS/LinuxInstall dependencies:
pip install -r requirements.txtTesting
Run the test script to verify everything is working:
python test_server.pyConfiguration
Add the following to your Claude Desktop configuration file (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"screenshot": {
"command": "/path/to/screenshot-mcp/venv/bin/python",
"args": ["/path/to/screenshot-mcp/server.py"],
"env": {}
}
}
}Replace /path/to/screenshot-mcp with the actual path to your cloned repository.
Available Tools
screenshot
Captures a screenshot of the entire desktop.
Parameters:
filename(optional): Custom filename for the screenshotdelay(optional): Delay in seconds before capturing (default: 0)
screenshot_window
Captures a screenshot of a specific window through interactive selection.
Parameters:
filename(optional): Custom filename for the screenshot
screenshot_area
Captures a screenshot of a selected area through interactive selection.
Parameters:
filename(optional): Custom filename for the screenshot
list_screenshots
Lists recently saved screenshots with details.
Parameters:
limit(optional): Maximum number of screenshots to list (default: 10)
Usage Examples
Once configured in Claude Desktop, you can use natural language commands like:
"Take a screenshot"
"Capture a screenshot with 3 second delay"
"Take a screenshot of this window"
"Screenshot just this area"
"Show me my recent screenshots"
Requirements
macOS (uses built-in
screencapturecommand)Python 3.8+
Claude Desktop application
File Structure
screenshot-mcp/
├── server.py # Main MCP server implementation
├── test_server.py # Test script for verification
├── requirements.txt # Python dependencies
├── README.md # This file
└── .gitignore # Git ignore rulesTroubleshooting
Permission Issues: macOS may require screen recording permissions for the application running the server
Path Issues: Ensure the paths in the Claude Desktop configuration are absolute and correct
Virtual Environment: Make sure to use the Python interpreter from your virtual environment
License
This project is open source. Feel free to modify and distribute as needed.
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.