kreta
This server is a read-only MCP integration that lets Claude query a student's KRÉTA educational data (grades, timetable, homework, absences, etc.) via safe, locally running OAuth/PKCE-authenticated API calls.
Check KRÉTA login status and authenticate via OAuth 2.0 Authorization Code + PKCE
Retrieve student and guardian profile information
List classes and groups for the student
Fetch grades/evaluations, absences, and teacher/institution notes
Get timetable for a date range and detailed timetable items by UID
Get homework for a date range and detailed homework entries by UID
List announced tests/exams, consulting hours, and consulting hour details
Read school calendar, weekly schedule, class averages, device status, and Lázár Ervin Program events
Support multiple children via a
childparameter or separate env-based server instancesAll operations are read-only: no modifications, deletions, or arbitrary API paths are exposed
Provides integration with Google Classroom, allowing parents to connect their children's school Google accounts and access classroom-related information.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kreta What's my homework for tomorrow?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ü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:
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.mcpbcsomagolá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ó>.mcpbA 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 devA 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,hostingA 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 toolskreta_absencesBRead-onlyIdempotent
Mulasztások és igazolási állapotuk lekérése.
Inputs: child, limit. Returns: object
kreta_announced_testsCRead-onlyIdempotent
Bejelentett dolgozatok és számonkérések lekérése dátumtartományra.
Inputs: child, limit, end_date, start_date. Returns: object
kreta_announcementsCRead-onlyIdempotent
A KRÉTA faliújság-elemeinek lekérése.
Inputs: child, limit. Returns: object
kreta_class_averagesCRead-onlyIdempotent
A tanuló csoportjaihoz elérhető osztályátlagok lekérése.
Inputs: child, limit. Returns: object
kreta_class_groupsCRead-onlyIdempotent
A tanuló osztályainak és csoportjainak lekérése.
Inputs: child, limit. Returns: object
kreta_consulting_hour_detailARead-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_hoursCRead-onlyIdempotent
Fogadóórák lekérése dátumtartományra.
Inputs: child, limit, end_date, start_date. Returns: object
kreta_device_statusARead-onlyIdempotent
A KRÉTA tárgyi eszköz kiosztási és regisztrációs állapotának lekérése.
Inputs: child. Returns: object
kreta_evaluationsBRead-onlyIdempotent
Jegyek és más értékelések lekérése, legfeljebb a megadott darabszámban.
Inputs: child, limit. Returns: object
kreta_guardian_profileBRead-onlyIdempotent
A bejelentkezett fiók gondviselői adatlapjának lekérése.
Inputs: child. Returns: object
kreta_homeworkBRead-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_detailARead-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_eventsBRead-onlyIdempotent
A Lázár Ervin Programhoz tartozó előadások lekérése.
Inputs: child, limit. Returns: object
kreta_loginARead-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_notesCRead-onlyIdempotent
Tanári és intézményi feljegyzések lekérése.
Inputs: child, limit. Returns: object
kreta_school_calendarCRead-onlyIdempotent
A tanév rendjének és intézményi napjainak lekérése.
Inputs: child, limit. Returns: object
kreta_student_profileBRead-onlyIdempotent
A bejelentkezett tanuló adatlapjának lekérése.
Inputs: child. Returns: object
kreta_timetableARead-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_itemBRead-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_scheduleCRead-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
Scored across 20 tools
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.
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.
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.
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
Related MCP Connectors
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
1WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceConnects Claude AI to your Canvas LMS account, enabling natural language interaction with coursework including assignments, grades, announcements, and calendar.-
- AlicenseAqualityBmaintenanceConnect Claude and other MCP clients to your Smartschool account to ask about grades, assignments, messages, and your schedule in plain language.1327 PyPI6MIT
- AlicenseAqualityCmaintenanceEnables Claude to read EcoleDirecte school data (grades, homework, absences, messages) locally via MCP, without sharing credentials.5MIT
- AlicenseAqualityCmaintenanceEnables Claude to access school information system data such as timetables, grades, homework, messages, students, teachers, and meal information, including meal ratings.26GPL 3.0