Skip to main content
Glama

面向 GPT 的 Canvas 应用 MCP 中继

本项目将微软本地 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 无法直接编辑你的 Canvas 应用,因为微软 Canvas Authoring MCP 进程和 Power Apps Studio 会话都运行在你的电脑上。因此,在创作期间必须使用本地桥接。

Related MCP server: OpenClaw MCP Proxy

1. Power Apps 前置条件

  • 在 Power Apps Studio 中打开目标 Canvas 应用。

  • 启用 设置 -> 更新 -> 共同创作

  • 工作时保持 Studio 标签页处于打开状态。

  • 你的微软账户必须对该应用具有编辑权限。

2. 本地前置条件

  • Node.js 20+

  • .NET 10 SDK

  • dnx 可从 .NET 10 SDK 获取

验证:

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

本地桥接使用以下命令启动微软服务器:

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

常规交互式 Canvas Authoring 流程无需自定义 Azure 应用注册或客户端密钥。

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

桥接会启动微软 Canvas MCP 服务器,可选地解析 CANVAS_STUDIO_URL,连接到该应用的共同创作会话,发现实时 MCP 工具,并将其注册到 Render。微软登录界面仍然只出现在你的本地机器上。

如果你希望稍后通过 GPT 连接,请省略 CANVAS_STUDIO_URL;代理后的 connect 工具仍然可用。

检查:

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

你应该能看到诸如 connectsync_canvascompile_canvaslist_controlslist_data_sources 等工具。

5. 连接 Canvas 应用

如果你在启动桥接时提供了 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

微软 MCP 进程在本地运行,因此交互式微软/Entra 身份验证会在你的机器上完成。请优先使用常规的浏览器/代理流程。

6. 连接 GPT

使用此 MCP 端点:

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

服务器接受以下任一方式提供的中继令牌:

Authorization: Bearer <RELAY_TOKEN>

或者,对于无法配置 Authorization 标头的客户端:

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

提供查询字符串选项是为了兼容性,但更推荐使用 bearer 标头,因为 URL 更有可能出现在日志/历史记录中。

重要的 ChatGPT 限制

截至 2026 年 8 月,ChatGPT 中完整的自定义 MCP 写入/修改操作仅适用于 Business 和 Enterprise/Edu 工作区。Pro 仅支持读取/获取。如果你的 ChatGPT 套餐无法调用写入工具,请从 OpenAI API 应用程序或其他完整的 MCP 客户端使用相同的 Render MCP 端点。

安全

  • 首先使用 Canvas 应用的 DEV/副本。

  • 不要在面向互联网的部署上设置 MCP_PUBLIC=true

  • 如果 RELAY_TOKEN 泄露,请轮换该令牌。

  • 保持一个本地桥接同时只连接一个 Canvas 创作进程。

  • 保持 Power Apps Studio 标签页处于打开状态。

  • compile_canvas 之后,先在 Studio 中验证更改并重新同步,然后再视为已持久化。

当前微软预览版注意事项

Canvas Authoring MCP 功能仍处于预览阶段。2026 年报告的已知问题类别包括:

  • compile_canvas / sync_canvas 有时报告推送成功,但并未规范地持久化。

  • 涉及 PCF 代码组件和 Canvas 组件的问题。

  • 大型屏幕 YAML 达到单文件编译限制。

  • Intel macOS(osx-x64)目前缺少受支持的 Canvas Authoring MCP 运行时包。

  • 重启微软 MCP 进程后反复出现 Entra 登录提示。

故障排查

/status 显示 bridgeConnected: false

在你的机器上运行 npm run bridge,并确保 REMOTE_URLRELAY_TOKEN 正确。

找不到 dnx

安装 .NET 10 SDK 并重启终端。

Canvas MCP 已启动但工具失败

确认:

  1. Power Apps Studio 已打开。

  2. 已启用共同创作。

  3. 已使用正确的环境 ID 和应用 ID 调用 connect 工具。

  4. 你已使用可以编辑该应用的账户进行身份验证。

Intel Mac

微软当前的预览包存在 osx-x64 的未解决问题。在微软发布缺失的运行时之前,请使用 Apple Silicon、Windows x64/ARM64 或 Linux x64/ARM64。

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BharathVyaas/Canvas-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server