¡Hola developer 👋🏻! Demo educativa en español para entender cómo una web puede exponer acciones a agentes de IA mediante WebMCP. Incluye una lista de películas y una extensión Manifest V3 que usa WebLLM y WebGPU para descubrir e invocar esas acciones.
- Características
- Tecnologías
- Requisitos Previos
- Instalación
- Uso
- Estructura del Proyecto
- Contribuir
- Sígueme
- Publica herramientas WebMCP declarativas e imperativas desde una web estática.
- Añade películas, cambia el tema y gestiona el estado de la lista sin backend.
- Descubre y ejecuta las herramientas de la pestaña activa desde una extensión Chrome/Edge.
- Ejecuta un modelo local con WebLLM y WebGPU para realizar function calling.
- HTML, CSS y JavaScript sin framework.
- WebMCP (
document.modelContexty formularios contoolname). - Chrome/Edge Extensions Manifest V3.
- WebLLM
0.2.84, esbuild0.25.10y WebGPU.
- Python 3 para servir la web localmente.
- Chrome o Edge con soporte WebMCP disponible y modo desarrollador habilitado.
- Un dispositivo y navegador compatibles con WebGPU para usar el agente local.
- Node.js y npm para compilar la extensión.
git clone https://github.com/0GiS0/webmcp-demo.git
cd webmcp-demopython3 -m http.server 8000Abre http://localhost:8000 en Chrome o Edge.
cd extension
npm install
npm run buildNo se necesitan variables de entorno para este proyecto.
- Abre
chrome://extensionsoedge://extensions. - Activa Modo de desarrollador.
- Selecciona Cargar descomprimida y elige la carpeta
extension.
En la web puedes añadir películas y cambiar entre los temas claro y oscuro. La página expone las herramientas add_movie y set_theme a través de WebMCP.
Para probar el agente:
- Mantén abierta la demo en la pestaña activa.
- Abre el side panel desde el icono de la extensión.
- Descarga el modelo local cuando se solicite y escribe una instrucción.
Añade "Iron Man" a mi lista y cambia el tema a oscuro.
La primera descarga del modelo puede ocupar varios GB y requiere memoria suficiente para WebGPU.
webmcp-demo/
├── index.html
├── script.js
├── styles.css
├── marvel-mcu-antes-de-endgame.csv
├── extension/
│ ├── src/
│ ├── side_panel.html
│ ├── side_panel.css
│ ├── background.js
│ └── manifest.json
└── README.md
script.js: estado, renderizado y registro de herramientas WebMCP.extension/src/: cliente WebMCP, caché del modelo y side panel.extension/README.md: detalles de desarrollo de la extensión.
- Crea una rama para tu cambio.
- Mantén los cambios centrados en el comportamiento de la demo.
- Comprueba la web y recompila la extensión con
npm run build. - Abre un pull request describiendo la mejora.
Si te ha gustado este proyecto y quieres ver más contenido como este, no olvides suscribirte a mi canal de YouTube y seguirme en mis redes sociales: