Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Computer-use for Kasm Workspaces: lets AI agents see and drive your Kasm desktops over KasmVNC.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
KASM_API_URL, KASM_API_KEY, KASM_API_KEY_SECRET, KASM_USER_ID, KASM_VERIFY_TLSAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"kasm-use": {
"command": "uvx",
"args": [
"kasm-use"
],
"env": {
"KASM_API_URL": "your-value",
"KASM_API_KEY": "your-value",
"KASM_API_KEY_SECRET": "your-value",
"KASM_USER_ID": "your-value",
"KASM_VERIFY_TLS": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add kasm-use --env KASM_API_URL=your-value --env KASM_API_KEY=your-value --env KASM_API_KEY_SECRET=your-value --env KASM_USER_ID=your-value --env KASM_VERIFY_TLS=your-value -- uvx kasm-useTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"kasm-use": {
"command": "uvx",
"args": [
"kasm-use"
],
"env": {
"KASM_API_URL": "your-value",
"KASM_API_KEY": "your-value",
"KASM_API_KEY_SECRET": "your-value",
"KASM_USER_ID": "your-value",
"KASM_VERIFY_TLS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"kasm-use": {
"type": "stdio",
"command": "uvx",
"args": [
"kasm-use"
],
"env": {
"KASM_API_URL": "your-value",
"KASM_API_KEY": "your-value",
"KASM_API_KEY_SECRET": "your-value",
"KASM_USER_ID": "your-value",
"KASM_VERIFY_TLS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
KASM_VERIFY_TLS envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto rchurro bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: KASM_API_URL, KASM_API_KEY, KASM_API_KEY_SECRET, KASM_USER_ID
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.4.0) kam vor 27 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Fomu MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Kenya government form guides: checklists, draft letters, eCitizen, Huduma, timelines. Sample data.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Let an AI agent use a Kasm Workspaces desktop: start a session, look at the screen, click, type, press keys, scroll, and stop it — in plain language, from any MCP client (Claude Code, Claude Desktop, OpenCode, Cursor, …) or as a native Hermes Agent plugin.
Other Kasm MCP servers manage sessions (start, list, stop). kasm-use actually uses them: the agent sees the desktop and operates it, like computer-use or browser-use, inside your Kasm.
Kasm Workspaces streams disposable desktops and apps to your web browser, each running in its own container on a server you control. Click "Chrome" and you get a fresh Chrome in a browser tab; close it and it's wiped. kasm-use lets an AI agent sit down at those desktops and use them the way a person would.
*Demo (3x speed): Hermes Agent runs a three-session demo with kasm-use. Chrome, Terminal and Minetest are started and driven in parallel while the Kasm dashboard shows each one live.*
How the pieces connect:
flowchart LR
agent["AI agent (any MCP client or Hermes)"] -->|"tool calls: look, click, type"| ku["kasm-use"] ku -->|"start / list / stop (API key)"| api["Kasm API"] api -->|"starts container"| desk ku -->|"screenshots + input (VNC over websocket)"| proxy["Kasm proxy"] you["You, in the Kasm dashboard"] -->|"watch or take over"| proxy proxy --> desk["Session desktop (KasmVNC in a container)"]
kasm-use works well on the setup it was built on (Kasm 1.19.0 in linuxserver's Docker image; Chrome, Terminal and Minetest workspaces; Claude Code and Hermes Agent as clients). It talks to parts of Kasm that aren't documented, so other versions and install types are the big unknown. If you try it, please open an issue, whether it worked or not: your Kasm version, how Kasm is installed, the workspace image and your MCP client are the most useful details.
| Tool | What it does |
|---|---|
kasm_list | Workspaces you can start, and your running sessions |
kasm_start | Start a workspace (e.g. Chrome); returns once the session is running |
kasm_look | Live screenshot of the session, returned as an image (~1 s) |
kasm_click | Click at x,y in the latest screenshot's coordinates |
kasm_drag | Drag from one point to another with the button held (menus, windows, sliders, drag and drop) |
kasm_type | Type text into the focused field |
kasm_key | Keys/shortcuts, e.g. ctrl+l, Return, Tab |
kasm_scroll | Scroll, optionally at a point |
kasm_stop | Destroy the session |
kasm_start fails with Unauthorized).kasm_list.kasm_stop.It no longer calls Kasm's exec API (Sessions Modify) or screenshot API (Session Recordings View), so you can remove those if you granted them for 0.2 or earlier. A missing permission shows up as Unauthorized from the tool that needs it. Read Security model first: these permissions are server-wide.
| Variable | Required | Meaning |
|---|---|---|
KASM_API_URL | yes | e.g. https://kasm.example.com |
KASM_API_KEY / KASM_API_KEY_SECRET | yes | the API key pair |
KASM_USER_ID | yes | the Kasm user sessions are created for |
KASM_VERIFY_TLS | no | false to accept a self-signed Kasm certificate (default true) |
KASM_USE_TOKEN | HTTP only | bearer token clients must send |
Your MCP client starts the server itself. With uv installed:
{
"mcpServers": { "kasm": { "command": "uvx", "args": ["kasm-use"], "env": { "KASM_API_URL": "https://kasm.example.com", "KASM_API_KEY": "…", "KASM_API_KEY_SECRET": "…", "KASM_USER_ID": "…" } } } }
Claude Code:
claude mcp add kasm -e KASM_API_URL=https://kasm.example.com -e KASM_API_KEY=… -e KASM_API_KEY_SECRET=… -e KASM_USER_ID=… -- uvx kasm-use
docker run -d -p 8000:8000 \
-e KASM_API_URL=https://kasm.example.com -e KASM_API_KEY=… -e KASM_API_KEY_SECRET=… \ -e KASM_USER_ID=… -e KASM_USE_TOKEN="$(openssl rand -hex 32)" \ ghcr.io/rchurro/kasm-use:latest
Clients connect to http://host:8000/mcp with the header Authorization: Bearer . Health check: GET /healthz. Run one replica per Kasm user: the server remembers each session's last screenshot size in memory to map click coordinates.
Keep it on a private network (LAN, VPN, Tailscale). Anyone with the token can drive your desktops.
pip install kasm-use # into Hermes's Python environment
cp -r hermes-plugin/kasm ~/.hermes/plugins/kasm
Enable kasm under plugins.enabled, set the environment variables above, and start a new Hermes session (/new) so the tools load.
An agent with these tools drives a real desktop on your network, so treat it like handing someone your mouse and keyboard.
Two Kasm facts shape what kasm-use can and can't promise:
So the boundary is kasm-use itself:
session_id (yours, another user's, one from before a restart) is refused, including for kasm_look and kasm_stop. kasm_list only shows kasm-use's own sessions.What that means for you:
KASM_USER_ID to it. That keeps the agent's sessions and tokens away from your own sessions if something goes wrong in kasm-use. (It is a seatbelt, not a wall: the key itself can still reach every user.)kasm-use talks to each session's KasmVNC server directly, through Kasm's own proxy (wss:// /desktop/ /vnc/websockify), with the login token request_kasm returns. The VNC client is built in and uses only the Python standard library.
zlib), returned as PNG. Kasm's screenshot API isn't used for these sessions: it only refreshes while a viewer is connected, so with nobody watching it returns stale frames.What this relies on. None of this is an official Kasm API; it's how Kasm's own web viewer connects, observed on Kasm 1.19.0:
username + session_token cookies that request_kasm returns, and requires an Origin header matching the Kasm host.A Kasm update or a different install type could change any of these. If kasm-use stops connecting, that's the likely cause, and an issue with your Kasm version and install type helps.
MIT