Možná vás taky láká nechat AI asistenta (já si hraju s Claude Code) připravovat příspěvky rovnou ve WordPressu – a zároveň vám z té představy naskakuje husina, protože byste jí kvůli tomu museli dát do ruky celé REST API a administrátorský účet. Mně teda naskakovala:) Když jsem si tohle rozjížděl na svém webu hilgert.cz, hledal jsem cestu, jak AI pustit jen k pár konkrétním, ohlídaným akcím, a ne jí předat klíče od celého baráku. A ono to jde. Pojďme si projít, co k tomu potřebujete, co kde nastavit a hlavně proč to takhle dává smysl – a rovnou ukážu i cestu, jak se obejít úplně bez psaní kódu.
Co budeme skládat dohromady?
Celé to stojí na třech dílcích, kde každý má jednu roli:
- Abilities API – registr „schopností“ webu. Každá schopnost (ability) je pojmenovaná akce, např.
create-post, s jasně danými vstupy a kontrolou oprávnění. - MCP Adapter – plugin, který tyhle schopnosti vystaví ven přes protokol MCP, aby na ně AI klient dosáhl.
- MCP klient – tady Claude Code, ale funguje libovolný nástroj, který MCP umí.
K tomu budete potřebovat WordPress 6.9+, jeden Application Password a chvilku na nastavení. Pojďme na to popořadě.
Je potřeba něco instalovat? (Abilities API)
Dobrá zpráva: pokud jedete na WordPressu 6.9 nebo novějším, Abilities API je rovnou v jádře a nemusíte instalovat nic. Ve zkratce jde o registr akcí – místo abyste AI pustili k „libovolnému SQL“, definujete přesně ohraničené schopnosti, u kterých si pohlídáte, kdo a co s nimi smí.
Kde vzít MCP Adapter?
MCP Adapter je oficiální plugin, ale pozor – nenajdete ho v adresáři pluginů na WordPress.org, takže ho v adminu přes vyhledávání jen tak nedohledáte. Bydlí na GitHubu v repozitáři WordPress/mcp-adapter. Nejjednodušší je stáhnout poslední mcp-adapter.zip ze sekce Releases a nahrát ho v adminu přes Pluginy → Přidat nový → Nahrát plugin – stejně jako kterýkoli jiný plugin ze ZIPu. Po aktivaci vystaví schopnosti jako MCP nástroje na adrese typu https://vasweb.cz/wp-json/mcp/mcp-adapter-default-server. Tím máte most mezi WordPressem a MCP hotový – jen zatím nemá co nabízet.
Jak přidat akce, aniž byste psali řádek kódu?
Samotný adapter totiž žádné akce neumí – jen vystavuje to, co je přes Abilities API zaregistrované. Potřebujete tedy něco, co schopnosti pro práci s příspěvky zaregistruje. A tady mám dobrou zprávu: dost možná si vystačíte úplně bez kódu.
Plugin Enable Abilities for MCP z oficiálního adresáře přidá rovnou desítky hotových schopností – správu příspěvků, stránek, komentářů a médií, ale třeba i WooCommerce nebo SEO (Yoast, Rank Math, SEOPress). V jeho administraci si pak přepínači zaškrtnete přesně to, co chcete AI zpřístupnit, a zbytek necháte vypnutý. Pro většinu lidí je tohle úplně dostačující start.
Pokud chcete akce přesně na míru, napíšete si vlastní mini-plugin a schopnosti zaregistrujete přes wp_register_ability() na hooku wp_abilities_api_init. Já jsem touhle cestou nakonec šel, protože jsem chtěl mít pod palcem hlavně to, co která akce smí – u každé schopnosti si totiž nastavíte vlastní permission_callback, tedy přesně kdo a co s ní zvládne.
Celý svůj mini-plugin (jen pár schopností pro práci s příspěvky) jsem dal jako veřejný gist na GitHubu – klidně si ho vezměte jako základ a osekejte nebo přidejte, co potřebujete:
Důležité. Zaregistrované schopnosti nejsou do MCP vidět automaticky. Aby je AI vůbec uviděla, musí mít v metadatech příznak mcp.public = true. Je to whitelist, ne blacklist – co výslovně nepovolíte, zůstává schované. Mně osobně se tak spí o dost klidněji.
Jak se klient k webu přihlásí?
MCP klient se k webu hlásí přes Application Password, což je standardní součást WordPressu. Vygenerujete ho v Uživatelé → Váš profil → Application Passwords: zadáte název (třeba „MCP klient“), WordPress vytvoří heslo a ukáže vám ho jen jednou – tak si ho hned zkopírujte. Tip z praxe: nepoužívejte na to admina, ale založte AI radši samostatného uživatele s omezenou rolí. Když se něco zvrtne, neprojde to přes celý web.
Jak připojit MCP klienta?
V Claude Code (a podobných nástrojích) se MCP servery nastavují v souboru .mcp.json. Přidáme do něj HTTP transport, adresu z předchozího kroku a Basic auth s naším Application Password (uživatelské jméno a heslo zakódované do Base64):
{
"mcpServers": {
"wordpress": {
"type": "http",
"url": "https://vasweb.cz/wp-json/mcp/mcp-adapter-default-server",
"headers": {
"Authorization": "Basic BASE64_UZIVATEL_DVOJTECKA_HESLO"
}
}
}
}
Ten řetězec za Basic není heslo samo o sobě – je to uživatelské jméno a heslo spojené dvojtečkou a zakódované do Base64, tedy jméno:heslo. Když se třeba uživatel jmenuje mcp-redaktor a jeho application password je abcd EFGH ijkl MNOP, zakóduje se přesně tenhle text – i s mezerami v hesle:
mcp-redaktor:abcd EFGH ijkl MNOP
Z toho vznikne Base64 podoba, kterou vložíte za Basic :
bWNwLXJlZGFrdG9yOmFiY2QgRUZHSCBpamtsIE1OT1A=
Zakódovat si to můžete několika způsoby – nejbezpečnější lokálně, ať heslo neopustí váš počítač:
- V terminálu (Linux/macOS):
printf '%s' 'mcp-redaktor:abcd EFGH ijkl MNOP' | base64. Použijteprintf(neboecho -n) – jinak se na konec přidá neviditelný řádkový zlom a přihlášení selže. - V konzoli prohlížeče (F12 → Console):
btoa('mcp-redaktor:abcd EFGH ijkl MNOP').
Klient si podle type: http a url najde server a hlavičkou Authorization se přihlásí. Důležité. Hlavně dejte pozor, ať vám soubor .mcp.json s heslem nikam neunikne – třeba do veřejného gitového repozitáře. Klidně si ho rovnou přidejte do .gitignore.
Ještě jeden předpoklad k té adrese: tvar s /wp-json/ funguje, jen když máte zapnuté hezké (pretty) permalinky. Na výchozích plain permalinkách vám endpoint vrátí 404, takže sáhněte po tvaru https://vasweb.cz/?rest_route=/mcp/mcp-adapter-default-server.
A funguje to?
Po připojení by měl klient vidět nástroje jako discover-abilities, get-ability-info a execute-ability. Pak už stačí napsat třeba „vypiš poslední příspěvky“, „založ koncept článku o X“ nebo „zkontroluj mi gramatiku a překlepy v mých příspěvcích“ a ono se to stane. Jen pozor – cokoli AI takhle spustí, se děje na živém webu, takže dokud si nejste jistí, hrajte si radši na lokálu nebo stagingu. Mimochodem – tenhle zápisek jsem do WordPressu založil přesně takhle, jako koncept přes MCP:)
Závěr
Celé kouzlo je v tom, že AI nedostane široký přístup do webu, ale jen úzká, ohlídaná dvířka – přesně ta, co zrovna potřebuje, a ani o klíč víc. A pokud vám stačí běžná správa příspěvků, dost možná se obejdete úplně bez kódu a vystačíte si s pluginem Enable Abilities for MCP. Až budete chtít něco extra na míru, doplníte si vlastní schopnost. Mně tahle hračička udělala radost – a snad bude užitečná i vám:)
Kde se dočíst víc: hezký úvod do celé téhle novinky najdete na WordPress Developer Blogu, kód a dokumentaci pak v repu WordPress/mcp-adapter.