Introducere
Dacă rulezi deja modele de limbaj local — fie pentru confidențialitate, fie pentru control total asupra datelor — probabil ai observat o limitare fundamentală: modelul tău local e inteligent, dar izolat. Poate genera text, poate răspunde la întrebări, dar nu poate naviga pe web, nu poate accesa fișiere și nu-și amintește nimic de la o conversație la alta.
Aici intervine MCP — Model Context Protocol — un standard deschis creat de Anthropic care schimbă regulile jocului. În acest articol, îți arăt ce este MCP, cum îl configurezi în LM Studio cu modelul Qwen 3 rulat local, și îți dau un exemplu concret de setup cu două servere MCP: unul pentru automatizare browser și unul pentru memorie persistentă bazată pe knowledge graph.
Ce este MCP (Model Context Protocol)?
MCP este un protocol standardizat care permite modelelor de limbaj să comunice cu instrumente externe — baze de date, API-uri, browsere, sisteme de fișiere — printr-o interfață unificată. Gândește-te la MCP ca la un „USB universal" pentru AI: în loc să construiești integrări custom pentru fiecare tool, folosești un singur protocol pe care orice aplicație compatibilă îl înțelege.
Arhitectura MCP se bazează pe două componente principale:
- MCP Host — aplicația care rulează modelul de limbaj și gestionează conexiunile. În cazul nostru, acesta este LM Studio.
- MCP Server — un program independent care expune un set de instrumente (tools) prin protocolul MCP. Un server MCP poate fi orice: un script local care accesează fișiere, un serviciu care controlează un browser, sau un sistem de memorie persistentă.
Fluxul funcționează astfel: utilizatorul trimite o cerere → modelul decide ce tool este necesar → LM Studio trimite cererea la serverul MCP potrivit → serverul execută acțiunea → rezultatul se întoarce la model → modelul formulează răspunsul final.
Avantajul major? Poți adăuga oricâte servere MCP vrei, iar modelul are acces la toate simultan. Un singur model local poate astfel să caute pe web, să citească documente, să controleze un browser și să-și amintească conversații anterioare.
De ce Qwen 3 și LM Studio?
LM Studio
LM Studio este o aplicație desktop gratuită care îți permite să rulezi modele de limbaj local, fără cloud, fără costuri de API. Începând cu versiunea 0.3.17, LM Studio funcționează ca MCP Host, ceea ce înseamnă că poți conecta servere MCP direct în aplicație.
LM Studio suportă atât servere MCP locale (scripturi care rulează pe mașina ta), cât și servere MCP remote (servicii externe accesibile prin URL). Configurarea se face prin editarea unui singur fișier: mcp.json.
Qwen 3
Qwen 3, dezvoltat de Alibaba, este una dintre cele mai capabile familii de modele open-source disponibile în prezent. Modelele Qwen 3 au suport nativ pentru tool calling (apelarea de funcții), ceea ce le face ideale pentru utilizarea cu MCP.
Ce face Qwen 3 special pentru scenariul nostru:
- Suport nativ pentru function calling — modelul știe să genereze apeluri structurate de funcții, nu doar text.
- Mod de gândire (thinking mode) — Qwen 3 poate „gândi" înainte de a decide ce tool să apeleze, ceea ce duce la decizii mai bune.
- Variante multiple de dimensiuni — de la Qwen3-8B (rulabil pe 8GB VRAM) până la Qwen3-32B pentru sisteme mai puternice.
- Suport multilingv excelent — funcționează bine inclusiv în limba română.
Pentru a verifica că un model suportă tool calling în LM Studio, caută iconițele 🔨 (tool) și 🧠 (reasoning) lângă numele modelului în lista de modele disponibile.
Setup pas cu pas: LM Studio + Qwen 3 + MCP
Pasul 1: Instalare LM Studio
Descarcă LM Studio de pe lmstudio.ai și instalează-l. Asigură-te că ai versiunea 0.3.17 sau mai nouă (versiunile anterioare nu au suport MCP).
Pasul 2: Descarcă modelul Qwen 3
În LM Studio:
- Deschide tab-ul de modele și caută
Qwen3. - Alege varianta potrivită pentru hardware-ul tău:
- Qwen3-8B — recomandat dacă ai cel puțin 8GB VRAM
- Qwen3-14B — pentru 12-16GB VRAM
- Qwen3-32B — pentru 24GB+ VRAM
- Descarcă modelul în format GGUF (varianta quantizată Q4_K_M oferă un echilibru bun între calitate și consum de memorie).
- Încarcă modelul și verifică că iconița de tool calling (🔨) apare lângă numele lui.
Pasul 3: Configurarea MCP
Configurarea serverelor MCP în LM Studio se face prin fișierul mcp.json. Iată cum îl accesezi:
- În LM Studio, mergi în bara laterală din dreapta, tab-ul Program (iconița de terminal).
- Click pe Install → Edit mcp.json.
- Se va deschide fișierul de configurare în editorul integrat.
Fișierul mcp.json se află la:
- macOS/Linux:
~/.lmstudio/mcp.json - Windows:
%USERPROFILE%/.lmstudio/mcp.json
Exemplu practic: Browser MCP + Graph Memory MCP
Acum vine partea interesantă. Vom configura două servere MCP care, împreună, transformă modelul Qwen 3 local într-un asistent cu adevărat capabil:
- Playwright MCP — pentru automatizare browser (navigare web, extragere date, interacțiune cu pagini)
- Knowledge Graph Memory MCP — pentru memorie persistentă bazată pe graf de cunoștințe
Prerequisite
Asigură-te că ai instalate:
# Node.js (versiunea 18 sau mai nouă)
node --version
# npx (vine cu Node.js)
npx --version
Configurarea fișierului mcp.json
Deschide mcp.json în LM Studio și adaugă următoarea configurare:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
},
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"],
"env": {
"MEMORY_FILE_PATH": "/Users/numetau/ai-memory/memory.jsonl"
}
}
}
}
Notă pentru Windows: Înlocuiește calea din
MEMORY_FILE_PATHcu o cale validă Windows, de exemplu:C:\\Users\\NumeTau\\ai-memory\\memory.jsonl. Creează directorul manual înainte de a porni serverele.
Salvează fișierul. LM Studio va încărca automat serverele MCP definite. Pentru fiecare server, LM Studio pornește un proces separat.
Instalarea Playwright Browser
La prima utilizare, trebuie să instalezi și browser-ul Chromium pentru Playwright:
npx playwright install chromium
Verificare
După ce salvezi mcp.json, verifică în LM Studio:
- Deschide un chat nou cu Qwen 3.
- La baza interfeței de chat, ar trebui să vezi serverele MCP active.
- Testează cu un mesaj simplu: „Navighează pe wikipedia.org și spune-mi ce scrie pe pagina principală."
Când modelul apelează un tool, LM Studio afișează un dialog de confirmare unde poți inspecta, aproba sau refuza acțiunea — un mecanism important de securitate.
MCP-ul de Browser: Playwright
Serverul Playwright MCP, dezvoltat de Microsoft, oferă modelului tău local capacitatea de a controla un browser real. Nu este vorba doar de web scraping simplu — modelul poate interacționa cu pagini web la fel ca un utilizator uman.
Ce poate face
Prin Playwright MCP, modelul are acces la instrumente precum:
- browser_navigate — navighează la orice URL
- browser_click — click pe elemente din pagină
- browser_fill — completează formulare
- browser_screenshot — capturează screenshot-uri
- browser_get_text — extrage text din pagini
- browser_evaluate — execută JavaScript în contextul paginii
Cum funcționează tehnic
Playwright MCP folosește accessibility tree (arborele de accesibilitate) al browser-ului, nu screenshot-uri. Asta înseamnă că modelul „vede" pagina web ca o structură semantică: butoane cu etichete, câmpuri de input cu nume, link-uri cu text. Această abordare este mai eficientă decât analiza vizuală și funcționează chiar și cu modele care nu au capabilități de viziune.
Exemplu de utilizare
Poți cere modelului:
„Deschide site-ul example.com, completează formularul de contact cu numele Ion Popescu și emailul ion@exemplu.ro, apoi trimite formularul. Fă un screenshot cu pagina de confirmare."
Modelul va orchestra automat secvența de apeluri: navigare → completare câmpuri → click pe butonul de trimitere → captură screenshot.
MCP-ul de Memorie: Knowledge Graph Memory
Acesta este probabil cel mai transformativ MCP din setup-ul nostru. Serverul Knowledge Graph Memory oferă modelului tău o memorie persistentă, structurată ca un graf de cunoștințe. Informațiile sunt reținute între sesiuni de chat, ceea ce înseamnă că modelul tău local poate „învăța" și „aminti" lucruri de la o conversație la alta.
Ce este un Knowledge Graph (Graf de Cunoștințe)?
Un knowledge graph este o structură de date care organizează informațiile sub formă de entități conectate prin relații. Spre deosebire de o bază de date tabelară clasică sau de un simplu fișier text, un graf de cunoștințe captează contextul și conexiunile dintre informații.
Graful de cunoștințe folosit de acest MCP server are trei elemente fundamentale:
1. Entități (Entities) Sunt nodurile principale ale grafului. Fiecare entitate are un nume unic și un tip. De exemplu:
Ion_Popescu— tip:persoanăTEN_INVENT— tip:companieProiect_Dashboard— tip:proiect
2. Observații (Observations)
Sunt bucăți atomice de informație atașate unei entități. Fiecare observație este un fapt individual, clar și specific. De exemplu, pentru entitatea Ion_Popescu:
- „Preferă întâlnirile dimineața"
- „Vorbește fluent engleză și română"
- „Lucrează cu Laravel și React"
3. Relații (Relations) Sunt conexiuni direcționate între entități, exprimate în voce activă. De exemplu:
Ion_Popescu→ lucrează la →TEN_INVENTTEN_INVENT→ dezvoltă →Proiect_DashboardIon_Popescu→ conduce →Proiect_Dashboard
De ce este puternic acest model?
Puterea grafului de cunoștințe vine din capacitatea sa de a conecta informații aparent disparate. Când modelul primește o întrebare despre un proiect, poate traversa graful pentru a găsi cine lucrează la acel proiect, ce tehnologii sunt folosite, ce deadline-uri există și care sunt dependențele.
Datele sunt stocate local, într-un fișier JSONL (JSON Lines), ceea ce înseamnă:
- Persistență — informațiile supraviețuiesc între sesiuni
- Transparență — poți inspecta și edita fișierul manual
- Portabilitate — poți muta sau duplica fișierul de memorie
- Confidențialitate — datele nu părăsesc niciodată mașina ta
Instrumentele disponibile
Serverul de memorie expune următoarele tool-uri:
- create_entities — creează entități noi în graf
- create_relations — definește relații între entități existente
- add_observations — adaugă informații noi la o entitate
- search_nodes — caută în graf după cuvinte cheie
- open_nodes — deschide entități specifice după nume
- read_graph — citește întregul graf de cunoștințe
- delete_entities / delete_relations / delete_observations — operații de ștergere
Exemplu concret de funcționare
La prima conversație, spui modelului:
„Numele meu este Ion, lucrez la compania TEN INVENT ca developer. Proiectul nostru principal se numește BOB și folosim Laravel cu React."
Modelul, configurat să utilizeze memoria, va crea automat:
Entitate: Ion (tip: persoană)
- Observație: „Este developer"
Entitate: TEN_INVENT (tip: companie)
- Observație: „Companie de dezvoltare software"
Entitate: BOB (tip: proiect)
- Observație: „Folosește Laravel cu React"
Relație: Ion → lucrează la → TEN_INVENT
Relație: TEN_INVENT → dezvoltă → BOB
Relație: Ion → lucrează la → BOB
Într-o conversație ulterioară, poți întreba:
„La ce proiecte lucrez eu?"
Modelul va căuta în graful de memorie, va găsi entitatea „Ion", va traversa relațiile și va răspunde cu informațiile stocate — fără să fi menționat vreodată aceste detalii în conversația curentă.
Sfaturi practice și optimizări
Alegerea modelului potrivit
Nu toate modelele locale funcționează la fel de bine cu MCP. Pentru tool calling eficient, recomandările sunt:
- Qwen3-8B sau mai mare — pragul minim recomandat
- Variantele „thinking" — gestionează mai bine secvențele complexe de tool-uri
- Evită modelele sub 7B parametri — nu au suficientă capacitate pentru tool calling fiabil
Gestionarea contextului
Rezultatele tool-urilor consumă context. Fiecare răspuns de la un server MCP reduce spațiul disponibil pentru conversație. Câteva strategii:
- Pornește un chat nou când schimbi radical subiectul
- Fii specific în cereri pentru a minimiza datele returnate
- Folosește context window-uri generoase (Qwen 3 suportă 32K+ tokens)
Securitate
Serverele MCP pot executa cod și accesa resursele sistemului tău. Câteva reguli de bază:
- Instalează doar servere MCP din surse de încredere
- Verifică întotdeauna tool call-urile în dialogul de confirmare al LM Studio
- Nu expune servere MCP pe rețea fără autentificare
Concluzie
Combinația LM Studio + Qwen 3 + MCP demonstrează că AI-ul local nu mai înseamnă AI izolat. Cu câteva linii de configurare JSON, modelul tău local capătă abilitatea de a naviga pe web, de a interacționa cu pagini și de a-și aminti conversații anterioare — totul fără a trimite un singur byte de date către cloud.
MCP este un ecosistem în creștere rapidă. Pe lângă Playwright și Knowledge Graph Memory, există deja sute de servere MCP pentru tot felul de integrări: baze de date, GitHub, Slack, Google Drive, Notion și multe altele. Poți chiar să-ți construiești propriile servere MCP cu Python (folosind FastMCP) sau Node.js.
Dacă ești curios să explorezi mai departe, lista comunitară awesome-mcp-servers pe GitHub este un punct de plecare excelent.
Acest articol a fost scris ca parte a seriei de publicații tehnice de pe blogul TEN INVENT. Dacă ai întrebări sau vrei să discutăm despre implementarea MCP în proiectele tale, contactează-ne.