MCP für Agenten
MCP für Agenten
Section titled “MCP für Agenten”ZPO spricht das Model Context Protocol
(MCP) — damit arbeiten Agenten wie Claude Code direkt mit ZPO, ohne die
REST-API zu kennen. Die Schnittstelle liegt unter /mcp (Streamable HTTP,
zustandslos).
Was ein Agent darf
Section titled “Was ein Agent darf”| Bereich | Lesen | Ändern |
|---|---|---|
| Dienste (inkl. Wartung), Backend-Pools | ja | ja |
| Fehlerprofile (Fehler-, Sperr- und Prüfseiten) | ja | ja |
| Standorte, Knoten, DNS-Einträge, Zertifikate | ja | nein |
| Abgleich, Ereignisse, Statistik, Metriken, Audit-Log | ja | nein |
| CrowdSec (LAPIs, Sperren, Allowlists, Sperrstufen) | ja | nein |
| Einstellungen (Allgemein, Alarme, Sicherung, Profile, IP-Gruppen) | ja | nein |
| Benutzer und API-Schlüssel | nein | nein |
Zusätzlich gelten die Rechte des Benutzers, dem der Schlüssel gehört — wer
nur die Rolle „viewer” hat, ändert auch über MCP nichts. Jede Änderung steht
im Audit-Log mit der Adresse mcp. Geheimnisse (Passwörter, Schlüssel)
liefert ZPO auch hier nie aus.
Schlüssel anlegen
Section titled “Schlüssel anlegen”Unter Einstellungen → API-Schlüssel einen Schlüssel mit der Berechtigung
MCP anlegen. Er gilt nur an /mcp; umgekehrt kommt ein gewöhnlicher
Schlüssel nicht an die MCP-Schnittstelle.
Agent anbinden
Section titled “Agent anbinden”Claude Code:
claude mcp add --transport http zpo https://zpo.example.com/mcp --header "Authorization: Bearer zpo_…"Andere Clients tragen dieselbe Adresse ein und schicken den Schlüssel als
Authorization: Bearer zpo_… oder X-API-Key: zpo_….
Werkzeuge
Section titled “Werkzeuge”Lesend: system_info, list_sites, get_site, list_proxy_nodes,
list_dns_nodes, list_dns_records, list_services, get_service,
service_metrics, list_pools, get_pool, list_certificates,
list_acme_accounts, list_dns_providers, sync_status, list_events,
stats, list_audit, crowdsec_overview, crowdsec_bans,
crowdsec_allowlists, crowdsec_stages, list_ip_groups,
list_performance_profiles, list_security_profiles,
list_error_profiles, get_error_profile, get_settings.
Ändernd: create_service, update_service, set_service_maintenance,
delete_service, create_pool, update_pool, delete_pool,
create_error_profile, update_error_profile, delete_error_profile.
update_service und update_pool erwarten das ganze Objekt, so wie
get_service bzw. get_pool es liefern — fehlende Felder gelten als leer.
Unbekannte Felder lehnt ZPO ab, damit ein Tippfehler auffällt.