MCP y WebMCP en una figura: servidor × página, quién llama a quién
Los dos nombres parecen lo mismo y no lo son. MCP conecta un agente con un servidor tuyo, fuera del navegador, y es estable. WebMCP deja que la propia página declare tools (herramientas) para el agente que está en el navegador, y es un borrador. En esta lección separas los dos en una figura y ejecutas la detección de funcionalidad que mantiene el sitio funcionando sin la API.
1MCP: el agente llama a tu servidor (revisión 2026-07-28)
2WebMCP: la página declara tools (herramientas) en el navegador
3Detección de funcionalidad: sin la API, nada se rompe
4Qué curso de la formación enseña cada lado
Objetivo: situar MCP (servidor) y WebMCP (página) en una figura y ver la detección de funcionalidad con fallback en ejecución.
01 · Dos caminos hasta la misma acción
Haz clic en cada bloque.
Haz clic en cada bloque del diagrama para ver qué hace.
MCP: el agente va hasta tu servidor. WebMCP: la página abierta ofrece tools (herramientas) al agente del navegador. El HTML sostiene a los dos.
02 · Lado a lado
Qué cambia entre los dos, en cuatro preguntas.
1. ¿Dónde se ejecuta?
MCP: en un proceso tuyo (en la máquina del agente por stdio, o en una dirección HTTP). WebMCP: dentro de la pestaña abierta, en el JavaScript de la página.
2. ¿Quién llama?
MCP: el cliente (el agente) llama al servidor. WebMCP: el agente del navegador lee la lista con getTools y ejecuta la tool (herramienta); la función que se ejecuta es la de la página.
3. ¿Está listo?
MCP: estable, revisión 2026-07-28 (los tutoriales con SSE e initialize son de revisiones antiguas). WebMCP: borrador que ya cambió de nombre una vez (de navigator a document, aceptado el 19/05/2026). Lección 5.
SelloWebMCP: experimental el 19/10/2026 (origin trial Chrome 149–156, Edge 150).
4. ¿Qué preparar hoy?
El HTML que el agente lee (lección 3) sirve para los dos. Si tienes un servicio con API, el servidor MCP es el paso estable. La página con WebMCP entra como laboratorio, siempre con detección y fallback.
03 · Detección de funcionalidad con fallback
El único JavaScript de WebMCP de este curso: ver si la API existe y, si no existe, dejar el formulario como está. Registrar tools (herramientas) de verdad es el curso 2. El detectar.mjs abre la página sin la API y con un stub vacío (no es la API ni el polyfill), solo para mostrar las dos ramas.
Archivo · kit/site/deteccao.js
// deteccao.js — detección de funcionalidad de WebMCP con fallback (kit del curso 0, Formación WebMCP).
// Spec usada: WebMCP, Draft Community Group Report del 16/10/2026 (document.modelContext).
// Es un borrador de Community Group, no un estándar: en Chrome solo con origin trial (149–156) o flag local.
// Sin la API, nada cambia: el formulario de arriba sigue siendo el camino para personas y agentes.
(function () {
const caminho = "modelContext" in document
? "WebMCP presente: aqui a página registraria as ferramentas (curso 2 da formação)"
: "WebMCP ausente: o site segue pelo formulário, igual para todos";
document.documentElement.dataset.webmcp = "modelContext" in document ? "sim" : "nao";
console.log(caminho);
})();
Terminal · las dos ramas
cd ~/projetos/formacao-webmcp-base-v72/kit
node detectar.mjs depois; echo "saída: $?"
Ejemplo del repositorio
sem API · WebMCP ausente: o site segue pelo formulário, igual para todos · botão Agendar: sim
com stub · WebMCP presente: aqui a página registraria as ferramentas (curso 2 da formação) · botão Agendar: sim
saída: 0
En los dos ramos el botón "Agendar" sigue ahí: el fallback no depende de la API. Con la API presente, la página registraría las tools; sin ella, sigue igual para todos.
sem API · (a página não faz detecção) · botão Agendar: não
com stub · (a página não faz detecção) · botão Agendar: não
saída: 1
Al correr la misma prueba en antes.html: la página no hace ninguna detección y ni siquiera tiene un botón con nombre. El código WebMCP sin "modelContext" in document se rompe en el navegador que no tiene la API, que hoy es casi todo navegador.
04 · Práctica
Los dos ramos y la detección en tu copia.
E1 · Los dos ramos
5 min
Corre el bloque "os dois ramos" y lee el deteccao.js línea por línea.
Listo cuando:node detectar.mjs depois → línea sem API · WebMCP ausente, línea com stub · WebMCP presente, las dos con botão Agendar: sim, y saída: 0.
E2 · Detección en tu copia
10 min
Copia kit/site/deteccao.js a /tmp/oficina/ e incluye <script src="deteccao.js"></script> al final del body de la copia arreglada en la clase 3.
Listo cuando:node detectar.mjs /tmp/oficina/antes.html → las dos líneas con botão Agendar: sim y saída: 0.
E3 · El mapa de tu servicio
10 min
Escribe tres líneas: qué acción de tu sitio pediría un agente; si vive en un servicio con API (candidata a MCP, curso 1) o solo en la página (candidata a WebMCP, curso 2); y cuál formulario es el fallback.
Listo cuando: el archivo con las tres líneas existe y cada acción tiene un formulario de fallback nombrado.
05 · Prueba de la lección
Pregunta 1 de 4
¿Dónde corre la tool en un servidor MCP?competencia
Correcto
MCP conecta al agente (cliente) con un servidor tuyo, fuera del navegador. La tool en el JavaScript de la página es WebMCP.
¿Cuál es la superficie de WebMCP en el borrador del 16/10/2026?competencia
Correcto
El cambio de navigator a document fue aceptado el 19/05/2026 (PR #177). El material antiguo con navigator.modelContext está desactualizado.
No es esa
El cambio de navigator a document fue aceptado el 19/05/2026 (PR #177). El material antiguo con navigator.modelContext está desactualizado.Repasar: Lado a lado
Pregunta 3 de 4
¿Para qué sirve la detección "modelContext" in document?
Correcto
Sin la API, el código no corre el ramo WebMCP y el formulario sigue siendo el camino. Nada se esconde; el fallback es el propio sitio.