mcpField
M
MacOS Resource Monitor MCP Server

MacOS Resource Monitor MCP Server

ローカル
github.com/Pratyayその他2330 週間前に更新

MacOS Resource Monitor MCP Server について

MacOS Resource Monitor MCP Server は、macOS 上で CPU、メモリ、ネットワークを多く使用しているプロセスを特定する MCP サーバーです。LLM にローカルのシステム負荷を確認させたいユーザー向けで、標準の ps と lsof コマンドでデータを収集し、構造化された JSON を返します。

主な機能

  1. 01CPU、メモリ、ネットワークの上位プロセス一覧
  2. 02ページングと複数フィールドによる並べ替え
  3. 03システムリソースの概要
  4. 04構造化された JSON 出力

活用シーン

  1. 01Mac の動作が遅い原因となるプロセスを探す
  2. 02LLM にローカルのパフォーマンスボトルネックを分析させる
  3. 03カテゴリ別のプロセスのネットワーク接続を確認する

MCP 対応

このプロジェクトは MCP サーバーとして、プロセスのリソース使用状況を取得する 3 つのツール(get_resource_intensive_processes、get_processes_by_category、get_system_overview)を MCP クライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MacOS Resource Monitor MCP Server

Trust Score

macOS 上で CPU、メモリ、ネットワークの使用状況を調べ、リソースを大量に消費するプロセスを特定する Model Context Protocol(MCP)サーバーです。

ホステッドデプロイ

Frontier AI でホステッドデプロイを利用できます。

概要

MacOS Resource Monitor は、システムリソースを監視するための MCP エンドポイントを公開する、軽量な MCP サーバーです。CPU、メモリ、ネットワークの使用状況を分析し、Mac 上で最もリソースを消費するプロセスを特定して、構造化された JSON 形式でデータを返します。

要件

  • macOS オペレーティングシステム
  • Python 3.10+
  • MCP サーバーライブラリ

インストール

オプション 1:グローバルインストール(推奨)

uv を使用して MCP サーバーをグローバルにインストールし、システム全体から利用できるようにします。

git clone https://github.com/Pratyay/mac-monitor-mcp.git
cd mac-monitor-mcp
uv tool install .

これで、どこからでもサーバーを実行できます。

mac-monitor
オプション 2:開発用インストール
  1. このリポジトリをクローンします。

    git clone https://github.com/Pratyay/mac-monitor-mcp.git
    cd mac-monitor-mcp
    
  2. 仮想環境を作成します(推奨)。

    python -m venv venv
    source venv/bin/activate  
    
  3. 必要な依存関係をインストールします。

    pip install mcp
    

使用方法

グローバルインストール

uv でグローバルにインストールした場合:

mac-monitor
開発用インストール

プロジェクトディレクトリから実行する場合:

python src/mac_monitor/monitor.py

または、uv run を使用する場合(プロジェクトディレクトリから):

uv run mac-monitor

次のメッセージが表示されます。

Simple MacOS Resource Monitor MCP server starting...
Monitoring CPU, Memory, and Network resource usage...

サーバーが起動し、LLM やその他のクライアントからアクセスできる MCP エンドポイントを公開します。

利用可能なツール

サーバーは 3 つのツールを公開します。

1. get_resource_intensive_processes()

各カテゴリ(CPU、メモリ、ネットワーク)で最もリソースを消費する上位 5 件のプロセス情報を返します。

2. get_processes_by_category(process_type, page=1, page_size=10, sort_by="auto", sort_order="desc")

高度なフィルタリング、ページネーション、並べ替えオプションを使用して、特定のカテゴリに属するすべてのプロセスを返します。

パラメーター:

  • process_type:「cpu」、「memory」、または「network」
  • page:ページ番号(1 から開始、デフォルト:1)
  • page_size:1 ページあたりのプロセス数(デフォルト:10、最大:100)
  • sort_by:並べ替えフィールド。「auto」(デフォルトの指標)、「pid」、「command」、またはカテゴリ固有のフィールド:
    • CPU:「cpu_percent」、「pid」、「command」
    • メモリ:「memory_percent」、「resident_memory_kb」、「pid」、「command」
    • ネットワーク:「network_connections」、「pid」、「command」
  • sort_order:「desc」(デフォルト)または「asc」

使用例:

# Get first page of CPU processes (default: sorted by CPU% descending)
get_processes_by_category("cpu")

# Get memory processes sorted by resident memory, highest first
get_processes_by_category("memory", sort_by="resident_memory_kb", sort_order="desc")

# Get network processes sorted by command name A-Z, page 2
get_processes_by_category("network", page=2, sort_by="command", sort_order="asc")

