AI asistent mi upravuje obsah webu, ale nemá administrátorský účet ani prístup do databázy. V LydiaCMS je to obyčajný používateľ s obmedzenými oprávneniami a všetko, čo urobí, sa zapíše do auditného logu. Rutinné úpravy textov, SEO a prekladov mu preto môžem zveriť a stále viem, čo sa zmenilo.
Čo sa môže pokaziť a čo s tým systém robí
Asistent urobí chybu
Každá zmena sa zapíše do auditného logu so starou a novou hodnotou a administrácia ju ukáže ako rozdiel. Vidím tak, kto zmenu vykonal a čo presne sa v texte zmenilo, a zlú úpravu vrátim jedným kliknutím.
Zmenu je možné vrátiť len vtedy, keď sa záznam odvtedy nezmenil. Ak áno, systém vrátenie odmietne a vypíše, ktoré polia sa medzitým zmenili, takže sa neprepíše novšia práca. Vracanie sa týka stránok a ďalších obsahových záznamov. Pri používateľoch a rolách ho zámerne nenaponúkam.
Asistent chce viac, než smie
MCP server beží pod konkrétnym používateľom a každá operácia prechádza rovnakou kontrolou oprávnení (ACL) ako administrácia. Asistent nemôže spravovať používateľov ani roly a nikto nemôže prideliť viac práv, než má sám. Ako sa oprávnenia dedia po strome kontextov, popisuje Architektúra.
Do obsahu sa dostane škodlivý kód
HTML sa pri ukladaní filtruje podľa zoznamu povolených značiek a atribútov (HTMLPurifier). Skripty a nepovolené atribúty sa z obsahu odstránia bez ohľadu na to, kto ho poslal.
Server volá niekto nepovolaný
Nástroje s oprávnením vyžadujú zdieľaný token. Keď nie je token nastavený, server nepustí nikoho. Token sa číta z prostredia až pri volaní, takže nekončí v skompilovanom DI kontajneri.
Ako to používam
Takto upravujem aj obsah tohto webu: texty stránok, ich SEO vlastnosti (slug, titulok, popis), nahrávanie obrázkov a preklady. Nástroje vznikajú z registrovaných endpointov administračného API a volajú sa podľa nich, napríklad core_pages_update alebo core_translations_set. Ďalšie balíčky pridávajú vlastné nástroje, napríklad správu miest a krajín v balíčku location.
Pod pokrievkou: jedno API, dva transporty
- Lokálne STDIO v
lydiacms/core. MCP klient spustílydiacms:mcpcez Docker, CLI alebo SSH, takže nie je potrebný žiadny verejný HTTP endpoint. - Streamable HTTP v
lydiacms/api. Rovnaké schopnosti je možné vzdialene sprístupniť cez/api/mcpa overovať webservice Bearer tokenom. Vzdialený prístup sa musí zapnúť výslovne.