これまでキャンバスアプリの画面作成やロジックの実装は、ブラウザ上のPower Apps Studioから手動で構築していた。
それが先日、Microsoft公式の「Canvas Apps MCP Authoring Plugin」の登場によって、GitHub CopilotやClaude Codeといったコーディングエージェントとリアルタイムに共同編集しながら、プロンプトでアプリを開発できるように。
今回の記事では、このMCPプラグインの使い方や、実際に「電卓アプリ」をVS CodeとGitHub Copilotで自動生成してみたのでご紹介。
Canvas Apps MCP Authoring Pluginとは
Canvas Apps MCP Authoring Pluginは、VS CodeやGitHub CopilotやClaude Codeなどの外部開発環境から、ブラウザで開いているPower Apps Studioを直接操作し、キャンバスアプリをAIとリアルタイムに共同開発できるようにするMicrosoft公式の拡張ツール。
MCP(Model Context Protocol)を採用しており、AIエージェントがアプリ内のデータソースやコントロール仕様を自律的に把握したうえで、裏側で構文(YAML)を生成・検証し、開いたままのStudio画面へ即座に構築してくれる。
これにより、自然言語でプロンプトを投げるだけで、画面レイアウトからPower FxのロジックまでAIが即座にブラウザ側へ反映してくれる開発スタイルが実現できる。
メリット
- 開発効率の向上: 面倒なコントロールのグリッド配置や基本ロジックをプロンプト一発で生成でき、手作業の時間を大幅に削減できる
- Gitによるバージョン管理がしやすい: AIがコードで画面を生成してくれるので、バージョン管理との相性が良い
- AIによるコードレビュー: 既存のアプリに接続すれば、人が作ったアプリのレビューもできそう(未検証)
今回はこのツールを使用して、「電卓アプリ」を実際に作ってもらった。
手順1:事前準備(必要な環境)
事前準備として、以下2つが必要。
- .NET SDK バージョン10以降
- コーディングエージェント(GitHub Copilotとか)
.NET 10 SDKのインストール
まずは.Net SDKのバージョン10以降のインストール。
こちらのMS公式からインストールができる。
https://dotnet.microsoft.com/ja-jp/download
コーディングエージェントの準備|VS CodeとGitHub Copilot
続いて、GitHub Copilotや、Claude Codeなどのコーディングエージェントの準備。
GitHub Copilotは無料枠が少し大きいので、今回はこちらを使用。
/plugin marketplace add microsoft/power-platform-skills /plugin install canvas-apps@power-platform-skills


これで事前準備は完了。
手順2:キャンバスアプリとGitHub Copilotを接続する
続いて、キャンバスアプリを作成し、GitHub Copilotと繋いでいく。
キャンバスアプリの作成と「共同編集(Coauthoring)」の有効化

VS CodeからMCP経由でStudioに接続する(/configure-canvas-mcp)





手順3:電卓アプリをプロンプトで自動生成してみる
モダンコントロールで電卓UIとロジックを生成させた結果

画面中央に配置するシンプルな「電卓アプリ」の画面を作成してください。 モダンコントロールを使い、以下の要件を満たしてください。 1.計算結果・入力表示エリア(ディスプレイ) ・画面上部に、現在の入力値または計算結果を表示する右揃えのラベルを配置 ・初期の表示値は "0" 2.キーパッド配置(グリッドレイアウト) ・4列×5行のボタン配置にする ・1行目: [C] (クリア), [±] (符号反転), [%] (パーセント), [÷] (割り算) ・2行目: [7], [8], [9], [×] (掛け算) ・3行目: [4], [5], [6], [-] (引き算) ・4行目: [1], [2], [3], [+] (足し算) ・5行目: [0], [.], [=] (計算実行) 3. デザインとスタイリング ・スマートフォン電卓風のすっきりした配色 ・数字ボタン、演算子ボタン、クリアボタンでボタンのスタイル(色)を分ける ・各ボタンのサイズと間隔を均等に揃える 4. ロジック(Power Fx) ・各数字ボタンを押したときに、ディスプレイの末尾にその数字を連結して更新するロジック(UpdateContext)を設定 ・[C] ボタンを押したときは表示を "0" にリセットするロジックを設定 ・(四則演算のロジックが難しければ、まずは表示のクリアと数字入力の反映だけでもOK)



クラシックコントロールとの違い・指定時の挙動比較




やっぱりトークン消費は激しい

なので、無料枠での開発はやっぱり厳しそう。
とは言え、UIを含めた開発が爆速でできるようになるメリットがかなり大きいので、今後のスタンダードはAIとの共同開発になる気がしている。

コメント