academiadepolitie-mcp-server
v3.17.2
Published
MCP Server pentru Academiadepolitie.com cu recomandări inteligente pentru repetări, analiză capacitate globală și distribuție materii - Claude Desktop integration
Maintainers
Readme
Academiadepolitie.com MCP Server
Integrare oficială pentru Academiadepolitie.com cu Claude Desktop prin Model Context Protocol (MCP).
🚀 Instalare rapidă
# Instalare globală
npm install -g academiadepolitie-mcp-server
# Sau rulare direct
npx academiadepolitie-mcp-server📝 Configurare Claude Desktop
Adaugă în ~/.claude/config.json:
{
"mcpServers": {
"academiadepolitie": {
"command": "npx",
"args": ["-y", "academiadepolitie-mcp-server"],
"env": {
"ACADEMIADEPOLITIE_JWT_TOKEN": "your_jwt_token_here"
}
}
}
}🔑 Obținere JWT Token
- Mergi la Setări cont
- Copiază JWT token-ul din secțiunea MCP
- Adaugă-l în configurația de mai sus
🚨 Gestionarea erorilor JWT
Când JWT token-ul lipsește sau este invalid, Claude va:
- Detecta automat problema prin
llm_instructions - Asista direct utilizatorul cu configurarea (NU oferă alternative)
- Ghida pas cu pas prin procesul de regenerare și configurare
- Se concentra DOAR pe rezolvarea problemei JWT
🤖 Comportament automat inteligent
Când utilizatorul întreabă "cum merge pregătirea?", "ce am azi?", "cum stau cu pregătirea?", Claude va executa automat:
🔥 Workflow în 3 etape:
- Overview rapid:
user_profile + activitati_recente:5 + analiza_concurenta:30 - Analiză teoretică:
progres_teoriepentru capacitate globală și încadrare în timp - Recomandări personalizate: Sugerează module specifice din
available_modules
🎯 Rezultat: Overview complet + plan de acțiune personalizat fără să întrebe "ce vrei să vezi?"
📊 Funcționalități disponibile
get_student_data
Obține date complete despre progresul elevului:
- user_profile: Informații generale cont
- activitati_recente: Ultimele 1-10 activități
- profil_comportamental: Analiză comportamentală
- progres_teorie: Analiză completă progres lecții teoretice cu recomandări inteligente
- analiza_lacunelor: Lacune identificate în cunoștințe
- utilizatori_compatibili: Peer matching pentru studiu colaborativ
- instructiuni_llm: Recomandări optimizate pentru AI
send_challenge
Trimite provocare unui alt utilizator:
- user_acc: ID-ul utilizatorului țintă
- id_quest_category: ID-ul materiei pentru provocare
- message: Mesaj opțional pentru provocare
add_note
Adaugă notă la un articol/lecție:
- id_articles: ID-ul articolului/lecției
- note: Conținutul notei (minim 5, maxim 2000 caractere)
search_articles
Caută articole cu fuzzy matching pe titlu:
- query: Termenul de căutare pentru titlu
- limit: Numărul maxim de rezultate (1-50, default: 10)
get_article_content
Obține conținutul unei lecții cu paginare automată (5000 cuvinte/pagină):
- article_id: ID-ul articolului/lecției
- page: Numărul paginii (opțional, default: 1)
Funcționalități noi v3.7.1:
- ✅ Paginare automată pentru articole mari
- ✅ Actualizare automată nr_words în DB
- ✅ Tracking granular per pagină
update_reading_progress
Actualizează progresul de citire al unei lecții:
- article_id: ID-ul articolului/lecției
- progress: Progresul în procente (0-100)
- discussion_topics: Topicurile discutate (opțional)
- pages_read: Array cu numerele paginilor citite (opțional, v3.7.1+)
Funcționalități noi v3.7.1:
- ✅ Validare automată pagini inexistente
- ✅ Tracking granular per pagină
- ✅ Prevenire suprascriere date pentru pagini deja citite
IMPORTANT: Toate LLM-urile trebuie să apeleze această funcție după ce discută despre conținutul unei lecții!
save_generated_quiz
OBLIGATORIU: Salvează quiz-uri generate de LLM în baza de date:
- article_id: ID-ul articolului pe baza căruia s-a generat
- subject_grile_id: ID-ul categoriei de grile (materia)
- model: Modelul LLM folosit (ex: claude-3-5-sonnet, gpt-4)
- questions: Array cu întrebările generate (max 10)
- title: Textul întrebării
- options: Array cu 4 opțiuni de răspuns
- correct_answer: Numărul răspunsului corect (1-4)
- explanation: Explicația detaliată
- difficulty: Dificultatea (1=ușor, 2=mediu, 3=greu)
- tip: Tipul întrebării (opțional)
IMPORTANT: Trebuie apelată după ORICE generare de grile pentru utilizatori!
adjust_repetari_materie
Setează numărul optim de repetări pentru o materie (complementar cu recomandările din progres_teorie):
- id_materie: ID-ul materiei pentru ajustare
- repetari: Numărul optim de repetări (1-100, limitele depind de tipul contului)
WORKFLOW INTELIGENT:
- Apelează
get_student_data(progres_teorie: true)pentru analiza completă - Analizează recomandările din
plan_studiu.recomandare_repetari - Aplică cu
adjust_repetari_materierepetările recomandate - Verifică rezultatul cu un nou apel
get_student_data
manage_gaps
Gestionează lacunele utilizatorului (complementar cu analiza_lacunelor):
- mode: Modul de operare ('marcare_rezolvata' sau 'adaugare_lacuna')
- lacuna_id: ID-ul lacunei din users_collection (obligatoriu pentru marcare_rezolvata)
WORKFLOW COMPLET LACUNE:
- Apelează
get_student_data(analiza_lacunelor: true)pentru a obține lacunele active - Identifică lacunele cu
lacuna_iddin răspuns - Marchează ca rezolvate cu
manage_gaps(mode: "marcare_rezolvata", lacuna_id: X) - Verifică progresul cu un nou apel
get_student_data
get_training_events
Obține evenimente de pregătire locale și online pentru utilizator:
- limit: Numărul maxim de evenimente per materie (1-50, implicit: 5)
- materie_id: ID-ul materiei pentru filtrare (opțional)
REZULTATE INCLUSE:
- Evenimente locale din județul utilizatorului
- Evenimente online disponibile pentru toate județele
- URL-uri directe pentru înscrierea online
- Locații, costuri, locuri disponibile
- Statistici și recomandări pentru fiecare materie
INSTRUCȚIUNI pentru LLM:
- ÎNTOTDEAUNA menționează URL-ul direct al fiecărui eveniment
- Instruiește utilizatorul să acceseze link-ul pentru înscrierea online
- Explică că trebuie să completeze formularul de pe pagina evenimentului
INSTRUCȚIUNI pentru progres_teorie:
- ✅ ÎNTOTDEAUNA menționează URL-ul direct al fiecărei lecții identificate
- ✅ Instruiește utilizatorul să acceseze link-ul pentru citirea lecției în browser
- ✅ SAU să folosească
get_article_contentpentru accesarea directă în LLM +update_reading_progressobligatoriu - ✅ Explică că poate alege între citire în browser sau discuție AI despre conținut
register_for_event
Înscrie utilizatorul la un eveniment de pregătire existent:
- event_id: ID-ul evenimentului (din get_training_events)
- confirm_payment: Confirmarea plății pentru evenimente cu cost (opțional: "da")
FUNCȚIONALITĂȚI AVANSATE:
- Utilizează datele din profilul utilizatorului (nume, email, telefon)
- Verificare automată disponibilitate locuri
- Validare compatibilitate materie și instituție
- Gestionare evenimente cu plată (confirmarea costului)
- Prevenire înscrieri duplicate
🚨 REGULI OBLIGATORII PENTRU LLM:
- NICIODATĂ nu trimite direct
confirm_payment=dafără acordul explicit al utilizatorului - MEREU informează utilizatorul despre cost ÎNAINTE de confirmare
- OBLIGATORIU să prezinți suma exactă și modalitatea de plată
- INTERZIS să înscrii automat la evenimente cu cost fără aprobare
WORKFLOW OBLIGATORIU:
- Apelează
get_training_eventspentru evenimente disponibile - Utilizatorul alege un eveniment din listă
- PRIMUL apel
register_for_event(fără confirm_payment) pentru a detecta costul - DACĂ evenimentul are cost: INFORMEAZĂ utilizatorul și CERE confirmarea
- DOAR după aprobare: reia cu
confirm_payment="da"
request_local_event
Creează o cerere pentru organizarea unui eveniment local când nu există evenimente disponibile:
- id_materie: ID-ul materiei pentru care se solicită evenimentul (obligatoriu)
- mesaj_optional: Mesaj suplimentar pentru organizatori (opțional)
FUNCȚIONALITĂȚI CHEIE:
- Verificare automată compatibilitate materie cu instituția utilizatorului
- Validare limba străină (pentru materiile tip priv2)
- Prevenire cereri duplicate (o cerere per materie la 30 zile)
- Detectare automată LLM model pentru tracking
- Include informații utilizator (județ, IP, timestamp)
CÂND SĂ FOLOSEȘTI:
- Nu există evenimente disponibile pentru materia dorită în
get_training_events - Utilizatorul vrea evenimente locale în județul său
- Se dorește un eveniment specific cu cerințe particulare
competitive_analysis
Analiză competitivă avansată - poziția utilizatorului față de contracandidați:
- days: Perioada de analiză în zile (1-365, implicit: 90)
- offset: Offset temporal pentru analiza istorică (0-10, implicit: 0)
- materie: ID-ul materiei pentru analiză focalizată (opțional)
ANALIZĂ TEMPORALĂ:
offset=0→ ultimele X zile (prezent)offset=1→ X-2X zile în urmă (perioada precedentă)offset=2→ 2X-3X zile în urmă (tendințe istorice)
REZULTATE INCLUSE:
- Poziția exactă față de contracandidați (percentile)
- Analiza tendințelor de performanță în timp
- Oportunități competitive strategice
- Recomandări acționabile pentru avantaj competitiv
📈 Changelog
v3.17.2 (2025-09-02)
- 🐛 FIX CRITIC: Parameter routing pentru modulele POST
- ✅ confirm_payment: Adăugat în postBodyParams pentru register_for_event
- ✅ Data type validation: Fix pentru save_generated_quiz cu article_id mixed types
- ✅ Query optimization: Căutare specifică pentru article_id în validation workflow
- 🎯 IMPACT: register_for_event funcționează corect cu confirmare plată
v3.17.0 (2025-09-01)
- ✨ FEATURE MAJOR: Documentație completă accesibilă din Claude Desktop
- ✅ get_documentation_help: Acum citește efectiv README.md și LLM_API_GUIDE.md
- ✅ Conținut complet: Claude Desktop poate accesa toată documentația direct
- ✅ Structură organizată: README pentru ghid principal, LLM_API_GUIDE pentru detalii tehnice
- ✅ Error handling: Mesaje clare dacă fișierele nu pot fi citite
- 🎯 IMPACT: Claude Desktop devine cu adevărat autonom în utilizarea MCP-ului
v3.16.2 (2025-09-01)
- 🔧 BUGFIX CRITIC: POST parameters routing
- ✅ Actualizat postBodyParams:
note_content→note, adăugatpages_read,discussion_topics,user_acc,id_quest_category,message - ✅ Fix modulul add_note: Acum primește parametrii în POST body în loc de URL
- ✅ Fix update_reading_progress: Schimbat
$db->count()→$db->query()pentru UPDATE - ✅ Decodare JSON: Adăugat suport pentru parametri JSON în modulul update_reading_progress
- 🎯 REZULTAT: Module POST funcționează corect - parametri ajung în locul potrivit
v3.16.1 (2025-09-01)
- ✨ ÎMBUNĂTĂȚIRE: Workflow primul contact mai inteligent
- ✅ Transparency completă: Afișează TOATE modulele disponibile cu descrieri
- ✅ Sfaturi contextuale: Analiză inteligentă pentru recomandări personalizate
- ✅ Eliminat reguli fixe: Claude gândește logic, nu urmează template-uri rigide
- 🎯 REZULTAT: Experiență mai fluidă și recomandări cu adevărat utile
v3.16.0 (2025-09-01)
- 🔧 BUGFIX MAJOR - Consistență parametri API: Standardizare completă nume parametri
- ✅ add_note:
article_id+note_content→id_articles+note - ✅ send_challenge:
user_to+category_id→user_acc+id_quest_category - ✅ Eliminat mapping: Nu mai e nevoie de transformări în profile_for_conversation.php
- ✅ Compatibilitate: MCP wrapper folosește acum exact parametrii așteptați de API
- ✅ Rezultat: Zero confuzie - parametri identici în schema, funcții și API backend
- 🎯 IMPACT: Fix definitiv pentru erorile "câmpul X este obligatoriu"
v3.13.5 (2025-08-30)
- 🔧 BUGFIX POST data: Datele modulelor se trimit în POST body, nu în URL params
- ✅ Rezolvat: gestioneaza_lacune și alte module care cer date în POST body
- 📝 Split logic: Module params în URL, date specifice în POST body
- 🎯 REZULTAT: manage_gaps, get_article_content, save_generated_quiz funcționează complet
v3.13.4 (2025-08-30)
- 🔧 BUGFIX MAJOR: Corectare parametri moduli - folosește
modul_name: 1în loc deaction: 'modul_name' - ✅ Rezolvat: Modulele POST nu se încărcau (răspuns gol cu doar metadata)
- 🎯 Toate modulele POST funcționează: get_article_content, save_generated_quiz, add_note, etc.
- ⚡ API compatibility: Parametrii sunt acum identici cu ChatGPT wrapper
v3.13.3 (2025-08-30)
- 🔧 BUGFIX: Extrage automat user_id din JWT (ca ChatGPT wrapper)
- ✅ Rezolvat: Problema cu "user_id este obligatoriu"
- 🤖 Automat: MCP extrage user_id din JWT și îl trimite în request
- 🎯 REZULTAT: Toate modulele funcționează complet automat fără parametri suplimentari
v3.13.2 (2025-08-30)
- 🔧 BUGFIX CRITIC JWT: MCP trimite JWT în URL params în loc de header (ca ChatGPT wrapper)
- ✅ Rezolvat: Problema cu "JWT token invalid" pe servere shared hosting
- 🔄 Format schimbat: application/x-www-form-urlencoded în loc de application/json
- ⚡ Compatibilitate: Acum funcționează pe orice server web standard
- 🎯 REZULTAT: JWT authentication funcționează 100% identic cu ChatGPT wrapper
v3.13.1 (2025-08-30)
- 🔧 BUGFIX CRITIC: Corectare endpoint API - MCP folosește acum
profile_for_conversation.php - ✅ Rezolvat: Problema cu "Tool execution failed" cauzată de apelarea endpoint-ului greșit
- ⚡ Performanță: Toate modulele funcționează perfect prin endpoint-ul corect
- 🎯 REZULTAT: MCP server funcționează 100% fără erori de execuție
v3.13.0 (2025-08-29)
- 🚀 FUNCȚIONALITATE NOUĂ: Comportament automat inteligent pentru primul contact
- ✅ Control comportamental: Claude știe exact ce să facă când utilizatorul întreabă "cum merge pregătirea?"
- ✅ Workflow în 3 etape:
user_profile + activitati_recente:5 + analiza_concurenta:30progres_teorie(capacitate globală și încadrare în timp)- Recomandări personalizate din
available_modules
- ✅ Analiză inteligentă: Recomandă module specifice bazate pe datele utilizatorului
- ✅ Experiență fluidă: Nu mai întreabă "ce vrei să vezi?" - acționează direct!
- 🎯 REZULTAT: Overview complet + recomandări personalizate automate
v3.12.1 (2025-08-29)
- 🎯 ÎMBUNĂTĂȚIRE CRITICĂ: Ghidare directă pentru configurarea JWT
- ✅ Adăugat
llm_instructionspentru a instruí Claude să asiste direct utilizatorul - ✅ FIX MAJOR: Claude nu mai oferă alternative generale când JWT lipsește
- ✅ Restructurat răspunsurile JWT:
error(mesaj scurt) +user_instruction(pași detaliați) - 🎯 REZULTAT: Claude îndrumă utilizatorul DIRECT să configureze JWT-ul în loc să ofere activități alternative
v3.12.0 (2025-08-29)
- 🔐 ÎMBUNĂTĂȚIRI MAJORE: Gestionarea erorilor JWT
- ✅ FIX CRITIC: Claude nu mai primește "Tool execution failed" pentru erorile JWT
- ✅ Mesaje predefinite pentru erori JWT similare cu ChatGPT
- ✅ Instrucțiuni detaliate pentru actualizarea JWT token-ului în
claude_desktop_config.json - ✅ Detectare automată erori JWT prin status 401 + conținutul mesajului
- ✅ Înlocuit toate
throw new Error()cu răspunsuri structurate - ✅ Gestionare corectă erori în
callInternalAPI()șicallActionsAPI() - 🎯 REZULTAT: Claude poate acum ghida utilizatorii să-și actualizeze JWT token-ul
v3.11.0 (2025-08-26)
- 🎯 COMPLETARE TOTALĂ: Ultimul modul implementat - request_local_event
- ✅ Adăugat
request_local_eventpentru solicitarea organizării de evenimente locale - ✅ Suport complet pentru
cerere_evenimentîn actions_for_conversation.php - ✅ Validări avansate: compatibilitate materii, limbi străine, prevenire duplicate
- ✅ TOATE MODULELE DIN ModularOrchestrator AU ACUM WRAPPERE MCP! (13/13) 🎉
- ✅ Ecosystem complet Claude Desktop pentru Academiadepolitie.com
v3.10.0 (2025-08-26)
- 🎯 NOU: Înscrierea la evenimente cu register_for_event
- ✅ Adăugat
register_for_eventpentru înscrierea automată la evenimente - ✅ Gestionare avansată plăți cu confirm_payment pentru evenimente cu cost
- ✅ Utilizează datele din profilul utilizatorului (nume, email, telefon)
- ✅ Validări complete: disponibilitate locuri, compatibilitate materii, prevenire duplicate
- ✅ Workflow complet: get_training_events → register_for_event
v3.9.3 (2025-08-26)
- 📋 Instrucțiuni URL pentru LLM în get_training_events
- ✅ Instrucțiuni explicite pentru LLM să menționeze URL-urile evenimentelor
- ✅ Ghidare clară: "accesează URL-ul pentru înscrierea online"
- ✅ Documentație actualizată cu workflow de înscriere
v3.9.2 (2025-08-26)
- 🔧 FIX: get_training_events funcționează corect
- ✅ Corectată apelarea API cu query parameters (nu POST params)
- ✅ Extractare corectă user_id din JWT ca în get_student_data
- ✅ URL corect:
/profile_for_conversation.php?user_id=X&evenimente_pregatire=Y - ✅ Compatibilitate completă cu modulul evenimente_pregatire.php
v3.9.0 (2025-08-26)
- 🎯 NOU: Evenimente de pregătire cu get_training_events
- ✅ Adăugat
get_training_eventspentru evenimente locale și online - ✅ Filtrare pe materie și limitare flexibilă (1-50 evenimente)
- ✅ Include URL-uri, costuri, locuri disponibile și recomandări
- ✅ Integrare completă cu județul utilizatorului
v3.8.5 (2025-08-26)
- ✨ Mesaje de eroare simple și clare pentru utilizatori
- ✅ Mesaj direct: "NU ai ales să te pregătești pentru {materie}! În setările contului ai ales {materie_aleasa}."
- ✅ Eliminat informații tehnice complexe din mesajele de eroare
- ✅ UX îmbunătățit - utilizatorul înțelege imediat problema și soluția
v3.8.4 (2025-08-26)
- 🔧 FIX CRITICAL - Erori ajung la LLM fără întrerupere
- ✅ Eliminat
throw new Error()care întrerupea fluxul către LLM - ✅ Returnează
success: false, error_messageîn loc de excepții - ✅ LLM-urile primesc acum mesaje complete cu detalii contextualizate
- ✅ Fix definitiv pentru "Tool execution failed" generic
v3.8.3 (2025-08-26)
- 🔧 FIX MAJOR - Erori detaliate pentru LLM-uri
- ✅ Fix propagare erori complete în
adjust_repetari_materie - ✅ MCP wrapper afișează acum materii disponibile și limba aleasă la erori
- ✅ Adăugat câmp
messageîn PHP pentru compatibilitate wrapper MCP - ✅ Parsing îmbunătățit
error_detailscu informații contextualizate
v3.8.2 (2025-08-26)
- ✅ Adăugat
competitive_analysispentru analiză competitivă avansată - ✅ Analiză temporală cu offset pentru tendințe istorice (0-10 perioade)
- ✅ Suport analiză focalizată pe materie sau globală
- ✅ Percentile, oportunități strategice și recomandări acționabile
v3.8.1 (2025-08-26)
- ✅ Adăugat
manage_gapspentru gestionarea lacunelor - ✅ Workflow complet lacune: analiză → identificare → marcare rezolvată
- ✅ Validare riguroasă pentru lacuna_id și mode-uri disponibile
v3.8.0 (2025-08-26)
- 🚀 MAJOR UPDATE - Recomandări Inteligente pentru Repetări
- ✅ Algoritm avansat pentru optimizarea repetărilor bazat pe capacitatea globală
- ✅ Calcul precis capacitate globală (minute/zi vs target personal)
- ✅ Distribuție materii: cuvinte brute vs volum efectiv cu repetări
- ✅ Proiecții matematice pentru modificări repetări cu delta și impact
- ✅ Suport complet tipuri conținut (text/video/mixt)
- ✅ MASTER values pentru consistența calculelor globale
- ✅ Documentație completă actualizată cu noile funcționalități
v3.7.1 (2025-08-11)
- ✅ Adăugat suport
pages_readînupdate_reading_progresspentru tracking granular - ✅ Implementat validare automată pagini inexistente
- ✅ Auto-update
nr_wordsîn DB la accesarea articolelor - ✅ Prevenire suprascriere date pentru pagini deja citite
v3.7.0 (2025-08-10)
- ✅ Implementat sistem de paginare pentru articole mari (5000 cuvinte/pagină)
- ✅ Tracking per pagină în
user_activity - ✅ Optimizare cache per pagină
v3.6.1
- ✅ Adăugat
save_generated_quizpentru salvarea grilelor generate - ✅ Marcat ca OBLIGATORIU pentru toate LLM-urile
🛠️ Pentru dezvoltatori
git clone https://github.com/razvan1326/academiadepolitie_com-mcp.git
cd academiadepolitie_com-mcp
npm install
npm start📞 Suport
- Email: [email protected]
- Website: academiadepolitie.com
© 2024 Academiadepolitie.com
