/** * Everything the core-routes plugin can configure about its MCP *connect* * surface, in one object. * * This is deliberately not the same object as `AgentChatMcpOptions`. That one * owns the protocol mount — which tools an external caller sees. This one owns * how a caller gets a token in the first place: the browser Connect page, the * CLI device-code flow, and the OAuth endpoints. They live in different plugins * because core-routes is the light one; an app can serve MCP from it without * paying for chat plugin initialization, which is what `mcp.enabled: false` on * the chat side exists for. * * Before this existed the settings were four flat `mcpConnect*` keys, two of * which only restated app identity the config schema already declares. */ export interface CoreRoutesMcpOptions { connect?: boolean; serverName?: string; } export interface CoreRoutesMcpLegacyInput { /** @deprecated Use `mcp.connect: false`. */ disableMcpConnect?: boolean; /** @deprecated Use `mcp.serverName`. */ mcpConnectServerName?: string; /** * @deprecated Set `app.id` in `defineAppConfig()` (env alias * `AGENT_NATIVE_APP_ID`). App identity is one declared field, not a * per-surface option. */ mcpConnectAppId?: string; /** * @deprecated Set `app.name` in `defineAppConfig()` (env alias `APP_NAME`). * Unset, it resolves from this app's package.json. */ mcpConnectAppName?: string; mcp?: CoreRoutesMcpOptions; } export interface ResolvedCoreRoutesMcp { connect: boolean; serverName: string | undefined; appId: string | undefined; appName: string | undefined; } export declare function resolveCoreRoutesMcpOptions(input: CoreRoutesMcpLegacyInput | undefined): ResolvedCoreRoutesMcp;