import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js"; async function main() { console.log("📡 Conectando al MCP LaTeX en la Nube (HuggingFace SSE)..."); const transport = new SSEClientTransport(new URL("https://c2mv-mcp-cliente-latex-v3.hf.space/api/mcp")); const client = new Client({ name: "test-client", version: "1.0.0" }, { capabilities: {} }); try { await client.connect(transport); console.log("✅ Conexion viva con HuggingFace establecida."); const tools = await client.listTools(); console.log("🛠️ Herramientas exportadas por la nube:", tools.tools.map(t => t.name).join(", ")); console.log("⏳ Enviando carga útil de compilación LaTeX al cluster Debian..."); const result = await client.callTool({ name: "generate_and_compile_latex", arguments: { project_name: "test_cloud_ping", main_tex_content: ` \\documentclass{article} \\begin{document} \\section{Prueba AI Cloud} Este documento fue redactado desde una consola local de Windows y compilado instantaneamente en el espacio de Debian Linux Docker de HuggingFace utilizando el Server-Sent Events Bridge de LetXipu MCP. \\end{document} ` } }); console.log("🎉 Resultado exitoso devuelto por la nube:"); console.dir(result, { depth: null }); process.exit(0); } catch (error) { if (error.message && error.message.includes("503") || error.message.includes("Timeout")) { console.error("❌ HuggingFace sigue construyendo (Building) el contenedor de Linux con el motor TeXLive de 4GB. Intenta de nuevo en unos 5 minutos."); } else { console.error("❌ Error de comunicación profunda:", error); } process.exit(1); } } main();