MCP Linux Common Utility Server について
Linuxホストの調査や管理に使うPython製MCPサーバーです。ツールとリソースを通じて、システム情報、ファイル、ネットワーク、監視、ログを扱えます。
主な機能
- 01CPU、メモリー、プロセスの調査
- 02ディスク、ファイルシステム、ハードウェア操作
- 03ネットワーク確認とデータ転送
- 04システムの健全性とリソース監視
- 05複数ソースのログ検索・分析
- 06MCPツールとURIリソースの提供
活用シーン
- 01システム負荷やリソース使用量を確認
- 02ファイル検索やファイルシステムの管理
- 03接続テストやネットワークインターフェースの確認
- 04システム、カーネル、サービスのログを検索
MCP 対応
Linuxシステム操作ツールと、システム、ファイルシステム、ネットワーク、監視、ログのリソースをMCPクライアントに提供します。stdioとSSEのトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Linux 共通ユーティリティサーバー
Model Context Protocol(MCP)Linux Common Utility(LCU)サーバーは、Model Context Protocol を通じて、さまざまな Linux システム操作や情報へのアクセスを提供する Python ベースのサーバーです。
機能
- CPU 操作:CPU 情報、使用率、ロードアベレージなど。
- メモリ操作:メモリとスワップの情報、使用統計。
- プロセス/スレッド操作:プロセスの一覧表示、情報取得、管理。
- ストレージ操作:ディスク、ボリューム、パーティションの情報。
- ファイルシステム操作:ファイルの作成、削除、更新、情報取得。
- ハードウェア操作:ハードウェアの検出と情報取得。
- ネットワーク操作:インターフェース情報、接続テスト、データ転送。
- 監視操作:システム状態の監視とヘルスチェック。
- ログ操作:システムログへのアクセス、ログ分析、複数のソースにわたる統計情報。
インストール
前提条件
- Python 3.10 以上
- Linux オペレーティングシステム
インストール手順
-
リポジトリをクローンします。
git clone https://github.com/yourusername/mcp_lcu_server.git cd mcp_lcu_server -
パッケージをインストールします。
uv venv source .venv/bin/activate python -m build
設定
サーバーは YAML 設定ファイルを使用して設定できます。デフォルトでは、次の場所から設定ファイルを探します。
./config.yaml./config/config.yaml/etc/mcp-lcu-server/config.yaml~/.config/mcp-lcu-server/config.yaml
コマンドラインオプション --config を使用して、カスタム設定ファイルのパスを指定することもできます。
設定ファイルの例
server:
name: mcp-lcu-server
transport: both # stdio, sse, or both
port: 8000
host: 127.0.0.1
monitoring:
enabled: true
interval: 30 # seconds
metrics:
- cpu
- memory
- disk
- network
filesystem:
allowed_paths:
- /
max_file_size: 10485760 # 10MB
network:
allow_downloads: true
allow_uploads: true
max_download_size: 104857600 # 100MB
max_upload_size: 10485760 # 10MB
allowed_domains:
- "*" # Allow all domains
process:
allow_kill: false
allowed_users: []
logs:
# Custom log paths (optional)
paths:
# syslog: /var/log/syslog
# auth: /var/log/auth.log
max_entries: 1000 # Maximum entries to return
使用方法
サーバーの起動
コマンドラインインターフェースを使用してサーバーを起動できます。
mcp-lcu-server [OPTIONS]
利用可能なオプション:
--config、-c:設定ファイルのパス--transport、-t:トランスポートの種類(stdio、sse、または both)--port、-p:SSE トランスポートのポート--host、-h:SSE トランスポートのホスト--debug、-d:デバッグログを有効にします
トランスポートの種類
サーバーは次のトランスポートの種類に対応しています。
stdio:標準入出力トランスポートsse:Server-Sent Events トランスポート
例
stdio トランスポートでサーバーを起動します。
mcp-lcu-server --transport stdio
ポート 8000 で SSE トランスポートを使用してサーバーを起動します。
mcp-lcu-server --transport sse --port 8000
両方のトランスポートを使用してサーバーを起動します。
mcp-lcu-server --transport both
API ドキュメント
ツール
サーバーは、Linux システムとやり取りするためのさまざまなツールを提供します。
CPU ツール
get_cpu_info:CPU の詳細情報を取得しますget_cpu_usage:CPU 使用率を取得しますget_load_average:システムのロードアベレージを取得しますanalyze_cpu_performance:CPU パフォーマンスを分析します
メモリツール
get_memory_info:メモリの詳細情報を取得しますget_memory_usage:メモリ使用量を取得しますget_swap_info:スワップ情報を取得しますanalyze_memory_performance:メモリパフォーマンスを分析します
プロセスツール
list_processes:すべてのプロセスを一覧表示しますget_process_info:プロセスの詳細情報を取得しますsearch_processes:プロセスを検索しますanalyze_top_processes:CPU とメモリの使用量が多いプロセスを分析します
ストレージツール
list_disks:物理ディスクを一覧表示しますlist_partitions:ディスクパーティションを一覧表示しますget_disk_usage:ディスク使用量を取得しますanalyze_storage_usage:ストレージ使用量を分析します
ファイルシステムツール
list_directory:ディレクトリの内容を一覧表示しますread_file:ファイルの内容を読み取りますwrite_file:ファイルに内容を書き込みますdelete_file:ファイルまたはディレクトリを削除しますcopy_file:ファイルまたはディレクトリをコピーしますmove_file:ファイルまたはディレクトリを移動しますsearch_files:パターンに一致するファイルを検索しますsearch_file_contents:パターンを含むファイルを検索します
ハードウェアツール
get_system_info:一般的なシステム情報を取得しますget_cpu_info:CPU 情報を取得しますget_memory_info:メモリ情報を取得しますget_storage_info:ストレージ情報を取得しますget_pci_devices:PCI デバイス情報を取得しますget_usb_devices:USB デバイス情報を取得しますanalyze_hardware:ハードウェア構成を分析します
ネットワークツール
get_network_interfaces:ネットワークインターフェース情報を取得しますget_network_connections:ネットワーク接続を取得しますget_network_stats:ネットワーク統計情報を取得しますping_host:ホストに ping を実行しますtraceroute_host:ホストまでのルートをトレースしますhttp_get_request:HTTP GET リクエストを実行しますdownload_file_from_url:URL からファイルをダウンロードしますupload_file_to_url:URL にファイルをアップロードしますanalyze_network:ネットワーク構成と接続性を分析します
監視ツール
get_system_status:システムの状態を取得しますcheck_system_health:システムの健全性を確認しますmonitor_resources:リソース使用状況を監視しますget_system_uptime:システムの稼働時間を取得しますget_system_load:システム負荷を取得しますanalyze_system_performance:システムパフォーマンスを分析します
ログツール
log_list_available_logs:システム上で利用可能なすべてのログソースを一覧表示しますlog_get_journal_logs:systemd ジャーナルからログを取得しますlog_get_system_logs:システムログファイルからログを取得しますlog_get_dmesg:dmesg からカーネルログを取得しますlog_get_application_logs:特定のアプリケーションのログを取得しますlog_get_audit_logs:監査ログを取得しますlog_get_boot_logs:起動ログを取得しますlog_get_service_status_logs:特定の systemd サービスに関連するログを取得しますlog_search_logs:複数のログソースを横断して検索しますlog_analyze_logs:ログを分析してパターンや問題を特定しますlog_get_statistics:ログの量や特性に関する統計情報を取得します
リソース
サーバーは、MCP 経由でアクセスできるさまざまなリソースも提供します。
システムリソース
linux://system/info:システム情報linux://system/cpu:CPU 情報linux://system/memory:メモリ情報linux://system/uptime:システムの稼働時間
監視リソース
linux://monitoring/status:システムの状態linux://monitoring/health:システムの健全性linux://monitoring/resources:リソース使用状況
ファイルシステムリソース
linux://fs/dir/{path}:ディレクトリ一覧linux://fs/info/{path}:ファイル情報linux://fs/file/{path}:ファイルの内容linux://fs/usage/{path}:ディレクトリ使用状況の分析
ネットワークリソース
linux://network/interfaces:ネットワークインターフェースlinux://network/connections:ネットワーク接続linux://network/stats:ネットワーク統計情報linux://network/ping/{host}:ホストに ping を実行linux://network/traceroute/{host}:ホストまでのルートをトレースlinux://network/analysis:ネットワーク分析
ログリソース
linux://logs/available:利用可能なログソースの一覧linux://logs/journal/{parameters}:systemd ジャーナルのログlinux://logs/system/{log_type}/{parameters}:システムログファイルのログlinux://logs/kernel/{count}:カーネルリングバッファ(dmesg)のログlinux://logs/application/{app_name}/{parameters}:特定のアプリケーションのログlinux://logs/audit/{parameters}:Linux 監査システムのログlinux://logs/boot/{count}:システム起動に関連するログlinux://logs/service/{service}/{count}:特定の systemd サービスのログlinux://logs/search/{query}/{parameters}:複数のログソースを横断した検索linux://logs/analysis/{parameters}:ログのパターンや問題の分析linux://logs/statistics/{parameters}:ログの量や特性に関する統計情報
セキュリティに関する考慮事項
このサーバーはさまざまなシステム操作へのアクセスを提供します。誤用すると危険を伴う可能性があります。次の点に注意してください。
- ファイルシステム操作で許可するパスを設定する
- ネットワーク操作で許可するドメインを設定する
- プロセスを終了する機能を制限する
- 適切な権限でサーバーを実行する
コマンド実行のセキュリティ
このサーバーには、ホストシステム上でシェルコマンドを実行できる強力なコマンド実行ツールが含まれています。この機能は、適切に設定されていない場合や、信頼できない環境で使用した場合に、重大なセキュリティリスクをもたらす可能性があります。
警告: コマンド実行機能を使用しない場合は、次の2つの方法があります。
- 設定ファイルで
command.enabled: falseを設定して無効にします。command: enabled: false - サーバーの実装を変更して、コマンド実行に関連する MCP ツールを削除します。
コマンド実行を有効にする場合は、次の追加のセキュリティ対策を検討してください。
allowed_commandsを使用して、実行できるコマンドを制限しますblocked_commandsを使用して、危険なコマンドを明示的にブロックします- 適切なタイムアウトと出力サイズの上限を設定します
- 絶対に必要な場合を除き、
allow_sudo: falseにして sudo アクセスを無効にします
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。