Scout Monitoring MCP

公式

Scoutの公式MCPは、本番環境からのエラー、トレース、メトリクスデータをAIエージェントにパイプします

Scout Monitoring MCPで何ができますか?

  • 監視対象アプリの一覧表示 — 利用可能な Scout APM アプリケーションを一覧表示します。最終アクティブ日でフィルタリングすることもできます。
  • アプリのメトリクスの確認 — 特定のアプリケーションについて、応答時間やスループットなどの個別のメトリクスデータを取得します。
  • エンドポイントの調査 — アプリのすべてのエンドポイントを集計パフォーマンスメトリクスとともに取得するか、1つのエンドポイントの時系列メトリクスを取得します。
  • トレースの調査 — エンドポイントの最近のトレースを取得するか、すべてのスパンと実行の詳細を含む単一のトレースを取得します。
  • エラーのトリアージ — アプリの最近のエラーグループを取得します。エンドポイントでフィルタリングすることもできます。
  • パフォーマンスインサイトの提示 — N+1 クエリ、メモリの肥大化、低速クエリなどのインサイトを取得します。

ドキュメント

Scout Monitoring MCP

Scout Monitoring MCP server

MCP Badge

このリポジトリには、Scout の API 経由で https://www.scoutapm.com のデータにアクセスできる MCP サーバーをローカルで実行するためのコードが含まれています。AI アシスタントが Scout Monitoring のデータにアクセスできるように、プルして実行できる Docker イメージを提供しています。

これにより、Scout Monitoring のパフォーマンスデータとエラーデータが AI アシスタントの手元に直接届きます。Rails、Django、FastAPI、Laravel などに対応。AI がエディタやコードベース上で直接修正を行えるよう、行番号情報付きのトレースやエラーを取得できます。N+1 クエリ、遅いエンドポイント、遅いクエリ、メモリ肥大化、スループットの問題など、おなじみのパフォーマンス問題が、あなたが作業しているその場所で明らかになり、説明されます。

これで少しでも生活が良くなったなら、:star: を付けませんか?!

セットアップウィザード

Scout MCP を設定して使い始める最も簡単な方法は、対話型のセットアップウィザードを使うことです。前提条件とインストール手順をすべて処理します。

npx で実行:

npx @scout_apm/wizard

ソースからビルドして実行:

cd ./wizard
npm install
npm run build
node dist/wizard.js

ウィザードでは次のことを順に案内します:

  • AI コーディングプラットフォームの選択 (Cursor、Claude Code、Claude Desktop)
  • Scout API キーの入力
  • MCP サーバー設定の自動構成

対応プラットフォーム

ウィザードは現在、次のプラットフォームのセットアップに対応しています:

  • Cursor - MCP 設定を自動構成
  • Claude Code (CLI) - 実行すべき正しいコマンドを提示
  • Claude Desktop - Windows/Mac の設定ファイルを更新

その他のプラットフォームでは、AI アシスタントの MCP 設定にコピー&ペーストできる JSON を出力します。

前提条件

ウィザードは始めるのに最適な方法ですが、手動でセットアップすることもできます。Scout Monitoring アカウントを作成または保有し、API キーを取得する必要があります。

  1. https://scoutapm.com/users/sign_up?utm_source=github&utm_medium=github&utm_campaign=scout-mcp-local
  2. アプリケーションに Scout Agent をインストールして Scout データを送信します!
    • Ruby
    • Python
    • PHP
    • ローカルで試す場合は、最良の体験のために設定で monitor: true、errors_enabled: true が設定されていることを確認してください
  3. 設定にアクセスして API キーを取得または作成します
    • これは「Agent Key」では_ありません_。設定ページで作成できる「API Key」です
    • これはアカウント内のデータにのみアクセスできる読み取り専用キーです
  4. Docker をインストールします。以下の手順は、Docker コンテナを起動できることを前提としています

MCP サーバーは現在、環境変数または起動時のコマンドライン引数のいずれかで API キーが設定されていない限り起動しません。

インストール

MCP サーバーを実行するには、提供されている Docker イメージの使用をお勧めします。これは AI アシスタントによって起動され、Scout API キーで設定されることを想定しています。多くのローカルクライアントでは、MCP サーバーを実行するコマンドをどこかに指定できます。以下にいくつかの例を示します。

Docker イメージは Docker Hub で入手できます。

もちろん、このリポジトリをクローンして MCP サーバーを直接実行することもできます。uv などの環境管理ツールの使用をお勧めします。

ローカルクライアントの設定 (例: Claude/Cursor/VS Code Copilot)

MCP を手動で設定する場合、通常は AI アシスタントの設定に、環境変数に API キーを含めた MCP サーバー実行用のコマンドを指定するだけです。JSON の形は次のとおりです (トップレベルのキーは異なります):

{
  "mcpServers": {
    "scout-apm": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "--env", "SCOUT_API_KEY", "scoutapp/scout-mcp-local"],
      "env": { "SCOUT_API_KEY": "your_scout_api_key_here"}
    }
  }
}
Claude Code
claude mcp add scoutmcp -e SCOUT_API_KEY=your_scout_api_key_here -- docker run --rm -i -e SCOUT_API_KEY scoutapp/scout-mcp-local
Cursor

Install MCP Server

Cursor の Settings > MCP にある Arguments の SCOUT_API_KEY の値を、必ず実際の API キーに更新してください

VS Code Copilot
Claude Desktop

Claude の設定ファイルに以下を追加します:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "scout-apm": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "--env", "SCOUT_API_KEY", "scoutapp/scout-mcp-local"],
      "env": { "SCOUT_API_KEY": "your_scout_api_key_here"}
    }
  }
}

