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-mcp
Configuration 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-mcp
Requirements
- Node.js 18+
- MCP-compatible LLM service
Development
# Install dependencies
npm install
# Watch mode
npm run watch
# Run tests
npm test
# Lint
npm run lint
License
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