Una web resulta más fácil de utilizar para los agentes de IA si sus funciones tienen entradas y resultados claros. WebMCP propone ofrecer esas funciones como herramientas directamente en el navegador. Puede ayudar con búsquedas de inmuebles, consultas de disponibilidad o formularios.
A 30 de septiembre de 2026: WebMCP es un borrador de un Community Group de W3C, no un estándar W3C. La implementación del navegador y el soporte del agente concreto deben comprobarse por separado. Instalar Chrome no hace que cualquier asistente pueda llamar a las funciones de cualquier web.
Distinguir MCP, A2A y WebMCP#
| Interfaz | Función | Dónde vive |
|---|---|---|
| MCP | Proporcionar herramientas, datos y prompts al asistente | Un servidor accesible para el cliente, local o remoto |
| A2A | Intercambiar tareas y mensajes entre agentes | Interfaz de un agente ejecutable |
| WebMCP | Ofrecer funciones de una web abierta como herramientas | Documento del navegador |
| agents.json propia | Describir tus interfaces HTTP | Manifiesto público, si lo publicas |
Una agents.json no forma parte del protocolo MCP. Una Agent Card de A2A describe un agente y sus capacidades; el archivo por sí solo no realiza reservas. No hay una garantía general de que ChatGPT o Claude busquen automáticamente una agents.json en cada web.
Una herramienta con el borrador actual#
La entrada actual es document.modelContext. Los ejemplos con navigator.modelContext corresponden a un borrador anterior. Esta búsqueda de inmuebles es de solo lectura:
if (document.modelContext) {
await document.modelContext.registerTool({
name: "search_properties",
description: "Search property listings by location and maximum price",
inputSchema: {
type: "object",
properties: {
location: { type: "string" },
maxPrice: { type: "number", minimum: 0 }
},
required: ["location"]
},
annotations: { readOnlyHint: true },
execute: async ({ location, maxPrice }, { signal }) => {
const query = new URLSearchParams({ location });
if (maxPrice !== undefined) query.set("maxPrice", String(maxPrice));
const response = await fetch(`/api/listings?${query}`, { signal });
if (!response.ok) throw new Error("Property search failed");
return response.json();
}
});
}
El ejemplo sigue el borrador actual. Necesita un navegador compatible y una ruta /api/listings implementada por ti. El callback execute recibe las entradas y una señal de cancelación. readOnlyHint describe el efecto previsto; la aplicación debe comprobar los permisos y validar las entradas. Una anotación no impide acciones perjudiciales.
Describir formularios de forma declarativa#
El explainer declarativo oficial describe atributos como toolname y tooldescription, no data-mcp-tool:
<form action="/search" method="get"
toolname="search_properties"
tooldescription="Search property listings by location">
<input name="location" required />
<button type="submit">Search</button>
</form>
Es un patrón de borrador. La sección declarativa de la especificación todavía tiene algoritmos pendientes. Comprueba el soporte real del navegador y conserva el funcionamiento normal del formulario. Una reserva de pago o una solicitud de contacto deberían incluir una confirmación expresa; evita el envío automático que genere compromisos sin revisar.
Qué construir primero#
Empieza con una función de lectura que ya necesites. Describe los parámetros, limita los resultados y prueba los errores. Añade después las acciones que modifican datos. La autenticación, los permisos, la prevención de abusos y la privacidad pertenecen al proceso real.
Publica una Agent Card solo si un agente A2A ejecuta las capacidades que anuncia. La versión 1.0 indica dirección, binding y versión del protocolo en supportedInterfaces. Un manifiesto público no exige automáticamente CORS abierto: CORS afecta a las peticiones del navegador, no a las peticiones normales de agentes desde servidores.
Qué no demuestra la integración#
No garantiza citas preferentes de IA, mejor posicionamiento en Google ni más clientes. Una evaluación propia de «AI-Ready» debería explicar qué comprueba y sus límites. No existe una puntuación universal de WebMCP de 110 puntos ni un número obligatorio de herramientas.
Una prueba tiene sentido si simplifica un proceso concreto y hay un agente compatible. Consulta nuestros servicios de diseño web y soluciones de IA.
Fuentes: especificación de WebMCP, versión preliminar de Chrome, A2A 1.0.
