bash-command MCPサーバー
✓ 検証済み高度なバックグラウンドプロセス制御とオブザーバビリティを備え、AIエージェントによるシェルコマンドの実行を可能にします。
別名 mrorigo/bash-command-mcp
- スター
- 3
- ツール
- 6
- ダウンロード数(30日間)
- —
- 最新バージョン
- 1.0.0
- 最終コミット
- 2026年5月21日
- ライセンス
- MIT
bash-command MCPとは
bash-commandはMCPサーバーです。 高度なバックグラウンドプロセス制御とオブザーバビリティを備え、AIエージェントによるシェルコマンドの実行を可能にします。. 6個のツールを提供しており、run, run_background, list_backgroundなどがあります。
プロジェクトのREADMEから生成された概要
bash-command MCP server について
このサーバーは、AIエージェントがバックグラウンドプロセス管理を伴うシェルコマンドを実行できるようにします。コマンドをフォアグラウンドで実行する方法や、特定のライフサイクル制御を通じて長時間実行されるタスクを管理する構造化された手法を提供します。開発者は、stdioを介したローカル利用、または特定のホストとポートの環境変数を設定することによるstreamable HTTPを用いたリモート利用が可能です。
ユーザーは、run_background、list_background、kill_backgroundなどのツールを使用して、複雑なワークフローを管理できます。サーバーにはOpenTelemetryによるオブザーバビリティが組み込まれており、トレースとメトリクスをOTLP HTTP経由でエクスポートできます。また、監視用にプロセスごとのstdoutおよびstderrログファイルを保持します。セキュリティを確保するため、ドキュメントではコマンド実行をホストマシンから分離するためにDocker内でサーバーを実行することを推奨しています。
すべてのコマンドに対してcwdおよびenvのオーバーライドを提供できるため、正確な実行コンテキストが維持されます。サーバーはフォアグラウンドおよびバックグラウンドタスクのタイムアウトを処理し、デフォルトは60秒です。明確な終了コードのセマンティクスと、エージェントのアクションに対するプロダクショングレードの可視性を必要とする開発者向けに設計されています。
できること
- 1長時間実行されるバックグラウンドタスクの管理プロセスをバックグラウンドで開始し、ログファイルを通じてその進捗を監視します。
- 2エージェントのパフォーマンス監視OpenTelemetryインストルメンテーションを使用して、ツール呼び出しの実行時間や失敗を追跡します。
- 3コマンド実行の分離ホストシステムへの影響を防ぐため、コンテナ内でシェルコマンドを実行します。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
bash-command MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude Codeにbash-command MCPをインストール
$ claude mcp add bash-command-mcp -- npx -y bash-command-mcpCursorにbash-command MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"bash-command-mcp": {
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}VS Codeにbash-command MCPをインストール
.vscode/mcp.json
{
"servers": {
"bash-command-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}VS Code CLIにbash-command MCPをインストール
$ code --add-mcp '{"name":"bash-command-mcp","type":"stdio","command":"npx","args":["-y","bash-command-mcp"]}'Claude Desktopにbash-command MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"bash-command-mcp": {
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}Codexにbash-command MCPをインストール
$ codex mcp add bash-command-mcp -- npx -y bash-command-mcpCodex config.tomlにbash-command MCPをインストール
~/.codex/config.toml
[mcp_servers.bash-command-mcp] command = "npx" args = ["-y", "bash-command-mcp"]
Gemini CLIにbash-command MCPをインストール
$ gemini mcp add -s user bash-command-mcp npx -- -y bash-command-mcpGemini settings.jsonにbash-command MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"bash-command-mcp": {
"command": "npx",
"args": [
"-y",
"bash-command-mcp"
]
}
}
}bash-command MCPツール 6
READMEから検出runrun_backgroundlist_backgroundkill_backgroundtail_backgroundwait_background
| run | — | |
| run_background | — | |
| list_background | — | |
| kill_background | — | |
| tail_background | — | |
| wait_background | — |
設定
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.
| 名前 | 説明 | 種類 |
|---|---|---|
| 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. |
自動チェック
実行日 2026年11月14日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能mrorigo/bash-command-mcp is public and reachablegithub.com/mrorigo/bash-command-mcp ↗合格
- パッケージがこのリポジトリをソースとして指定未チェック
- ビルドの来歴 (Sigstore 証明)未チェック
- オープンソースライセンス (OSI)MITspdx.org/licenses/MIT.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-05-21github.com/mrorigo/bash-command-mcp ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していないNo popular package one edit away from bash-command-mcp合格
- パッケージおよびその依存関係に重大な勧告なしthe package checked; no critical advisoryosv.dev ↗合格
- モデルへの隠れた指示がない6 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされている未チェック
- リモートエンドポイントが MCP ハンドシェイクに応答未チェック
README
GitHubで見るbash-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.
bash-command MCPのよくある質問
bash-command MCPをClaude Codeに追加するには
ターミナルでclaude mcp add bash-command-mcp -- npx -y bash-command-mcpを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
bash-command MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
bash-command MCPが提供するツールは
6個のツールを提供しており、run, run_background, list_background, kill_background, tail_backgroundなどがあります。
このサーバーをホストマシンで実行しても安全ですか?
このサーバーはユーザー権限でシェルコマンドを実行するため、実行環境を分離するためにDockerを使用することを推奨します。
コマンドをバックグラウンドで実行できますか?
はい。このサーバーは、バックグラウンドプロセスの開始、一覧表示、停止、tail、および待機を行うためのツールを提供します。
サーバーのパフォーマンスやトレースを監視する方法はありますか?
サーバーには、トレースとメトリクスのためのOpenTelemetryインストルメンテーションが組み込まれています。
サポートされているトランスポート方式は何ですか?
ローカル統合用のstdio、およびリモートやネットワーク経由のクライアント用のstreamable HTTPをサポートしています。