mcpField
P
power-automate-monitoring

power-automate-monitoring

github.com/ninihen1クラウド・DevOps3439 回インストール8 週間前に更新
リポジトリ

power-automate-monitoring について

FlowStudio MCPのキャッシュストアを使って、Power Automateのフローやテナント資産を監視するスキルです。スキャン済みデータからフローの稼働状況や障害、ガバナンス情報を確認できます。

主な機能

  1. 01キャッシュされたフローの稼働状況と実行統計
  2. 02実行ごとの障害詳細と修正ヒント
  3. 03環境、接続、Maker、アプリの一覧
  4. 04監視フラグとガバナンス情報の更新
  5. 05日次スキャンの鮮度確認

活用シーン

  1. 01失敗率の高いフローの特定
  2. 02失敗した実行と修正ヒントの確認
  3. 03Makerと所有フローの監査
  4. 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 エラーが返されます。その場合は:

  1. ストアツールの呼び出しを中止します
  2. この機能には Pro+ サブスクリプションが必要であることをユーザーに伝えます
  3. https://mcp.flowstudio.app/pricing へのリンクを案内します
  4. ライブツールで回答できる質問(例:「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_environmentsPower 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/mail フィールドはありません。

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 パターン

コメント