MCP用端末コントローラ
標準化されたインターフェースを通じて、安全な端末コマンド実行、ディレクトリナビゲーション、およびファイルシステム操作を可能にするモデルコンテキストプロトコル (MCP) サーバー。
特徴
- コマンド実行: タイムアウト制御と包括的な出力キャプチャを備えたターミナルコマンドを実行します。
- ディレクトリ管理: 直感的なフォーマットでディレクトリの内容をナビゲートして一覧表示します
- セキュリティ対策: 危険なコマンドや操作に対する安全策を内蔵
- コマンド履歴: 最近実行したコマンドを追跡して表示します
- クロスプラットフォームサポート: WindowsとUNIXベースのシステムの両方で動作します
- ファイル操作: 行レベルの精度でファイルの内容の読み取り、書き込み、更新、挿入、削除を実行します。
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop のターミナル コントローラーを自動的にインストールするには:
前提条件
- Python 3.11以上
- MCP 互換クライアント (Claude Desktop など)
- UV/UVX搭載(オプション、UVX方式用)
方法1: PyPIのインストール(推奨)
PyPI から直接パッケージをインストールします。
または、UV を使用する場合:
方法2: ソースから
ソースからインストールしたい場合:
- このリポジトリをクローンします:
- セットアップ スクリプトを実行します。
クライアント構成
クロードデスクトップ
Claude Desktop をターミナル コントローラーを使用するように構成するには、次の 2 つの方法があります。
オプション1: UVXの使用(推奨)
Claude Desktop 構成ファイルに以下を追加します。
オプション2: Pythonを直接使用する
構成パスはオペレーティング システムによって異なります。
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows :
%APPDATA%\Claude\claude_desktop_config.json
カーソル
カーソルについては、Claude Desktop と同様の構成設定を使用します。
その他のMCPクライアント
その他のクライアントについては、外部 MCP サーバーを構成する方法については、そのクライアントのドキュメントを参照してください。
使用法
設定が完了すると、MCP クライアントを介して自然言語を使用して端末と対話できるようになります。
- 「現在のディレクトリでコマンド
ls -la
を実行します」 - 「マイドキュメントフォルダへ移動」
- 「ダウンロードディレクトリの内容を表示」
- 「最近のコマンド履歴を表示」
- 「config.jsonの内容を読み取る」
- 「script.py ファイルの 5 行目を 'print("Hello World")' で更新します」
- 「ログファイルから10行目から15行目を削除します」
- 「テキストファイルの先頭に新しい行を挿入する」
APIリファレンス
ターミナル コントローラは次の MCP ツールを公開します。
execute_command
ターミナルコマンドを実行し、その結果を返します。
パラメータ:
command
: 実行するコマンドラインコマンドtimeout
: コマンドのタイムアウト(秒)(デフォルト: 30)
戻り値:
- stdout、stderr、実行ステータスを含むコマンド実行の出力
get_command_history
最近のコマンド実行履歴を取得します。
パラメータ:
count
: 返される最近のコマンドの数(デフォルト: 10)
戻り値:
- フォーマットされたコマンド履歴レコード
get_current_directory
現在の作業ディレクトリを取得します。
戻り値:
- 現在の作業ディレクトリのパス
change_directory
現在の作業ディレクトリを変更します。
パラメータ:
path
: 切り替え先のディレクトリパス
戻り値:
- 操作結果情報
list_directory
指定されたディレクトリ内のファイルとサブディレクトリを一覧表示します。
パラメータ:
path
: リストの内容へのディレクトリパス(デフォルト: 現在のディレクトリ)
戻り値:
- ディレクトリとファイルのアイコンでフォーマットされたディレクトリの内容のリスト
write_file
上書きまたは追加のオプションを使用して、ファイルにコンテンツを書き込みます。
パラメータ:
path
: ファイルへのパスcontent
: 書き込む内容mode
: 書き込みモード('overwrite' または 'append'、デフォルト: 'overwrite')
戻り値:
- 書き込み成功の検証を含む操作結果情報
read_file
オプションの行選択を使用してファイルからコンテンツを読み取ります。
パラメータ:
path
: ファイルへのパスstart_row
: 読み取り開始行(0から始まる、オプション)end_row
: 読み取り終了行(0 ベース、含む、オプション)
戻り値:
- ファイルの内容または選択した行
insert_file_content
ファイル内の特定の行にコンテンツを挿入します。
パラメータ:
path
: ファイルへのパスcontent
: 挿入するコンテンツrow
: 挿入する行番号(0から始まる、オプション)rows
: 挿入する行番号のリスト(0から始まる、オプション)
戻り値:
- 操作結果情報
delete_file_content
ファイルから特定の行のコンテンツを削除します。
パラメータ:
path
: ファイルへのパスrow
: 削除する行番号(0から始まる、オプション)rows
: 削除する行番号のリスト(0から始まる、オプション)
戻り値:
- 操作結果情報
update_file_content
ファイル内の特定の行のコンテンツを更新します。
パラメータ:
path
: ファイルへのパスcontent
: 指定された行に配置する新しいコンテンツrow
: 更新する行番号(0から始まる、オプション)rows
: 更新する行番号のリスト(0から始まる、オプション)
戻り値:
- 操作結果情報
セキュリティに関する考慮事項
ターミナル コントローラは、いくつかのセキュリティ対策を実装しています。
- 長時間実行されるコマンドを防ぐためのタイムアウト制御
- 危険なコマンドのブラックリスト化 (rm -rf /、format、mkfs)
- 適切なエラー処理とコマンド実行の分離
- 明示的に許可されたコマンドとディレクトリのみへのアクセス
制限事項
- タイムアウト期間内に完了したコマンドのみが結果を返します
- デフォルトでは、サーバーはそれを実行しているユーザーと同じファイルシステム権限にアクセスできます。
- 端末インターフェースの非対話型の性質により、一部の対話型コマンドが期待どおりに動作しない場合があります。
トラブルシューティング
問題が発生した場合:
- Pythonのバージョンが3.11以上であることを確認してください
- Claude Desktop の設定が正しいことを確認してください
- エラーを確認するには、ターミナル コントローラーを直接実行してみてください。
- UVX 関連の問題については、以下を試してください。
- MCPクライアントのログで接続エラーを確認します
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
マサチューセッツ工科大学
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
LLM の標準化されたインターフェースを通じて、安全な端末コマンド実行、ディレクトリ ナビゲーション、およびファイル システム操作を可能にする MCP サーバー。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides tools for reading, writing, and editing files on the local filesystem.Last updated -11,494PythonApache 2.0
- -securityFlicense-qualityA Filesystem MCP server that allows an LLM to read and list files from a specified directory on your local machine through the Model Context Protocol.Last updated -2Python
- AsecurityAlicenseAqualityAn MCP server that enables secure execution of shell commands across Windows, macOS, and Linux with built-in whitelisting and approval mechanisms for enhanced security.Last updated -93466JavaScriptMIT License
- AsecurityAlicenseAqualityA server that enables secure interaction with remote SSH hosts through standardized MCP interface, providing functions like listing hosts, executing commands, and transferring files using native SSH tools.Last updated -75512JavaScriptMIT License