Scout Monitoring MCP

公式

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

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

  • Scoutアプリケーションを一覧表示 — アシスタントに依頼して、list_apps で監視対象の全アプリケーションを取得します。オプションで最近のアクティビティによるフィルタリングも可能です。
  • 低速なエンドポイントを特定get_app_endpointsget_endpoint_metrics を使用して、応答時間が長い、またはスループットに問題があるエンドポイントを明らかにします。
  • 個別のトレースを調査get_app_trace で特定のトレースを取得し、スパンレベルの実行詳細とバックトレースデータを確認します。
  • 最近のエラーグループを確認get_app_error_groups でエラーグループを取得し、バックトレースを調査して、的を絞ったコード修正を提案します。
  • パフォーマンスインサイトを抽出get_app_insights を使用して、N+1クエリの検出、メモリ肥大化、低速クエリの警告を取得します。

ドキュメント

Scout Monitoring MCP

Scout Monitoring MCP server

MCP Badge

このリポジトリには、ScoutのAPIを介してScout Monitoringのデータにアクセスできる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. サイン アップ
  2. アプリケーションにScout Agentをインストールして、Scoutデータを送信しましょう!
    • Ruby
    • Python
    • PHP
    • ローカルで試す場合は、最良の体験のために設定でmonitor: trueerrors_enabled: trueが設定されていることを確認してください
  3. 設定にアクセスしてAPIキーを取得または作成します
    • これは「Agent Key」では_ありません_。Settingsページで作成できる「API Key」です
    • これはアカウント内のデータにのみアクセスできる読み取り専用キーです
  4. Dockerをインストールします。以下の手順では、Dockerコンテナを起動できることを前提としています

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

インストール

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

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

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

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

MCPを手動で設定する場合、通常はAPIキーを環境に含めたMCPサーバー実行コマンドをAIアシスタントの設定に指定するだけです。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

SCOUT_API_KEYの値を実際のAPIキーに更新してください。Cursor Settings > MCPのArgumentsで設定します。

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

トークン使用量

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

ローカル開発

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

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

ボット向け:

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