mcp-shell
mcp-shell
MCP-Server, der Shell-Befehle ausführt. Ihre LLM erhält ein Werkzeug; Sie behalten die Kontrolle darüber, was ausgeführt wird und wie.
Basiert auf mark3labs/mcp-go. Geschrieben in Go.
Ausführen
Docker (am einfachsten):
docker run -it --rm -v /tmp/mcp-workspace:/tmp/mcp-workspace sonirico/mcp-shell:latestAus dem Quellcode:
git clone https://github.com/sonirico/mcp-shell && cd mcp-shell
make install
mcp-shellRelated MCP server: MCP Shell Server
Konfigurieren
Der sichere Modus ist die Standardeinstellung. Ohne Konfigurationsdatei startet mcp-shell im sicheren Modus, der auf eine schmale Whitelist von schreibgeschützten Dienstprogrammen beschränkt ist (ls, cat, grep, find, head, tail, ...). Sie benötigen nur eine Konfigurationsdatei, um diese Richtlinie zu erweitern oder zu ändern. Um vollständig uneingeschränkt zu arbeiten, müssen Sie sich ausdrücklich dafür entscheiden:
MCP_SHELL_ALLOW_UNSAFE=true mcp-shell # disables all validation - do not use in productionUm die Richtlinie anzupassen, verweisen Sie auf eine YAML-Konfiguration:
export MCP_SHELL_SEC_CONFIG_FILE=/path/to/security.yaml
mcp-shellSicherer Modus (empfohlen) — keine Shell-Interpretation, nur Whitelist für ausführbare Dateien:
security:
enabled: true
use_shell_execution: false
allowed_executables:
- ls
- cat
- grep
- find
- echo
# WARNING: never add shell/language interpreters (bash, sh, python, perl,
# ruby, node) or alias-capable tools (git) here - the interpreter executes
# whatever it is handed, bypassing secure mode entirely. mcp-shell warns at
# startup if it finds one.
blocked_patterns: # optional: restrict args on allowed commands
- '(^|\s)remote\s+(-v|--verbose)(\s|$)'
max_execution_time: 30s
max_output_size: 1048576
working_directory: /tmp/mcp-workspace
audit_log: trueLegacy-Modus — Shell-Ausführung, Whitelist/Blacklist nach Befehlszeichenfolge (anfällig für Injection, wenn nicht vorsichtig):
security:
enabled: true
use_shell_execution: true
allowed_commands: [ls, cat, grep, echo]
blocked_patterns: ['rm\s+-rf', 'sudo\s+']
max_execution_time: 30s
audit_log: trueEinbinden
Claude Desktop — fügen Sie es zu Ihrer MCP-Konfiguration hinzu:
{
"mcpServers": {
"shell": {
"command": "docker",
"args": ["run", "--rm", "-i", "sonirico/mcp-shell:latest"],
"env": { "MCP_SHELL_LOG_LEVEL": "info" }
}
}
}Für eine benutzerdefinierte Konfiguration mounten Sie die Datei und setzen Sie die Umgebungsvariable:
{
"command": "docker",
"args": ["run", "--rm", "-i", "-v", "/path/to/security.yaml:/etc/mcp-shell/security.yaml", "-e", "MCP_SHELL_SEC_CONFIG_FILE=/etc/mcp-shell/security.yaml", "sonirico/mcp-shell:latest"]
}Tool-API
Parameter | Typ | Beschreibung |
| string | Shell-Befehl zum Ausführen (erforderlich) |
| boolean | Kodiert stdout/stderr als base64 (Standard: false) |
Die Antwort enthält status, exit_code, stdout, stderr, command, execution_time und optional security_info.
Umgebungsvariablen
Variable | Beschreibung |
| Pfad zur Sicherheits-YAML (überschreibt die integrierten sicheren Standardwerte) |
| Setzen Sie |
| Servername (Standard: "mcp-shell 🐚") |
| debug, info, warn, error, fatal |
| json, console |
| stdout, stderr, file |
Entwicklung
make install dev-tools # deps + goimports, golines
make fmt test lint
make docker-build # build image locally
make release # binary + docker imageSicherheit
Standard: Sicherer Modus, beschränkt auf eine schmale Whitelist von schreibgeschützten Dienstprogrammen. Keine Interpreter.
Sicherer Modus (
use_shell_execution: false): Der Befehl wird in einen Shell-AST geparst und nur ein einzelner, vollständig literaler einfacher Befehl wird akzeptiert (keine Pipes, Listen, Substitution, Umleitung oder Globs); seine ausführbare Datei muss auf der Whitelist stehen. Interpreter (bash/sh/python) sind selbst dann hart abgelehnt, wenn sie auf der Whitelist stehen, und die Richtlinien pro Tool sind standardmäßig verweigernd: Für verwaltete Binärdateien (git,find,sort,tar) werden nur ausdrücklich sichere Flags akzeptiert, und alles andere, einschließlich unbekannter oder zukünftiger Escape-Flags, wird abgelehnt (git -c/config,find -exec/-fls,sort -o/--compress-program,tar -I/-C). Git ist auf schreibgeschützte Unterbefehle beschränkt. Dies ist eine frühe Ablehnungsschicht, kein Sandbox.Uneingeschränkt: Nur über
MCP_SHELL_ALLOW_UNSAFE=true. Voller Zugriff; für lokale Entwicklung in Ordnung, sonst gefährlich.Docker: Läuft als Nicht-Root, basierend auf Alpine. Verwenden Sie es in der Produktion. Am besten in Kombination mit einer OS-Sandbox (schreibgeschütztes Dateisystem, entfernte Capabilities) als Defense-in-Depth.
Mitwirken
Forken, Branch erstellen, make fmt test ausführen, PR eröffnen.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceA secure and pluggable MCP server to run terminal commands on your local machine or cloud server — remotely, safely, and with LLMs or agentic clients.
- AlicenseNot gradedqualityFmaintenanceA secure MCP server for shell operations, terminal management, and process control, enabling AI assistants to safely execute commands and manage interactive sessions.1435MIT
- AlicenseNot gradedqualityCmaintenanceUniversal MCP server that wraps any CLI tool, enabling AI assistants to run commands via natural language.MIT
- AlicenseAqualityBmaintenanceAn MCP server that enables AI clients to execute shell, Python, and Node commands on the local machine across platforms.31MIT
Related MCP Connectors
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sonirico/mcp-shell'
If you have feedback or need assistance with the MCP directory API, please join our Discord server