All Articles
7 minUpdated

¿Puedes construir tu propio Meta Muse con Claude Sonnet 5.5 y MCP?

Agentes de IAClaudeMCPArquitectura

Respuesta corta: Claude Sonnet 5.5 con servidores MCP ya cubre el modelo y la capa de herramientas de Meta Muse. El runtime que los rodea (puerta de políticas, bóveda de tokens, memoria, cola de trabajos, registro de auditoría, defensas contra inyección y un sandbox de navegador) sigue siendo tuyo. Este artículo recorre cada pieza y muestra el bucle que las une.

¿Por qué debería importarle esta semana a quien desarrolla?

Dos lanzamientos llegaron con tres semanas de diferencia. El 8 de septiembre de 2026 Meta anunció Muse, un agente personal que navega, envía correos, compra y sigue trabajando al cerrar la app. El 28 de septiembre Anthropic lanzó Claude Sonnet 5.5 a 2 dólares por millón de tokens de entrada y 10 por millón de salida, con un 80,1% en OSWorld 2.1, la prueba de uso de ordenador.

Si construyes productos, la pregunta útil es cuánto de Muse podrías meter en tu propia app el mes que viene. Dividí Muse en las piezas que Meta lanzó de verdad, marqué las que Claude y MCP cubren hoy y esbocé el resto como código.

¿Qué lanzó Meta exactamente?

  • Muse Spark, el modelo.
  • Muse Secure VM: una máquina virtual aislada por usuario, con su propio navegador y almacenamiento.
  • Sentinel: un agente de políticas aparte que permite, deniega o escala cada petición a conectores y cada llamada saliente.
  • Aprobaciones antes de enviar correos o comprar, y un historial de auditoría completo.
  • Memoria de rutinas y detalles sueltos, usada para sugerencias proactivas.
  • Ejecución en segundo plano que sigue después de cerrar la app.
  • Pagos con Link de Stripe y números de tarjeta de un solo uso, con Shop Pay y 1Password anunciados.
  • Plataformas: iOS, Android, la web y WhatsApp, con despliegue en EE. UU.

Solo el primer punto es un modelo. Los otros siete son infraestructura.

Diagrama animado de una tarea de navegador de Meta Muse pasando por la Secure VM, Sentinel y la aprobación del usuario
Cómo ejecuta Muse una tarea de navegador: plan, lectura del árbol de accesibilidad, formulario, revisión de Sentinel, aprobación y registro.

¿Qué aporta Claude Sonnet 5.5 a un agente?

En este diseño, Sonnet 5.5 es el planificador. Las cifras que importan para un agente son estas: salida un 30% más rápida que Sonnet 5, hasta un 30% menos de coste por tarea porque usa menos tokens y llamadas a herramientas, 80,1% en OSWorld 2.1 frente al 81,8% de Opus 5.5, niveles de esfuerzo ajustables y disponibilidad en la API de Claude, AWS, Google Cloud y Microsoft Azure. Lovable reportó cerca de un tercio menos de llamadas a herramientas tras el cambio.

En un agente que hace decenas de llamadas por tarea, esa reducción pesa más que un punto de benchmark. Cada llamada que te ahorras es un viaje de red menos hasta un servidor MCP y un punto de fallo menos.

¿Qué cubre MCP de serie?

El Model Context Protocol es el estándar abierto que Anthropic creó en 2024 y cedió a la Agentic AI Foundation de la Linux Foundation en diciembre de 2025. Le da al agente una única forma de llegar a cualquier herramienta. Un kit inicial para un asistente al estilo Muse queda así:

NecesidadServidor MCPEstado
CorreoConector de Gmail o servidor remotoListo
CalendarioGoogle CalendarListo
DocumentosGoogle DriveListo
Navegador@playwright/mcpListo, lo alojas tú
Códigogithub-mcp-serverListo
Datos y filas de memoriaServidor de PostgresListo
APIs internasUn servidor propio pequeño con el SDK de TypeScript o PythonLo escribes tú
Diagrama animado de Claude Sonnet 5.5 enviando llamadas a herramientas por un cliente MCP hacia seis servidores MCP
Una llamada cada vez: Claude elige la herramienta, el cliente MCP la enruta, el servidor llama a la API real y el resultado vuelve al contexto.

