Ultimate

X_MCP_APP_UNMOUNTED

Means

the app's MCP endpoint is exposed in config and nothing can be mounted

Typical cause

ai.mcp.expose is true — the default — and either no apps/<app>/mcp.ts exports mcp, or the one that does was built without resolveToken, so defineAppMcp built no route. Logged once per boot by the web role (x dev and runRole alike), never thrown: an app with no agent surface yet is a working app

Fix

write apps/web/mcp.ts exporting mcp = defineAppMcp({ include: 'exposed', resolveToken }), add resolveToken to the one that exists, or set ai: { mcp: { expose: false } }

Listed under MCP and AI

This page as markdown