Shell Executor
Execute shell commands safely on a remote server.
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:
- Initialize:
{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}
- List tools:
{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}
- 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,dffile,stat,pwd
Text Processing
grep,sed,awk,sort,uniq,cut,tr
Development
git,npm,yarn,pip,python,node,cargo,makerustc,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.
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
MCP for Dart
A Dart SDK for building MCP servers and clients.
Agile Planner MCP Server
An AI-powered server for generating agile artifacts like backlogs, features, and user stories.
Learn MCP
A sample project for learning MCP development, featuring a calculator for math operations and a prompt flow server for various templates.
Opentrons
Control Opentrons robots, manage protocols, and search API documentation.
Shackleton
Autonomous multi-agent AI framework for code execution, web browsing, file operations, and task planning with x402 payment support
Currents
Enable AI Agents to fix Playwright test failures reported to Currents.
Windows Command Line MCP Server
Enables AI models to interact with the Windows command-line safely and efficiently.
FastMCP
A fast, Pythonic framework for building MCP servers and clients.
BlenderMCP
Connects Blender to Claude AI via the Model Context Protocol (MCP), enabling direct interaction and control for prompt-assisted 3D modeling, scene creation, and manipulation.
Any OpenAPI
A server that dynamically creates MCP endpoints from any OpenAPI specification URL.