JUHE API Marketplace
kosiew avatar
MCP Server

Shell Executor MCP Server

Provides safe shell command execution capabilities for AI agents and tools like VS Code Copilot through a whitelist-based filtering system.

0
GitHub Stars
8/22/2025
Last Updated
MCP Server Configuration
1{
2 "name": "shell-executor",
3 "command": "python",
4 "args": [
5 "/path/to/shell-executor-mcp/src/mcp_server.py"
6 ],
7 "env": {
8 "MCP_API_TOKEN": "your-secret-token"
9 }
10}
JSON10 lines

README Documentation

Shell Executor MCP Server

A Model Context Protocol (MCP) server that provides safe shell command execution capabilities for AI agents and tools like VS Code Copilot.

Features

  • Safe Command Execution: Whitelist-based command filtering
  • Comprehensive Tool Set: Support for file operations, text processing, development tools, and system utilities
  • MCP Compatible: Full Model Context Protocol support
  • Easy Integration: Simple JSON-RPC interface over stdio

Installation

Option 1: Direct Usage

git clone https://github.com/yourusername/shell-executor-mcp.git
cd shell-executor-mcp
pip install -e .

Option 2: Install from PyPI (when published)

pip install shell-executor-mcp

VS Code Integration

1. Global Configuration

Add to your VS Code settings.json or MCP configuration:

{
  "mcpServers": {
    "shell-executor": {
      "command": "python",
      "args": ["/path/to/shell-executor-mcp/src/mcp_server.py"],
      "env": {
        "MCP_API_TOKEN": "your-secret-token"
      }
    }
  }
}

2. Workspace Configuration

Create .vscode/mcp_servers.json in your workspace:

{
  "shell-executor": {
    "command": "python",
    "args": ["${workspaceFolder}/path/to/mcp_server.py"],
    "env": {
      "MCP_API_TOKEN": "your-secret-token"
    }
  }
}

3. Using with VS Code Copilot

Once configured, Copilot can discover and use the shell executor through MCP:

@shell-executor execute ls -la
@shell-executor execute git status
@shell-executor execute cargo build

Manual Testing

Start the server:

python src/mcp_server.py

Send test requests:

  1. Initialize:
{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}
  1. List tools:
{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}
  1. Execute command:
{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "execute_command", "arguments": {"command": "echo", "args": ["Hello World"]}}}

Supported Commands

File System

  • ls, cat, head, tail, find, tree, wc, du, df
  • file, stat, pwd

Text Processing

  • grep, sed, awk, sort, uniq, cut, tr

Development

  • git, npm, yarn, pip, python, node, cargo, make
  • rustc, go, java, javac

System Info

  • ps, uptime, whoami, id, uname, which

Network

  • curl, wget, ping, dig, nslookup

Archives

  • tar, zip, unzip, gzip, gunzip

Utilities

  • echo, date, cal, bc, expr, basename, dirname
  • Hash tools: md5, sha256sum, shasum

Security

  • Commands are filtered through a whitelist
  • 30-second execution timeout
  • No destructive operations (rm, mv, cp) allowed
  • No privilege escalation (sudo, su) allowed
  • Environment variables can be controlled

Configuration

Set environment variables:

  • MCP_API_TOKEN: Authentication token (default: "MYSECRET")

License

MIT License - see LICENSE file for details.

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source