Agent Pilot
Agent Pilot transformă site-ul tău WordPress într-un server MCP (Model Context Protocol) remote și securizat. Instalează-l, conectează Claude — de pe claude.ai în browser, din Claude Desktop sau din Claude Code — și site-ul tău devine ceva ce Claude poate efectiv să opereze: caută articole și produse, redactează și editează pagini fidel brandului, actualizează comenzi WooCommerce, moderează comentarii, golește cache-uri și multe altele.
Partea grea în a oferi unui AI acces la site-ul tău este să o faci în siguranță. Agent Pilot este construit exact în jurul acestei probleme. Fiecare conexiune trece printr-un handshake complet OAuth 2.1, fiecare access token este legat de un anumit utilizator WordPress, iar fiecare tool reverifică capabilitățile acelui utilizator înainte să ruleze. Claude nu poate face niciodată mai mult decât persoana care i-a acordat accesul — și tot ce face este scris într-un audit log pe care îl poți inspecta și revoca oricând.

Puncte forte
- Bazat pe standarde și agnostic față de client. Un server MCP conform peste transportul Streamable-HTTP, cu OAuth 2.1 complet (authorization code + PKCE + refresh, Dynamic Client Registration). Funcționează out of the box cu connectorii custom claude.ai, cu Claude Desktop și cu Claude Code.
- Multi-utilizator și multi-instanță. Conectează mai multe instanțe Claude — chiar și ca utilizatori WordPress diferiți. Fiecare token este legat de utilizatorul care l-a aprobat și limitat la rolul acelui utilizator. Connectorul unui shop manager vede doar ce poate face un shop manager.
- 25 de tool-uri integrate în patru permission scopes — read, content authoring, WooCommerce și administrarea site-ului — plus un scope opțional pentru baza de cunoștințe Chatbot Pilot și orice tool-uri pe care le contribuie alte plugin-uri Pilot (facturare, mail tranzacțional, securitate, SEO, abonamente).
- Control al tool-urilor per rol și per utilizator. Un ecran dedicat Tools activează sau dezactivează fiecare tool — sau un întreg scope — pentru orice rol WordPress sau utilizator individual. Administratorii primesc totul în mod implicit; orice alt rol pornește gol și primește exact ce îi trebuie.
- Editări de conținut chirurgicale.
wp_replace_in_postface editări de tip find-and-replace țintite, astfel încât Claude poate corecta o greșeală de tastare pe o pagină Divi sau Elementor fără să rescrie mii de linii de markup de builder. - Apărare în profunzime. Un ecran de consimțământ, verificări duble scope-to-capability, confirmare per apel pentru acțiunile distructive, un audit log complet, rate limiting, o IP allowlist opțională și rotirea cheilor dintr-un click.
- Criptat at rest. Cheia de semnare OAuth este generată la activare și stocată criptat cu salts-urile tale WordPress (sau păstrată într-un fișier în afara bazei de date, dacă preferi).
- Fără lock-in, fără telemetrie. Self-hosted. Datele tale și credentialele furnizorului tău AI nu ajung niciodată pe serverele noastre.
Cum funcționează
Două standarde deschise duc greul:
- OAuth 2.1 răspunde la “cine are voie să intre și ce poate face?”. Când un client Claude îți ajunge prima oară la site nu are niciun token, așa că este trimis printr-un flux de login și consimțământ. Un administrator aprobă un set de scopes, iar clientul primește un access token semnat și limitat în timp.
- MCP (Model Context Protocol) răspunde la “ce poate agentul efectiv să facă?”.
Odată autentificat, Claude apelează un singur endpoint care expune o listă de
tool-uri —
wp_list_posts,wp_save_post,wc_list_ordersși așa mai departe. Claude vede doar tool-urile pe care tokenul său are voie să le folosească.
Discovery-ul, login-ul, consimțământul și schimbul de token se întâmplă toate automat prima oară când adaugi connectorul. De atunci, Claude se reconectează discret folosind refresh tokenul.
Cerințe
| Componentă | Recomandat |
|---|---|
| WordPress | 5.8 sau mai nou (testat până la 7.0) |
| PHP | 8.0 sau mai nou |
| WooCommerce | 7.0+ (opțional — tool-urile Woo apar doar când este activ) |
| Chatbot Pilot | opțional — tool-urile bazei de cunoștințe apar doar când este activ |
| HTTPS | Necesar pentru claude.ai web; recomandat peste tot |
| WordPress salts | AUTH_KEY / SECURE_AUTH_KEY unice în wp-config.php (folosite pentru criptarea cheii de semnare) |
| Accesibilitate | claude.ai se conectează din cloudul Anthropic, deci site-ul trebuie să fie accesibil public pentru clientul web (clienții locali pot folosi un URL local) |
Instalare
- Deschide Plugins → Add New → Upload Plugin în adminul WordPress și încarcă fișierul ZIP Agent Pilot.
- Activează Agent Pilot. La activare își creează tabelele din baza de date,
acordă capability-ul
manage_agent_pilotadministratorilor și generează automat cheile de semnare OAuth. - Deschide Agent Pilot → Connectors. Copiază URL-ul MCP endpoint afișat în partea de sus — aceasta este adresa pe care i-o dai lui Claude.
- Adaugă connectorul în clientul tău Claude (vezi mai jos) și finalizează login-ul + consimțământul de o singură dată.
Conectarea lui Claude
Tot ce-i trebuie unui client se află pe ecranul Connectors: MCP endpoint, issuer-ul OAuth și o comandă gata de lipit pentru Claude Code.

