screen-mcp
screen-mcp
Ein MCP-Server (Model Context Protocol), der KI-Agenten Augen auf einem Omarchy / Hyprland-Wayland-Desktop verleiht. Er erfasst Screenshots über grim und bietet eine optionale Bildanalyse mithilfe der Gemini API an — nützlich, wenn das aufrufende Modell keinen nativen Vision-Encoder besitzt.
Funktionen
Tool | Was es tut | Rückgabe |
| Listet Hyprland-Fenster über | Textliste mit Adressen, Titeln, Arbeitsbereichen, Größen |
| Erfasst ein Pixel-Rechteck | Inline-PNG-Bild (base64) |
| Erfasst ein Fenster per Titel, Klasse, Adresse oder | Inline-PNG-Bild (base64) |
| Erfasst den gesamten Bildschirm | Inline-PNG-Bild (base64) |
| Sendet ein Bild (base64 oder Dateipfad) an Gemini zur Analyse | Textantwort |
| Erfasst einen Bereich und analysiert ihn in einem Aufruf | Text (Gemini-Antwort) |
Screenshots verwenden grim (wlroots-Screencopy-Protokoll) — kein X11 erforderlich.
Voraussetzungen
Omarchy, Hyprland oder einen beliebigen wlroots-basierten Wayland-Compositor
grim— Wayland-Screenshot-Toolslurp— (optional) Hilfsprogramm für die interaktive Bereichsauswahlhyprctl— Hyprland-Fenster-/Abfrage-CLIjq— (optional) wird von einigen Hilfsskripten verwendet
Überprüfen mit:
grim --help && hyprctl clients -j | head -c 20Für die Bildanalyse (optional)
Einen Gemini-API-Schlüssel erhältst du unter https://aistudio.google.com
Exportiere ihn in deiner Umgebung:
export GEMINI_API_KEY="your-api-key-here"Ohne den Schlüssel funktionieren die Screenshot-Tools weiterhin; nur analyze_image und screenshot_and_analyze geben einen Fehler zurück.
Installation
Über Claude Desktop
Füge Folgendes zur claude_desktop_config.json deiner Claude-Desktop-Installation hinzu:
{
"mcpServers": {
"screen-mcp": {
"command": "npx",
"args": ["-y", "screen-mcp"],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}Über npx
npx -y screen-mcp
# Or install globally:
npm install -g screen-mcpVerwendungsbeispiele
Einen Bildschirmbereich erfassen
screenshot_region(x=100, y=200, width=800, height=600, include_cursor=true)Ein bestimmtes Fenster erfassen
Liste zuerst die verfügbaren Fenster auf, um eine Adresse oder einen Titel zu erhalten:
list_windows()Erfasse das Fenster dann über Titel (Teilstring-Übereinstimmung), Adresse oder "focused":
screenshot_window(window="Spotify")
screenshot_window(window="focused")
screenshot_window(window="0x557ba79b4900")Ein Bild mit Gemini analysieren
analyze_image(
image_path="/tmp/my-screenshot.png",
prompt="What applications are visible in this screenshot?",
model="gemini-2.5-flash"
)Oder gib base64-codierte Bilddaten direkt weiter:
analyze_image(
image="<base64-encoded-image>",
prompt="Describe what you see in this image.",
mime_type="image/png"
)Erfassen und Analysieren in einem Aufruf
screenshot_and_analyze(
x=0, y=0, width=1920, height=1080,
prompt="Count the number of windows open and list their titles.",
scale=0.5,
model="gemini-2.5-flash"
)Entwicklung
# Install deps
npm install
# Build
npm run build
# Run
npm start
# Development (recompile on change)
npm run devSo funktioniert es
Erfassung:
src/capture.tskapseltgrim(Screenshots) undhyprctl(Fensterauflistung). Für die Fenster-Erfassung wird zuerstgrim -T <stableId>(Foreign-Toplevel-Handle) versucht; alternativ wird aufgrim -g "<x>,<y> <w>x<h>"(Geometrie vonhyprctl) zurückgegriffen.Analyse:
src/gemini.tsverwendet das offizielle@google/genai-SDK. Bilder werden inline als base64 an deninteractions.create-Endpunkt der Gemini-API übergeben.Server:
src/index.tsverbindet alles zu einem über stdio transportierten MCP-Server mithilfe von@modelcontextprotocol/server.
Lizenz
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Generate images, GIFs, and PDFs from HTML, URLs, or templates — from your AI agent.
Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ferre-z/screen-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server