mcpField
L
Linux Command MCP (Model Context Protocol)

Linux Command MCP (Model Context Protocol)

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

Linux Command MCP (Model Context Protocol) について

Linux Command MCP は、Linux コマンドをリモートで実行するための MCP サーバーおよびクライアントです。Claude Desktop などのクライアントから診断コマンドを実行したいユーザーを想定しており、制御された実行を重視しています。

主な機能

  1. 01Linux コマンドのリモート実行
  2. 02コマンドラインクライアントを同梱
  3. 03インタラクティブスクリプト向けの stdin 対応
  4. 04PM2 によるプロセス管理

活用シーン

  1. 01Claude Desktop からカーネルバージョンやディスク使用量を確認
  2. 02リモートホストで読み取り専用の診断コマンドを実行

MCP 対応

Linux コマンドを実行する MCP サーバーを提供し、Claude Desktop の MCP サーバー設定に追加できます。コマンドラインクライアントも含まれます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Linux Command MCP(Model Context Protocol)

概要

Linux Command MCP は、Model Context Protocol(MCP)を使用して構築されたリモートコマンド実行システムで、安全かつ標準化された方法で Linux コマンドを実行できます。

Claude Desktop MCP サーバーの設定

設定について

MCP サーバーは claude_desktop_config.json ファイルで設定します。通常、このファイルは ~/.config/Claude/claude_desktop_config.json にあります。

設定の構造
"mcpServers": {
  "server-name": {
    "command": "node|npx|uvx",
    "args": ["server-specific-arguments"],
    "env": {
      "OPTIONAL_ENVIRONMENT_VARIABLES": "value"
    }
  }
}
Linux Command MCP サーバーの設定
"linux-command": {
  "command": "node",
  "args": [
    "/full/path/to/linux-command-mcp/server/dist/index.js"
  ]
}
設定の説明
  • "command":実行コマンド(node、npx、uvx)を指定します
  • "args":サーバーの実行可能ファイルへのフルパス
  • index.js へのパスが絶対パスであることを確認してください
重要な設定のヒント
  • 常にフルパス(絶対パス)を使用してください
  • ファイルのアクセス権を確認してください
  • 指定したファイルが実行可能であることを確認してください

前提条件

  • Node.js(v18.x 以降)
  • npm
  • PM2(プロセス管理用)

インストール

  1. リポジトリをクローンします
git clone <repository-url>
cd linux-command-mcp
  1. サーバーの依存関係をインストールします
cd server
npm install
npm run build
  1. クライアントの依存関係をインストールします
cd ../client
npm install
npm run build

使用方法

サーバーの起動
  1. サーバーディレクトリに移動します
cd server
  1. PM2 で起動します
npm run pm2:start
クライアントの使用

使用可能なコマンド:

  1. exec - Linux コマンドを実行します
  2. list [directory] - ディレクトリの内容を一覧表示します
  3. help - このヘルプを表示します
  4. exit - クライアントを終了します

コマンドを直接実行します:

# In the client directory
npm start 
exec "ls -l"
exec "list /home"
exec "uname -a"
対話型コマンドと Stdin のサポート

✨ 新機能:Linux Command MCP サーバーが stdin 経由で対話型スクリプトをサポートするようになりました!

stdin パラメーターの使用

stdin パラメーターを使用して、対話型スクリプトに入力を渡せるようになりました:

// Example: Run an interactive Python game
await callTool('execute-command', {
  command: 'python3 /path/to/interactive_script.py',
  stdin: '15\n2\n1\n2\n1\n'  // Automated responses
});

仕組み:

  • stdin パラメーターは実行前にスクリプトへ入力を送信します
  • 入力は1行ずつ送信されます(改行には \n を使用します)
  • スクリプトは自動応答を受け取り、最後まで実行されます
  • すべての出力が取得され、返されます
対話型スクリプトの例

入力を受け付ける Python ゲーム:

# Game expects: number of sticks, then player moves
stdin: "15\n2\n1\n2\n1\n"

セットアップウィザード:

# Wizard expects: username, email, confirm
stdin: "johndoe\[email protected]\ny\n"

複数選択式のプロンプト:

# Script shows options 1-5, user selects option 3
stdin: "3\n"
Sudo コマンド

重要な注意:Linux Command MCP サーバーは、パスワード入力を求める sudo コマンドを引き続き実行できません。

sudo コマンドの場合:

  1. 適切な権限でコマンドを手動で実行します
  2. または、特定のコマンドに対してパスワードなしの sudo を設定します
  3. または、sudo を使わない対話型スクリプトには stdin パラメーターを使用します

トラブルシューティング

  • PM2 が実行中であることを確認します:pm2 list
  • サーバーのログを確認します:pm2 logs linux-command-mcp-server
  • サーバーとクライアントのビルドを確認します

Claude Desktop での Linux コマンドの使用

やり取りの例

Claude に Linux コマンドの実行を依頼する際の、安全で一般的な例を以下に示します。

  1. システム情報の確認

    • 「Linux カーネルのバージョンを表示してもらえますか?」
    $ uname -r
    
  2. ディレクトリの内容を一覧表示

    • 「ホームディレクトリの内容を表示してください」
    $ ls ~
    
  3. 利用可能なディスク容量の確認

    • 「このシステムのディスク使用量はどのくらいですか?」
    $ df -h
    
  4. システムの稼働時間の確認

    • 「このシステムはどのくらいの時間稼働していますか?」
    $ uptime
    
  5. ネットワークインターフェースの確認

    • 「利用可能なネットワークインターフェースを教えてください」
    $ ip addr
    
  6. システムメモリ情報

    • 「メモリ使用量を表示してもらえますか?」
    $ free -h
    
重要な使用ガイドライン
  • プライバシー:機密情報が明らかにならないコマンドのみ実行してください
  • 安全性:システム設定を変更するコマンドは避けてください
  • 範囲:情報取得や診断を目的としたコマンドに限定してください
避けるべきこと

❌ 次のようなコマンドは実行しないでください:

  • 個人のファイル名やパスを明らかにする
  • 機密性の高いシステム設定情報を含む
  • システム設定を変更する
  • sudo または root 権限を必要とする
会話の例

ユーザー:「Linux カーネルのバージョンを確認してもらえますか?」

Claude:もちろんです!Linux カーネルのバージョンを表示するコマンドを実行します。

$ uname -r
5.15.0-91-generic

このカーネルは Ubuntu 22.04.3 LTS 上で動作しています。

セキュリティに関する考慮事項

  • 信頼できるネットワークでのみ実行してください
  • サーバーへのアクセスを制限してください
  • コマンドの実行には注意してください

セキュリティとベストプラクティス

  • 要求する情報には常に注意してください
  • システムレベルの機密性のない情報を提供するコマンドを使用してください
  • 迷った場合は、コマンドの目的をClaudeに確認してください

コントリビューション

以下の方法でLinux Command MCPを改善、拡張できます:

  • 安全で汎用的なコマンド例を追加する
  • ドキュメントを強化する
  • コマンド実行の改善を提案する

ライセンス

MITライセンス

お問い合わせ

  • メール:[email protected]

  • ブロックチェーン:0xkiran.eth

    • Ethereum:0x67F367edb83d8fdF48E7E7Cfcb35183e746c292c
    • Bitcoin:bc1q688np092y8raxag5e6573chrcgck5756yv476v

コメント

MCP は初めてですか?

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

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