mcpField
S
Shell Proxy

Shell Proxy

ローカル
github.com/aliforever開発ツール034 週間前に更新

Shell Proxy について

Shell Proxyは、AIエージェントとターミナルの間でコマンドを実行するプロキシです。ANSIコード、シェル初期化時の出力、文字コードの問題による影響を抑え、構造化された結果を返します。複数のシェルに対応し、バッファ出力と行単位のストリーミングを選べます。

主な機能

  1. 01ANSI制御シーケンスの除去
  2. 02シェル初期化設定の回避
  3. 03シェルの自動検出と指定
  4. 04構造化JSONのコマンド結果
  5. 05行単位のストリーミング出力
  6. 06出力の切り詰めとファイル保存

活用シーン

  1. 01エージェントが読みやすい端末出力を提供
  2. 02長時間コマンドの出力を逐次確認
  3. 03複数のシェルでコマンドを実行
  4. 04コマンド結果をファイルに保存

MCP 対応

stdioのMCPサーバーはrun_commandとrun_command_streamツールを公開し、コマンドを実行して完全なJSON結果または行単位の出力を返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

shellproxy

shellproxy は、AI エージェントの「ターミナルの視認性」の問題を解決する、クリーンなコマンド実行プロキシです。ゴミ文字、ANSI エスケープコード、シェル初期化時のノイズ、エンコーディングの問題によって、AI エージェントがターミナル出力を読み取れなくなる問題に対処します。

AI エージェントとターミナルの間に位置し、クリーンで制御された環境でコマンドを実行して、構造化された JSON 出力を返します。


機能

  • ANSI の除去 — すべてのカラーコード、カーソル移動、制御シーケンスを削除します
  • シェル初期化のバイパス — bash --norc --noprofile、PowerShell の -NoProfile などを使用して実行します
  • シェルの自動検出 — Windows では WSL bash を優先し、利用できない場合は cmd にフォールバックします。Unix では bash/sh を使用します
  • 構造化 JSON 出力 — exit_code、stdout、stderr、duration_ms、shell、truncated
  • ストリーミングモード — 長時間実行されるコマンドの出力を行単位で返します
  • ファイル出力 — stdout に加えて、結果をファイルに書き込みます
  • MCP サーバー — run_command と run_command_stream を MCP ツールとして公開します
  • 設定可能 — 環境変数、設定ファイル ~/.shellproxy.json、または CLI フラグで設定できます

インストール

Unix(Linux、macOS、WSL)
curl -sSL https://raw.githubusercontent.com/aliforever/shellproxy/main/install.sh | sh
Windows(PowerShell)
irm https://raw.githubusercontent.com/aliforever/shellproxy/main/install.ps1 | iex
ソースからインストール
git clone https://github.com/aliforever/shellproxy
cd shellproxy
go build -o shellproxy .

使い方

コマンドを実行する(バッファー出力)
shellproxy run "echo hello world"

出力:

{
  "exit_code": 0,
  "stdout": "hello world\n",
  "stderr": "",
  "duration_ms": 12,
  "shell": "wsl",
  "truncated": false
}
プレーンテキスト出力で実行する
shellproxy run --output text "ls -la"
出力を行単位でストリーミングする
shellproxy run --stream "npm install"

出力:

[stdout] added 342 packages in 4.2s
[stdout] found 0 vulnerabilities
--- exit_code: 0 | duration: 4213ms | shell: wsl ---
結果をファイルに書き込む
shellproxy run --file /tmp/result.json "go build ./..."
シェルを明示的に指定する
shellproxy run --shell cmd "dir"
shellproxy run --shell bash "cat /etc/os-release"
shellproxy run --shell pwsh "Get-Date"
環境変数を設定する
shellproxy run --env "NODE_ENV=production" --env "PORT=8080" "node server.js"
タイムアウトを設定する
shellproxy run --timeout 30 "long-running-command"
大きな出力を切り詰める
shellproxy run --truncate 4096 "cat large-file.log"

MCP サーバーモード

stdio 経由の MCP サーバーとして shellproxy を起動します。

shellproxy serve
AI クライアントの設定

AI クライアントの MCP 設定に shellproxy を追加します。

{
  "mcpServers": {
    "shellproxy": {
      "command": "shellproxy",
      "args": ["serve"],
      "env": {
        "SHELLPROXY_SHELL": "auto",
        "SHELLPROXY_TIMEOUT": "60"
      }
    }
  }
}
利用可能な MCP ツール
ツール説明
run_commandコマンドを実行し、完全な JSON 結果を返します
run_command_streamコマンドを実行し、出力を行単位で返します

run_command のパラメーター:

パラメーター型必須説明
commandstring✓実行するシェルコマンド
shellstringauto、cmd、bash、wsl、pwsh、sh
cwdstring作業ディレクトリ
timeout_secondsnumberタイムアウト(0 = 制限なし)
envobject{"KEY": "VALUE"} 形式の追加の環境変数
truncate_bytesnumber出力の最大サイズ(バイト単位)

設定

shellproxy は、環境変数または JSON 設定ファイルで設定できます。

設定ファイル:~/.shellproxy.json
{
  "shell": "auto",
  "timeout_seconds": 60,
  "strip_ansi": true,
  "output_mode": "buffered",
  "output_file": "",
  "truncate_bytes": 0
}
環境変数
変数デフォルト説明
SHELLPROXY_SHELLauto使用するシェル
SHELLPROXY_TIMEOUT60タイムアウト(秒)
SHELLPROXY_STRIP_ANSItrueANSI コードを除去します(無効にするには 0/false を指定)
SHELLPROXY_OUTPUT_MODEbufferedbuffered、stream、または file
SHELLPROXY_OUTPUT_FILEファイル出力モードで使用するファイルパス
SHELLPROXY_TRUNCATE_BYTES0出力を N バイトで切り詰めます
SHELLPROXY_CONFIG~/.shellproxy.json設定ファイルのパスを上書きします

グローバルフラグ

Flags:
  --shell string    Shell to use: auto, cmd, bash, wsl, pwsh, sh (default "auto")
  --timeout int     Command timeout in seconds 0 = no timeout (default 60)
  --strip-ansi      Strip ANSI escape codes from output (default true)
  -h, --help        help for shellproxy

ソースからビルドする

# Build for current platform
make build

# Build for all platforms
make build-all

# Run tests
make test

# Run specific test suites
make test-strip      # ANSI stripping tests
make test-detect     # Shell detection tests
make test-exec       # Integration exec tests

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。