Labsco
MCP SERVER

PermShell MCP

by mcollina

Shell access for an assistant, with a desktop notification that shows you the exact command before it runs.

Editors, Terminals & Local Dev Environment
Summary
The approval dialog is the product.

Plenty of servers will run a shell command for a model; the interesting part here is that each one surfaces as a growl notification carrying the command text and the working directory, so you see what is about to happen rather than reading it in a log afterwards. That makes it usable on a machine you actually care about, at the cost of a prompt every time.

What it is

A stdio server that lets a model run shell commands on your machine, but puts a permission dialog in front of every one of them. The notification shows the command and the working directory it will run in, so approving is a decision rather than a reflex.

What you get
  • `execute-command` runs a shell command after you approve it in the notification
  • `system-info` returns OS, uptime, memory, disk and CPU
  • Each permission dialog names the command and the directory it will run in
  • Timeout limits stop a runaway process, and input is sanitised against command injection
Requirements

Build it from the repository: `npm install` then `npm run build` (package `perm-shell-mcp`, version 0.1.0). Point your client at `node` with the path to `dist/index.js`. No account and no key — but it runs commands as you, on your machine, so the notification is the only thing between the model and your shell.