# WebMCP Experiment / Experimento WebMCP

Canonical page: https://cabranetdigital.com/webmcp

## English

Agents can invoke `saspien.verify-url` directly through the public REST endpoint:

```text
POST https://cabranetdigital.com/api/v1/verify
Content-Type: application/json

{"url":"sasp.sh"}
```

The endpoint accepts a domain, SASP manifest URL, or public HTTPS URL and
returns the same limited evidence report as the visible verifier. It supports
cross-origin requests and does not require a browser page or DOM.

On supported browsers, the TEST DRIVE SASPIEN page at
https://cabranetdigital.com/verify also registers one read-only WebMCP tool
named `saspien.verify-url`.

The page feature-detects `document.modelContext`. Unsupported browsers continue
to use the ordinary form with no loss of functionality. The browser tool exists
only while the Verify page is open and calls the existing same-origin verifier
endpoint. This browser boundary is separate from the public REST endpoint.

### SASP provenance

The browser loads the canonical tool contract from:

https://cabranetdigital.com/webmcp/saspien.verify-url.json

Cabranet Digital SL declares that exact artifact in its root SASP manifest:

https://cabranetdigital.com/manifest.json

The manifest publishes a SHA-256 digest of the contract. TEST DRIVE SASPIEN can
therefore verify the publisher domain, declaration, same-origin artifact, and
contract bytes before an agent relies on the registered metadata.

### Security and limitations

- Both invocation paths are read-only, HTTPS-only, rate-limited, and protected
  against private or reserved network targets.
- The public REST API allows cross-origin calls and uses a rate-limit bucket
  separate from the browser endpoint. A 429 response includes `Retry-After`.
- The browser WebMCP path remains same-origin and requires the Verify page.
- Tool output is marked as untrusted because reports can contain
  target-controlled content.
- WebMCP is a W3C Community Group draft dated 11 June 2026, not a W3C Standard,
  and browser support is experimental.
- This is not an MCP server. WebMCP calls require the Verify page, while REST
  calls use the public endpoint without a browser.
- SASP authenticates the published tool contract. It does not remotely attest
  the JavaScript bundle executing in the browser.
- Verifier output is evidence, not a certification or guarantee of safety,
  integrity, security, or trustworthiness.

Draft specification: https://webmachinelearning.github.io/webmcp/

## Español

Los agentes pueden invocar `saspien.verify-url` directamente mediante el
endpoint REST público:

```text
POST https://cabranetdigital.com/api/v1/verify
Content-Type: application/json

{"url":"sasp.sh"}
```

El endpoint acepta un dominio, una URL de manifiesto SASP o una URL HTTPS
pública y devuelve el mismo informe limitado que el verificador visible.
Admite solicitudes de otros orígenes y no requiere una página ni un DOM.

En navegadores compatibles, la página PRUEBA SASPIEN en
https://cabranetdigital.com/verify también registra una herramienta WebMCP de
solo lectura llamada `saspien.verify-url`.

La página detecta `document.modelContext`. Los navegadores no compatibles siguen
usando el formulario ordinario sin perder funcionalidad. La herramienta del
navegador solo existe mientras la página Verificar está abierta y llama al
endpoint existente del mismo origen. Este límite es independiente del endpoint
REST público.

### Procedencia SASP

El navegador carga el contrato canónico desde:

https://cabranetdigital.com/webmcp/saspien.verify-url.json

Cabranet Digital SL declara ese artefacto exacto en su manifiesto SASP raíz:

https://cabranetdigital.com/manifest.json

El manifiesto publica un digest SHA-256 del contrato. PRUEBA SASPIEN puede
verificar el dominio del publicador, la declaración, el artefacto del mismo
origen y los bytes del contrato antes de que un agente confíe en los metadatos
registrados.

### Seguridad y limitaciones

- Ambas vías son de solo lectura, solo HTTPS, con límite de solicitudes y
  protección frente a destinos de red privados o reservados.
- La API REST pública admite llamadas de otros orígenes, usa un límite separado
  del endpoint del navegador y devuelve `Retry-After` en respuestas 429.
- La vía WebMCP sigue siendo del mismo origen y requiere la página Verificar.
- La salida se marca como no confiable porque puede contener datos controlados
  por el destino.
- WebMCP es un borrador de un Community Group del W3C fechado el 11 de junio de
  2026, no un estándar W3C, y la compatibilidad es experimental.
- No es un servidor MCP. WebMCP requiere la página Verificar; REST no requiere
  navegador y usa el endpoint público.
- SASP autentica el contrato publicado, pero no proporciona atestación remota
  del bundle JavaScript que se ejecuta en el navegador.
- El resultado es evidencia, no una certificación ni una garantía de seguridad,
  integridad o fiabilidad.

Borrador de la especificación: https://webmachinelearning.github.io/webmcp/
