About 🖼️ MCP Screenshot Server
An MCP-compatible Python service for Windows that captures full-screen, window-specific, or selected-region screenshots. It serves AI agents and automation workflows through an HTTP API, returning images as PNG or base64.
Key features
- 01Full-screen capture
- 02Window capture by title
- 03Custom-region capture
- 04PNG or base64 image output
- 05FastAPI-based REST API
Use cases
- 01Providing screenshots to AI agents
- 02QA automation pipelines
- 03Remote monitoring and capture
- 04Visual debugging and logging
MCP support
The server provides an MCP-compatible REST API for clients to request screenshots. Images are returned as PNG or base64.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README🖼️ MCP Screenshot Server
A lightweight, MCP-compatible screenshot microservice built with FastAPI for Windows.
It allows AI agents and automation tools to capture full-screen, region-based, or window-specific screenshots via simple HTTP calls.
🔧 Features
- 📸 Capture full-screen screenshots
- 🪟 Capture specific window by title
- 🔲 Capture custom regions
[x, y, width, height] - 🧠 MCP-compliant REST API
- 🖼️ Returns images as PNG or base64
- 🚀 Built with FastAPI, ready for production or LLM use
🧠 Use Cases
- Integrating with LLMs using Model Context Protocol (MCP)
- QA test automation pipelines
- Monitoring and remote capture tools
- Visual logging/debugging tools for agents
📦 Installation
git clone https://github.com/yourusername/mcp-screenshot-server.git
cd mcp-screenshot-server
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
uvicorn main:app --reload
🔌 API Usage
POST /screenshot
Request JSON body:
{
"region": [0, 0, 1280, 720], // optional
"window_title": "Untitled - Notepad", // optional
"base64": true // optional (default: false)
}
Response (base64 mode):
{
"status": "ok",
"mode": "region",
"image_format": "base64",
"image": "<base64-encoded-image>"
}
🛠️ Tech Stack
- Python 3.11+
- FastAPI
mssorpyautoguifor screenshotpillowfor image processingpygetwindowfor window matching (optional)
📄 License
MIT License.
Feel free to use, fork, and integrate — commercial or personal.
See LICENSE for details.
📬 Contributing
Pull requests and issues welcome!
Open a PR to add features or improve compatibility across platforms (e.g., Mac/Linux support).
🙋 FAQ
-
Does it work on Linux/macOS?
Not yet. This version is Windows-focused, but you’re welcome to extend it. -
Is it MCP-certified?
This project aims to follow the MCP spec as closely as possible for maximum compatibility with LLM agents.
🧠 Inspired By
- Anthropic’s Model Context Protocol
- Real-world automation use cases powered by LLMs and Python
Would you like me to tailor a specific section to emphasize AI agent use (e.g., “how to use with o1 or GPT-4o via plugin”)?
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.