# 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:
```text
vscode:mcp/install?{"name":"screenshot-mcp-server","gallery":true,"command":"uvx","args":["screenshot-mcp-server"]}
```
### 🔧 Manual UVX Installation
```bash
# Install UV (if not already installed)
pip install uv
# Run Screenshot MCP Server
uvx screenshot-mcp-server
```
### 📦 Alternative: Manual Installation via Git
```bash
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:
```json
{
"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:
```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)
```text
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
```text
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
```text
- 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
```bash
dotnet build ScreenshotMcpServer.csproj
```
### Run
```bash
dotnet run --project ScreenshotMcpServer.csproj
```
### Publish
```bash
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](LICENSE) for details.
## 🔗 Links
- [Model Context Protocol](https://modelcontextprotocol.io/)
- [.NET 10 Documentation](https://docs.microsoft.com/en-us/dotnet/)
- [VS Code GitHub Copilot](https://code.visualstudio.com/docs/copilot/)
## 🆘 Support
For issues or questions:
- 🐛 Issues: [GitHub Issues](https://github.com/metamintbtc/desktop_screenshot_mcp_server/issues)
- 💬 Discussions: [GitHub Discussions](https://github.com/metamintbtc/desktop_screenshot_mcp_server/discussions)
---
**Made with ❤️ for the AI Community**
Raw data
{
"_id": null,
"home_page": null,
"name": "screenshot-mcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "mcp, model-context-protocol, print-screen, screenshot, windows",
"author": null,
"author_email": "MetaMint <info@metamint.com>",
"download_url": "https://files.pythonhosted.org/packages/b5/17/d298fc2315cc15c97a652e0cc90d9e3c4cf9b468bb4873d616aefb4ad9a6/screenshot_mcp_server-1.0.0.tar.gz",
"platform": null,
"description": "# Screenshot MCP Server \ud83d\udcf8\n\nA 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.\n\n## \u2728 Features\n\n- \ud83d\udda5\ufe0f **Multi-Monitor Support**: Capture all screens simultaneously\n- \ud83c\udfaf **Primary Screen**: Screenshots of main display only \n- \ud83d\udcca **Screen Info**: Detailed information about all displays\n- \ud83d\ude80 **Print Screen Simulation**: Just like the Windows Print Screen key\n- \ud83d\udcbe **Desktop Integration**: Screenshots saved to Desktop with timestamps\n- \u26a1 **State-of-the-Art**: Latest .NET 10 technology\n\n## \ud83d\udee0\ufe0f Installation\n\n### \u26a1 One-Click Install via UVX (Recommended)\n\nCopy this URL and paste it in your browser:\n\n```text\nvscode:mcp/install?{\"name\":\"screenshot-mcp-server\",\"gallery\":true,\"command\":\"uvx\",\"args\":[\"screenshot-mcp-server\"]}\n```\n\n### \ud83d\udd27 Manual UVX Installation\n\n```bash\n# Install UV (if not already installed)\npip install uv\n\n# Run Screenshot MCP Server\nuvx screenshot-mcp-server\n```\n\n### \ud83d\udce6 Alternative: Manual Installation via Git\n\n```bash\ngit clone https://github.com/metamintbtc/desktop_screenshot_mcp_server.git\ncd desktop_screenshot_mcp_server\ndotnet build\n```\n\n### VS Code MCP Configuration\n\n#### Option A: Traditional mcp.json\nCreate `mcp.json` in your workspace or VS Code user directory:\n```json\n{\n \"mcpServers\": {\n \"screenshot-mcp-server\": {\n \"command\": \"dotnet\",\n \"args\": [\"run\", \"--project\", \"H:\\\\Screenshot_mcp\\\\ScreenshotMcpServer.csproj\"],\n \"description\": \"Windows Screenshot MCP Server\",\n \"env\": {}\n }\n }\n}\n```\n\n#### Option B: VS Code Settings\nAdd to your VS Code settings.json:\n```json\n{\n \"github.copilot.chat.mcp.servers\": {\n \"screenshot-mcp-server\": {\n \"command\": \"dotnet\",\n \"args\": [\"run\", \"--project\", \"H:\\\\Screenshot_mcp\\\\ScreenshotMcpServer.csproj\"],\n \"description\": \"Windows Screenshot Server\"\n }\n }\n}\n```\n\n## \ud83d\ude80 Usage\n\n### In VS Code with GitHub Copilot\n\nSimply ask Copilot in natural language:\n- *\"Take a screenshot of all my screens\"*\n- *\"Capture just the primary monitor\"* \n- *\"Show me information about my displays\"*\n- *\"Simulate pressing Print Screen\"*\n\n### Available Tools\n\n#### \ud83d\udcf8 `TakeScreenshot`\nCaptures all screens (simulates Print Screen)\n\n```text\nCaptures all monitors simultaneously\nSaves as PNG to Desktop with timestamp\nFilename: screenshot_2025-08-04_18-59-30.png\n```\n\n#### \ud83c\udfaf `TakePrimaryScreenshot` \nCaptures only the primary screen\n\n```text\nCaptures main monitor only\nPerfect for focused screenshots\nFilename: primary_screenshot_2025-08-04_18-59-30.png\n```\n\n#### \ud83d\udcca `GetScreenInfo`\nShows detailed information about all displays\n\n```text\n- Number of monitors\n- Resolutions and positions \n- Virtual desktop size\n```\n\n#### \u2328\ufe0f `SimulatePrintScreen`\nEmulates exactly the Windows Print Screen key press\n\n## \ud83d\udcbb System Requirements\n\n- **OS**: Windows 10/11 (x64)\n- **.NET**: .NET 10.0 or higher\n- **RAM**: Minimum 512 MB\n- **Storage**: 50 MB free space\n\n## \ud83d\udd27 Development\n\n### Build\n\n```bash\ndotnet build ScreenshotMcpServer.csproj\n```\n\n### Run \n\n```bash\ndotnet run --project ScreenshotMcpServer.csproj\n```\n\n### Publish\n\n```bash\ndotnet publish -c Release -o ./dist\n```\n\n## \ud83d\udcc1 Project Structure\n\n```\nscreenshot-mcp-server/\n\u251c\u2500\u2500 Program.cs # Main entry point\n\u251c\u2500\u2500 ScreenshotTool.cs # Screenshot functionality\n\u251c\u2500\u2500 ScreenshotMcpServer.csproj # .NET project\n\u251c\u2500\u2500 package.json # NPM configuration\n\u251c\u2500\u2500 README.md # This file\n\u2514\u2500\u2500 bin/ # Compiled binaries\n```\n\n## \ud83e\udd1d Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`) \n5. Open a Pull Request\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License. See [LICENSE](LICENSE) for details.\n\n## \ud83d\udd17 Links\n\n- [Model Context Protocol](https://modelcontextprotocol.io/)\n- [.NET 10 Documentation](https://docs.microsoft.com/en-us/dotnet/)\n- [VS Code GitHub Copilot](https://code.visualstudio.com/docs/copilot/)\n\n## \ud83c\udd98 Support\n\nFor issues or questions:\n\n- \ud83d\udc1b Issues: [GitHub Issues](https://github.com/metamintbtc/desktop_screenshot_mcp_server/issues)\n- \ud83d\udcac Discussions: [GitHub Discussions](https://github.com/metamintbtc/desktop_screenshot_mcp_server/discussions)\n\n---\n\n**Made with \u2764\ufe0f for the AI Community**\n",
"bugtrack_url": null,
"license": null,
"summary": "Windows Screenshot MCP Server - Capture screens with Print Screen simulation",
"version": "1.0.0",
"project_urls": {
"Documentation": "https://github.com/metamintbtc/desktop_screenshot_mcp_server#readme",
"Homepage": "https://github.com/metamintbtc/desktop_screenshot_mcp_server",
"Issues": "https://github.com/metamintbtc/desktop_screenshot_mcp_server/issues",
"Repository": "https://github.com/metamintbtc/desktop_screenshot_mcp_server.git"
},
"split_keywords": [
"mcp",
" model-context-protocol",
" print-screen",
" screenshot",
" windows"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "dcc5deab56a40e596377ee3a4e74377ec840b14d2c61da0d4da390aeee4758bd",
"md5": "d19600f9bfbb02a8319b0438791803f7",
"sha256": "f15026e2b448d9a2d09ce21a2366b95941054cf04317b11db8febea0ac061f6a"
},
"downloads": -1,
"filename": "screenshot_mcp_server-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d19600f9bfbb02a8319b0438791803f7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 25110,
"upload_time": "2025-08-04T19:49:10",
"upload_time_iso_8601": "2025-08-04T19:49:10.887027Z",
"url": "https://files.pythonhosted.org/packages/dc/c5/deab56a40e596377ee3a4e74377ec840b14d2c61da0d4da390aeee4758bd/screenshot_mcp_server-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b517d298fc2315cc15c97a652e0cc90d9e3c4cf9b468bb4873d616aefb4ad9a6",
"md5": "f696985eaf3d74e23e740e492d297e2a",
"sha256": "8a1f71c98dddfd646c754d6d81a2f165165608995397e77fa49b5f326fa327ab"
},
"downloads": -1,
"filename": "screenshot_mcp_server-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "f696985eaf3d74e23e740e492d297e2a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 13747,
"upload_time": "2025-08-04T19:49:11",
"upload_time_iso_8601": "2025-08-04T19:49:11.944967Z",
"url": "https://files.pythonhosted.org/packages/b5/17/d298fc2315cc15c97a652e0cc90d9e3c4cf9b468bb4873d616aefb4ad9a6/screenshot_mcp_server-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-04 19:49:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "metamintbtc",
"github_project": "desktop_screenshot_mcp_server#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "screenshot-mcp-server"
}