Scout Monitoring Mcp について
Scout Monitoring MCPは、AIアシスタントやコーディングエージェントにScout APMのエラーと性能データを提供し、アプリ開発や調査に役立ちます。トレース、エラーグループ、エンドポイント指標、性能分析に加え、フレームワーク設定リソースも利用できます。
主な機能
- 01アプリと性能指標の一覧表示
- 02エンドポイントと時系列データの検索
- 03トレース詳細とエラーグループの取得
- 04N+1や遅いクエリの分析
- 05フレームワーク設定リソースの提供
活用シーン
- 01応答の遅いエンドポイントの特定
- 02エラーバックトレースを分析して修正を検討
- 03性能情報を含む課題の作成
- 04アプリ向けScout設定の生成
MCP 対応
MCPサーバーは、Scout APMのアプリ、指標、エンドポイント、トレース、エラーグループ、性能分析を行うツールを公開します。設定テンプレートと指標のリソースもMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Scout Monitoring MCP
このリポジトリには、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 キーを取得する必要があります。
- サイン アップ
- アプリケーションに Scout Agent をインストールし、Scout データを送信します!
- 設定にアクセスして、API キーを取得または作成します
- これは「Agent Key」では ありません。設定ページで作成できる「API Key」です
- これはあなたのアカウント内のデータにのみアクセスできる読み取り専用キーです
- 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
VS Code Copilot
- VS Code Copilot ドキュメント
- 「Add an MCP server to your workspace」オプションを推奨します
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トークンなど、余裕を持たせて高く設定することをおすすめします。
ローカル開発
このプロジェクトでは、環境の管理とタスクの実行に uv と taskipy を使用しています。
Inspectorで実行
uv run task dev
Inspector内で接続してAPIキーを追加し、トランスポートをSTDIOに設定します
Dockerイメージをビルド
docker build -t scout-mcp-local .
リリース
- ブランチを作成し、
uv run python bump_versions.pyでバージョンを更新します - マージします
- 新しいバージョンで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 の頂点にある、Ed25519公開鍵を格納したDNS TXTレコードを通じて、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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。