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:
- 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
,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