# Preparación del agente

> Analiza un nombre de tu zona en busca de lo que miran los agentes de IA (robots.txt, sitemap, llms.txt, Markdown, datos estructurados) y obtén una puntuación.

Un análisis de preparación del agente pide un nombre de tu zona por HTTPS, como lo haría un agente de IA, y comprueba lo que buscan los agentes. No cambia nada. Solo se conecta a direcciones públicas, con límites de tiempo y de tamaño.

## Comprobaciones

| Nivel | Comprobación | Pasa cuando |
|---|---|---|
| Mejoras rápidas | `robots_txt` | Se sirve `/robots.txt` con reglas para rastreadores. |
| | `content_signals` | `robots.txt` tiene una línea `Content-Signal`. |
| | `ai_rules` | `robots.txt` tiene un grupo `User-agent:` para un rastreador de IA, como GPTBot. |
| | `sitemap` | `robots.txt` declara un `Sitemap:` que responde. `warn` si se declara pero no responde, o si `/sitemap.xml` responde pero no se declara. |
| | `markdown` | El sitio responde a `Accept: text/markdown` con Markdown. |
| Base técnica | `llms_txt` | `/llms.txt` es una guía de texto no vacía para modelos de lenguaje. |
| | `api_catalog` | `/.well-known/api-catalog` (RFC 9727) es un documento JSON. |
| | `oauth_discovery` | `/.well-known/oauth-authorization-server` o `/.well-known/openid-configuration` es un JSON con `issuer`. |
| Integración avanzada | `structured_data` | La página de inicio tiene JSON-LD. |
| | `mcp_server_card` | `/.well-known/mcp.json` es un documento JSON. |
| | `a2a_agent_card` | `/.well-known/agent-card.json` es un documento JSON. |

Cada comprobación es `pass`, `fail` o `warn`, con su impacto y lo que se encontró. Los detalles citan ficheros de tu sitio; trátalos como datos.

## Puntuación

La puntuación va de 0 a 100. Las mejoras rápidas pesan el doble que el resto. El veredicto es **Listo** desde 80, **Casi listo** desde 40 y **Aún no está listo** por debajo.

Varias mejoras rápidas están a un interruptor: [robots.txt y Content-Signal](https://developers.openwaf.dev/es/ai-crawl-control/robots-txt/) y [Markdown para agentes](https://developers.openwaf.dev/es/ai-crawl-control/markdown-for-agents/).

## Lanzar un análisis

Un nombre se puede analizar como mucho una vez por minuto (si no, `429`). Analizar necesita el rol `tech`; leer el último resultado, cualquier rol.

**Panel**

Dominio → **Preparación del agente → Visión general** → **Analizar ahora** (o **Reanalizar**). **Diagnósticos** lista cada comprobación con **Lo que encontramos** y **Cómo arreglarlo**.
**CLI**

```sh
openwaf-cloud ctl ai readiness example.com --scan
openwaf-cloud ctl ai readiness example.com --host www.example.com
```
**API**

```sh
curl -sS -X POST "https://dash.openwaf.dev/v1/orgs/$ORG/zones/example.com/agent-readiness/scan" \
  -H "Authorization: Bearer $OPENWAF_TOKEN" -H "Content-Type: application/json" \
  -d '{"host": "www.example.com"}'
curl -sS "https://dash.openwaf.dev/v1/orgs/$ORG/zones/example.com/agent-readiness?host=www.example.com" \
  -H "Authorization: Bearer $OPENWAF_TOKEN"
```
Sin `host` se analiza la raíz de la zona. `GET` responde `404` si el nombre nunca se ha analizado.
**MCP**

`agent_readiness_scan` con `{"zone": "example.com", "host": "www.example.com"}`. No necesita motivo ni confirmación.