Scout Monitoring MCP の使用

Scout の MCP は、エラーデータとパフォーマンスデータを AI アシスタントの...手元?に直接届けることを目的としています。AI がエディタ上で直接修正を行えるよう、行番号情報付きのトレースやエラーを取得するために使用します。

ほとんどのアシスタントは、生のツール呼び出しを表示し、分析も行います。デスクトップアシスタントは、望むデータを探索するカスタム JS アプリケーションを簡単に作成できます。コードエディタに統合されたアシスタントは、トレースデータとエラーのバックトレースを使って、コードベース上で直接修正を行えます。

Scout の MCP を AI アシスタントの他のツールと組み合わせて、次のことができます:

  • エラーとパフォーマンスデータに基づいたリッチな GitHub/GitLab イシューの作成
  • JIRA を楽しく - AI アシスタントに詳細をすべて含めたチケットを作成させる
  • 特定のエラーやパフォーマンス問題を修正する PR の生成

ツール

Scout MCP は、Scout APM データにアクセスするための次のツールを提供します:

  • list_apps - 利用可能な Scout APM アプリケーションを一覧表示 (最終アクティブ日によるオプションのフィルタリング付き)
  • get_app_metrics - 特定のアプリケーションの個別メトリクスデータ (response_time、throughput など) を取得
  • get_app_endpoints - 集計されたパフォーマンスメトリクスとともに、アプリケーションのすべてのエンドポイントを取得
  • get_endpoint_metrics - アプリケーション内の特定のエンドポイントの時系列メトリクスを取得
  • get_app_endpoint_traces - 特定のエンドポイントに絞り込んだ、アプリの最近のトレースを取得
  • get_app_trace - すべてのスパンと詳細な実行情報を含む個別のトレースを取得
  • get_app_error_groups - アプリの最近のエラーグループを取得 (オプションでエンドポイントによるフィルタリング付き)
  • get_app_insights - N+1 クエリ、メモリ肥大化、遅いクエリなどのパフォーマンスインサイトを取得

リソース

Scout MCP は、AI アシスタントが読み取って適用できる設定テンプレートをリソースとして提供します:

  • scoutapm://config-resources/{framework} - 対応フレームワークまたはライブラリ (rails、django、flask、fastapi) のセットアップ手順
  • scoutapm://config-resources/list - 利用可能なすべての設定テンプレートを一覧表示
  • scoutapm://metrics - Scout APM で利用可能なすべてのメトリクスの一覧

便利なプロンプト

セットアップと設定

  • 「Rails アプリケーションの Scout モニタリングをセットアップするのを手伝って」
  • 「キー ABC123 を使って Django プロジェクト用の Scout APM 設定ファイルを作成して」

パフォーマンスとモニタリング

  • 「Scout Monitoring MCP で利用可能なツールを要約して。」
  • 「アプリ my-app-name の過去 7 日間で最も遅いエンドポイントを見つけて。平均レスポンスタイム、スループット、P95 レスポンスタイムを含む結果の表を生成して。」
  • 「アプリ Foo の過去 24 時間で最も頻度の高いエラーを表示して。最新のエラー詳細を取得し、バックトレースを調べて修正を提案して。」
  • 「アプリ Bar の最近の N+1 インサイトを取得して。ID で特定のトレースを取得し、バックトレースデータに基づいて最適化を手伝って。」

トークン使用量

現在、私たちは MCP ツールからのレスポンスサイズを厳密に制御することよりも、利用可能な情報を拡充することに関心があります。AI アシスタントに設定可能なトークン上限がある場合 (例: Claude Code の export MAX_MCP_OUTPUT_TOKENS=50000)、50,000 トークンなど、余裕をもって高く設定することをお勧めします。

ローカル開発

このプロジェクトでは、環境の管理とタスクの実行に uv と taskipy を使用しています。

Inspector で実行

uv run task dev

Inspector 内で接続して API キーを追加し、STDIO トランスポートに設定します

Docker イメージのビルド

docker build -t scout-mcp-local .

リリース

  1. ブランチを作成し、uv run python bump_versions.py でバージョンを上げる
  2. それをマージする
  3. 新しいバージョンで GitHub リリースを作成する (gh release create v2025.11.3 --generate-notes --draft)

リリースを公開すると v* タグがプッシュされ、CI が Docker イメージ、PyPI パッケージ、続いて MCP Registry のエントリを公開します:

  • server.json → com.scoutapm/scout-mcp-local (このサーバー。バージョンは bump_versions.py によって更新されます)
  • server.remote.json → com.scoutapm/scout-monitoring (https://scoutapm.com/mcp でホストされているサーバー)。メタデータを変更したときは version を手動で更新してください。変更のないバージョンはスキップされます。

MCP Registry キー

レジストリは、scoutapm.com の apex にある DNS TXT レコードに Ed25519 公開鍵を保持することで、私たちが com.scoutapm/* 名前空間を所有していることを検証します。CI は、MCP_REGISTRY_PRIVATE_KEY リポジトリシークレットにある対応する秘密鍵でサインインします。ローテーションするには:

openssl genpkey -algorithm Ed25519 -out key.pem
# Public key for the TXT record: replace the existing v=MCPv1 record, don't add a second one
echo "v=MCPv1; k=ed25519; p=$(openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64)"
# Private key (hex) for the MCP_REGISTRY_PRIVATE_KEY secret
openssl pkey -in key.pem -noout -text | grep -A3 "priv:" | tail -n +2 | tr -d ' :\n'

ボット向け:

mcp-name: com.scoutapm/scout-mcp-local