Serveur MCP bash-command
✓ VérifiéExécute des commandes shell avec une orchestration avancée des processus en arrière-plan et une observabilité accrue pour les agents IA.
Aussi connu sous mrorigo/bash-command-mcp
- Étoiles
- 3
- Outils
- 6
- Téléchargements, 30 jours
- —
- Dernière version
- 1.0.0
- Dernier commit
- 21 mai 2026
- Licence
- MIT
Qu'est-ce que bash-command MCP ?
bash-command est un serveur MCP. Exécute des commandes shell avec une orchestration avancée des processus en arrière-plan et une observabilité accrue pour les agents IA. Il expose 6 outils, comme run, run_background, list_background.
Résumé généré à partir du README du projet
À propos du MCP server bash-command
Ce serveur permet aux agents IA d'exécuter des commandes shell tout en gérant des processus en arrière-plan. Il offre une méthode structurée pour lancer des commandes en premier plan ou gérer des tâches de longue durée grâce à des contrôles de cycle de vie spécifiques. Les développeurs peuvent l'utiliser localement via stdio ou à distance via streamable HTTP en configurant les variables d'environnement d'hôte et de port spécifiques.
Les utilisateurs peuvent gérer des workflows complexes à l'aide d'outils tels que run_background, list_background et kill_background. Le serveur intègre une observabilité native via OpenTelemetry, permettant l'exportation de traces et de métriques via OTLP HTTP. Il maintient également des fichiers de logs stdout et stderr par processus pour le monitoring. Pour garantir la sécurité, la documentation recommande d'exécuter le serveur dans Docker afin d'isoler l'exécution des commandes de votre machine hôte.
Le contexte d'exécution précis est maintenu grâce à la possibilité de fournir des overrides pour le cwd et l'env de chaque commande. Le serveur gère les timeouts pour les tâches en premier plan et en arrière-plan, avec une valeur par défaut de 60 secondes. Il est conçu pour les développeurs qui ont besoin d'une exécution shell de haute fidélité avec une sémantique claire des codes de sortie et une visibilité de niveau production sur les actions de l'agent.
Ce que vous pouvez faire avec
- 1Gérer des tâches de fond de longue duréeDémarrez un processus en arrière-plan et surveillez sa progression via les fichiers de logs.
- 2Observer les performances de l'agentSuivez la durée et les échecs des appels d'outils grâce à l'instrumentation OpenTelemetry.
- 3Isoler l'exécution des commandesExécutez des commandes shell à l'intérieur d'un conteneur pour éviter qu'elles n'affectent le système hôte.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer bash-command MCP
Formats vérifiés le 10 nov. 2026Ajouter à CursorAjouter à GooseInstaller bash-command MCP dans Claude Code
$ claude mcp add bash-command-mcp -- npx -y bash-command-mcpInstaller bash-command MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"bash-command-mcp": {
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}Installer bash-command MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"bash-command-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}Installer bash-command MCP dans VS Code CLI
$ code --add-mcp '{"name":"bash-command-mcp","type":"stdio","command":"npx","args":["-y","bash-command-mcp"]}'Installer bash-command MCP dans Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"bash-command-mcp": {
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}Installer bash-command MCP dans Codex
$ codex mcp add bash-command-mcp -- npx -y bash-command-mcpInstaller bash-command MCP dans Codex config.toml
~/.codex/config.toml
[mcp_servers.bash-command-mcp] command = "npx" args = ["-y", "bash-command-mcp"]
Installer bash-command MCP dans Gemini CLI
$ gemini mcp add -s user bash-command-mcp npx -- -y bash-command-mcpInstaller bash-command MCP dans Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"bash-command-mcp": {
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}Outils MCP bash-command 6
Détectés depuis le READMErunrun_backgroundlist_backgroundkill_backgroundtail_backgroundwait_background
| run | — | |
| run_background | — | |
| list_background | — | |
| kill_background | — | |
| tail_background | — | |
| wait_background | — |
Configuration
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.
| Nom | Description | Type |
|---|---|---|
| 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. |
Vérifications automatisées
Exécuté le 14 nov. 2026Rapport complet →A passé nos vérifications automatisées. Il ne s'agit pas d'un audit de sécurité : lisez le code et donnez au serveur l'accès le plus restreint dont il a besoin. Fonctionnement des vérifications
- Dépôt source lié et accessiblemrorigo/bash-command-mcp is public and reachablegithub.com/mrorigo/bash-command-mcp ↗Réussi
- Le nom du package correspond au dépôt sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-05-21github.com/mrorigo/bash-command-mcp ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNo popular package one edit away from bash-command-mcpRéussi
- Aucun avis critique dans le package ou ses dépendancesthe package checked; no critical advisoryosv.dev ↗Réussi
- Aucune instruction cachée destinée au modèle6 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur 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.
Questions sur bash-command MCP
Comment ajouter bash-command MCP à Claude Code ?
Exécutez claude mcp add bash-command-mcp -- npx -y bash-command-mcp dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter bash-command MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
Quels outils bash-command MCP fournit-il ?
Il expose 6 outils, dont run, run_background, list_background, kill_background, tail_background.
Est-il sûr d'exécuter ce serveur sur ma machine hôte ?
Il est recommandé d'utiliser Docker pour isoler l'exécution car le serveur exécute des commandes shell avec vos permissions utilisateur.
Puis-je exécuter des commandes en arrière-plan ?
Oui, le serveur propose des outils pour démarrer, lister, arrêter, suivre (tail) et attendre la fin de processus en arrière-plan.
Comment puis-je surveiller les performances et les traces du serveur ?
Le serveur inclut une instrumentation OpenTelemetry intégrée pour les traces et les métriques.
Quelles méthodes de transport sont prises en charge ?
Le serveur prend en charge stdio pour les intégrations locales et le streamable HTTP pour les clients distants ou accessibles via le réseau.