Samodzielny binary runtime¶
Release binaries uruchamiają local-shell-mcp bez Docker i bez środowiska Python. Użyj tego runtime, gdy Docker nie jest dostępny albo dedicated VM, container host, lab server lub restricted user account już zapewnia granicę bezpieczeństwa.
To wybór runtime. Dostęp ChatGPT konfiguruje się osobno przez HTTPS endpoint /mcp.
Release artifacts¶
GitHub Releases buduje self-contained executables dla popularnych platform:
| Platform artifact | Archive |
|---|---|
local-shell-mcp-linux-x86_64 |
.tar.gz |
local-shell-mcp-linux-aarch64 |
.tar.gz |
local-shell-mcp-macos-x86_64 |
.tar.gz |
local-shell-mcp-macos-aarch64 |
.tar.gz |
local-shell-mcp-windows-x86_64 |
.zip |
Każdy archive zawiera executable, README, license i krótki quickstart file.
Instalacja¶
- Pobierz z GitHub Releases archive dla swojej platformy.
- Rozpakuj go.
- Umieść executable w
PATHlub zapisz jego absolute path. - Uruchom
local-shell-mcp --help, aby potwierdzić start binary.
Linux i macOS zwykle wymagają executable bit:
W Windows uruchamiaj local-shell-mcp.exe z PowerShell lub dodaj zawierający go directory do PATH.
Minimal local run¶
mkdir -p ~/local-shell-mcp-workspace
export LOCAL_SHELL_MCP_WORKSPACE_ROOT=~/local-shell-mcp-workspace
local-shell-mcp --mode mcp
W innym terminalu:
Public HTTP MCP run¶
Dla ChatGPT lub public HTTP MCP client ustaw następujące kategorie configuration:
| Setting | Purpose |
|---|---|
LOCAL_SHELL_MCP_WORKSPACE_ROOT |
Directory kontrolowany przez tools |
LOCAL_SHELL_MCP_HOST and LOCAL_SHELL_MCP_PORT |
Local bind address i port |
LOCAL_SHELL_MCP_PUBLIC_BASE_URL |
Public HTTPS origin bez /mcp |
LOCAL_SHELL_MCP_AUTH_MODE |
Dla public deployment użyj oauth |
| OAuth PIN and JWT secret settings | Wymagane do public OAuth authorization |
Expose local HTTP port przez reverse proxy lub tunnel. Public endpoint:
YAML config¶
YAML config może przechowywać niesekretne runtime defaults:
host: 127.0.0.1
port: 8765
mode: mcp
workspace_root: /srv/local-shell-mcp/workspace
auth_mode: oauth
public_base_url: https://your-public-host.example.com
Uruchom:
Environment variables z prefixem LOCAL_SHELL_MCP_ nadpisują wartości YAML.
Odpowiedzialność za host toolchain¶
Binary pakuje aplikację Python, ale nie wszystkie developer tools. MCP tools wywołują programy dostępne na host.
Zainstaluj to, czego potrzebują zadania:
| Capability | Host packages to consider |
|---|---|
| Search and shell ergonomics | ripgrep, tree, jq, curl, wget; Linux releases zawierają już static tmux helper |
| Git workflows | git, gh, OpenSSH client, credential helpers |
| Python projects | Python, pip, venv, project-specific compilers and headers |
| Node projects | Node.js, npm, pnpm, yarn |
| Rust/Go/Java/C++ | Cargo/rustc, Go, JDK, Maven/Gradle, compilers, CMake, Ninja |
| Browser automation | Playwright browser binaries and OS dependencies |
| Document conversion | LibreOffice, Pandoc, Poppler utilities |
Jeśli nie chcesz utrzymywać tego host toolchain, użyj Docker Compose.
Długotrwała usługa¶
Dla persistent public deployment uruchamiaj binary pod process supervisor systemu operacyjnego. Stosuj te zasady:
- Dedicated low-privilege OS account.
- Dedicated workspace directory.
- Sensitive values poza world-readable files.
- Automatyczny restart po failure.
- Kontrola
/healthzpo każdym restart. - Dostępne logs do troubleshooting.
Updates¶
- Pobierz nowy release archive dla platformy.
- Opcjonalnie verify checksums.
- Zastąp executable.
- Restart process manager.
- Sprawdź
/healthz. - Przed dalszą pracą poproś client o
environment_get.
Uwagi o bezpieczeństwie¶
Binary działa z uprawnieniami użytkownika systemu operacyjnego. Dla public deployment używaj dedicated low-privilege user, dedicated workspace i w miarę możliwości VM/container boundary.
Nie ustawiaj LOCAL_SHELL_MCP_ALLOW_FULL_CONTAINER=true dla binary działającego bezpośrednio na personal host. To ustawienie jest przeznaczone dla disposable containers lub VM.