Korzen
Bot Protection

Tu asistente de IA (MCP)

Pregunta a Claude, Codex o Cursor por qué se bloqueó una petición o qué atacó tu sitio: un servidor MCP de solo lectura lee las vistas de tu propio panel con una clave MCP.

Bot Protection tiene un servidor MCP: tu asistente de IA puede leer las vistas de tu panel y responder "¿por qué se bloqueó esta petición?", "¿qué atacó /login ayer?" o "¿qué IA leyeron mi sitio esta semana?". Lee los mismos datos que te muestra el panel, solo de tu cuenta. Es de solo lectura: no cambia ningún ajuste, no llama a /v1/decide y no envía nada a ninguna parte.

Crea una clave MCP

En la página Configuración del panel, en Claves MCP, elige Crear una clave MCP. Empieza por kz_mk_ y se muestra una sola vez: cópiala en la configuración de tu asistente. Quien puede crear una clave de API puede crear una. Una clave MCP no es una clave de API: solo funciona en el servidor MCP, y allí se rechaza una clave de API. Mantenla fuera de cualquier repositorio, como cualquier secreto.

El servidor está en https://korzen.dev/bot-protection/mcp, por Streamable HTTP. Cada cliente envía la clave en el header Authorization: Bearer.

Conecta tu asistente

Claude Code

claude mcp add --transport http korzen https://korzen.dev/bot-protection/mcp \
  --header "Authorization: Bearer $KORZEN_MCP_KEY"

Claude Desktop

En claude_desktop_config.json (Settings, Developer, Edit config), a través de mcp-remote, que pasa el header:

{
  "mcpServers": {
    "korzen": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://korzen.dev/bot-protection/mcp", "--header", "Authorization:${KORZEN_MCP_HEADER}"],
      "env": { "KORZEN_MCP_HEADER": "Bearer kz_mk_..." }
    }
  }
}

Codex

En ~/.codex/config.toml, con la clave en la variable de entorno KORZEN_MCP_KEY:

[mcp_servers.korzen]
url = "https://korzen.dev/bot-protection/mcp"
bearer_token_env_var = "KORZEN_MCP_KEY"

Cursor

En ~/.cursor/mcp.json, o en .cursor/mcp.json de un proyecto:

{
  "mcpServers": {
    "korzen": {
      "url": "https://korzen.dev/bot-protection/mcp",
      "headers": { "Authorization": "Bearer ${env:KORZEN_MCP_KEY}" }
    }
  }
}

Los conectores web de Claude y de ChatGPT piden iniciar sesión con OAuth, que el servidor aún no ofrece: usa un cliente que acepte un header, como arriba.

Las herramientas

HerramientaQué lee
get_decisionuna decisión, por el request_id que respondió /v1/decide: su clase, bot score, tipos de evidencia, país, red y crawler, como la muestra la página Decisiones, con tus umbrales
list_decisionslas filas de la página Decisiones, con sus filtros: find (un request ID, una IP o un User-Agent), path, class, country, asn, crawler, evidence, ua, since, older, y hasta 50 filas con limit
attackslos ataques del resumen, con las decisiones y los bots de la ventana; since es 24h, 7d o 30d
ai_trafficla página de tráfico de IA: qué crawlers y asistentes de IA leen tu sitio, con qué frecuencia y qué páginas; since como arriba

Cada respuesta es JSON. Lo que escribieron tus visitantes, una ruta o la familia de un User-Agent, va en visitor_supplied, con los caracteres de control, bidireccionales y de ancho cero escritos como escapes \u{...}: un visitante puede poner en un User-Agent palabras dirigidas a tu asistente, y el servidor las entrega como datos, nunca como instrucción. Mantén activada en tu cliente la aprobación de las llamadas a herramientas.

Lo que el servidor nunca hace

  • Nunca cambia nada: ningún ajuste, regla, clave ni plan.
  • Nunca lee datos de otra cuenta: una clave lee solo su propia cuenta.
  • Nunca llama a /v1/decide, envía un evento ni cuenta como decisión: es gratis.
  • Nunca envía tus datos a terceros, y nunca registra tu clave ni lo que respondió una herramienta: la línea de log de cada llamada guarda la herramienta, los nombres de sus argumentos y el tamaño de la respuesta.
  • Nunca muestra más que el panel, ni cómo decide la detección.

Límites

Cada clave MCP hace hasta 60 llamadas por minuto y 2.000 al día; pasado eso el servidor responde 429 con los headers RateLimit y Retry-After. Una llamada responde en 5 segundos como mucho, o dice que tardó demasiado. Una cuenta guarda hasta 25 claves MCP.

Revoca una clave

En la página Configuración, cada clave MCP muestra cuándo se creó y cuándo se usó por última vez, al minuto. Revocar la detiene al instante: la siguiente llamada del asistente se rechaza con 401. Tus claves de API y las llamadas de tu servidor no se ven afectadas.