Conectarea unui agent la site-ul tău

vistudio-cms-admin · adresa MCP: https://app.vistudio.ro/mcp · descoperire: /.well-known/mcp.json

Ce poate face agentul

Un agent (Claude, ChatGPT sau alt client MCP) lucrează în numele tău, cu rolul pe care îl ai pe site (webmaster sau admin) și doar pe site-urile pe care le alegi la conectare. Poate citi conținutul, crea și modifica pagini, secțiuni, meniuri, formulare, SEO, redirect-uri, media (imagini + text alternativ), articole, birouri și traduceri.

Înainte de a începe

Ai nevoie de un cont în admin cu rol de webmaster sau admin pe site (adminul site-ului îl adaugă din Utilizatori → Regiuni). La conectare vei alege site-urile și permisiunile (scope-urile: mcp:read, mcp:write, mcp:publish, mcp:admin); poți da mai puțin decât ai tu.

Claude.ai (conector personalizat)

  1. Claude.ai → Settings → Connectors → Add custom connector.
  2. Nume: VIStudio CMS; URL: https://app.vistudio.ro/mcp; lasă câmpurile OAuth Client ID / Secret goale (înregistrarea e automată). Salvează.
  3. Apasă Connect: se deschide admin-ul, te autentifici (dacă nu ești deja), alegi site-urile și permisiunile, apoi Permite.
  4. Într-o conversație nouă, activează conectorul din meniul de unelte și pornește cu un mesaj ca cel de mai jos.

Conectorii personalizați sunt disponibili pe planurile Claude Pro/Max/Team/Enterprise; pe Team/Enterprise un admin poate adăuga conectorul pentru toată organizația.

Claude Code

Cu OAuth (recomandat — nu pui nicio cheie în fișiere):

claude mcp add --transport http vistudio-admin https://app.vistudio.ro/mcp
# apoi, în Claude Code: /mcp → vistudio-admin → Authenticate (se deschide admin-ul pentru consimțământ)

Sau cu o cheie API (pentru scripturi / servere fără browser; vezi „Cheie API” mai jos):

claude mcp add --transport http vistudio-admin https://app.vistudio.ro/mcp --header "Authorization: users API-Key <cheia ta>"

Echivalentul în .mcp.json (în proiect) sau în configurația altor clienți cu fișier JSON (Cursor, VS Code, Gemini CLI):

{
  "mcpServers": {
    "vistudio-admin": {
      "type": "http",
      "url": "https://app.vistudio.ro/mcp"
    }
  }
}
{
  "mcpServers": {
    "vistudio-admin": {
      "type": "http",
      "url": "https://app.vistudio.ro/mcp",
      "headers": {
        "Authorization": "users API-Key <cheia ta>"
      }
    }
  }
}

ChatGPT

  1. ChatGPT → Settings → Connectors → Advanced → pornește Developer mode (necesar pentru conectori MCP personalizați).
  2. Create: Nume VIStudio CMS, URL https://app.vistudio.ro/mcp, Authentication: OAuth; lasă Client ID / Secret goale; bifează confirmarea și creează.
  3. La prima folosire ChatGPT te trimite în admin pentru autentificare și consimțământ.
  4. Într-o conversație: Tools → alege conectorul; în Developer mode uneltele care scriu cer confirmarea ta la fiecare apel.

Cheie API (alternativă la OAuth)

Admin → Utilizatori → contul tău → Enable API key → copiază cheia. Se trimite în antetul Authorization: users API-Key <cheie> (sau Bearer <cheie>). Cheia dă toate permisiunile rolului tău pe toate site-urile tale — folosește-o doar în scripturi de încredere și regenereaz-o dacă a fost expusă (OAuth rămâne varianta recomandată pentru aplicații de chat).

Planul site-ului

Un site nu se construiește dintr-un singur prompt. Dacă regiunea are un plan, agentul lucrează prin el: etapele de strategie (ofertă, public, pachete), apoi construcția paginii, blogul, SEO și lansarea. Planul ține ce s-a decis și ce s-a respins, deci îl poți continua mâine cu alt agent, fără să repeți discuția.

plan_get                      # ce plan are site-ul si unde a ramas
tasks_ready / task_next       # ce se poate lucra acum
task_claim → … → task_update(status: 'review') + task_comment_add

Instrucțiuni recomandate pentru agent

Pune-le în „project instructions” / prompt-ul de sistem al agentului sau ca prim mesaj:

Administrezi site-ul meu prin MCP-ul VIStudio CMS. Reguli:
1. Începe cu whoami, apoi region_info, apoi plan_get, în această ordine; lucrează doar pe regiunea indicată de utilizator.
2. Dacă site-ul are un plan, lucrează prin el (task_next, task_claim, task_update): respectă regulile lui de fond, nu sări peste etape și nu construi nimic înainte ca utilizatorul să aprobe structura paginii.
3. Citește înainte de orice scriere (pages_get, settings_get, forms_get); folosește dry_run: true când nu ești sigur.
4. Implicit, scrierile produc drafturi: nu publica (pages_publish; posts_publish doar dacă site-ul are blog) înainte să arăți preview_url și să primești confirmarea utilizatorului. Dacă settings_get arată agents.directPublish: true, orice scriere e publicată imediat: cere confirmarea înainte de a scrie.
5. Nu șterge nimic fără acordul utilizatorului; folosește confirm: true doar după acordul lui.
6. Textele: în limba principală a site-ului; meta description de 50–160 de caractere; imaginile au întotdeauna text alternativ.
7. La final rezumă ce s-a schimbat (id-uri, căi) și ce a rămas; dacă lucrezi pe un task, scrie rezumatul în firul lui (task_comment_add) și trece-l în review, fără să îl închizi.

Lista uneltelor se negociază la conectare. Dacă o unealtă pare să lipsească, compară cu whoami (build și lista uneltelor serverului) și cere reconectarea înainte să raportezi lipsa.

Serverul trimite aceleași reguli agentului la conectare (instructions, în engleză), deci lipirea lor în prompt e opțională: ajută la clienții care nu le citesc.

După o actualizare a platformei

Lista uneltelor se negociază o singură dată, când agentul se conectează. Dacă adăugăm unelte noi, agentul conectat deja nu le vede — pentru el pur și simplu nu există, chiar dacă serverul le are. Nu e o eroare a lui: reconectează conectorul, sau începe o conversație nouă.

Agentul poate verifica singur: whoami întoarce build (versiunea adminului) și lista uneltelor pe care le are serverul. Dacă lista lui e mai scurtă, e rămas în urmă.

Limite cunoscute

Pentru dezvoltatori: metadata OAuth la /.well-known/oauth-authorization-server; Agent Skills (în engleză) la /.well-known/agent-skills/index.json; ghidul tehnic este în repository-ul platformei (docs/MCP-ADMIN.md).