Canvas-MCP
Relay MCP de Canvas App para GPT
Este proyecto expone el servidor MCP local de Canvas Authoring de Microsoft como un endpoint MCP remoto que puede alojarse en Render.
Arquitectura
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 sessionRender no puede editar directamente tu Canvas App porque el proceso MCP de Canvas Authoring de Microsoft y la sesión de Power Apps Studio viven en tu ordenador. Por lo tanto, el puente local es necesario mientras estás creando.
Related MCP server: OpenClaw MCP Proxy
1. Requisitos previos de Power Apps
Abre la Canvas App de destino en Power Apps Studio.
Habilita Configuración -> Actualizaciones -> Coautoría.
Mantén la pestaña de Studio abierta mientras trabajas.
Tu cuenta de Microsoft debe tener permiso de edición para la aplicación.
2. Requisitos previos locales
Node.js 20+
SDK de .NET 10
dnxdisponible desde el SDK de .NET 10
Verifica:
node --version
dotnet --list-sdks
dnx --helpEl puente local inicia el servidor de Microsoft con:
dnx Microsoft.PowerApps.CanvasAuthoring.McpServer --yes --prerelease --source https://api.nuget.org/v3/index.jsonNo se requiere ningún registro de Azure App personalizado ni secreto de cliente para el flujo normal interactivo de Canvas Authoring.
3. Desplegar en Render
Empuja esta carpeta a GitHub y luego crea un Web Service de Render desde el repositorio, o usa render.yaml.
Variables de entorno requeridas en Render:
RELAY_TOKEN=<long-random-secret>
MCP_PUBLIC=false
BRIDGE_REQUEST_TIMEOUT_MS=120000Genera un token localmente, por ejemplo:
openssl rand -hex 32Después del despliegue, tus endpoints se verán así:
https://YOUR-SERVICE.onrender.com/health
https://YOUR-SERVICE.onrender.com/mcp
wss://YOUR-SERVICE.onrender.com/bridge4. Ejecutar el puente local
En tu máquina de desarrollo:
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 bridgeEl puente inicia el servidor MCP de Canvas de Microsoft, opcionalmente analiza CANVAS_STUDIO_URL, se conecta a la sesión de coautoría de esa aplicación, descubre las herramientas MCP en vivo y las registra con Render. La interfaz de inicio de sesión de Microsoft sigue siendo local en tu máquina.
Si prefieres conectarte más tarde a través de GPT, omite CANVAS_STUDIO_URL; la herramienta connect proxy permanece disponible.
Comprueba:
curl -H "Authorization: Bearer YOUR_RENDER_RELAY_TOKEN" \
https://YOUR-SERVICE.onrender.com/statusDeberías ver herramientas como connect, sync_canvas, compile_canvas, list_controls y list_data_sources.
5. Conectar la Canvas App
Si proporcionaste CANVAS_STUDIO_URL al iniciar el puente, este paso es automático. De lo contrario, una vez que GPT pueda ver las herramientas MCP, llama a la herramienta connect de Canvas MCP con los valores de la URL de tu Power Apps Studio:
environment_id: Default-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
app_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
environment_category: prodEl proceso MCP de Microsoft se ejecuta localmente, por lo que la autenticación interactiva de Microsoft/Entra ocurre en tu máquina. Prefiere el flujo normal de navegador/agente.
6. Conectar GPT
Usa este endpoint MCP:
https://YOUR-SERVICE.onrender.com/mcpEl servidor acepta el token de relay como:
Authorization: Bearer <RELAY_TOKEN>o, para clientes que no pueden configurar un encabezado Authorization:
https://YOUR-SERVICE.onrender.com/mcp?token=<RELAY_TOKEN>La opción de cadena de consulta se proporciona por compatibilidad, pero se prefiere un encabezado bearer porque las URLs tienen más probabilidades de aparecer en registros/historial.
Limitación importante de ChatGPT
A partir de agosto de 2026, las acciones completas de escritura/modificación de MCP personalizadas en ChatGPT están disponibles para espacios de trabajo Business y Enterprise/Edu. Pro solo admite lectura/obtención. Si tu plan de ChatGPT no puede invocar herramientas de escritura, usa el mismo endpoint MCP de Render desde una aplicación de OpenAI API u otro cliente MCP completo.
Seguridad
Usa primero una copia de desarrollo de la Canvas App.
No establezcas
MCP_PUBLIC=trueen un despliegue expuesto a Internet.Rota
RELAY_TOKENsi se expone.Mantén un puente local conectado a un proceso de autoría de Canvas a la vez.
Mantén la pestaña de Power Apps Studio abierta.
Después de
compile_canvas, verifica el cambio en Studio y vuelve a sincronizar antes de considerarlo persistido.
Advertencias actuales de la vista previa de Microsoft
La función MCP de Canvas Authoring sigue en vista previa. Las clases de problemas conocidos reportadas en 2026 incluyen:
compile_canvas/sync_canvasa veces informan un push exitoso que no persistió canónicamente.Problemas con componentes de código PCF y Canvas Components.
YAML de pantallas grandes que alcanza un límite de compilación por archivo.
macOS Intel (
osx-x64) que actualmente carece de un paquete de runtime MCP de Canvas Authoring compatible.Solicitudes repetidas de inicio de sesión de Entra después de reiniciar el proceso MCP de Microsoft.
Solución de problemas
/status dice bridgeConnected: false
Ejecuta npm run bridge en tu máquina y asegúrate de que REMOTE_URL y RELAY_TOKEN sean correctos.
dnx no encontrado
Instala el SDK de .NET 10 y reinicia la terminal.
Canvas MCP se inicia pero las herramientas fallan
Confirma:
Power Apps Studio está abierto.
La coautoría está habilitada.
La herramienta
connectse llamó con el ID de entorno y el ID de aplicación correctos.Te autenticaste con una cuenta que puede editar la aplicación.
Mac Intel
El paquete de vista previa actual de Microsoft tiene un problema abierto para osx-x64. Usa Apple Silicon, Windows x64/ARM64 o Linux x64/ARM64 hasta que Microsoft envíe el runtime faltante.
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.
This server cannot be installed
Maintenance
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
MCP server to assist with JxBrowser development.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
MCP server for querying Forkast documentation
Collaborative whiteboard MCP server — create objects, connectors, C4 diagrams, and manage boards
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceA proxy server that allows LLM clients to use Databutton app API endpoints as tools through the MCP protocol over websockets.1MIT- FlicenseNot gradedqualityDmaintenanceExposes app-registered tools as an MCP server for OpenClaw, forwarding actual tool execution back to the app over a WebSocket bridge.-
- AlicenseNot gradedqualityCmaintenanceEnables browsers to act as MCP servers by relaying tools, resources, and prompts to AI agents via a WebSocket-to-stdio bridge.13MIT
- FlicenseNot gradedqualityBmaintenanceEnables remote desktop control with screen capture and mouse/keyboard simulation through an MCP server exposed via a WebSocket tunnel.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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