Skip to main content
Glama

Canvas App MCP Relay for GPT

このプロジェクトは、Microsoft のローカル Canvas Authoring MCP Server を、Render でホストできるリモート MCP エンドポイントとして公開します。

アーキテクチャ

GPT / MCP client
      |
      | Streamable HTTP
      v
Render: canvas-mcp-relay
      |
      | authenticated WebSocket
      v
Your computer: local-bridge.js
      |
      | stdio
      v
Microsoft.PowerApps.CanvasAuthoring.McpServer
      |
      v
Power Apps Studio coauthoring session

Render は、Microsoft Canvas Authoring MCP プロセスと Power Apps Studio セッションがお使いのコンピューター上で動作しているため、Canvas App を直接編集できません。したがって、オーサリング中はローカルブリッジが必要です。

Related MCP server: OpenClaw MCP Proxy

1. Power Apps の前提条件

  • 対象の Canvas App を Power Apps Studio で開きます。

  • Settings -> Updates -> Coauthoring を有効にします。

  • 作業中は Studio タブを開いたままにします。

  • お使いの Microsoft アカウントにアプリの編集権限が必要です。

2. ローカルの前提条件

  • Node.js 20+

  • .NET 10 SDK

  • .NET 10 SDK から利用可能な dnx

確認:

node --version
dotnet --list-sdks
dnx --help

ローカルブリッジは、Microsoft のサーバーを次のコマンドで起動します:

dnx Microsoft.PowerApps.CanvasAuthoring.McpServer --yes --prerelease --source https://api.nuget.org/v3/index.json

通常の対話型 Canvas Authoring フローでは、カスタムの Azure App Registration やクライアントシークレットは不要です。

3. Render へのデプロイ

このフォルダーを GitHub にプッシュし、リポジトリから Render Web Service を作成するか、render.yaml を使用します。

必要な Render 環境変数:

RELAY_TOKEN=<long-random-secret>
MCP_PUBLIC=false
BRIDGE_REQUEST_TIMEOUT_MS=120000

トークンをローカルで生成します。例:

openssl rand -hex 32

デプロイ後、エンドポイントは次のようになります:

https://YOUR-SERVICE.onrender.com/health
https://YOUR-SERVICE.onrender.com/mcp
wss://YOUR-SERVICE.onrender.com/bridge

4. ローカルブリッジの実行

開発マシン上で:

npm install
CANVAS_STUDIO_URL='PASTE_THE_FULL_POWER_APPS_STUDIO_URL_HERE' \
REMOTE_URL=wss://YOUR-SERVICE.onrender.com/bridge \
RELAY_TOKEN=YOUR_RENDER_RELAY_TOKEN \
npm run bridge

ブリッジは Microsoft Canvas MCP サーバーを起動し、必要に応じて CANVAS_STUDIO_URL を解析し、そのアプリの共同編集セッションに接続して、ライブの MCP ツールを検出し、Render に登録します。Microsoft のサインイン UI は引き続きお使いのマシン上でローカルに動作します。

後で GPT 経由で接続する場合は、CANVAS_STUDIO_URL を省略してください。プロキシされた connect ツールは引き続き利用可能です。

確認:

curl -H "Authorization: Bearer YOUR_RENDER_RELAY_TOKEN" \
  https://YOUR-SERVICE.onrender.com/status

connect、sync_canvas、compile_canvas、list_controls、list_data_sources などのツールが表示されるはずです。

5. Canvas App の接続

ブリッジの起動時に CANVAS_STUDIO_URL を指定した場合、この手順は自動的に実行されます。それ以外の場合は、GPT が MCP ツールを認識できるようになったら、Power Apps Studio の URL の値を使用して Canvas MCP の connect ツールを呼び出します:

environment_id: Default-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
app_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
environment_category: prod

Microsoft MCP プロセスはローカルで実行されるため、対話型の Microsoft/Entra 認証はお使いのマシン上で行われます。通常のブラウザー/ブローカーフローを推奨します。

6. GPT の接続

次の MCP エンドポイントを使用します:

https://YOUR-SERVICE.onrender.com/mcp

サーバーはリレートークンを次のいずれかとして受け入れます:

Authorization: Bearer <RELAY_TOKEN>

または、Authorization ヘッダーを設定できないクライアントの場合:

https://YOUR-SERVICE.onrender.com/mcp?token=<RELAY_TOKEN>

クエリ文字列オプションは互換性のために提供されていますが、URL はログや履歴に残る可能性が高いため、ベアラーヘッダーが推奨されます。

重要な ChatGPT の制限

2026年8月現在、ChatGPT での完全なカスタム MCP 書き込み/変更 アクションは、Business および Enterprise/Edu ワークスペースで利用可能です。Pro は読み取り/取得のみをサポートしています。お使いの ChatGPT プランで書き込みツールを呼び出せない場合は、同じ Render MCP エンドポイントを OpenAI API アプリケーションまたは他の完全な MCP クライアントから使用してください。

安全性

  • 最初に Canvas App の DEV/コピーを使用してください。

  • インターネットに公開するデプロイメントでは MCP_PUBLIC=true を設定しないでください。

  • RELAY_TOKEN が漏洩した場合はローテーションしてください。

  • 1つのローカルブリッジを1つの Canvas オーサリングプロセスに接続したままにしてください。

  • Power Apps Studio タブを開いたままにしてください。

  • compile_canvas の後は、Studio で変更を確認し、永続化されたと見なす前に再同期してください。

現在の Microsoft プレビューの注意事項

Canvas Authoring MCP 機能はまだプレビュー段階です。2026年に報告されている既知の問題クラスは次のとおりです:

  • compile_canvas / sync_canvas が、正規に永続化されなかったプッシュの成功を報告することがある。

  • PCF コードコンポーネントと Canvas Components に関する問題。

  • 大規模な画面の YAML がファイルごとのコンパイル制限に達する。

  • Intel macOS (osx-x64) で、サポートされている Canvas Authoring MCP ランタイムパッケージが現在不足している。

  • Microsoft MCP プロセスの再起動後に Entra のサインインプロンプトが繰り返し表示される。

トラブルシューティング

/status が bridgeConnected: false と表示される

お使いのマシンで npm run bridge を実行し、REMOTE_URL と RELAY_TOKEN が正しいことを確認してください。

dnx が見つからない

.NET 10 SDK をインストールし、ターミナルを再起動してください。

Canvas MCP は起動するがツールが失敗する

以下を確認してください:

  1. Power Apps Studio が開いている。

  2. Coauthoring が有効になっている。

  3. connect ツールが正しい環境 ID とアプリ ID で呼び出されている。

  4. アプリを編集できるアカウントで認証している。

Intel Mac

Microsoft の現在のプレビューパッケージには osx-x64 に関する未解決の問題があります。Microsoft が不足しているランタイムを提供するまで、Apple Silicon、Windows x64/ARM64、または Linux x64/ARM64 を使用してください。

Related MCP Connectors

Related MCP Servers