Skip to main content

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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License. See LICENSE for details.

🔗 Links

🆘 Support

For issues or questions:


Made with ❤️ for the AI Community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

screenshot_mcp_server-1.0.0.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

screenshot_mcp_server-1.0.0-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

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

Hashes for screenshot_mcp_server-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8a1f71c98dddfd646c754d6d81a2f165165608995397e77fa49b5f326fa327ab
MD5 f696985eaf3d74e23e740e492d297e2a
BLAKE2b-256 b517d298fc2315cc15c97a652e0cc90d9e3c4cf9b468bb4873d616aefb4ad9a6

See more details on using hashes here.

File details

Details for the file screenshot_mcp_server-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for screenshot_mcp_server-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f15026e2b448d9a2d09ce21a2366b95941054cf04317b11db8febea0ac061f6a
MD5 d19600f9bfbb02a8319b0438791803f7
BLAKE2b-256 dcc5deab56a40e596377ee3a4e74377ec840b14d2c61da0d4da390aeee4758bd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page