# Get 20 CPU processes per page, sorted by PID ascending
get_processes_by_category("cpu", page_size=20, sort_by="pid", sort_order="asc")
3. get_system_overview()

アクティビティモニタに似た集計統計を含む、システムの包括的な概要を返します。CPU、メモリ、ディスク、ネットワークの統計情報に加え、ボトルネックや最適化の機会を特定するためのインテリジェントなパフォーマンス分析を提供します。

機能:

  • CPU 指標:使用率、ロードアベレージ、コア数
  • メモリ分析:メモリの合計/使用量/空き容量とその割合
  • ディスク統計:すべてのファイルシステムにおけるストレージ使用量
  • ネットワーク概要:アクティブな接続、インターフェース統計
  • パフォーマンス分析:インテリジェントなボトルネック検出と推奨事項
  • システム情報:macOS のバージョン、稼働時間、プロセス数

使用例:

 get_system_overview()  # Get comprehensive system overview

ユースケース:

  • システムパフォーマンスの監視と分析
  • パフォーマンスのボトルネックや低速化の特定
  • リソース使用状況の傾向分析とキャパシティプランニング
  • システムパフォーマンスの問題のトラブルシューティング
  • システムの状態の概要をすばやく把握

出力例

get_resource_intensive_processes() の出力
{
  "cpu_intensive_processes": [
    {
      "pid": "1234",
      "cpu_percent": 45.2,
      "command": "firefox"
    },
    {
      "pid": "5678",
      "cpu_percent": 32.1,
      "command": "Chrome"
    }
  ],
  "memory_intensive_processes": [
    {
      "pid": "1234",
      "memory_percent": 8.5,
      "resident_memory_kb": 1048576,
      "command": "firefox"
    },
    {
      "pid": "8901",
      "memory_percent": 6.2,
      "resident_memory_kb": 768432,
      "command": "Docker"
    }
  ],
  "network_intensive_processes": [
    {
      "command": "Dropbox",
      "network_connections": 12
    },
    {
      "command": "Spotify",
      "network_connections": 8
    }
  ]
}
get_processes_by_category() の出力
{
  "process_type": "cpu",
  "processes": [
    {
      "pid": "1234",
      "cpu_percent": 45.2,
      "command": "firefox"
    },
    {
      "pid": "5678",
      "cpu_percent": 32.1,
      "command": "Chrome"
    }
  ],
  "sorting": {
    "sort_by": "cpu_percent",
    "sort_order": "desc",
    "requested_sort_by": "auto"
  },
  "pagination": {
    "current_page": 1,
    "page_size": 10,
    "total_processes": 156,
    "total_pages": 16,
    "has_next_page": true,
    "has_previous_page": false
  }
}

仕組み

MacOS Resource Monitor は、macOS に組み込まれているコマンドラインユーティリティを使用します。

  • ps:CPU とメモリを最も多く消費するプロセスを特定します
  • lsof:ネットワーク接続を監視し、ネットワークを多く使用するプロセスを特定します

ツールの実行時にデータが収集され、システムリソースの使用状況をリアルタイムでスナップショットとして取得できます。

LLM との統合

この MCP サーバーは、Model Context Protocol をサポートする大規模言語モデル(LLM)と連携するように設計されています。LLM は get_resource_intensive_processes ツールを使用してシステムリソース情報にアクセスし、インテリジェントな分析を提供できます。

コントリビューション

コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

管理コマンド

uv を使用してサーバーをグローバルにインストールした場合:

  • インストール済みツールの一覧表示: uv tool list
  • アンインストール: uv tool uninstall mac-monitor
  • アップグレード: uv tool install --force .(プロジェクトディレクトリから実行)
  • Git からインストール: uv tool install git+https://github.com/Pratyay/mac-monitor-mcp.git

最近の更新

バージョン 0.2.0(最新)
  • ✅ ページネーションとソートに対応した get_processes_by_category() ツールを追加
  • ✅ 包括的なソートオプションを追加(CPU%、メモリ、PID、コマンド名)
  • ✅ pyproject.toml による適切な Python パッケージングを追加
  • ✅ uv tool install によるグローバルインストールのサポートを追加
  • ✅ エラー処理と入力検証を強化
  • ✅ ナビゲーション情報を含むページネーションメタデータを追加

今後の改善案

このモニターを強化する方法をいくつか紹介します:

  • ディスク I/O の監視を追加する
  • 帯域幅を含むようにネットワーク使用状況の監視を改善する
  • 可視化機能を追加する
  • 他のオペレーティングシステムとの互換性を拡張する
  • リソースのしきい値によるプロセスフィルタリングを追加する
  • 履歴データの追跡と傾向分析を追加する

コメント

MCP は初めてですか?

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

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