claude.ai (web) și Claude Desktop
În Claude, deschide Settings → Connectors → Add custom connector și lipește MCP
endpoint-ul tău (de exemplu https://your-site.com/wp-json/agent-pilot/v1/mcp).
Claude deschide pagina de login a site-ului tău, tu aprobi ecranul de consimțământ,
iar connectorul este gata. Clientul web se conectează din cloudul Anthropic, deci
site-ul tău trebuie să fie accesibil prin HTTPS public.
Claude Code
claude mcp add --transport http agent-pilot https://your-site.com/wp-json/agent-pilot/v1/mcpClaude Code lansează fluxul OAuth în browserul tău; după ce aprobi, tool-urile sunt
disponibile în sesiunea ta. Rulează /mcp ca să le vezi, sau pur și simplu cere-i
lui Claude să facă ceva — “listează ultimele cinci articole draft”, “arată-mi
comenzile în procesare din această săptămână”.
Alegerea identității sub care acționează agentul
Ecranul de consimțământ rulează ca utilizatorul WordPress autentificat, iar
tokenul rezultat moștenește capabilitățile acelui utilizator. Pentru o conexiune
strict delimitată, creează un utilizator WordPress dedicat, cu un rol limitat (plus
capability-ul manage_agent_pilot ca să poată autoriza), și aprobă connectorul în
timp ce ești autentificat ca acel utilizator. Agentul va putea atunci să facă exact
ce poate face acel utilizator — și nimic mai mult.
Ce poate face Claude
Tool-urile sunt grupate în patru scopes. În timpul consimțământului tu decizi ce scopes primește un connector; la momentul apelului, fiecare tool verifică în plus capability-ul WordPress al utilizatorului legat. Ambele verificări trebuie să treacă.
Read (wp.read)
Inspecție read-only a site-ului. Sigur de acordat pe scară largă.
| Tool | Ce face |
|---|---|
wp_get_site_info | Numele site-ului, URL-uri, versiuni, tema activă, statusul WooCommerce, numărătorile de conținut |
wp_get_site_context | Tema, paleta de culori, tipografia, block patterns și un articol recent — ca să se potrivească conținutul generat cu stilul tău |
wp_list_posts | Caută și listează articole, pagini și orice custom post type |
wp_get_post | Aduce un articol/pagină cu tot conținutul și metadatele |
wp_list_terms | Listează termenii de taxonomie (categorii, etichete, categorii de produse…) |
wc_list_products / wc_get_product | Caută și citește produse WooCommerce |
wc_list_orders / wc_get_order | Caută și citește comenzi cu liniile aferente |
wc_list_customers | Caută clienți cu numărul de comenzi și totalul cheltuit |
Write content (wp.content.write)
Creează și editează conținut. Acțiunile distructive necesită un flag confirm explicit.
| Tool | Ce face |
|---|---|
wp_save_post | Creează un nou articol/pagină/CPT sau actualizează complet unul existent |
wp_replace_in_post | Find & replace țintit într-o pagină — modul sigur de a corecta o greșeală de tastare sau o linie pe o pagină de page-builder (vezi mai jos) |
wp_delete_post | Trimite la coș sau șterge definitiv un articol (confirm necesar) |
wp_upload_media | Aduce o imagine/un fișier dintr-un URL în biblioteca media |
wc_save_product | Creează sau actualizează un produs WooCommerce |
wc_save_order | Actualizează statusul unei comenzi sau adaugă o notă la comandă |
wp_comments | Listează și moderează comentarii (aprobă, dezaprobă, spam, coș) |
Administrarea site-ului (wp.manage)
Operațiuni administrative. Fiecare schimbare distructivă necesită confirmare.
| Tool | Ce face |
|---|---|
wp_options | Citește sau actualizează o opțiune WordPress (actualizările necesită confirm; secretele de plugin sunt blocate) |
wp_plugins | Listează, activează sau dezactivează plugin-uri (confirm) |
wp_themes | Listează temele instalate sau schimbă tema activă (confirm) |
wp_users | Listează, citește, creează, actualizează sau șterge utilizatori — cu protecții împotriva ștergerii propriului cont sau a ultimului administrator (confirm) |
wp_maintenance | Golește object cache-ul, golește rewrite rules, șterge tranzientele |
Bază de cunoștințe (wp.kb)
Disponibil doar când Chatbot Pilot este activ.
| Tool | Ce face |
|---|---|
kb_search | Căutare semantică (embeddings) în baza ta de cunoștințe Chatbot Pilot |
kb_stats | Statistici de indexare: fișiere scanate/indexate, chunks, ultima rulare |
kb_reindex | Declanșează o reindexare în fundal (necesită capability-ul manage) |
Tool-uri de la alte plugin-uri
Agent Pilot este extensibil: orice plugin își poate înregistra propriile scopes și tool-uri MCP, care apoi trec automat prin discovery, ecranul de consimțământ și ecranul Tools. Fiecare scope contribuit se mapează la o capability WordPress exact ca cele integrate, deci se aplică aceeași verificare dublă de scope și capability. În cadrul suitei Pilot, acestea includ deja:
| Plugin | Adaugă posibilitatea de a |
|---|---|
| Invoice Pilot | Citi facturi și emite una dintr-o comandă WooCommerce |
| Mail Pilot | Răsfoi jurnalul de trimiteri și trimite un e-mail prin mailerul site-ului |
| Security Pilot | Citi statusul de securitate și jurnalul de atacuri, bloca sau debloca un IP |
| AI SEO Pilot | Citi câmpurile SEO ale unui articol și seta meta description, focus keyword și schema |
| Subscriptions | Vedea abonamentele utilizatorilor, statusul și datele de facturare |
Ecranul Tools — acces per rol & per utilizator
Scopes decid în linii mari ce poate face un connector; ecranul Agent Pilot → Tools îți permite să mergi mai în detaliu, activând sau dezactivând tool-uri individuale — sau un întreg scope — pentru un rol WordPress sau un utilizator anume.

- Valori implicite sigure pentru admin. Administratorii primesc fiecare tool în mod implicit. Orice alt rol pornește cu niciun tool — acorzi exact ce îi trebuie, per scope sau per tool individual.
- Trei stări per rând. Implicit, Activat sau Dezactivat. O regulă la nivel de tool învinge o regulă la nivel de scope; printre rolurile unui utilizator, Dezactivat câștigă întotdeauna.
- Suprascrieri per utilizator. Tastează un nume sau un e-mail ca să încarci un singur utilizator și să-i ajustezi accesul independent de rolul său.
- Doar restrictiv, și auditat. Acest strat stă deasupra consimțământului de scope OAuth și a capabilităților WordPress — poate lua tool-uri, niciodată acorda ceva ce utilizatorul legat nu putea deja face. Fiecare apel blocat este scris în audit log.
Editarea în siguranță a paginilor de page-builder
Paginile construite cu Divi, Elementor, WPBakery și buildere similare își
stochează layout-ul ca mii de linii de shortcode sau JSON în interiorul
post_content. Rescrierea întregului conținut doar ca să corectezi o greșeală de
tastare e riscantă — un singur caracter pus greșit poate strica pagina.
wp_replace_in_post rezolvă asta. În loc să suprascrii toată pagina, îi dai lui
Claude textul exact de căutat și înlocuirea lui, și doar acei bytes se schimbă —
markupul de builder din jur este păstrat byte cu byte. Suportă mai multe editări
într-un singur apel (de exemplu o greșeală de tastare și o linie de FAQ), refuză să
acționeze când textul căutat nu este găsit și, în mod implicit, cere ca fragmentul să
fie unic, ca să nu se modifice nimic din greșeală.
Sfat: cere-i lui Claude să citească mai întâi pagina cu
wp_get_post, ca să copieze textul exact, și să rulezewp_maintenancedupă aceea dacă builderul păstrează în cache o versiune statică a paginii.
Modelul de securitate
Agent Pilot suprapune mai multe protecții independente:
- OAuth 2.1, nu o cheie partajată. Authorization-code grant cu PKCE și refresh tokens. Access tokenurile sunt JWT-uri semnate cu durată scurtă; nu există nicio parolă statică care să poată fi furată.
- Legat de un utilizator. Fiecare token poartă utilizatorul WordPress care l-a aprobat. Apelurile de tool rulează ca acel utilizator, deci regulile de rol și capability se aplică exact ca în wp-admin.
- Scope și capability. Un scope spune “acest connector poate scrie conținut”; verificarea de capability spune “acest utilizator chiar are voie.” Ambele trebuie să treacă, la fiecare apel.
- Restricționare a tool-urilor per rol / per utilizator. Pe lângă scopes, ecranul Tools poate dezactiva tool-uri individuale (sau scopes întregi) pentru un rol sau un singur utilizator. Este un strat doar restrictiv — întotdeauna aplicat, iar fiecare apel blocat este auditat.
- Consimțământ pe care îl poți citi. Ecranul de aprobare numește connectorul, arată hostul care cere accesul și listează fiecare permisiune cerută — semnalând orice nu poate de fapt acorda contul tău.
- Acțiunile distructive sunt protejate. Ștergerea de conținut, schimbarea
plugin-urilor/temelor/utilizatorilor sau actualizarea opțiunilor necesită un
confirmexplicit în request, dacă nu marchezi în mod deliberat un connector ca de încredere. - Totul este auditat. Autorizările, înregistrările, fiecare apel de tool și fiecare încercare eșuată sunt înregistrate cu utilizatorul, connectorul, timestamp-ul și IP-ul.
- Rate limiting & IP allowlist. Limite de request per connector, plus o CIDR allowlist opțională pentru deployment-uri blindate.
- Revocă și rotește. Dezactivează un connector sau un singur token dintr-un click, sau rotește cheile de semnare ca să invalidezi dintr-o dată fiecare token.
Ecranul Connectors
Agent Pilot → Connectors este centrul de comandă:
- Connect Claude to this site — MCP endpoint-ul, issuer-ul OAuth și URL-ul de metadata protected-resource, plus o comandă de copy-paste pentru Claude Code.
- Registered connectors — fiecare client care s-a înregistrat (fiecare instanță Claude este o intrare proprie), cu tipul său și un Revoke dintr-un click.
- Active access tokens — un rând per conexiune activă, care arată utilizatorul, connectorul, scopes-urile acordate și expirarea, fiecare revocabil individual.
- Signing keys — Rotate keys invalidează imediat fiecare token emis; connectorii pur și simplu reautorizează.
- Recent activity — un audit trail live. O conexiune nouă normală apare ca
auth_fail(proba inițială de discovery) →dcr(înregistrare) →authorize(aprobat) → intrăritool_callpe măsură ce Claude lucrează. Probele neautentificate care apar caauth_failsunt de așteptat pentru orice endpoint public.
Referința setărilor
Configurează comportamentul sub Agent Pilot → Settings.

| Setare | Scop |
|---|---|
| Enable MCP server | Comutatorul principal. Când e oprit, endpoint-urile OAuth și MCP returnează 503. |
| Accept new connectors | Permite Dynamic Client Registration. claude.ai web are nevoie de asta ca să se autoînregistreze; oprește-l ca să îngheți lista de connectori. |
| Trust connectors (skip confirmations) | Când e pornit, tool-urile distructive rulează fără flag-ul confirm per apel. Lasă-l oprit, pentru siguranță. |
| Access-token lifetime | Cât timp este valabil un access token, în secunde (refresh tokenurile prelungesc sesiunea). |
| MCP rate limit | Numărul maxim de request-uri MCP pe minut, per connector. |
| IP allowlist | Listă CIDR opțională. Goală = permite tot. Reține că claude.ai se conectează de pe IP-uri din cloudul Anthropic. |
| Extra redirect hosts | Hosturi suplimentare de redirect OAuth acceptate la înregistrare. claude.ai / claude.com și localhost sunt permise mereu. |
| Audit-log retention | Câte zile sunt păstrate intrările de audit înainte de curățarea automată. |
| Remove all data on uninstall | Când e activat, ștergerea plugin-ului elimină tabelele, opțiunile și capability-ul său. |
Multi-utilizator & multi-instanță
Pentru că fiecare token este legat de un utilizator WordPress, poți conecta mulți agenți deodată, cu rază de acțiune diferită:
- Conectează Claude Desktop ca editor pentru conținutul de zi cu zi, și Claude Code ca administrator pentru mentenanța site-ului.
- Oferă-i unui coleg propriul connector sub contul său WordPress — audit logul atribuie fiecare acțiune persoanei corecte.
- Conexiunile concurente sunt izolate; sesiunea și permisiunile unui agent nu se scurg niciodată în ale altuia.
Depanare
Connectorul autorizează, dar Claude nu listează niciodată tool-uri. Aproape întotdeauna este o nepotrivire de URL. Asigură-te că ai folosit exact MCP endpoint-ul afișat pe ecranul Connectors și că site-ul tău este accesibil prin HTTPS de la client.
Fiecare request arată auth_fail chiar și cu un token. Unele configurări
Apache/nginx îndepărtează header-ul Authorization înainte să ajungă la PHP. Adaugă o
rewrite rule care să-l transmită mai departe (aceeași soluție folosită pentru
application passwords WordPress).
claude.ai nu poate ajunge la site. Clientul web se conectează din cloudul
Anthropic — un URL localhost nu va funcționa. Folosește un domeniu HTTPS accesibil
public.
Un tool returnează “forbidden”. Utilizatorul WordPress legat nu are capability-ul pentru acea acțiune. Autorizează ca un utilizator cu rolul potrivit, sau acordă capability-ul.
Un tool distructiv refuză să ruleze. Are nevoie de "confirm": true în request
(sau activează Trust connectors). Cere-i lui Claude să reîncerce cu confirmare.
Site-ul a afișat un ecran alb după activarea alături de un alt plugin. Golește opcache-ul PHP (sau repornește PHP) o dată după activare, dacă loaderul partajat al unui plugin frate a fost cache-uit într-o stare inconsistentă.
Dezinstalare
Dezactivarea oprește serverul și job-urile programate. Ștergerea plugin-ului îi
elimină codul; îți lasă datele la locul lor dacă nu ai activat Remove all data on
uninstall în Settings, caz în care tabelele, opțiunile și capability-ul
manage_agent_pilot sunt eliminate.