はじめに
私は個人のLinux環境として、RHELとUbuntuを保有しています。RHELについては、現時点ではDeveloper Preview版ですが、MCPサーバーが提供されており、先日RHELのMCPサーバーを導入・AIコーディングエージェントへの設定、MCPサーバを利用しての実環境のインサイトを得た経験例を下記の記事でご紹介しました。
Ubuntuについては公式のMCPサーバーが提供されてはいないようなので、同じようなMCPサーバーが作成できないかと思い、まずはリソース使用量に関するインサイトを得るためのUbuntuのMCPサーバーをIBM Bob2.0で開発しました。今回は、この自作のUbuntu MCPサーバーの導入・設定、使用例をご紹介します。
MCPサーバー開発
MCPサーバーの開発においては、Windows11上のBob IDEからリモートエクスプローラー経由でWSL2(Ubuntu24.04)に接続後、下記のようなプロンプトを実行しました。
現在、リモートエクスプローラー経由で、WSL(Ubuntu 24.04)に接続しています。このUbuntu24.04の設定内容やリソース使用量などから何かしらのインサイトを得るためのMCPサーバーを作成したいと思いますが、可能でしょうか?
Bob君はこれを受けると、「build-mcp-server」という名前のスキルを使用して、ユーザーが独自のMCPサーバーを開発するためのガイドを確認しに行きます。一通り確認が終わった後、今回開発するMCPサーバーで、どのようなシステム情報の取得・分析をしたいかについて、いくつかの選択肢を提示してきます。
- CPU使用率・メモリ・ディスク・ネットワークなどの基本リソース監視
- インストール済みパッケージ・サービス稼働状況・ログなどのシステム設定情報
- 両方(リソース監視+システム設定情報)をすべてカバーするフルセット
- まず基本構成で作ってから後で拡張したい
今回はMCPサーバーを開発するのは初めてだったので、まずは最低限稼働できるセットを作成したく、「まず基本構成で作ってから後で拡張したい」を選択して、先進めしました。
特にプログラミング言語を指定しなければ、Bob君はNode.jsでMCPサーバー作成を実行していきます。たまたま先日業務で使用しているレンタルPCをリプレースしており、WSL(Ubuntu24.04)環境も再導入したばかりだったので、Node.jsは入れてませんでした。その場合、Bob君はNode.jsをインストールして処理を開始してくれました。
最終的にBob君が作成してくれたMCPサーバーの資材は、下記のパブリックなGitHubリポジトリに公開しています。Node.jsが事前にインストール済の環境でも導入・設定が可能なように、Node.jsがインストール済とそうでない場合の両方の導入手順を記載しています。
上記GitHubリポジトリのREADMEにも記載していますが、こちらのMCPサーバーには現在計7個のツールを利用することが可能です。
- get_system_overview : CPU/メモリ/ディスク/OS情報の概要を取得
- get_cpu_info : CPU使用率・コア情報を取得
- get_memory_info : メモリ・スワップ使用量を取得
- get_disk_info : ディスク使用量を取得
- get_network_info : ネットワークインターフェース情報を取得
- get_running_services : systemdサービス稼働状況を取得
- get_top_processes : リソース消費上位プロセスを取得
IBM BobでのMCPサーバー設定・稼働確認
MCPサーバーの実装が終わると、Bob君は実際に利用できるか否かの稼働確認を続けて実施してくれました。最終的に問題なく情報は抽出できています。
ツールが正常に動作しています。現在の環境情報をまとめてお伝えします。
---
## 現在の Ubuntu 24.04 環境インサイト ✅
### 🖥️ システム概要
| 項目 | 値 |
|---|---|
| OS | Ubuntu 24.04.4 LTS |
| CPU | 13th Gen Intel Core i5-1335U |
| 稼働時間 | 約2時間26分 |
### 💾 メモリ
- 総容量:**7,779 MB(約7.6 GB)**
- 使用中:**1,374 MB(18%)** — 非常に余裕がある状態
### 💿 ディスク
| マウントポイント | サイズ | 使用済 | 使用率 |
|---|---|---|---|
| `/`(WSL2ルート) | 1007 GB | 2.7 GB | **1%** |
| `/mnt/c`(Windows C:) | 237 GB | 95 GB | **41%** |
| `/usr/lib/wsl/drivers` | 237 GB | 95 GB | 41% |
---
MCPサーバーは完全に動作しています!今後はBobのチャット上で直接こんな質問ができます:
- 「今の CPU 負荷を確認して」→ `get_cpu_info`
- 「メモリを詳しく見せて」→ `get_memory_info`
- 「失敗しているサービスはある?」→ `get_running_services`(`failed`フィルター)
- 「CPU 消費上位のプロセスを教えて」→ `get_top_processes`
何か具体的に調べたいことがあれば、そのままお尋ねください!
一通りMCPサーバーが使えることは確認できたので、下記のようなプロンプトをBob君に投げてみました。
現状のCPU使用率、メモリ使用量、ディスク使用率を分析し、問題があるようであれば対応策を提案してください。
Bob君は一通り必要な情報をMCPサーバーを使って抽出し、最終的に下記のようなインサイトを提供してくれました。
分析結果のポイントをまとめます。
---
### 総評:現状は**全体的に健全**、1点だけ今後注意
| リソース | 状態 | 使用率 |
|---|---|---|
| CPU | ✅ 正常 | ロードアベレージ 0.03(12コア比 0.25%) |
| メモリ | ✅ 正常 | 17.6%、スワップ 0 MB |
| WSL2ルートディスク | ✅ 正常 | 2.7 GB / 1 TB(1%) |
| Windows C: ドライブ | ⚠️ 注意 | 95 GB / 237 GB(**41%**) |
**唯一の注意点は Windows 側の C: ドライブ(41%使用)** です。緊急ではありませんが、70〜80% を超えてくると WSL2 の仮想ディスク(`.vhdx`)拡張にも影響するため、今のうちに下記の対策を検討しておくと安心です:
1. Windows「ディスククリーンアップ」や `WinDirStat` で大ファイルを洗い出す
2. WSL2 の `.vhdx` ファイルを `Optimize-VHD`(PowerShell 管理者)で圧縮
3. `%USERPROFILE%\.wslconfig` でWSL2のメモリ・プロセッサ上限を明示的に設定
純粋なLinuxに関するリソース使用状況に基づくインサイトだけではなく、WSLの特性を意識した対策案を提供してくれたことに感動しました。
今回のMCPサーバー開発・稼働確認まで含めて、途中でトラブルシューティングを行う必要もなかったからか、およそ30分~1時間程度で完了しました。
AWS Kiroでの利用
導入・設定作業
IBM Bobで作成したUbuntu向けMCPサーバーは、AWS Kiroでも設定して利用することが可能です。今回は、自宅のプライベートPCのVMWare Workstatio ProのゲストOSとして利用しているUbuntu24.04に対して導入・設定を実施しました。
MCPサーバーは、上記に記載したGitHubのリポジトリを自身のUbuntu Linux環境にクローンし、README.mdの記載を参考に必要な導入・設定作業を実施します。Kiroのmcp.jsonの設定例を下記に示します。
{
"mcpServers": {
"aws-mcp": {
"command": "uvx",
"timeout": 100000,
"transport": "stdio",
"args": [
"mcp-proxy-for-aws@latest",
"https://aws-mcp.us-east-1.api.aws/mcp",
"--metadata", "AWS_REGION=ap-northeast-1"
]
},
"ubuntu-insights":{
"command": "/usr/local/bin/node",
"args": ["/home/testuser/mcp-ubuntu-insights/build/index.js"]
}
}
}
※前半部分はAWS MCPサーバーの設定内容です。後半の「ubuntu-insights」以降の設定が、今回作成した自作のUbuntu MCPサーバーです。「command」と「args」に指定するディレクトリ内容は、ご自身の環境における絶対パス形式で指定してください。
使用例
AWS KiroでのMCPサーバー利用確認として、今回はKiroに下記のようなプロントを投げてみました。
現在接続しているUbuntu24.04のCPU使用率、メモリ使用量、ディスク使用率を分析いただき、問題があるようでしたら対応策を提案してください。
すると、Kiro君は作成したubuntu-insights MCPサーバーを無事コールしに行ってくれました。

