A request outside the named commands has nowhere to go, which is a different posture from a shell guarded by a deny list. The set leans towards inspection — listing, reading, searching, and reporting system and network state — and each command keeps its own flags through an args parameter. shell_ip is the one whose underlying command also changes things, since it manages routing, devices, interfaces and tunnels as well as showing them.
A shell surface split into one tool per command, covering file inspection, system state, hardware inventory and network lookups.
- Filesystem: directory listings, file contents, the working directory, file search across a hierarchy, pattern search inside files, and the binary, source and manual page behind a command name.
- System state: process status, memory use, disk usage, uptime, the system date, and who is logged in and what they are running.
- Hardware inventory: PCI devices and USB devices.
- Network: interfaces, routing and tunnels, connection state, DNS through both dig and nslookup, and WHOIS registration data for a domain.
- Arguments passed per call, so each command keeps its own flags.
A host that provides the commands these tools wrap, and read access to whatever you point them at.
One command — npx -y @kevinwatt/shell-mcp
