npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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

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

  1. Mergi la Setări cont
  2. Copiază JWT token-ul din secțiunea MCP
  3. 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:

  1. Overview rapid: user_profile + activitati_recente:5 + analiza_concurenta:30
  2. Analiză teoretică: progres_teorie pentru capacitate globală și încadrare în timp
  3. 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:

  1. Apelează get_student_data(progres_teorie: true) pentru analiza completă
  2. Analizează recomandările din plan_studiu.recomandare_repetari
  3. Aplică cu adjust_repetari_materie repetările recomandate
  4. 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:

  1. Apelează get_student_data(analiza_lacunelor: true) pentru a obține lacunele active
  2. Identifică lacunele cu lacuna_id din răspuns
  3. Marchează ca rezolvate cu manage_gaps(mode: "marcare_rezolvata", lacuna_id: X)
  4. 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_content pentru accesarea directă în LLM + update_reading_progress obligatoriu
  • 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=da fă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:

  1. Apelează get_training_events pentru evenimente disponibile
  2. Utilizatorul alege un eveniment din listă
  3. PRIMUL apel register_for_event (fără confirm_payment) pentru a detecta costul
  4. DACĂ evenimentul are cost: INFORMEAZĂ utilizatorul și CERE confirmarea
  5. 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_contentnote, adăugat pages_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_contentid_articles + note
  • send_challenge: user_to + category_iduser_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 de action: '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:
    1. user_profile + activitati_recente:5 + analiza_concurenta:30
    2. progres_teorie (capacitate globală și încadrare în timp)
    3. 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_instructions pentru 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() și callActionsAPI()
  • 🎯 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_event pentru 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_event pentru î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_events pentru 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_details cu informații contextualizate

v3.8.2 (2025-08-26)

  • ✅ Adăugat competitive_analysis pentru 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_gaps pentru 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 în update_reading_progress pentru 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_quiz pentru 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


© 2024 Academiadepolitie.com