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
11/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:
- 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.
Quick Install
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source