Skip to main content
Glama

Üzenőfüzet

Az Üzenőfüzet csak olvasható KRÉTA-integráció Claude-hoz. Két formában létezik, közös maggal — a különbség az, hol futnak a dolgok és ki kezeli az adatot:

Hosztolt szolgáltatás

Asztali bővítmény

Hol fut

Cloud Run + Firestore

a szülő gépén

Claude

web, mobil, asztali (Custom Connector)

Claude asztali alkalmazás

Adatforrás

KRÉTA + Google Classroom

KRÉTA

Adatkezelő

a szolgáltatás üzemeltetője

a szülő maga

Beállítás

webes kapcsolati pult, max. 3 gyerek

helyi beállító oldal, tetszőleges számú gyerek

A hosztolt vonal: Firebase Hosting (landing, tájékoztatók, szülői dashboard), Cloud Run (belépés, OAuth, MCP, KRÉTA- és Classroom-kapcsolatok), Firestore (privát gyerekprofilok, időkorlátos titkosított kapcsolatok).

Az asztali vonal egyetlen .mcpb fájl: nincs mögötte szerver, fiók vagy kiadott token, és a KRÉTA-jelszó nem hagyja el a gépet. Részletek a desktop/README.md-ben.

Adatkezelési alapelvek

Mindkét vonalra igaz:

  • Kizárólag rögzített olvasási műveletek; nincs írás, törlés, sem tetszőleges KRÉTA-útvonalat lekérő tool.

A hosztolt szolgáltatásra:

  • A KRÉTA-jelszó csak a belépés idejére kerül a Cloud Run folyamat memóriájába, majd azonnal eldobásra kerül.

  • A lejáró KRÉTA-tokenek és Classroom refresh tokenek AES-256-GCM-mel lezárva kerülnek a privát Firestore-profilba.

  • A szülő Google-belépése és a gyerekek Classroom-fiókjai külön Google-munkamenetek.

  • A kapcsolat bármikor kikapcsolható és törölhető a dashboardon.

Az asztali bővítményre:

  • A KRÉTA-jelszó a szülő gépén marad, AES-256-GCM-mel titkosítva; a kulcs a rendszer kulcstárolójában.

  • A hozzáférési token csak a folyamat memóriájában él, a Claude bezárásáig.

  • Nincs köztes szerver és nincs visszavonandó token: a törlés a gépen egy fájl törlése.

Az Üzenőfüzet független projekt, nem áll kapcsolatban az eKRÉTA Zrt.-vel, és nem hivatalos KRÉTA-termék. A részletes adatkezelési tájékoztató és felhasználási feltételek a publikus weboldalon érhetők el.

Related MCP server: Smartschool MCP Server

Fejlesztés

A repó egy npm workspace három csomaggal:

  • core/ — KRÉTA-kliens, iskolakereső és a csak olvasható MCP tool-tábla; mindkét vonal ezt használja;

  • server/ — a hosztolt szolgáltatás (backend + web);

  • desktop/ — az asztali bővítmény és a .mcpb csomagolás.

Helyi belépési adatok a secrets/ mappában; a Git egyedül az ottani README-t követi.

npm install
npm test
npm run typecheck
npm run build
npm run pack:desktop   # dist/uzenofuzet-<verzió>.mcpb

A backend helyi indítása:

cd server
TOKEN_SEALING_KEY="$(npm run --silent keygen)" \
OAUTH_ALLOWED_REDIRECT_URIS="http://localhost:6274/oauth/callback" \
npm run dev

A szükséges környezeti változókat és az infrastruktúra részleteit a server/README.md dokumentálja.

Deploy

Firebase Hosting és Firestore-szabályok:

npm run build:web -w uzenofuzet-server
cd server && firebase deploy --project uzenofuzet --only firestore:rules,hosting

A backend Cloud Runra kerül, a repó gyökeréből — a build kontextusnak tartalmaznia kell a core/ csomagot is:

