# ai

> Órdenes openwaf-cloud ctl ai para los informes de rastreadores y agentes de IA, MCP Shield, el catálogo de bots de IA y los escaneos de preparación para agentes.

Para cambiar los ajustes de agentes de IA de una zona o de un nombre, usa [`zones set`](https://developers.openwaf.dev/es/cli/reference/zones/#zones-set) con las claves `ai_agents.*`.

## ai report

```text
ai report <zona> [--host <nombre>] [--range 24h|7d|30d] [--view <vista>] [--bot <id>] [--category <c>] [--kind <k>] [--limit N] [--json]
```

Cómo usan la zona los agentes y rastreadores de IA.

| Opción | Significado |
|---|---|
| `--host <nombre>` | Solo este nombre de la zona. |
| `--range` | Periodo hasta ahora: `24h` (por defecto), `7d` o `30d`. |
| `--view` | Qué enseñar (abajo). Por defecto `overview`. |
| `--bot <id>` | Solo este bot del catálogo. Obligatoria con `--view spoofers`. |
| `--category <c>` | Solo esta categoría: `ai_training`, `ai_search`, `ai_user_agent`, `search_engine`, `unverified_automation`, `spoofed` o `human`. |
| `--kind <k>` | Con `--view events`: solo estos tipos de evento, separados por comas. |
| `--limit N` | Con `--view events`: como mucho N eventos (máximo 500). |

| Vista | Enseña |
|---|---|
| `overview` | Peticiones por categoría y decisiones, frente al periodo anterior. |
| `crawlers` | Cada bot con su operador, categoría, peticiones (permitidas, fallidas, verificadas, suplantadas), ráfagas y la acción aplicada. |
| `spoofers` | Peticiones que dicen ser un bot sin serlo (requiere `--bot`): direcciones, países y redes. |
| `optimization` | Recuperaciones de contenido para respuestas de IA, las páginas que más pide la IA y las peticiones de páginas que no existen. |
| `signals` | Peticiones de `robots.txt` por nombre con su estado y si llevan señales de contenido, y los bots que no respetan `robots.txt`. |
| `traps` | Cuántas veces se insertó y se siguió el enlace trampa, y quién lo siguió. |
| `bursts` | Ráfagas de peticiones de agentes (muchos endpoints en segundos, enumeración de ids, paginación) y quién las envió. |
| `endpoints` | Endpoints de IA con sus peticiones, inyecciones, peticiones limitadas, bloqueadas y que se bloquearían, y las detecciones. |
| `events` | Los últimos eventos uno a uno: hora, tipo, bot, categoría, decisión, dirección, nombre, ruta y estado. |

```sh
openwaf-cloud ctl ai report example.com --range 7d --view crawlers
openwaf-cloud ctl ai report example.com --view spoofers --bot gptbot
openwaf-cloud ctl ai report example.com --view events --kind mcp_injection_response,mcp_dlp --limit 50
```

## ai mcp

```text
ai mcp <zona> [--host <nombre>] [--range 24h|7d|30d] [--json]
```

MCP Shield: por endpoint MCP, sus peticiones, mensajes JSON-RPC, mensajes bloqueados (o que se bloquearían), mensajes con detecciones y respuestas que pasaron sin revisar; por herramienta, sus llamadas, bloqueos y detecciones.

```sh
openwaf-cloud ctl ai mcp example.com --range 7d
```

## ai catalog

```text
ai catalog [--json]
```

El catálogo de bots de IA contra el que verifica el borde: id, nombre, operador, categoría, métodos de verificación y rangos de direcciones publicados de cada bot.

## ai readiness

```text
ai readiness <zona> [--host <nombre>] [--scan] [--json]
```

Lo preparado que está un nombre para los agentes de IA (reglas de IA y señales de contenido en robots.txt, sitemap, `llms.txt`, markdown, datos estructurados…), según su último escaneo.

| Opción | Significado |
|---|---|
| `--host <nombre>` | Solo este nombre. |
| `--scan` | Escanear ahora. Requiere el rol Técnico; como mucho una vez por nombre y minuto. |
