import { useMemo } from "react"; import { useTranslation } from "react-i18next"; import { DeepLinkImportRequest } from "../../lib/api/deeplink"; import { decodeBase64Utf8 } from "../../lib/utils/base64"; export function McpConfirmation({ request, }: { request: DeepLinkImportRequest; }) { const { t } = useTranslation(); const mcpServers = useMemo(() => { if (!request.config) return null; try { const decoded = decodeBase64Utf8(request.config); const parsed = JSON.parse(decoded); return parsed.mcpServers || {}; } catch (e) { console.error("Failed to parse MCP config:", e); return null; } }, [request.config]); const targetApps = request.apps?.split(",") || []; const serverCount = Object.keys(mcpServers || {}).length; return (

{t("deeplink.mcp.title")}

{targetApps.map((app) => ( {app.trim()} ))}
{mcpServers && Object.entries(mcpServers).map(([id, spec]: [string, any]) => (
{id}
{spec.command ? `Command: ${spec.command} ` : `URL: ${spec.url} `}
))}
{request.enabled && (
⚠️ {t("deeplink.mcp.enabledWarning")}
)}
); }