mcpField
P
Performance Co-Pilot

Performance Co-Pilot

ローカル
github.com/majorデータ・分析029 週間前に更新

Performance Co-Pilot について

Performance Co-Pilotは、PCPのシステム性能メトリクスを照会するMCPサーバーです。ローカルまたはリモートホストを監視する運用担当者向けに、スナップショット、プロセス順位、メトリクス照会・検索・説明のツールを提供します。

主な機能

  1. 01CPU、メモリ、ディスク、ネットワークのスナップショット取得
  2. 02CPU、メモリ、I/O使用量によるプロセス順位付け
  3. 03現在のPCPメトリクス値の照会
  4. 04パターンによる利用可能なメトリクス検索
  5. 05メトリクスメタデータの取得

活用シーン

  1. 01システム性能のボトルネック調査
  2. 02本番サーバーの状態確認
  3. 03リソース使用量の多いプロセスの特定
  4. 04キャパシティ計画用メトリクスの確認

MCP 対応

システムスナップショット、プロセス順位、メトリクス照会・検索・説明のツールを通じて、PCPメトリクスをMCPクライアントに公開します。pmproxyに接続し、リモートのpmcdホストを監視対象に指定できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"major-pcp": {
"command": "uvx",
"args": [
"pcp-mcp"
],
"env": {
"PCP_HOST": "<PCP_HOST>",
"PCP_PORT": "<PCP_PORT>",
"PCP_TARGET_HOST": "<PCP_TARGET_HOST>"
}
}
}
}
起動コマンドuvx pcp-mcp
設定が必要な環境変数
PCP_HOSTpmproxy host
PCP_PORTpmproxy port
PCP_TARGET_HOSTTarget pmcd host to monitor

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypipcp-mcp1.5.1

ツール

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

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

詳細

pcp-mcp

Performance Co-Pilot (PCP) のメトリクスを扱う MCP サーバーです。

Model Context Protocol 経由で、CPU、メモリ、ディスク I/O、ネットワーク、プロセスなどのシステムパフォーマンスメトリクスをクエリできます。

📖 完全なドキュメント | 🚀 はじめに

CI codecov PyPI version Python 3.10+ License: MIT

🚀 クイックスタート(インストール不要)

uvx を使ってすぐに実行できます。インストールは不要です。

uvx pcp-mcp

または、グローバルツールとして継続的に使えるようインストールします。

uvx tool install pcp-mcp
pcp-mcp

📦 インストール

pip install pcp-mcp

uv を使うこともできます。

uv add pcp-mcp

📋 要件

  • Python:3.10+
  • PCP:pmcd と pmproxy が実行中の Performance Co-Pilot
    # Fedora/RHEL/CentOS
    sudo dnf install pcp
    sudo systemctl enable --now pmcd pmproxy
    
    # Ubuntu/Debian
    sudo apt install pcp
    sudo systemctl enable --now pmcd pmproxy
    

⚙️ 設定

環境変数で設定します。

変数説明デフォルト
PCP_HOSTpmproxy のホストlocalhost
PCP_PORTpmproxy のポート44322
PCP_TARGET_HOST監視対象の pmcd ホストlocalhost
PCP_USE_TLSpmproxy に HTTPS を使用するかどうかfalse
PCP_TLS_VERIFYTLS 証明書を検証するかどうかtrue
PCP_TLS_CA_BUNDLEカスタム CA バンドルのパス(任意)
PCP_TIMEOUTリクエストのタイムアウト(秒)30
PCP_USERNAMEHTTP ベーシック認証のユーザー名(任意)
PCP_PASSWORDHTTP ベーシック認証のパスワード(任意)
PCP_ALLOWED_HOSTShost パラメーターで許可するホスト指定(任意)

🎯 使い方

localhost を監視する(デフォルト)
pcp-mcp
リモートホストを監視する
PCP_TARGET_HOST=webserver1.example.com pcp-mcp

または、CLI フラグを使用します。

pcp-mcp --target-host webserver1.example.com
リモート pmproxy に接続する
PCP_HOST=metrics.example.com pcp-mcp
SSE トランスポートを使用する
pcp-mcp --transport sse

🔌 MCP クライアントの設定

Claude Desktop

~/.config/claude/claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "pcp": {
      "command": "uvx",
      "args": ["pcp-mcp"]
    }
  }
}

リモート監視の場合:

{
  "mcpServers": {
    "pcp": {
      "command": "uvx",
      "args": ["pcp-mcp", "--target-host", "webserver1.example.com"]
    }
  }
}

💡 uvx を使うと、pcp-mcp をインストールする必要はありません。PyPI から直接実行されます。

🛠️ 利用可能なツール

システム監視
  • get_system_snapshot - システムの瞬時の概要(CPU、メモリ、ディスク、ネットワーク、負荷)
  • get_process_top - CPU、メモリ、I/O の使用量別に上位のプロセスを表示
  • query_metrics - 指定した PCP メトリクスの現在値を取得
  • search_metrics - 名前のパターンから利用可能なメトリクスを検索
  • describe_metric - メトリクスの詳細なメタデータを取得
クエリの例
"What's the current CPU usage?"
→ Uses get_system_snapshot

"Show me the top 10 processes by memory usage"
→ Uses get_process_top(sort_by="memory", limit=10)

"What metrics are available for network traffic?"
→ Uses search_metrics(pattern="network")

"Get detailed info about kernel.all.load"
→ Uses describe_metric(name="kernel.all.load")

💡 ユースケース

パフォーマンスのトラブルシューティング

Claude に次のように尋ねます。

  • 「現在のシステムパフォーマンスを分析して、ボトルネックを特定して」
  • 「ディスク I/O がこんなに高いのはなぜ?」
  • 「最も多くの CPU を消費しているプロセスはどれ?」
システム監視
  • 「本番サーバーのヘルスチェックをして」
  • 「直近 1 分間の CPU 使用率を比較して」
  • 「eth0 のネットワークトラフィックを監視して」
キャパシティプランニング
  • 「メモリ使用率の傾向は?」
  • 「すべてのファイルシステムのディスク使用量を表示して」
  • 「プロセスのリソース消費パターンを分析して」

🏗️ アーキテクチャ

┌─────────┐         ┌─────────┐          ┌─────────┐         ┌─────────┐
│   LLM   │ ◄─MCP─► │ pcp-mcp │ ◄─HTTP─► │ pmproxy │ ◄─────► │  pmcd   │
└─────────┘         └─────────┘          └─────────┘         └─────────┘
                                         (REST API)          (metrics)
  • pcp-mcp:MCP ツール経由で PCP メトリクスを公開する FastMCP サーバー
  • pmproxy:PCP の REST API サーバー(デフォルトではポート 44322 で実行)
  • pmcd:PCP メトリクスコレクターデーモン
  • リモート監視:PCP_TARGET_HOST を設定すると、pmproxy 経由で別の pmcd インスタンスにクエリできます

🔧 開発

# Install dependencies
uv sync --dev

# Run all checks
make check

# Individual commands
make lint       # ruff check
make format     # ruff format
make typecheck  # ty check
make test       # pytest with coverage

📖 ドキュメント

完全なドキュメントは https://major.github.io/pcp-mcp にあります。

📄 ライセンス

MIT

コメント

MCP は初めてですか?

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

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