Runtime binario independiente¶
Los release binaries ejecutan local-shell-mcp sin Docker ni entorno Python. Use este runtime cuando Docker no esté disponible o cuando una VM dedicada, un container host, un servidor de laboratorio o una cuenta de usuario restringida ya proporcione el límite de seguridad.
Esta es una elección de runtime. El acceso de ChatGPT se configura por separado mediante un endpoint HTTPS /mcp.
Artifacts de release¶
GitHub Releases genera executables autocontenidos para plataformas comunes:
| 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 |
Cada archive contiene el executable, README, license y un breve archivo quickstart.
Instalación¶
- Descargue de GitHub Releases el archive para su plataforma.
- Extráigalo.
- Coloque el executable en
PATHo anote su ruta absoluta. - Ejecute
local-shell-mcp --helppara verificar que el binary inicia.
Linux y macOS suelen requerir el executable bit:
En Windows, ejecute local-shell-mcp.exe desde PowerShell o añada su directorio a PATH.
Ejecución local mínima¶
mkdir -p ~/local-shell-mcp-workspace
export LOCAL_SHELL_MCP_WORKSPACE_ROOT=~/local-shell-mcp-workspace
local-shell-mcp --mode mcp
En otro terminal:
Ejecución pública HTTP MCP¶
Para ChatGPT o un public HTTP MCP client, configure estas categorías:
| Setting | Purpose |
|---|---|
LOCAL_SHELL_MCP_WORKSPACE_ROOT |
Directorio controlado por las herramientas |
LOCAL_SHELL_MCP_HOST and LOCAL_SHELL_MCP_PORT |
Dirección bind y puerto locales |
LOCAL_SHELL_MCP_PUBLIC_BASE_URL |
Public HTTPS origin, sin /mcp |
LOCAL_SHELL_MCP_AUTH_MODE |
Use oauth en deployments públicos |
| OAuth PIN and JWT secret settings | Necesarios para la autorización OAuth pública |
Exponga el puerto HTTP local mediante reverse proxy o tunnel. El endpoint público es:
Configuración YAML¶
Un YAML config puede contener valores runtime no secretos:
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
Ejecute:
Las environment variables con prefijo LOCAL_SHELL_MCP_ sobrescriben los valores YAML.
Responsabilidad del toolchain del host¶
El binary empaqueta la aplicación Python, no todas las herramientas de desarrollo. Las herramientas MCP llaman a programas disponibles en el host.
Instale lo que requieran sus tareas:
| Capability | Host packages to consider |
|---|---|
| Search and shell ergonomics | ripgrep, tree, jq, curl, wget; las releases Linux ya incluyen un 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 |
Si no quiere mantener este host toolchain, use Docker Compose.
Servicio de larga duración¶
Para un deployment público persistente, ejecute el binary bajo el process supervisor de su sistema operativo. Mantenga estas prácticas:
- Use una cuenta de OS dedicada y de pocos privilegios.
- Use un workspace directory dedicado.
- Guarde valores sensibles fuera de archivos world-readable.
- Reinicie automáticamente ante fallos.
- Compruebe
/healthzdespués de cada reinicio. - Mantenga logs para troubleshooting.
Actualizaciones¶
- Descargue el nuevo release archive para su plataforma.
- Verifique checksums si lo desea.
- Sustituya el executable.
- Reinicie el process manager.
- Compruebe
/healthz. - Pida al client que ejecute
environment_getantes de continuar.
Notas de seguridad¶
El binary se ejecuta con los privilegios de su usuario del sistema operativo. En deployments públicos use un usuario dedicado de pocos privilegios, un workspace dedicado y, cuando sea posible, un límite VM/container.
No defina LOCAL_SHELL_MCP_ALLOW_FULL_CONTAINER=true para un binary ejecutado directamente en su host personal. Esa opción está pensada para containers o VM desechables.