最終的に下記のマークダウンファイルの記載に見られるようなインサイトを得ることができました。
# Ubuntu 24.04 システム分析結果(2026年7月1日)
## CPU使用率 — 正常
| 項目 | 値 |
|------|------|
| モデル | Intel Core Ultra 5 125H |
| コア数 | 2 |
| 現在の使用率 | 約6%(idle 93.91%) |
| ロードアベレージ | 0.04 / 0.65 / 0.67 |
CPUは問題なし。ほぼアイドル状態です。
---
## メモリ使用量 — 注意
| 項目 | 値 |
|------|------|
| 総メモリ | 3.9 GB |
| 使用中 | 2.3 GB(約60%) |
| 利用可能 | 1.6 GB |
| スワップ使用 | 603 MB / 3.4 GB |
メモリは60%程度の使用率で即座に問題とはなりませんが、スワップが603MB使われている点は気になります。物理メモリが3.9GBと少なめなため、負荷がかかるとスワップ依存が増えパフォーマンスに影響が出る可能性があります。
---
## ディスク使用率 — 警告
| マウントポイント | サイズ | 使用量 | 空き | 使用率 |
|------|------|------|------|------|
| `/`(ルート) | 38 GB | 33 GB | 3.7 GB | **90%** |
| `/boot` | 1.8 GB | 220 MB | 1.4 GB | 14% |
ルートパーティションが **90%** に達しており、これは警告レベルです。残り3.7GBしかなく、ログの増加やパッケージ更新で容量が枯渇する可能性があります。
---
## 対応策の提案
### 1. ディスク容量の確保(優先度:高)
# 不要なSnapパッケージの古いリビジョンを削除
sudo snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do sudo snap remove "$snapname" --revision="$revision"; done
# APTキャッシュのクリーンアップ
sudo apt clean
# 不要なカーネルの削除
sudo apt autoremove --purge
# 大きなファイルの特定
sudo du -h / --max-depth=2 2>/dev/null | sort -rh | head -20
現在snapパッケージが多数インストールされています(firefox, gnome関連など)。古いリビジョンの削除だけでも数GBの空きが見込めます。
### 2. メモリについて(優先度:中)
現時点で致命的ではありませんが、今後の対策として:
- 不要なサービスの停止(GUIが不要ならデスクトップ環境の無効化)
- スワップ使用が継続的に増える場合は、メモリの増設またはワークロードの見直しを検討
### 3. 監視の導入(推奨)
ディスクが95%を超えるとシステムが不安定になる可能性があるため、定期的な監視をおすすめします:
# cronで毎日ディスク使用率をチェックする簡易スクリプト例
echo '[ $(df / --output=pcent | tail -1 | tr -d " %") -ge 95 ] && echo "DISK CRITICAL: $(df -h /)" | logger -t disk-alert' | sudo tee /etc/cron.daily/disk-check
sudo chmod +x /etc/cron.daily/disk-check
---
## まとめ
| リソース | 状態 | 緊急度 |
|------|------|------|
| CPU | 正常 | — |
| メモリ | 注意(スワップ使用あり) | 中 |
| ディスク | 警告(90%使用) | 高 |
最も緊急性が高いのはディスク使用率90%の問題です。まずは不要ファイルの削除から始めることをおすすめします。
おわりに
今回はIBM Bobを使って、Ubuntu 24.04のインサイトを得るためのMCPサーバーを開発し、導入・設定、使用感などをご紹介しました。現時点では、まだリソース使用率に関するインサイトしか得ることはできませんが、今後はセキュリティーやネットワーク等の観点からも何かしらのインサイトを得ることができるように、利用可能なスキルを拡張していく予定です。
