shell-mcp
Shell command execution MCP server
An MCP server implementation that provides secure shell command execution capabilities for LLMs.
Features
- Secure Execution: Whitelisted commands and arguments only
- Resource Control: Memory and CPU usage monitoring
- Timeout Control: Automatic termination of long-running commands
- Size Limits: Output size restrictions for safety
- MCP Integration: Works with Claude and other MCP-compatible LLMs
Installation
npm install @kevinwatt/shell-mcpConfiguration with Dive Desktopβ
- Click β+ Add MCP Serverβ in Dive Desktop
- Copy and paste this configuration:
{
"mcpServers": {
"shell": {
"command": "npx",
"args": [
"-y",
"@kevinwatt/shell-mcp"
]
}
}
}Tool Documentation
- shell_ls, shell_pwd, shell_df, etc.
- Execute whitelisted shell commands
- Inputs:
command(string, required): Command to executeargs(array, optional): Command argumentstimeout(number, optional): Execution timeout in ms
Usage Examples
Ask your LLM to:
"Show current directory using shell_pwd"
"List files using shell_ls with -l argument"
"Check disk usage using shell_df with -h argument"Manual Start
If needed, start the server manually:
npx @kevinwatt/shell-mcpRequirements
- Node.js 18+
- MCP-compatible LLM service
Development
# Install dependencies
npm install
# Watch mode
npm run watch
# Run tests
npm test
# Lint
npm run lintLicense
MIT Β© Dewei Yen
Keywords
- mcp
- shell
- command
- claude
- llm
- automation
Available Commands
The following shell commands are available:
| Command | Description | Allowed Arguments |
|---|---|---|
| ls | List directory contents | -l, -a, -h, -R, βhelp, * |
| cat | Concatenate and display file contents | -n, -b, βhelp, * |
| pwd | Show current working directory | None |
| df | Show disk usage | -h, -T, βhelp |
| echo | Display text | Any text |
| ps | Show process status | -e, -f, -u, βhelp |
| free | Show memory usage | -h, -m, -g, βhelp |
| uptime | Show system uptime | None |
| date | Show system date and time | +%Y-%m-%d, +%H:%M:%S, βhelp |
| grep | Search text patterns in files | -i, -v, -n, -r, -l, βcolor, * |
| w | Show who is logged on and what they are doing | -h, -s, βno-header, βhelp |
| whois | Query WHOIS domain registration information | -H, * |
| find | Search for files in a directory hierarchy | -name, -type, -size, -mtime, * |
| netstat | Network connection information | -a, -n, -t, -u, -l, -p, βhelp |
| lspci | List PCI devices | -v, -k, -mm, -nn, βhelp |
| lsusb | List USB devices | -v, -t, -d, -s, βhelp |
| dig | DNS lookup utility | +short, +trace, +dnssec, @*, * |
| nslookup | Query DNS records | -type=, -query=, * |
| ip | Show network devices and interfaces | addr, link, route, neigh, -br, * |
| whereis | Locate binary, source and manual files | -b, -m, -s, * |
Last updated on