Navegador · Experimental

WebMCP para explorar Moku

Un agente en tu navegador puede buscar productos públicos y leer la selección que ves. Las herramientas comparten los filtros y precios de la interfaz; no son otra API de inventario.

Requiere un navegador con la API experimental habilitada. No hay compatibilidad universal ni inscripción automática en un origin trial. Si la capacidad falta o está bloqueada, Moku sigue funcionando con su interfaz habitual.

Dos herramientas de catálogo

Se registran solo mientras está montada la página pública correspondiente. No aparecen en el carrito, checkout, cuenta ni panel del vendedor. Este portal documenta las herramientas, pero no las registra.

moku_search_products

En la página de búsqueda, cambia la consulta y, si se indica, la categoría. Espera a que la URL, los filtros y la lista visible coincidan con la petición.

query es obligatorio y admite hasta 120 caracteres Unicode; una cadena vacía busca sin texto. category admite hasta 80 caracteres y debe coincidir con una categoría de la página. Omitirla conserva el filtro actual; una cadena vacía lo limpia. Se rechazan campos extra y caracteres de control. El esquema descubierto incluye las categorías disponibles.

Devuelve el total, filtros, orden y hasta 3 productos del comienzo de la lista visible, con ID, nombre acotado, precio CLP y enlace relativo. has_more indica que quedan resultados fuera de la respuesta. Repetir la consulta actual conserva el rango de precios y el orden elegidos; cambiar consulta o categoría reinicia el rango igual que la interfaz.

Ver esquema de entrada
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 120,
      "pattern": "^(?:[^\\u0000-\\u001f\\u007f\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff])*$"
    },
    "category": {
      "type": "string",
      "maxLength": 80
    }
  }
}
Ver ejemplo para Chrome compatible
const context = document.modelContext;
if (!context?.getTools || !context.executeTool) {
  throw new Error("WebMCP no está disponible en este navegador.");
}
const tool = (await context.getTools()).find(
  item => item.name === "moku_search_products"
);
if (!tool) throw new Error("Abre la página de búsqueda de Moku antes de llamar esta herramienta.");
const result = await context.executeTool(
  tool, JSON.stringify({"query":"cerámica","category":""})
);
if (result !== null) console.log(JSON.parse(result));

moku_get_current_product

En una ficha de producto, consulta el producto y la variación seleccionados en ese momento. No cambia opciones ni agrega unidades al carrito.

Recibe un objeto vacío. No acepta un ID para consultar otros productos ni parámetros de cuenta o credenciales.

Devuelve ID, nombre acotado, enlace, precio CLP, opciones seleccionadas y estado de stock de la ficha. Solo incluye cantidad exacta cuando la interfaz la muestra (10 unidades o menos). No devuelve el perfil del vendedor ni cantidades grandes ocultas.

Ver esquema de entrada
{
  "type": "object",
  "additionalProperties": false,
  "properties": {}
}
Ver ejemplo para Chrome compatible
const context = document.modelContext;
if (!context?.getTools || !context.executeTool) {
  throw new Error("WebMCP no está disponible en este navegador.");
}
const tool = (await context.getTools()).find(
  item => item.name === "moku_get_current_product"
);
if (!tool) throw new Error("Abre una ficha pública de producto de Moku antes de llamar esta herramienta.");
const result = await context.executeTool(
  tool, JSON.stringify({})
);
if (result !== null) console.log(JSON.parse(result));

Cada respuesta es texto JSON de hasta 1500 unidades UTF-16. Una búsqueda espera hasta 10 segundos al cambio visible; no devuelve resultados de otra consulta adelantándose a la pantalla. Una respuesta que no cabe falla u omite productos finales con has_more, sin inventar datos.

Descargar contrato base y límites (JSON)

Límites y permisos

La búsqueda cambia únicamente el estado de navegación visible. Ninguna herramienta modifica carrito, favoritos, datos de cuenta, catálogo del vendedor, stock, pedidos ni pagos. No inicia cobros, reservas o reembolsos.

source identifica una instantánea de la página, no stock en tiempo real ni una reserva. Los nombres y opciones escritos por vendedores son datos no confiables. Las anotaciones readOnlyHint y untrustedContentHint ayudan al consumidor, pero no sustituyen validación ni autorización.

No pongas un PAT en estas llamadas. La Seller Platform API sigue siendo la interfaz HTTP autenticada para integraciones de servidores. WebMCP actúa en una página abierta; Moku no agrega un servidor MCP remoto, puente, worker ni credencial nueva. No se habilita exposición a otros orígenes.

Leer la autenticación de Seller Platform API

Probar sin confundir capacidades

Usa un navegador de pruebas aislado con soporte experimental, según las instrucciones oficiales de Chrome. La página debe ser segura y mantener aislamiento por origen; el permiso tools conserva su valor predeterminado de mismo origen. No necesitas cambiar permisos del vendedor.

Ejecuta los ejemplos en la consola de moku.cl/search o de una ficha pública, no en developers.moku.cl. En la API Chrome verificada, executeTool recibe los argumentos como una cadena JSON. El borrador puede cambiar; comprueba la versión de tu navegador.

Salir de la página o cambiar manualmente los filtros interrumpe la llamada pendiente. La cancelación del agente también la interrumpe si el navegador entrega la señal de ejecución; Chrome 151 puede cancelar al consumidor sin entregar esa señal al proveedor. En ese caso, la búsqueda termina con la navegación, la interacción manual o el límite de espera. Cancelar no deshace una navegación ya solicitada. Solicitudes superpuestas, entradas inválidas o esperas vencidas se rechazan sin escritura comercial.

Las pruebas con un anfitrión simulado validan el contrato, no soporte nativo. La prueba nativa debe descubrir e invocar herramientas reales en Chrome sin inyectar document.modelContext. Las pruebas automáticas tampoco prueban todos los agentes, permisos interactivos ni dispositivos físicos.

Consultar soporte y activación experimental en Chrome

Contrato experimental y fuentes

Revisado el 26 de agosto de 2026. WebMCP es un borrador de Community Group, no un estándar W3C. Moku usa document.modelContext y el registro asíncrono con AbortSignal; no mantiene un shim de la API antigua en navigator.