Canvas-MCP
Relays a locally running Microsoft Canvas Authoring MCP server to remote MCP clients, enabling natural language editing and control of Power Apps Canvas apps through a WebSocket bridge.
README
Canvas App MCP Relay for GPT
This project exposes Microsoft's local Canvas Authoring MCP Server as a remote MCP endpoint that can be hosted on Render.
Architecture
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 cannot directly edit your Canvas App because the Microsoft Canvas Authoring MCP process and Power Apps Studio session live on your computer. The local bridge is therefore required while you are authoring.
1. Power Apps prerequisites
- Open the target Canvas App in Power Apps Studio.
- Enable Settings -> Updates -> Coauthoring.
- Keep the Studio tab open while working.
- Your Microsoft account must have edit permission to the app.
2. Local prerequisites
- Node.js 20+
- .NET 10 SDK
dnxavailable from the .NET 10 SDK
Verify:
node --version
dotnet --list-sdks
dnx --help
The local bridge starts Microsoft's server with:
dnx Microsoft.PowerApps.CanvasAuthoring.McpServer --yes --prerelease --source https://api.nuget.org/v3/index.json
No custom Azure App Registration or client secret is required for the normal interactive Canvas Authoring flow.
3. Deploy to Render
Push this folder to GitHub, then create a Render Web Service from the repository, or use render.yaml.
Required Render environment variables:
RELAY_TOKEN=<long-random-secret>
MCP_PUBLIC=false
BRIDGE_REQUEST_TIMEOUT_MS=120000
Generate a token locally, for example:
openssl rand -hex 32
After deployment your endpoints will look like:
https://YOUR-SERVICE.onrender.com/health
https://YOUR-SERVICE.onrender.com/mcp
wss://YOUR-SERVICE.onrender.com/bridge
4. Run the local bridge
On your development machine:
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
The bridge starts the Microsoft Canvas MCP server, optionally parses CANVAS_STUDIO_URL, connects to that app's coauthoring session, discovers the live MCP tools, and registers them with Render. The Microsoft sign-in UI is still local to your machine.
If you prefer to connect later through GPT, omit CANVAS_STUDIO_URL; the proxied connect tool remains available.
Check:
curl -H "Authorization: Bearer YOUR_RENDER_RELAY_TOKEN" \
https://YOUR-SERVICE.onrender.com/status
You should see tools such as connect, sync_canvas, compile_canvas, list_controls, and list_data_sources.
5. Connect the Canvas App
If you supplied CANVAS_STUDIO_URL when starting the bridge, this step is automatic. Otherwise, once GPT can see the MCP tools, call the Canvas MCP connect tool with values from your Power Apps Studio URL:
environment_id: Default-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
app_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
environment_category: prod
The Microsoft MCP process runs locally, so interactive Microsoft/Entra authentication happens on your machine. Prefer the normal browser/broker flow.
6. Connect GPT
Use this MCP endpoint:
https://YOUR-SERVICE.onrender.com/mcp
The server accepts the relay token as either:
Authorization: Bearer <RELAY_TOKEN>
or, for clients that cannot configure an Authorization header:
https://YOUR-SERVICE.onrender.com/mcp?token=<RELAY_TOKEN>
The query-string option is provided for compatibility but a bearer header is preferred because URLs are more likely to appear in logs/history.
Important ChatGPT limitation
As of August 2026, full custom MCP write/modify actions in ChatGPT are available to Business and Enterprise/Edu workspaces. Pro supports read/fetch only. If your ChatGPT plan cannot invoke write tools, use the same Render MCP endpoint from an OpenAI API application or another full MCP client.
Safety
- Use a DEV/copy of the Canvas App first.
- Do not set
MCP_PUBLIC=trueon an internet-facing deployment. - Rotate
RELAY_TOKENif it is exposed. - Keep one local bridge connected to one Canvas authoring process at a time.
- Keep the Power Apps Studio tab open.
- After
compile_canvas, verify the change in Studio and re-sync before considering it persisted.
Current Microsoft preview caveats
The Canvas Authoring MCP feature is still preview. Known issue classes reported in 2026 include:
compile_canvas/sync_canvassometimes reporting a successful push that did not persist canonically.- Problems involving PCF code components and Canvas Components.
- Large screen YAML hitting a per-file compile limit.
- Intel macOS (
osx-x64) currently lacking a supported Canvas Authoring MCP runtime package. - Repeated Entra sign-in prompts after restarting the Microsoft MCP process.
Troubleshooting
/status says bridgeConnected: false
Run npm run bridge on your machine and make sure REMOTE_URL and RELAY_TOKEN are correct.
dnx not found
Install .NET 10 SDK and restart the terminal.
Canvas MCP starts but tools fail
Confirm:
- Power Apps Studio is open.
- Coauthoring is enabled.
- The
connecttool was called with the correct environment ID and app ID. - You authenticated with an account that can edit the app.
Intel Mac
Microsoft's current preview package has an open issue for osx-x64. Use Apple Silicon, Windows x64/ARM64, or Linux x64/ARM64 until Microsoft ships the missing runtime.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。