gcloud run deploy uzenofuzet --source . --region europe-west1 --project uzenofuzet
``` A production parancsot, a Secret Manager
hivatkozásokat, a Classroom OAuth-beállításokat és a scheduler konfigurációját
lásd a [`server/README.md`](server/README.md) Deploy szakaszában.

## Licenc

[Apache License 2.0](LICENSE). A szoftver „AS IS” állapotban használható; a
KRÉTA rendszeréhez, nevéhez és védjegyéhez nem biztosít jogot.

Available Tools

20 tools
kreta_absencesB
Read-onlyIdempotent

Mulasztások és igazolási állapotuk lekérése.

Inputs: child, limit. Returns: object

kreta_announced_testsC
Read-onlyIdempotent

Bejelentett dolgozatok és számonkérések lekérése dátumtartományra.

Inputs: child, limit, end_date, start_date. Returns: object

kreta_announcementsC
Read-onlyIdempotent

A KRÉTA faliújság-elemeinek lekérése.

Inputs: child, limit. Returns: object

kreta_class_averagesC
Read-onlyIdempotent

A tanuló csoportjaihoz elérhető osztályátlagok lekérése.

Inputs: child, limit. Returns: object

kreta_class_groupsC
Read-onlyIdempotent

A tanuló osztályainak és csoportjainak lekérése.

Inputs: child, limit. Returns: object

kreta_consulting_hour_detailA
Read-onlyIdempotent

Egy fogadóóra részleteinek lekérése a listából kapott UID alapján.

Inputs: consulting_hour_uid (required), child. Returns: object

kreta_consulting_hoursC
Read-onlyIdempotent

Fogadóórák lekérése dátumtartományra.

Inputs: child, limit, end_date, start_date. Returns: object

kreta_device_statusA
Read-onlyIdempotent

A KRÉTA tárgyi eszköz kiosztási és regisztrációs állapotának lekérése.

Inputs: child. Returns: object

kreta_evaluationsB
Read-onlyIdempotent

Jegyek és más értékelések lekérése, legfeljebb a megadott darabszámban.

Inputs: child, limit. Returns: object

kreta_guardian_profileB
Read-onlyIdempotent

A bejelentkezett fiók gondviselői adatlapjának lekérése.

Inputs: child. Returns: object

kreta_homeworkB
Read-onlyIdempotent

Házi feladatok lekérése dátumtartományra (alapból az elmúlt 30 és következő 14 nap).

Inputs: child, limit, end_date, start_date. Returns: object

kreta_homework_detailA
Read-onlyIdempotent

Egy házi feladat részleteinek lekérése a listából kapott UID alapján.

Inputs: homework_uid (required), child. Returns: object

kreta_lazar_ervin_eventsB
Read-onlyIdempotent

A Lázár Ervin Programhoz tartozó előadások lekérése.

Inputs: child, limit. Returns: object

kreta_loginA
Read-onlyIdempotent

Belépés ellenőrzése OAuth 2.0 Authorization Code + PKCE használatával.

Ha nincs 'child' megadva és több gyerek van beállítva, mindegyiket ellenőrzi, és gyerekenkénti státuszt ad vissza.

Inputs: child. Returns: object

kreta_notesC
Read-onlyIdempotent

Tanári és intézményi feljegyzések lekérése.

Inputs: child, limit. Returns: object

kreta_school_calendarC
Read-onlyIdempotent

A tanév rendjének és intézményi napjainak lekérése.

Inputs: child, limit. Returns: object

kreta_student_profileB
Read-onlyIdempotent

A bejelentkezett tanuló adatlapjának lekérése.

Inputs: child. Returns: object

kreta_timetableA
Read-onlyIdempotent

Órarend lekérése egy YYYY-MM-DD dátumtartományra (alapból ±7 nap).

Inputs: child, limit, end_date, start_date. Returns: object

kreta_timetable_itemB
Read-onlyIdempotent

Egy órarendi elem részleteinek lekérése a listából kapott UID alapján.

Inputs: lesson_uid (required), child. Returns: object

kreta_week_scheduleC
Read-onlyIdempotent

Az intézményi heti órarendi beosztás lekérése.

Inputs: child, limit, end_date, start_date. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 20 tools

    Disambiguation4/5

    Most tools target a distinct KRÉTA entity such as grades, absences, timetable, homework, or profiles. The only mild overlaps are timetable vs. week_schedule and notes vs. announcements, but the descriptions clarify student-specific vs. institution-wide data.

    Naming Consistency4/5

    All tools share the kreta_ prefix and snake_case naming, which creates a predictable pattern. However, detail variants mix suffixes: timetable_item vs. homework_detail vs. consulting_hour_detail, and kreta_login is a status check rather than a noun-style resource.

    Tool Count3/5

    With 20 tools, the set sits in the heavy range and feels borderline for coherence. Each tool does cover a distinct module, but a few could likely be consolidated without losing functionality.

    Completeness4/5

    The read-only surface is broad and covers the main student information needs: profiles, grades, absences, timetable, homework, tests, consultations, and school calendar. Minor gaps such as a message/inbox tool or absence justification actions exist, but they are not critical for core usage.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers