Solisk PC Control MCP
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Install · Windows GUI · Connect an AI · Security · Self-host · CLI · FAQ
One product, three faces, one runtime per machine. Connect any MCP client by URL, approve once, call 97 tools — and watch every session, toggle every path, revoke anything. CLI on every OS, desktop control room on Windows, web dashboard (/app) anywhere.
Install
npm install -g solisk # Node 22.5+ · or run without installing: npx solisk
solisk setup # room name, owner key, approval mode — step by step
solisk --mode=http # MCP server on 127.0.0.1:3000 (default)
solisk dashboard # web control room at /appWindows, Linux and macOS servers run the same command. Off-Windows serves the 45 portable tools + shell_exec; Windows-only automation stays off. The /app dashboard is the control room on every OS.
Related MCP server: ORVEX
Windows GUI
Download
PC Control MCP 1.0.0.msifrom Releases — the classicSetup .exerides along.Run it: point-and-click control room, same engine as the CLI.
Already have the CLI?
solisk gui setup --installer <path-to-.msi>installs it silently.On Linux/macOS,
solisk guirefuses by design and points you to the web dashboard.
The build is unsigned, so SmartScreen asks once:More info → Run anyway. An EV certificate ends this; it is budgeted, not done.
Connect an AI in 60 seconds
flowchart LR
A[Copy MCP URL<br/>from Setup] --> B[Paste as connector<br/>in Claude / ChatGPT]
B --> C[Approve once<br/>consent + room key]
C --> D[Calling tools.<br/>Reconnects need no re-auth.]
style D fill:#4fd1b5,color:#03211bConnect | Authorize | Control |
First connect fails but a retry works? Claude cached a failed discovery — remove and re-add the connector once, consent then appears directly.
Security model
# | Guarantee | How |
1 | Bearer-only | Owner key, scoped key, OAuth token, or device cookie on every data route. Shells public, data never. |
2 | Zero-trust relay | Authenticates before forwarding one byte. Takeovers logged and blocked. |
3 | PKCE + exact redirects + bound tokens | No cross-room token reuse, ever. |
4 | Hashed at rest | scrypt with unique salts. Secrets never hit logs or disk plaintext. |
5 | Fail closed | Unknown session → re-init. Offline → local keeps working, remote redials. 300/min relay, 400/min local, 5 sessions, idle expiry. |
6 | Deliberate destruction | Funnel, turbo, URL regen all confirm first and state what happens. |
Full policy: SECURITY.md · found something? Security advisory — not a public issue.
Everything, live
Four paths in | Hosted relay · Cloudflare tunnel (quick or your own domain) · tailnet · web dashboard. Each toggles live; killing the dashboard returns |
Honest sessions | One live AI reads |
Keys that fit | Scoped client keys, fail-closed defaults, zero-downtime rotation, 30-day remembered devices. |
No-fight runtime | CLI attaches to a running GUI, borrows its key transparently, and refuses to boot a second server over it. |
Updates | In-app release notes, skip-a-version supported, mandatory releases cannot be skipped. |
Architecture
flowchart TB
AI["AI client<br/>Claude.ai / ChatGPT / Cursor"]
AI -->|MCP URL + OAuth 2.1<br/>PKCE S256, resource-bound tokens| RELAY
subgraph RELAY["Cloud relay"]
R1[rooms · tokens · rate limits<br/>scrypt-hashed keys]
end
RELAY -->|one outbound WebSocket per PC<br/>takeover-protected| PC
subgraph PC["Your machine :3000"]
P1[StreamableHTTP · 97 tools · 5 sessions max]
P2[Cloudflare tunnel<br/>quick or your domain]
P3[tailnet serve · web dashboard /app]
endOne config file, one event bus, one session store. Thin faces (Electron, CLI, web shim) never own state.
OS support
OS | CLI ( | Web dashboard ( | GUI | Tools |
Windows 10/11 x64 | ✅ local + relay + tunnel | ✅ | ✅ full control room | 97 native |
Linux | ✅ server · stdio · tunnels · Tailscale | ✅ | ❌ — | 45 portable + |
macOS | ✅ server · stdio | ✅ | ❌ — same | 45 portable + |
Windows-only automation (mouse/keyboard hooks, screenshots, native dialogs) stays off elsewhere; everything portable stays on. Relay, tunnels, OAuth, keys, remembered devices, sessions, update checks — identical on all three.
Requirements
Node ≥ 22.5 for the CLI.
Windows 10/11 x64 for the GUI.
Nothing else — no Docker, no reverse proxy needed for localhost use.
Self-host the relay
ssh root@YOUR_VPS
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Kyzenkms/solisk-pc-mcp/main/self-hosted-setup/vps/install.sh)"Picks your domain type (yours or sslip.io for testing), then runtime (Docker or PM2), then prints the room + key to paste into the app. Backups, firewall, updates: self-hosted-setup/README.md.
CLI reference
solisk is the command — pc-control remains as a compatibility alias.
solisk dashboard [--no-open] web console for the running server
solisk doctor [--fix] 11 health checks — 0 failing is the goal
solisk logs [--lines N] live server log, whichever face owns it
solisk setup step-by-step onboarding wizard
solisk backup config snapshot for restoressolisk config get|set|validate ports, modes, domains (secrets refused)
solisk rotate-key new owner key, zero-downtime rotation
solisk keys list|add|revoke scoped client keys (fail-closed defaults)
solisk devices list|revoke remembered browsers
solisk relay status|retry room state, redialsolisk tunnel off|quick|custom + login, create, route, forget, status
solisk tailscale status|serve|off funnel is deliberate and confirmed
solisk gui status|setup detect install, install from .exe or .msiEvery attach command works with zero flags next to a running GUI.
Verify
cd relay-server && node --test test/oauth.test.js # OAuth regression suite
node test-live.js # end-to-end vs a running server
solisk doctor # this machine — 0 failing is the goalFAQ
MIT · Solisk PC Control MCP · v1.0.0 · solisk.org
This server cannot be deployed
Maintenance
Related MCP Connectors
Give your AI hands on every computer you own. Remote control of your Windows, Mac and Linux machines from one ChatGPT, Claude or Cursor chat — even from your phone. Ask it to find out why the office server is crawling, update every PC in the house, sort out your mom's laptop from another city, or ship the site from your work machine while you're on a train. It runs commands, reads files and takes a screenshot when it needs to see the screen. You decide what each computer allows, and you can cut any of them off in a second.
- DNS-DATA RemoteDeprecatedcom.dns-data
Connect AI assistants to authorized Windows and macOS devices for files, commands, and management.
Secure AI access to Windows, macOS, Linux computers and a hosted Cloud Browser.
Connect AI assistants to your approved computer for files, commands, browser and desktop tasks.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI models to control a local Windows desktop by moving the cursor, clicking, scrolling, typing Unicode text, sending key chords, and capturing screenshots. Runs natively on Windows with minimal latency and no heavy dependencies such as Python, PyAutoGUI, or Docker.90 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to drive Windows desktop automation — opening and interacting with applications, native UI controls, keyboard/mouse input, files, processes, clipboard, and Chrome/Edge browsing via UI Automation and CDP. All actions pass through a safety policy with human approval, emergency stop, and deterministic verification.MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI clients to inspect and control allowlisted Windows applications using screenshots, mouse actions, Unicode keyboard input, UI Automation, and an Esc/F12 emergency stop.1Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables an AI agent to inspect and operate a remote Windows machine over a private tailnet, listing and reading files, transferring and mutating them within a configured sandbox root, capturing screenshots, and — only when explicitly double-opted-in — executing commands and sending keystrokes. It runs self-hosted with no third-party client or vendor cloud in the session path, and reports its live policy rather than asserting its own safety.MIT