Автономный binary runtime¶
Release binaries запускают local-shell-mcp без Docker и Python environment. Используйте этот runtime, когда Docker недоступен либо dedicated VM, container host, lab server или restricted user account уже обеспечивает границу безопасности.
Это выбор runtime. Доступ ChatGPT настраивается отдельно через HTTPS endpoint /mcp.
Release artifacts¶
GitHub Releases собирает self-contained executable для распространённых платформ:
| 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 |
Каждый archive содержит executable, README, license и краткий quickstart file.
Установка¶
- Скачайте с GitHub Releases archive для вашей платформы.
- Распакуйте его.
- Поместите executable в
PATHили сохраните его absolute path. - Запустите
local-shell-mcp --help, чтобы проверить запуск binary.
Linux и macOS обычно требуют executable bit:
Пользователям Windows следует запускать local-shell-mcp.exe из PowerShell или добавить содержащий его directory в PATH.
Минимальный локальный запуск¶
mkdir -p ~/local-shell-mcp-workspace
export LOCAL_SHELL_MCP_WORKSPACE_ROOT=~/local-shell-mcp-workspace
local-shell-mcp --mode mcp
В другом terminal:
Публичный HTTP MCP запуск¶
Для ChatGPT или public HTTP MCP client задайте следующие категории configuration:
| Setting | Purpose |
|---|---|
LOCAL_SHELL_MCP_WORKSPACE_ROOT |
Directory, контролируемый tools |
LOCAL_SHELL_MCP_HOST and LOCAL_SHELL_MCP_PORT |
Local bind address и port |
LOCAL_SHELL_MCP_PUBLIC_BASE_URL |
Public HTTPS origin без /mcp |
LOCAL_SHELL_MCP_AUTH_MODE |
Для public deployment используйте oauth |
| OAuth PIN and JWT secret settings | Требуются для public OAuth authorization |
Опубликуйте local HTTP port через reverse proxy или tunnel. Public endpoint:
YAML config¶
YAML config может хранить не секретные 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
Запуск:
Environment variables с prefix LOCAL_SHELL_MCP_ перекрывают YAML values.
Ответственность за host toolchain¶
Binary включает Python application, но не все developer tools. MCP tools вызывают программы, доступные на host.
Установите необходимое для ваших задач:
| Capability | Host packages to consider |
|---|---|
| Search and shell ergonomics | ripgrep, tree, jq, curl, wget; Linux releases уже включают 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 |
Если не хотите поддерживать этот host toolchain, используйте Docker Compose.
Долгоживущий сервис¶
Для persistent public deployment запускайте binary под process supervisor вашей ОС. Соблюдайте следующие правила:
- Dedicated low-privilege OS account.
- Dedicated workspace directory.
- Sensitive values хранить вне world-readable files.
- Автоматически restart при failure.
- Проверять
/healthzпосле каждого restart. - Сохранять logs для troubleshooting.
Updates¶
- Скачайте новый release archive для платформы.
- При желании verify checksums.
- Замените executable.
- Restart process manager.
- Проверьте
/healthz. - Перед продолжением работы попросите client выполнить
environment_get.
Безопасность¶
Binary работает с привилегиями OS user. Для public deployment используйте dedicated low-privilege user, dedicated workspace и по возможности VM/container boundary.
Не задавайте LOCAL_SHELL_MCP_ALLOW_FULL_CONTAINER=true для binary, работающего прямо на personal host. Этот параметр предназначен для disposable containers/VMs.