¿Qué siete piezas sigues escribiendo tú?

  1. Puerta de políticas. Etiqueta cada herramienta como lectura, escritura o dinero. Permite lecturas, manda escrituras a una cola de aprobación y bloquea lo que no esté en la lista. Para empezar basta una tabla tool_policies(tool, risk, requires_approval).
  2. Bóveda de tokens. Cifra los refresh tokens de cada usuario con un KMS o libsodium, renuévalos en un worker y nunca los pongas en el prompt.
  3. Memoria. Postgres con pgvector, una tabla memories que guarde la fuente y la fecha de cada dato, y una página de ajustes donde el usuario pueda leer y borrar entradas.
  4. Trabajos. Una cola como BullMQ sobre Redis o una gestionada como SQS, más un planificador para peticiones tipo "dentro de cinco días".
  5. Registro de auditoría. Una tabla agent_events de solo inserción con tarea, herramienta, hash de la entrada, resumen del resultado, quién aprobó y hora.
  6. Defensas contra inyección. Marca como no fiables los resultados que vienen de la web. Tras leer contenido no fiable, permite solo herramientas de lectura hasta que el usuario apruebe la siguiente escritura.
  7. Sandbox de navegador. Un contenedor por sesión de usuario con Playwright, vista en vivo y botón de parada.
Arquitectura de un agente al estilo Muse con Claude Sonnet 5.5 en el centro, servidores MCP, APIs, navegador aislado, memoria, workers, puerta de políticas y registro
El stack completo: el modelo en el centro y, alrededor, toda la infraestructura que gestionas tú.

¿Cómo es un bucle de agente mínimo?

Este es el núcleo del runtime en TypeScript. El modelo y los servidores MCP hacen casi todo el trabajo. El bucle añade la revisión de políticas, el registro y la pausa.

import Anthropic from "@anthropic-ai/sdk";
const claude = new Anthropic();

export async function runTask(task: Task) {
  const messages = await memory.load(task.userId, task.goal);
  const tools = await mcp.listTools(task.userId); // tools from every connected MCP server

  for (let step = 0; step < 40; step++) {
    const res = await claude.messages.create({
      model: "claude-sonnet-5-5",
      max_tokens: 4096,
      tools,
      messages,
    });
    messages.push({ role: "assistant", content: res.content });
    if (res.stop_reason !== "tool_use") return finish(task, res);

    const results = [];
    for (const call of res.content.filter((b) => b.type === "tool_use")) {
      const verdict = policy.check(task.userId, call); // "allow" | "ask" | "deny"
      if (verdict === "ask") return queue.pauseForApproval(task, messages, call);
      const output = verdict === "allow"
        ? await mcp.callTool(task.userId, call.name, call.input)
        : "Blocked by policy.";
      await audit.log({ task: task.id, tool: call.name, verdict, output });
      results.push({ type: "tool_result", tool_use_id: call.id, content: output });
    }
    messages.push({ role: "user", content: results });
    await memory.checkpoint(task.id, messages);
  }
}

pauseForApproval guarda la conversación y la llamada pendiente. Cuando el usuario aprueba, un worker ejecuta esa llamada, añade el resultado y vuelve a lanzar runTask desde el punto guardado. Esa pequeña función es lo que permite "seguir trabajando al cerrar la app".

¿Cómo se ve la búsqueda de empleo en el registro de auditoría?

Esta es la petición de ejemplo, "busca empleos remotos de React, mira mi calendario, prepara solicitudes y haz seguimiento en cinco días", tal como la anotaría el registro:

09:02  plan        search remote React roles, posted in last 7 days
09:02  browser     navigate jobs board        allow   42 listings (untrusted)
09:03  postgres    read prefs                 allow   remote, React, salary floor
09:03  calendar    find_free_slots(14d)       allow   6 slots
09:05  drive       create_doc x5              allow   5 cover letters
09:05  gmail       create_draft x5            ask     waiting for user
09:41  approval    user approved 4, rejected 1
09:42  browser     submit application x4      allow   4 submitted
09:42  scheduler   follow_up in 5 days        allow   job #8812
day 5  gmail       search replies             allow   1 reply, 3 silent
day 5  gmail       create_draft x3            ask     waiting for user

Cada línea marcada con ask es un punto donde Sentinel también se habría detenido. Cada línea con número de trabajo es algo que una ventana de chat no puede hacer por sí sola.

¿Muse o tu propio stack?

Usa Muse si eres una persona que quiere resultados y te encajan las condiciones de datos de Meta, que solo esté en EE. UU. y su lista actual de integraciones.

Construye con Claude y MCP si el agente tiene que vivir dentro de tu producto, llegar a sistemas internos, cumplir tus reglas de retención o cambiar de modelo más adelante sin reescribir cada integración.

Veredicto

Sonnet 5.5 te da un planificador muy cerca del modelo más alto a precio de gama media. MCP convierte la capa de herramientas en configuración. La ventaja real de Muse está en su runtime: la VM, el agente de políticas, la bóveda, el planificador y el registro. Ahí se va a competir en productos de agentes a partir de ahora, y también es la capa que puedes construir tú mismo.

Fuentes