mcpField
S
shell-use

shell-use

ローカル
github.com/kyuheon-kr開発ツール040 週間前に更新

shell-use について

shell-useは、Agentがtmuxセッションを通じて対話型CLIアプリケーションを操作できるMCPサーバーです。ターミナルの取得、キー入力、スクロールに対応し、Dockerでデプロイできます。

主な機能

  1. 01CLIアプリケーションの操作
  2. 02ターミナル画面のテキスト取得
  3. 03キー入力とテキスト送信
  4. 04ターミナル履歴のスクロール
  5. 05アクセス可能なセッション名の制限

活用シーン

  1. 01Agentから対話型CLIを操作
  2. 02tmuxセッションの出力を確認
  3. 03実行中のプロセスへキー入力

MCP 対応

許可されたセッションの一覧、ターミナルテキストの取得、キーやテキストの送信、セッション履歴のスクロールを行うツールを公開します。ソケット経由でtmuxに接続し、MCPクライアントに設定します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"kyuheon-kr-shell-use": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SHELL_USE_SESSIONS",
"-e",
"SHELL_USE_SOCKET",
"ghcr.io/kyuheon-kr/shell-use:1.0.0"
],
"env": {
"SHELL_USE_SESSIONS": "<SHELL_USE_SESSIONS>",
"SHELL_USE_SOCKET": "<SHELL_USE_SOCKET>"
}
}
}
}
起動コマンドdocker run -i --rm -e SHELL_USE_SESSIONS -e SHELL_USE_SOCKET ghcr.io/kyuheon-kr/shell-use:1.0.0
設定が必要な環境変数
SHELL_USE_SESSIONSComma-separated list of allowed session names
SHELL_USE_SOCKETPath to tmux socket (default: /tmux/tmux.sock in Docker)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/kyuheon-kr/shell-use:1.0.0

ツール

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

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

詳細

shell-use

エージェントが人間のようにシェルを使えるようにします。


機能
  • あらゆる CLI アプリケーション(vim、htop、gdb など)を操作します
  • 特殊キー(Ctrl+C、Enter、矢印キーなど)を送信します
  • 簡単にデプロイできるよう、Docker 化されています
利用可能なツール
ツール説明
list_sessions()許可されているセッション名を返します
capture(session, scroll_back?)ターミナル画面のテキストを取得します
send_keys(session, keys)キー入力(例:Enter、C-c)を送信します
send_text(session, text, enter?)テキストをそのまま送信します(enter=True で Enter キーを押します)
scroll(session, direction, amount?)履歴をスクロールします
exit_scroll_mode(session)コピー モードを終了します

セットアップ
1. Docker イメージをビルドする
docker build -t shell-use:latest .
2. tmux セッションを作成する
tmux new-session -s dev
2.1. tmux ソケットのパスを取得する
SOCK="$(tmux display-message -p -F '#{socket_path}')"
[ -S "$SOCK" ] || { echo "tmux socket not found: $SOCK"; exit 1; }
3. MCP クライアントを設定する

Claude Code:

claude mcp add shell-use \
  -- docker run -i --rm \
  -v "$SOCK":/tmux/tmux.sock \
  -e SHELL_USE_SOCKET=/tmux/tmux.sock \
  -e SHELL_USE_SESSIONS=dev \
  shell-use:latest

Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "shell-use": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "/tmp/tmux-1000/default:/tmux/tmux.sock",
        "-e", "SHELL_USE_SOCKET=/tmux/tmux.sock",
        "-e", "SHELL_USE_SESSIONS=dev",
        "shell-use:latest"
      ]
    }
  }
}

/tmp/tmux-1000/default を、次のコマンドで取得したパスに置き換えてください。 tmux display-message -p -F '#{socket_path}'。


環境変数
変数説明必須
SHELL_USE_SESSIONS許可されているセッション名をカンマ区切りで指定したリストはい
SHELL_USE_SOCKETtmux ソケットのパス(Docker でのデフォルトは /tmux/tmux.sock)いいえ

謝辞

browser-use に着想を得ています。

コメント

MCP は初めてですか?

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

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