Windows Screenshot MCP Server - Capture screens with Print Screen simulation
Project description
Screenshot MCP Server 📸
A modern Model Context Protocol (MCP) Server for Windows Screenshots built with .NET 10. This server simulates Print Screen functionality and enables AI assistants to capture screenshots.
✨ Features
- 🖥️ Multi-Monitor Support: Capture all screens simultaneously
- 🎯 Primary Screen: Screenshots of main display only
- 📊 Screen Info: Detailed information about all displays
- 🚀 Print Screen Simulation: Just like the Windows Print Screen key
- 💾 Desktop Integration: Screenshots saved to Desktop with timestamps
- ⚡ State-of-the-Art: Latest .NET 10 technology
🛠️ Installation
⚡ One-Click Install via UVX (Recommended)
Copy this URL and paste it in your browser:
vscode:mcp/install?{"name":"screenshot-mcp-server","gallery":true,"command":"uvx","args":["screenshot-mcp-server"]}
🔧 Manual UVX Installation
# Install UV (if not already installed)
pip install uv
# Run Screenshot MCP Server
uvx screenshot-mcp-server
📦 Alternative: Manual Installation via Git
git clone https://github.com/metamintbtc/desktop_screenshot_mcp_server.git
cd desktop_screenshot_mcp_server
dotnet build
VS Code MCP Configuration
Option A: Traditional mcp.json
Create mcp.json in your workspace or VS Code user directory:
{
"mcpServers": {
"screenshot-mcp-server": {
"command": "dotnet",
"args": ["run", "--project", "H:\\Screenshot_mcp\\ScreenshotMcpServer.csproj"],
"description": "Windows Screenshot MCP Server",
"env": {}
}
}
}
Option B: VS Code Settings
Add to your VS Code settings.json:
{
"github.copilot.chat.mcp.servers": {
"screenshot-mcp-server": {
"command": "dotnet",
"args": ["run", "--project", "H:\\Screenshot_mcp\\ScreenshotMcpServer.csproj"],
"description": "Windows Screenshot Server"
}
}
}
🚀 Usage
In VS Code with GitHub Copilot
Simply ask Copilot in natural language:
- "Take a screenshot of all my screens"
- "Capture just the primary monitor"
- "Show me information about my displays"
- "Simulate pressing Print Screen"
Available Tools
📸 TakeScreenshot
Captures all screens (simulates Print Screen)
Captures all monitors simultaneously
Saves as PNG to Desktop with timestamp
Filename: screenshot_2025-08-04_18-59-30.png
🎯 TakePrimaryScreenshot
Captures only the primary screen
Captures main monitor only
Perfect for focused screenshots
Filename: primary_screenshot_2025-08-04_18-59-30.png
📊 GetScreenInfo
Shows detailed information about all displays
- Number of monitors
- Resolutions and positions
- Virtual desktop size
⌨️ SimulatePrintScreen
Emulates exactly the Windows Print Screen key press
💻 System Requirements
- OS: Windows 10/11 (x64)
- .NET: .NET 10.0 or higher
- RAM: Minimum 512 MB
- Storage: 50 MB free space
🔧 Development
Build
dotnet build ScreenshotMcpServer.csproj
Run
dotnet run --project ScreenshotMcpServer.csproj
Publish
dotnet publish -c Release -o ./dist
📁 Project Structure
screenshot-mcp-server/
├── Program.cs # Main entry point
├── ScreenshotTool.cs # Screenshot functionality
├── ScreenshotMcpServer.csproj # .NET project
├── package.json # NPM configuration
├── README.md # This file
└── bin/ # Compiled binaries
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License. See LICENSE for details.
🔗 Links
🆘 Support
For issues or questions:
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
Made with ❤️ for the AI Community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file screenshot_mcp_server-1.0.0.tar.gz.
File metadata
- Download URL: screenshot_mcp_server-1.0.0.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a1f71c98dddfd646c754d6d81a2f165165608995397e77fa49b5f326fa327ab
|
|
| MD5 |
f696985eaf3d74e23e740e492d297e2a
|
|
| BLAKE2b-256 |
b517d298fc2315cc15c97a652e0cc90d9e3c4cf9b468bb4873d616aefb4ad9a6
|
File details
Details for the file screenshot_mcp_server-1.0.0-py3-none-any.whl.
File metadata
- Download URL: screenshot_mcp_server-1.0.0-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f15026e2b448d9a2d09ce21a2366b95941054cf04317b11db8febea0ac061f6a
|
|
| MD5 |
d19600f9bfbb02a8319b0438791803f7
|
|
| BLAKE2b-256 |
dcc5deab56a40e596377ee3a4e74377ec840b14d2c61da0d4da390aeee4758bd
|