Skip to main content
Glama
README.md
# PermShell MCP

A Model Context Protocol (MCP) server for executing shell commands with permission notifications.

## Features

- Execute shell commands with explicit permissions through growl notifications
- Built on the Model Context Protocol for standardized LLM tools
- Multiple safeguards to prevent unauthorized command execution
- Transparent permission dialog shows exactly what commands will be executed

## Installation

```bash
# Clone the repository
git clone https://github.com/yourusername/perm-shell-mcp.git
cd perm-shell-mcp

# Install dependencies
npm install

# Build the project
npm run build
```

## Usage

### As a standalone tool

```bash
# Start the server directly
npm start
```

### With Claude Desktop

Add the following configuration to your Claude Desktop configuration file:

```json
{
  "mcpServers": {
    "permshell": {
      "command": "node",
      "args": ["/path/to/perm-shell-mcp/dist/index.js"]
    }
  }
}
```

### Available Tools

#### execute-command

Executes a shell command with permission.

Example:
```
Can you list the files in my home directory?
```

#### system-info

Retrieves system information including OS, uptime, memory, disk, and CPU.

Example:
```
What's my system information?
```

## Security

- All commands require explicit permission through desktop notifications
- Commands display with their working directory for full transparency
- Timeout limits prevent runaway processes
- Input sanitization prevents command injection

## Development

```bash
# Run in watch mode for development
npm run dev
```

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: execute-command runs arbitrary shell commands, while system-info retrieves system information. There is no overlap or ambiguity between them, making it easy for an agent to select the correct tool based on the task.

Naming Consistency4/5

Both tools use a consistent hyphenated naming style (execute-command and system-info), which is readable and predictable. However, the pattern is not a standard verb_noun convention, and with only two tools, it's hard to assess full consistency, but there are no deviations in the limited set.

Tool Count3/5

With only 2 tools, the server feels thin for a shell-related purpose, as it might lack operations like file management, process control, or environment handling. While the tools cover basic execution and info, the count is borderline low for a typical shell utility scope.

Completeness2/5

For a shell server, there are significant gaps: no tools for file operations (e.g., list, read, write), process management, network commands, or environment variables. The surface is severely incomplete, as agents cannot perform common shell tasks beyond command execution and system info retrieval.

Maintenance

ActivityInactive
ResponsivenessNo issues