power-automate-monitoring について
FlowStudio MCPのキャッシュストアを使って、Power Automateのフローやテナント資産を監視するスキルです。スキャン済みデータからフローの稼働状況や障害、ガバナンス情報を確認できます。
主な機能
- 01キャッシュされたフローの稼働状況と実行統計
- 02実行ごとの障害詳細と修正ヒント
- 03環境、接続、Maker、アプリの一覧
- 04監視フラグとガバナンス情報の更新
- 05日次スキャンの鮮度確認
活用シーン
- 01失敗率の高いフローの特定
- 02失敗した実行と修正ヒントの確認
- 03Makerと所有フローの監査
- 04Power Platform環境と資産の棚卸し
MCP 対応
FlowStudio MCPのstore_*ツールでPower Automateのキャッシュデータを読み取り、フローの監視設定やガバナンス情報を更新します。関連ツールのスキーマはtool_searchで検索するよう記載されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ninihen1/ power-automate-mcp-skills --skill power-automate-monitoringインストール後、Claude Code で/power-automate-monitoringを入力して読み込まれたか確認します。
詳細
FlowStudio MCP による Power Automate の監視
FlowStudio MCP のキャッシュストアを通じて、フローの健全性を監視し、失敗率を追跡し、テナントのアセットを一覧表示できます。読み取りが高速で、PA API のレート制限を受けず、ガバナンスメタデータや修復のヒントも付加されます。
⚠️ Pro+ サブスクリプションが必要です。 このスキルでは
store_*ツールを呼び出します。これらのツールは FlowStudio for Teams または MCP Pro+ のサブスクライバーのみが利用できます。ユーザーが Pro+ にアクセスできない場合: 最初の
store_*ツール呼び出しで 403/404 エラーが返されます。その場合は:
- ストアツールの呼び出しを中止します
- この機能には Pro+ サブスクリプションが必要であることをユーザーに伝えます
- https://mcp.flowstudio.app/pricing へのリンクを案内します
- ライブツールで回答できる質問(例:「1 つの環境にあるフローを一覧表示する」)であれば、代わりに
power-automate-mcpスキルを使うことを提案しますツールの検出:
tools/listではなくtool_searchでツールのスキーマを読み込みます。一般的な監視ツールの場合はquery: "select:list_store_flows,get_store_flow_summary"を指定して呼び出すか、query: "skill:governance"を指定して全セットを読み込みます(サーバーのガバナンスバンドルは、監視関連の読み取りの大部分もカバーします。このスキルとpower-automate-governanceは、基盤となるツールファミリーを共有しています)。このスキルでは、レスポンス形式、動作に関する注意事項、ワークフローのパターンなど、tool_searchではわからない情報を説明します。このドキュメントと実際の API レスポンスが異なる場合は、API の内容を優先してください。
監視の仕組み
FlowStudio はサブスクライバーごとに毎日 Power Automate API をスキャンし、結果をキャッシュします。レベルは 2 つあります。
- すべてのフローでメタデータがスキャンされます。対象は定義、接続、所有者、トリガーの種類、集計された実行統計(
runPeriodTotal、runPeriodFailRateなど)です。環境、アプリ、接続、作成者もスキャンされます。 - 監視対象のフロー(
monitor: true)では、実行ごとの詳細も取得されます。ステータス、実行時間、失敗したアクション名、修復のヒントを含む個別の実行レコードが対象です。これらの情報はget_store_flow_runsとget_store_flow_summaryに反映されます。
データの鮮度: フローが最後にスキャンされた時刻を確認するには、get_store_flow の scanned フィールドを確認します。データが古い場合、スキャンパイプラインが動作していない可能性があります。
監視の有効化: update_store_flow または FlowStudio for Teams アプリを使って monitor: true に設定します(フローの選択方法)。
重要なフローの指定: ビジネス上重要なフローに対して update_store_flow で critical=true を設定します。これにより、ガバナンススキルの通知ルール管理で、重要なフローの失敗アラートを自動設定できます。
ツール
| ツール | 用途 |
|---|---|
list_store_flows | 失敗率と監視フィルターを使ってフローを一覧表示します |
get_store_flow | 実行統計、所有者、ティア、接続、定義を含むキャッシュ済みの完全なレコード(triggerUrl フィールドを含む) |
get_store_flow_summary | 集計された実行統計:成功率/失敗率、平均/最大実行時間 |
get_store_flow_runs | 実行時間、ステータス、失敗したアクション、修復情報を含む実行ごとの履歴(エラーのみ表示するには status="Failed" でフィルターします) |
update_store_flow | 監視フラグ、通知ルール、タグ、ガバナンスメタデータを設定します |
list_store_environments | Power Platform のすべての環境 |
list_store_connections | すべての接続 |
list_store_makers | すべての作成者(市民開発者) |
get_store_maker | 作成者の詳細:フロー/アプリ数、ライセンス、アカウントのステータス |
list_store_power_apps | すべての Power Apps キャンバスアプリ |
開始/停止には、
monitor-flowバンドルのset_live_flow_stateを使用します(tool_search query: "select:set_live_flow_state")。キャッシュは次回のスキャン時に再同期されます。以前のset_store_flow_state便利ラッパーは非推奨です。
ストアとライブ
| 質問 | ストアを使用 | ライブを使用 |
|---|---|---|
| 失敗しているフローはいくつありますか? | list_store_flows | — |
| 過去30日間の失敗率はいくつですか? | get_store_flow_summary | — |
| フローのエラー履歴を表示する | get_store_flow_runs(status="Failed"でフィルター) | — |
| このフローを作成したのは誰ですか? | get_store_flow → ownersを解析 | — |
| フロー定義全体を読み取る | get_store_flowに含まれます(JSON文字列) | get_live_flow(構造化データ) |
| 実行のアクションの入力/出力を調べる | — | get_live_flow_run_action_outputs |
| 失敗した実行を再送信する | — | resubmit_live_flow_run |
ストアツールは「何が起きたのか?」や「どの程度正常に動作しているか?」に答えます。 ライブツールは「具体的に何が問題だったのか?」や「今すぐ修正するには?」に答えます。
get_store_flow_runsまたはget_store_flow_summaryが空の結果を返す場合は、 次の点を確認してください。(1)フローでmonitor: trueが設定されているか。(2)scannedフィールドが 最近の日時になっているか。両方を確認するにはget_store_flowを使用してください。
レスポンスの形式
list_store_flows
配列を直接返します。フィルター:monitor(bool)、rule_notify_onfail(bool)、
rule_notify_onmissingdays(bool)。
[
{
"id": "Default-<envGuid>.<flowGuid>",
"displayName": "Stripe subscription updated",
"state": "Started",
"triggerType": "Request",
"triggerUrl": "https://...",
"tags": ["#operations", "#sensitive"],
"environmentName": "Default-aaaaaaaa-...",
"monitor": true,
"runPeriodFailRate": 0.012,
"runPeriodTotal": 82,
"createdTime": "2025-06-24T01:20:53Z",
"lastModifiedTime": "2025-06-24T03:51:03Z"
}
]
idの形式:Default-<envGuid>.<flowGuid>。最初の.で分割して、environmentNameとflowNameを取得します。
triggerUrlとtagsは任意です。一部のエントリには情報がほとんどなく(id+monitorのみ)、displayNameのないエントリはスキップしてください。
list_store_flowsのタグは、フローのdescriptionフィールド(作成者が付けたハッシュタグ(#operationsなど))から自動抽出されます。update_store_flow(tags=...)で書き込まれたタグは別に保存され、get_store_flowでのみ表示されます。 一覧レスポンスには表示されません。
get_store_flow
キャッシュされたレコード全体です。主なフィールド:
| カテゴリー | フィールド |
|---|---|
| 識別情報 | name、displayName、environmentName、state、triggerType、triggerKind、tier、sharingType |
| 実行統計 | runPeriodTotal、runPeriodFails、runPeriodSuccess、runPeriodFailRate、runPeriodSuccessRate、runPeriodDurationAverage/Max/Min(ミリ秒)、runTotal、runFails、runFirst、runLast、runToday |
| ガバナンス | monitor(bool)、rule_notify_onfail(bool)、rule_notify_onmissingdays(number)、rule_notify_email(string)、log_notify_onfail(ISO)、description、tags |
| データの鮮度 | scanned(ISO)、nextScan(ISO) |
| ライフサイクル | deleted(bool)、deletedTime(ISO) |
| JSON文字列 | actions、connections、owners、complexity、definition、createdBy、security、triggers、referencedResources、runError — 解析にはすべてjson.loads()が必要です |
実行時間フィールド(
runPeriodDurationAverage、Max、Min)の単位は ミリ秒です。秒に変換するには1000で割ってください。
runErrorには、直近の実行エラーがJSON文字列として格納されます。解析するには、json.loads(record["runError"])を使用してください。エラーがない場合は{}が返されます。
get_store_flow_summary
時間枠(デフォルト:過去7日間)の集計統計です。
{
"flowKey": "Default-<envGuid>.<flowGuid>",
"windowStart": null,
"windowEnd": null,
"totalRuns": 82,
"successRuns": 81,
"failRuns": 1,
"successRate": 0.988,
"failRate": 0.012,
"averageDurationSeconds": 2.877,
"maxDurationSeconds": 9.433,
"firstFailRunRemediation": null,
"firstFailRunUrl": null
}
このフローの時間枠内に実行データがない場合、すべてゼロを返します。 時間枠を変更するには、
startTimeとendTime(ISO 8601)パラメーターを使用してください。
get_store_flow_runs
キャッシュされた実行レコードの配列を直接返します。パラメーター:startTime、endTime、
status(配列 — エラーのみを表示するには["Failed"]、成功のみを表示するには["Succeeded"]を渡すか、
すべてを表示するには省略します)。
時間枠内に実行データがない場合は
[]を返します。
トリガー URL
get_store_flow(キャッシュ)または
get_live_flow(ライブ)からtriggerUrlフィールドを直接読み取ります。HTTPトリガー以外ではnullです。
フローの開始/停止
monitor-flowサーバーバンドルのset_live_flow_stateを使用してください。キャッシュは次回の日次スキャンで
更新されます。キャッシュをより早く最新の状態にする必要がある場合は、状態の変更後にget_live_flowを呼び出して確認し、
次回のスキャンで同期されるようにしてください。
update_store_flow
ガバナンスメタデータを更新します。指定したフィールドのみが更新されます(マージ)。
更新後のレコード全体を返します(get_store_flow と同じ形式)。
設定可能なフィールド:monitor(bool)、rule_notify_onfail(bool)、
rule_notify_onmissingdays(number、0=無効)、
rule_notify_email(カンマ区切り)、description、tags、
businessImpact、businessJustification、businessValue、
ownerTeam、ownerBusinessUnit、supportGroup、supportEmail、
critical(bool)、tier、security。
list_store_environments
配列を直接返します。
[
{
"id": "Default-aaaaaaaa-...",
"displayName": "Flow Studio (default)",
"sku": "Default",
"type": "NotSpecified",
"location": "australia",
"isDefault": true,
"isAdmin": true,
"isManagedEnvironment": false,
"createdTime": "2017-01-18T01:06:46Z"
}
]
skuの値:Default、Production、Developer、Sandbox、Teams。
list_store_connections
配列を直接返します。非常に大きくなる場合があります(1500 件以上)。
[
{
"id": "<environmentId>.<connectionId>",
"displayName": "[email protected]",
"createdBy": "{\"id\":\"...\",\"displayName\":\"...\",\"email\":\"...\"}",
"environmentName": "...",
"statuses": "[{\"status\":\"Connected\"}]"
}
]
createdByとstatusesは JSON 文字列です。json.loads()で解析してください。
list_store_makers
配列を直接返します。
[
{
"id": "09dbe02f-...",
"displayName": "Sample Maker",
"mail": "[email protected]",
"deleted": false,
"ownerFlowCount": 199,
"ownerAppCount": 209,
"userIsServicePrinciple": false
}
]
削除された作成者は
deleted: trueで、displayName/
get_store_maker
作成者レコード全体です。主なフィールド:displayName、mail、userPrincipalName、
ownerFlowCount、ownerAppCount、accountEnabled、deleted、country、
firstFlow、firstFlowCreatedTime、lastFlowCreatedTime、
firstPowerApp、lastPowerAppCreatedTime、
licenses(M365 SKU の JSON 文字列)。
list_store_power_apps
配列を直接返します。
[
{
"id": "<environmentId>.<appId>",
"displayName": "My App",
"environmentName": "...",
"ownerId": "09dbe02f-...",
"ownerName": "Catherine Han",
"appType": "Canvas",
"sharedUsersCount": 0,
"createdTime": "2023-08-18T01:06:22Z",
"lastModifiedTime": "2023-08-18T01:06:22Z",
"lastPublishTime": "2023-08-18T01:06:22Z"
}
]
一般的なワークフロー
正常でないフローを見つける
1. list_store_flows
2. Filter where runPeriodFailRate > 0.1 and runPeriodTotal >= 5
3. Sort by runPeriodFailRate descending
4. For each: get_store_flow for full detail
特定のフローの健全性を確認する
1. get_store_flow → check scanned (freshness), runPeriodFailRate, runPeriodTotal
2. get_store_flow_summary → aggregated stats with optional time window
3. get_store_flow_runs(status=["Failed"]) → per-run failure detail with remediation hints
4. If deeper diagnosis needed → switch to live tools:
get_live_flow_runs → get_live_flow_run_action_outputs
フローの監視を有効にする
1. update_store_flow with monitor=true
2. Optionally set rule_notify_onfail=true, rule_notify_email="[email protected]"
3. Run data will appear after the next daily scan
日次の健全性チェック
1. list_store_flows
2. Flag flows with runPeriodFailRate > 0.2 and runPeriodTotal >= 3
3. Flag monitored flows with state="Stopped" (may indicate auto-suspension)
4. For critical failures → get_store_flow_runs(status=["Failed"]) for remediation hints
作成者の監査
1. list_store_makers
2. Identify deleted accounts still owning flows (deleted=true, ownerFlowCount > 0)
3. get_store_maker for full detail on specific users
インベントリ
1. list_store_environments → environment count, SKUs, locations
2. list_store_flows → flow count by state, trigger type, fail rate
3. list_store_power_apps → app count, owners, sharing
4. list_store_connections → connection count per environment
関連スキル
power-automate-mcp— 基盤スキル:接続の設定、MCP ヘルパー、ツールの検出power-automate-debug— アクションレベルの入力/出力を用いた詳細な診断(ライブ API)power-automate-build— フロー定義の構築とデプロイpower-automate-governance— ガバナンスメタデータ、タグ付け、通知ルール、CoE パターン