Desktop MCP clients (VSCode, Goose, Postman, MCPJam) connect directly to
http://localhost:3000/mcp: no tunnel needed.Start the Tunnel
Pass the--tunnel flag to the dev server, or toggle Tunnel in the DevTools header:
https://cool-marmot-fondue-420.alpic.dev/mcp).
Connect to Hosts
ChatGPT
- Go to ChatGPT Plugins and select the + button
- Enter a name and description, then the printed
/mcpURL - Create the connection, then select your plugin with the + button in a new conversation
Creating plugins requires developer mode to be enabled: Settings → Security and login → Developer mode.
Claude
- Go to Customize → Connectors → Add custom connector
- Enter your app name and the printed
/mcpURL - Click Add, then enable the connector in a new conversation
Iterate Without Reconnecting
The Alpic tunnel URL is stable across restarts: register the plugin or connector once. Hot reload works through it too: view edits show up in the host on save, on desktop and mobile alike.Read View Logs on Mobile or Desktop Apps
When your app runs in the ChatGPT or Claude desktop or mobile app, there’s no console to open, so the view’s logs are out of reach. Vite’sforwardConsole prints them in the terminal running your dev server. The scaffold limits it to errors: add the levels you want to logLevels in vite.config.ts.
vite.config.ts
A log placed in a component’s render body appears twice per render: views run under React
StrictMode in development, which invokes each render twice.Limitation
ChatGPT and Claude cache your tool definitions at registration. When the server schema changes (a tool added or renamed, an input schema edited), refresh the app or connector in the host so the model sees the new definitions.Go Further
DevTools
Call tools and render views locally, without a host
Playground
Chat with a real model running your app
Audit
Catch spec and platform issues before submission