MCP server de bash-command
✓ VerificadoEjecuta comandos de shell con orquestación avanzada de procesos en segundo plano y observabilidad para agentes de IA.
También conocido como mrorigo/bash-command-mcp
- Stars
- 3
- Herramientas
- 6
- Descargas, 30 días
- —
- Última versión
- 1.0.0
- Último commit
- 21 may 2026
- Licencia
- MIT
¿Qué es bash-command MCP?
bash-command es un MCP server. Ejecuta comandos de shell con orquestación avanzada de procesos en segundo plano y observabilidad para agentes de IA. Expone 6 herramientas, como run, run_background, list_background.
Resumen generado a partir del README del proyecto
Acerca del MCP server de bash-command
Este servidor permite a los agentes de IA ejecutar comandos de shell con gestión de procesos en segundo plano. Proporciona una forma estructurada de ejecutar comandos en primer plano o gestionar tareas de larga duración mediante controles de ciclo de vida específicos. Los desarrolladores pueden usarlo localmente vía stdio o de forma remota usando Streamable HTTP configurando variables de entorno específicas de host y puerto.
Los usuarios pueden gestionar flujos de trabajo complejos utilizando herramientas como run_background, list_background y kill_background. El servidor incluye observabilidad integrada a través de OpenTelemetry, lo que permite exportar trazas y métricas vía OTLP HTTP. También mantiene archivos de log de stdout y stderr por cada proceso para su monitoreo. Para garantizar la seguridad, la documentación recomienda ejecutar el servidor dentro de Docker para aislar la ejecución de comandos de tu máquina local.
Se mantiene un contexto de ejecución preciso gracias a la capacidad de proporcionar overrides de cwd y env para cada comando. El servidor gestiona los timeouts para tareas en primer plano y segundo plano, con un valor predeterminado de 60 segundos. Está diseñado para desarrolladores que necesitan una ejecución de shell de alta fidelidad con semántica clara de códigos de salida y visibilidad de nivel de producción sobre las acciones del agente.
Qué puedes hacer con él
- 1Gestionar tareas de larga duración en segundo planoInicia un proceso en segundo plano y monitorea su progreso a través de archivos de log.
- 2Observar el rendimiento del agenteRastrea la duración y los fallos de las llamadas a herramientas usando la instrumentación de OpenTelemetry.
- 3Aislar la ejecución de comandosEjecuta comandos de shell dentro de un contenedor para evitar que afecten al sistema host.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar bash-command MCP
Formatos verificados el 10 nov 2026Añadir a CursorAñadir a GooseInstalar bash-command MCP en Claude Code
$ claude mcp add bash-command-mcp -- npx -y bash-command-mcpInstalar bash-command MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"bash-command-mcp": {
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}Instalar bash-command MCP en VS Code
.vscode/mcp.json
{
"servers": {
"bash-command-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}Instalar bash-command MCP en VS Code CLI
$ code --add-mcp '{"name":"bash-command-mcp","type":"stdio","command":"npx","args":["-y","bash-command-mcp"]}'Instalar bash-command MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"bash-command-mcp": {
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}Instalar bash-command MCP en Codex
$ codex mcp add bash-command-mcp -- npx -y bash-command-mcpInstalar bash-command MCP en Codex config.toml
~/.codex/config.toml
[mcp_servers.bash-command-mcp] command = "npx" args = ["-y", "bash-command-mcp"]
Instalar bash-command MCP en Gemini CLI
$ gemini mcp add -s user bash-command-mcp npx -- -y bash-command-mcpInstalar bash-command MCP en Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"bash-command-mcp": {
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}Herramientas de bash-command MCP 6
Detectado desde el READMErunrun_backgroundlist_backgroundkill_backgroundtail_backgroundwait_background
| run | — | |
| run_background | — | |
| list_background | — | |
| kill_background | — | |
| tail_background | — | |
| wait_background | — |
Configuración
BASH_COMMAND_MCP_HOSTBASH_COMMAND_MCP_LOG_DIRDirectory used to store background process stdout/stderr log files.
BASH_COMMAND_MCP_PORTBASH_COMMAND_MCP_TRANSPORTOTEL_ENABLEDEnable or disable OpenTelemetry instrumentation (`true` or `false`).
OTEL_EXPORTER_OTLP_ENDPOINTOTLP HTTP endpoint for exporting OpenTelemetry traces and metrics (for example `http://localhost:4318`).
OTEL_METRIC_EXPORT_INTERVAL_MSOpenTelemetry metrics export interval in milliseconds.
OTEL_SERVICE_NAMEOpenTelemetry service name override.
OTEL_SERVICE_VERSIONOpenTelemetry service version override.
| Nombre | Descripción | Tipo |
|---|---|---|
| BASH_COMMAND_MCP_HOST | — | |
| BASH_COMMAND_MCP_LOG_DIR | Directory used to store background process stdout/stderr log files. | |
| BASH_COMMAND_MCP_PORT | — | |
| BASH_COMMAND_MCP_TRANSPORT | — | |
| OTEL_ENABLED | Enable or disable OpenTelemetry instrumentation (`true` or `false`). | |
| OTEL_EXPORTER_OTLP_ENDPOINT | OTLP HTTP endpoint for exporting OpenTelemetry traces and metrics (for example `http://localhost:4318`). | |
| OTEL_METRIC_EXPORT_INTERVAL_MS | OpenTelemetry metrics export interval in milliseconds. | |
| OTEL_SERVICE_NAME | OpenTelemetry service name override. | |
| OTEL_SERVICE_VERSION | OpenTelemetry service version override. |
Verificaciones automáticas
Ejecutado 14 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesiblemrorigo/bash-command-mcp is public and reachablegithub.com/mrorigo/bash-command-mcp ↗Aprobado
- El paquete indica este repositorio como su origenNo verificado
- Procedencia de la compilación (atestación de Sigstore)No verificado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-05-21github.com/mrorigo/bash-command-mcp ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo popular package one edit away from bash-command-mcpAprobado
- No hay avisos críticos en el paquete ni en sus dependenciasthe package checked; no critical advisoryosv.dev ↗Aprobado
- Sin instrucciones ocultas para el modelo6 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en GitHubbash-command-mcp
A highly sophisticated Bash MCP server for safe, structured command execution with first-class background job orchestration.
Important Security Warning
This server executes shell commands on the machine where it is running.
If you run bun run index.ts directly on your host, commands run on your host with your user permissions.
Use Docker to isolate execution unless you fully trust the MCP client and prompts.
To install dependencies:
bun install
To run over stdio:
bun run index.ts
To run over Streamable HTTP:
BASH_COMMAND_MCP_TRANSPORT=http \
BASH_COMMAND_MCP_HOST=127.0.0.1 \
BASH_COMMAND_MCP_PORT=3000 \
bun run index.ts
To run via npm/npx (published package):
npx -y bash-command-mcp
Why This Server
- High-fidelity shell execution with clear exit-code semantics.
- Advanced background process lifecycle controls (
run_background,wait_background,kill_background). - Built-in observability via per-process stdout/stderr log files.
- OpenTelemetry traces and metrics for production visibility.
- Agent-friendly ergonomics with
cwdandenvoverrides for precise execution context.
Tool Behavior
Tools:
run: run command in foreground. Args:commandorcmd,timeoutSeconds(default60, min1; values above86400are capped with a hint), optionalcwd, optionalenv.run_background: start command in background with stdout/stderr written to log files. Args:commandorcmd, optionalcwd, optionalenv.list_background: list tracked background processes, including log file paths.kill_background: stop tracked background process bypid.tail_background: show last N lines from background process logs. Args:pid, optionallines(default200, max5000).wait_background: wait for background process completion and return final status/output. Args:pid, optionaltimeoutSeconds(default60, min1; values above86400are capped with a hint).
OpenTelemetry
This server includes built-in OpenTelemetry instrumentation for traces and metrics.
- OpenTelemetry packages are installed with the server package.
- Telemetry initializes unless
OTEL_ENABLED=false. - If
OTEL_EXPORTER_OTLP_ENDPOINTis set, traces/metrics are exported via OTLP HTTP. - If no OTLP endpoint is configured, console exporters are used.
Instrumented operations:
- Tool call spans for
run,run_background,list_background,tail_background,wait_background, andkill_background. - Background lifecycle spans/counters (
started,ended). - Metrics for tool calls, failures, timeouts, and duration histograms.
Common env vars:
OTEL_ENABLED=true|falseOTEL_SERVICE_NAME=bash-command-mcpOTEL_SERVICE_VERSION=1.0.0OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318OTEL_METRIC_EXPORT_INTERVAL_MS=10000BASH_COMMAND_MCP_LOG_DIR=/path/to/log-dir
Example (OTLP Collector on localhost):
OTEL_ENABLED=true \
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 \
OTEL_SERVICE_NAME=bash-command-mcp \
npx -y bash-command-mcp
Transports
This server supports two transports:
stdiofor local, process-spawned integrations.httpfor remote or network-accessible MCP clients using Streamable HTTP.
Default behavior remains stdio so existing desktop and CLI setups keep working.
Environment variables for HTTP mode:
BASH_COMMAND_MCP_TRANSPORT=http|stdioBASH_COMMAND_MCP_HOST=127.0.0.1BASH_COMMAND_MCP_PORT=3000BASH_COMMAND_MCP_ALLOWED_HOSTS=localhost,127.0.0.1,[::1]
HTTP mode uses host-header validation by default when bound to a loopback address. If you bind to 0.0.0.0 or ::, provide an explicit allow-list in BASH_COMMAND_MCP_ALLOWED_HOSTS.
Docker
Build the image:
docker build -t bash-command-mcp .
Run with a local folder mounted at /workspace:
docker run --rm -i -v "$(pwd):/workspace" bash-command-mcp
Run over Streamable HTTP:
docker run --rm -p 3000:3000 \
-e BASH_COMMAND_MCP_TRANSPORT=http \
-e BASH_COMMAND_MCP_HOST=0.0.0.0 \
-e BASH_COMMAND_MCP_PORT=3000 \
bash-command-mcp
/workspace mapping explained:
- Left side (
$(pwd)) is a folder on your host machine. - Right side (
/workspace) is the path inside the container. - Commands run by this MCP server should target files under
/workspace; those changes are written back to the mapped host folder.
For HTTP mode in Docker, bind to 0.0.0.0 and publish the port with -p. If you expose the container beyond localhost, set BASH_COMMAND_MCP_ALLOWED_HOSTS to the hostnames you want to permit.
Example:
- If your host has
./project/file.txtand you run the container from./project, the same file is available in the container at/workspace/file.txt.
Preguntas sobre bash-command MCP
¿Cómo agrego bash-command MCP a Claude Code?
Ejecuta claude mcp add bash-command-mcp -- npx -y bash-command-mcp en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego bash-command MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Qué herramientas proporciona bash-command MCP?
Expone 6 herramientas, incluidas run, run_background, list_background, kill_background, tail_background.
¿Es seguro ejecutar este servidor en mi máquina local?
Se recomienda usar Docker para aislar la ejecución, ya que el servidor ejecuta comandos de shell con tus permisos de usuario.
¿Puedo ejecutar comandos en segundo plano?
Sí, el servidor proporciona herramientas para iniciar, listar, detener, seguir (tail) y esperar procesos en segundo plano.
¿Cómo puedo monitorear el rendimiento y las trazas del servidor?
El servidor incluye instrumentación de OpenTelemetry integrada para trazas y métricas.
¿Qué métodos de transporte son compatibles?
El servidor soporta stdio para integraciones locales y Streamable HTTP para clientes remotos o accesibles por red.