Korzen
Bot Protection

Ihr KI-Assistent (MCP)

Fragen Sie Claude, Codex oder Cursor, warum eine Anfrage blockiert wurde oder was Ihre Website angegriffen hat: Ein schreibgeschützter MCP-Server liest mit einem MCP-Schlüssel die Ansichten Ihres eigenen Dashboards.

Bot Protection hat einen MCP-Server: Ihr KI-Assistent kann die Ansichten Ihres Dashboards lesen und Fragen beantworten wie „Warum wurde diese Anfrage blockiert?“, „Was hat gestern /login angegriffen?“ oder „Welche KIs haben diese Woche meine Website gelesen?“. Er liest dieselben Daten, die Ihnen das Dashboard zeigt, nur die Ihres Kontos. Er ist schreibgeschützt: Er ändert keine Einstellung, ruft kein /v1/decide auf und sendet nichts irgendwohin.

Einen MCP-Schlüssel erstellen

Wählen Sie auf der Seite Einrichtung des Dashboards unter MCP-Schlüssel die Option MCP-Schlüssel erstellen. Er beginnt mit kz_mk_ und wird nur einmal angezeigt: Kopieren Sie ihn in die Konfiguration Ihres Assistenten. Wer einen API-Schlüssel erstellen darf, darf auch diesen erstellen. Ein MCP-Schlüssel ist kein API-Schlüssel: Er funktioniert nur am MCP-Server, und ein API-Schlüssel wird dort abgelehnt. Halten Sie ihn aus jedem Repository heraus, wie jedes Geheimnis.

Der Server ist unter https://korzen.dev/bot-protection/mcp erreichbar, über Streamable HTTP. Jeder Client sendet den Schlüssel im Header Authorization: Bearer.

Ihren Assistenten verbinden

Claude Code

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

Claude Desktop

In claude_desktop_config.json (Settings, Developer, Edit config), über mcp-remote, das den Header weitergibt:

{
  "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

In ~/.codex/config.toml, mit dem Schlüssel in der Umgebungsvariable KORZEN_MCP_KEY:

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

Cursor

In ~/.cursor/mcp.json oder in .cursor/mcp.json eines Projekts:

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

Die Web-Konnektoren von Claude und ChatGPT verlangen eine Anmeldung mit OAuth, die der Server noch nicht anbietet: Nutzen Sie einen Client, der einen Header annimmt, wie oben.

Die Tools

ToolWas es liest
get_decisioneine Entscheidung, über die request_id, die /v1/decide geantwortet hat: ihre Klasse, ihr Bot-Score, die Arten von Hinweisen, Land, Netz und Crawler, wie die Seite Entscheidungen sie zeigt, mit Ihren Schwellenwerten
list_decisionsdie Zeilen der Seite Entscheidungen, mit ihren Filtern: find (eine Request-ID, eine IP oder ein User-Agent), path, class, country, asn, crawler, evidence, ua, since, older, und bis zu 50 Zeilen über limit
attacksdie Angriffe der Übersicht, mit den Entscheidungen und Bots des Zeitraums; since ist 24h, 7d oder 30d
ai_trafficdie Seite KI-Traffic: welche KI-Crawler und -Assistenten Ihre Website lesen, wie oft und welche Seiten; since wie oben

Jede Antwort ist JSON. Was Ihre Besucher geschrieben haben, ein Pfad oder die Familie eines User-Agents, steht unter visitor_supplied, Steuer-, Bidi- und Nullbreitenzeichen als \u{...}-Escapes geschrieben: Ein Besucher kann Worte für Ihren Assistenten in einen User-Agent schreiben, und der Server gibt sie als Daten weiter, nie als Anweisung. Lassen Sie in Ihrem Client die Freigabe von Tool-Aufrufen eingeschaltet.

Was der Server nie tut

  • Er ändert nie etwas: keine Einstellung, keine Regel, keinen Schlüssel, keinen Plan.
  • Er liest nie die Daten eines anderen Kontos: Ein Schlüssel liest nur sein eigenes Konto.
  • Er ruft nie /v1/decide auf, sendet kein Event und zählt nicht als Entscheidung: Er ist kostenlos.
  • Er sendet Ihre Daten nie an Dritte und protokolliert nie Ihren Schlüssel oder die Antwort eines Tools: Die Logzeile jedes Aufrufs enthält das Tool, die Namen seiner Argumente und die Größe der Antwort.
  • Er zeigt nie mehr als das Dashboard, und auch nicht, wie die Erkennung entscheidet.

Limits

Jeder MCP-Schlüssel macht bis zu 60 Aufrufe pro Minute und 2.000 pro Tag; darüber antwortet der Server mit 429 und den Headern RateLimit und Retry-After. Ein Aufruf antwortet innerhalb von 5 Sekunden oder meldet, dass er zu lange gedauert hat. Ein Konto hat bis zu 25 MCP-Schlüssel.

Einen Schlüssel widerrufen

Auf der Seite Einrichtung zeigt jeder MCP-Schlüssel, wann er erstellt und wann er zuletzt genutzt wurde, auf die Minute. Widerrufen stoppt ihn sofort: Der nächste Aufruf des Assistenten wird mit 401 abgelehnt. Ihre API-Schlüssel und die Aufrufe Ihres Servers sind nicht betroffen.