@akredit/acik-mcp 0.6.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -37
- package/dist/apps/acik-mcp/src/araclar.js +7 -2
- package/dist/apps/acik-mcp/src/bologna.d.ts +12 -0
- package/dist/apps/acik-mcp/src/bologna.js +580 -249
- package/dist/apps/acik-mcp/src/genel-ayristir.js +2 -2
- package/dist/apps/acik-mcp/src/http.js +2 -1
- package/dist/apps/acik-mcp/src/kaynak-dogrula.js +1 -1
- package/dist/apps/acik-mcp/src/kisisel-veri.d.ts +4 -3
- package/dist/apps/acik-mcp/src/kisisel-veri.js +5 -0
- package/dist/apps/acik-mcp/src/not-tablosu.d.ts +4 -1
- package/dist/apps/acik-mcp/src/not-tablosu.js +10 -4
- package/dist/apps/acik-mcp/src/proliz-metin.d.ts +60 -0
- package/dist/apps/acik-mcp/src/proliz-metin.js +271 -0
- package/dist/apps/acik-mcp/src/promptlar.d.ts +6 -3
- package/dist/apps/acik-mcp/src/promptlar.js +97 -48
- package/dist/apps/acik-mcp/src/sunucu.d.ts +3 -2
- package/dist/apps/acik-mcp/src/sunucu.js +16 -11
- package/dist/apps/acik-mcp/src/temel.d.ts +8 -0
- package/dist/apps/acik-mcp/src/temel.js +32 -0
- package/dist/apps/acik-mcp/src/yardim.js +46 -12
- package/dist/packages/baglayicilar/src/bologna-proliz/ayristir.js +4 -2
- package/dist/packages/cekirdek/src/bologna/taslak.js +8 -2
- package/dist/packages/cekirdek/src/karar/katman.d.ts +2 -2
- package/dist/packages/cekirdek/src/karar/katman.js +2 -2
- package/dist/packages/cekirdek/src/turkce.d.ts +0 -2
- package/dist/packages/cekirdek/src/turkce.js +0 -4
- package/dist/packages/olcme/src/girdi.d.ts +3 -0
- package/dist/packages/olcme/src/girdi.js +55 -0
- package/dist/packages/olcme/src/index.d.ts +1 -0
- package/dist/packages/olcme/src/index.js +1 -0
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
# @akredit/acik-mcp
|
|
2
2
|
|
|
3
|
-
Yükseköğretimde kalite güvencesi ve akreditasyon işleri için herkese açık, ücretsiz MCP sunucusu. Kendi yapay zekâ aracınıza (Claude, ChatGPT, Claude Code, Cursor, VS Code) bağlanır; hazır başlangıçlar (istemler) ve
|
|
3
|
+
Yükseköğretimde kalite güvencesi ve akreditasyon işleri için herkese açık, ücretsiz MCP sunucusu. Kendi yapay zekâ aracınıza (Claude, ChatGPT, Claude Code, Cursor, VS Code) bağlanır; hazır başlangıçlar (istemler) ve yirmi iki araç verir.
|
|
4
4
|
|
|
5
|
-
İlke: süreci
|
|
5
|
+
İlke: süreci en az kullanıcı müdahalesiyle, hızlıca ama denetimli ve teyitli tamamlamak. Akredit özgür yazılımdır; halüsinasyona yer yoktur.
|
|
6
6
|
|
|
7
7
|
## İlk 2 dakika
|
|
8
8
|
|
|
9
9
|
1. Asistanınıza `https://akredit.org/mcp` adresini ekleyin (aşağıda "Bağlantı") ya da yerelde `npx -y @akredit/acik-mcp` çalıştırın.
|
|
10
10
|
2. Yeni sohbette `akredit` yazın ya da hazır başlangıçlardan `akredit` komutunu seçin. Claude'da "+" altında Akredit, Cursor ve Claude Code'da eğik çizgi (/) ile görünür. Görünmüyorsa "Akredit ile başlayalım" yazın.
|
|
11
|
-
3. Odağınızı seçin
|
|
11
|
+
3. Odağınızı numarasıyla seçin ya da ne istediğinizi doğrudan yazın (ör. "akredit ders paketimi doldur"). Asistan ara adımda soru sormaz: her alanı kendisi doldurur, denetler, geçmeyeni düzeltir ve sonunda tek özet gösterir. Değiştirmek istediğiniz alanın numarasını yazarsınız.
|
|
12
12
|
|
|
13
13
|
## Hiç bilmeyenler için
|
|
14
14
|
|
|
15
15
|
Yapay zekâyı ilk kez kullanıyorsanız bu adımları sırayla izleyin. Her adım tek iştir. Menü adları sürüme göre biraz farklı olabilir.
|
|
16
16
|
|
|
17
|
-
1. Claude'a Akredit'i ekleyin.
|
|
17
|
+
1. Claude'a Akredit'i ekleyin. Ayarlar'da Bağdaştırıcılar (Connectors) bölümünü açın. + Ekle, ardından Özel bağdaştırıcı ekle (Add custom connector) deyin. Ad: Akredit. Adres: `https://akredit.org/mcp`. Devam et, sonra Oturum açma olmadan (No sign in) ile Ekle deyin. Listede Akredit görünür.
|
|
18
18
|
2. Yeni sohbet açın ve `akredit` yazın. Ekranda hangi aracı kullanmak istediğinizi soran bir menü görürsünüz. Bologna için 1 yazın.
|
|
19
19
|
3. OBS'nize kendiniz girin. Asistan OBS adresinizi sorar ve tarayıcı aracı varsa sayfayı kenarda açar. Kullanıcı adınızı ve parolanızı yalnız OBS'nin kendi giriş ekranına, kendiniz yazın. Asistana, sohbete ya da Akredit'e asla yazmayın. Doğrulama kodu ve "Ben robot değilim" kutusu da sizindir. Girince asistana yalnız "girdim" yazın.
|
|
20
|
-
4. Kenardaki tarayıcı. Claude in Chrome eklentisi, Claude masaüstü uygulamasının tarayıcı paneli ya da ChatGPT'nin ajan modu sayfayı okuyabilir. Asistan ders
|
|
21
|
-
5.
|
|
22
|
-
6. OBS'ye yazma.
|
|
20
|
+
4. Kenardaki tarayıcı. Claude in Chrome eklentisi, Claude masaüstü uygulamasının tarayıcı paneli ya da ChatGPT'nin ajan modu sayfayı okuyabilir. Asistan "hangi ders?" diye sormaz: bütün derslerinizin Bologna sayfasını tarar, eksikleri sayar ve tek listede gösterir.
|
|
21
|
+
5. Yalnız sizin bilebileceğinizi yazın. Sayfada değerlendirme yüzdeleri ya da kullandığınız kaynaklar yoksa asistan bunları tek mesajda sorar; tahmin etmez. Kaynak önerisi isterseniz eserleri kendi web aramasıyla bulur, Akredit'in kaynak doğrulayıcısından geçirir ve yalnız katalogda bulunanı bağlantısıyla gösterir. Kalan alanları kendisi doldurur ve denetler.
|
|
22
|
+
6. OBS'ye yazma. Asistan alan alan önceki ve yeni değer özetini gösterir ve sorar: 1) OBS'ye yaz ve kaydet 2) formu doldur, Kaydet'e ben basayım 3) alan alan kopya metni ver. Tarayıcı aracı yoksa 3. yol kullanılır. Kayıttan sonra sayfa geri okunur ve yazılanla karşılaştırılır. Onaya Gönder düğmesine yalnız siz basarsınız.
|
|
23
23
|
7. Engel olursa. Tarayıcı aracı yoksa, site açılmıyorsa, CAPTCHA ya da oturum düşmesi olursa asistana ne olduğunu yazın; adım adım çözüm verir. Hiçbiri olmazsa yedek yol hep var: OBS'de ders sayfasında Ctrl+A, Ctrl+C, sohbete Ctrl+V.
|
|
24
24
|
|
|
25
|
+
Peşin onay: baştan "akredit ders paketlerimi hepsini yap ve kaydet" yazarsanız asistan ara durak yapmaz; tarar, doldurur, OBS'ye kaydeder, geri okuyup doğrular ve sonda tek rapor verir. Sayfada olmayan değerlendirme yüzdesini ve kaynağı sormaz da uydurmaz da: boş bırakıp raporda listeler. "Kaydetme" gibi olumsuz bir söz onay sayılmaz. Onaya Gönder yine sizdedir.
|
|
26
|
+
|
|
25
27
|
## Hazır başlangıçlar (istemler)
|
|
26
28
|
|
|
27
29
|
| İstem | Ne yapar |
|
|
@@ -37,20 +39,24 @@ Yapay zekâyı ilk kez kullanıyorsanız bu adımları sırayla izleyin. Her ad
|
|
|
37
39
|
|
|
38
40
|
| Araç | Ne yapar |
|
|
39
41
|
|---|---|
|
|
42
|
+
| `akredit_basla` | İlk araç: odak menüsünü, kısa kuralları ve seçilen işin adım adım akışını verir; niyetinizi yazdıysanız menüyü atlar. |
|
|
40
43
|
| `olcut_ara` | YÖKAK ya da program akreditasyonu (MÜDEK, FEDEK, SABAK, EPDAD) ölçütlerinde arar. |
|
|
41
44
|
| `olcut_getir` | Bir ölçütün resmî metnini kaynak sayfasıyla getirir. |
|
|
42
45
|
| `olgunluk_duzeyleri` | Alt ölçütün olgunluk düzeylerini ve örnek kanıtlarını getirir. |
|
|
43
46
|
| `oz_degerlendirme_iskeleti` | Öz değerlendirme raporu iskeletini çıkarır; her bölüm EKSİK işaretli gelir. |
|
|
44
|
-
| `
|
|
47
|
+
| `obs_ders_listesi` | OBS'de ders listesi açılınca tarama planını (15'erli dilimler) ve sonuç raporunun biçimini verir; "hangi ders?" diye sordurmaz. |
|
|
48
|
+
| `bologna_ayristir` | Yapıştırılan ya da tarayıcıyla okunan Bologna sayfasını çözer ve aynı yanıtta denetler. Önce Proliz, olmazsa her OBS için genel ayrıştırıcı (HTML ya da düz metin, Türkçe ya da İngilizce). Bulunan ve bulunamayan alanları ve güven düzeyini söyler. Adres çekmez. |
|
|
45
49
|
| `bologna_denetle` | Bologna ders paketini denetler; boş, zayıf ve tamam alanları numaralı verir. |
|
|
46
50
|
| `bologna_alan_rehberi` | Bir alanın doldurma kurallarını, sınırlarını, kalıplarını ve Bloom fiillerini verir. |
|
|
47
|
-
| `bologna_taslak_denetle` | Asistanın yazdığı 1-3
|
|
48
|
-
| `is_yuku_oner` | AKTS
|
|
49
|
-
| `bologna_durum` |
|
|
50
|
-
| `bologna_kopya_metni` |
|
|
51
|
+
| `bologna_taslak_denetle` | Asistanın yazdığı 1-3 taslağı biçim kurallarıyla denetler: geçti ya da eksik nedenleri. Toplamları kendisi hesaplar; içerik teyidi hocadadır. |
|
|
52
|
+
| `is_yuku_oner` | AKTS, T+U+L ve sayfadaki değerlendirme kalemlerinden iş yükü dağılımı önerir; yalnız derste olan etkinliğe satır açar. |
|
|
53
|
+
| `bologna_durum` | Hazırlanan alanların bütününe bakar: hangi zorunlu alan eksik ya da kurala uymuyor, kaç alan kaldı. |
|
|
54
|
+
| `bologna_kopya_metni` | Hazırlanan alanları OBS'ye alan alan yazılacak paket ve önceki/yeni değer özeti olarak verir. Doğrulanmamış kaynağı ve teyitsiz değerlendirme yüzdesini pakete almaz. |
|
|
55
|
+
| `bologna_toplu_ozet` | Birden çok dersin (en çok 15) yazma paketini tek özet tablosunda, tek onayla verir. |
|
|
56
|
+
| `obs_karsilastir` | Kayıttan sonra geri okunan sayfayı yazılanla karşılaştırır; ders kodu ya da dönem değişmişse dur der. |
|
|
51
57
|
| `kaynak_bicimle` | Kitap ya da makale bilgisini APA 7'ye benzer künyeye çevirir; eksik bilgiyi [EKSİK] yazar, uydurmaz. |
|
|
52
|
-
| `kaynak_dogrula` | DOI, ISBN ya da başlık ile yazarı açık kataloglarda (Crossref, Open Library, Google Books) arar. Bulursa
|
|
53
|
-
| `not_tablosu_ayristir` | Excel ya da CSV not tablosunu ÇK/PÇ hesabına hazırlar; ad
|
|
58
|
+
| `kaynak_dogrula` | DOI, ISBN ya da başlık ile yazarı açık kataloglarda (Crossref, Open Library, Google Books) arar. Bulursa katalog künyesi ve bağlantısı, bulamazsa "bulunamadı" döner; katalogda bulunmayan kaynak önerilmez, yalnız hoca beyanıyla yazılır. |
|
|
59
|
+
| `not_tablosu_ayristir` | Excel ya da CSV not tablosunu ÇK/PÇ hesabına hazırlar; yalnız not sütunlarını kabul eder (ad ya da numara sütunu görürse işlemez), öğrencilere takma ad verir, başlıklardan soru ve çıktı eşlemesini sezer. |
|
|
54
60
|
| `ck_pc_hesapla` | Ders öğrenme çıktısı ve program çıktısı sağlanma düzeyini hesaplar. |
|
|
55
61
|
| `rapor_dil_denetle` | Rapor metninde kanıtsız üstünlük, belirsiz özne gibi dil sorunlarını işaretler. |
|
|
56
62
|
| `kurulum_yardimi` | Bağlayıcı ekleme ve OBS'ye tarayıcıyla giriş için istemciye göre adım adım rehber. |
|
|
@@ -62,34 +68,32 @@ Sunucu model çağırmaz ve metin üretmez. Bologna seçeneklerini sizin asistan
|
|
|
62
68
|
|
|
63
69
|
```
|
|
64
70
|
Hoca: akredit
|
|
65
|
-
Asistan: Neye odaklanalım?
|
|
71
|
+
Asistan: Merhaba. Neye odaklanalım? Yalnız numarasını yazın.
|
|
72
|
+
1) Bologna paketi 2) Öğrenme çıktısı 3) ÇK/PÇ 4) Ölçüt rehberi 5) Dil denetimi 6) Başka bir şey
|
|
66
73
|
Hoca: 1
|
|
67
74
|
Asistan: Önce bir kural: kullanıcı adınızı ve parolanızı yalnız OBS'nin kendi ekranına, kendiniz yazın.
|
|
68
|
-
Bana asla yazmayın. OBS
|
|
75
|
+
Bana asla yazmayın. OBS'nizin adresini yazın.
|
|
69
76
|
Hoca: obs.kurgu.edu.tr
|
|
70
77
|
Asistan: OBS giriş ekranını kenarda açtım. Bilgilerinizi oraya yazın, bitince bana yalnız "girdim" yazın.
|
|
71
78
|
Hoca: girdim
|
|
72
|
-
Asistan:
|
|
79
|
+
Asistan: 2 dersiniz var. Hepsini tarıyorum; eksikleri ve önerilerimi birazdan tek listede göstereceğim.
|
|
80
|
+
Asistan: Şu eksiklikleri tespit ettim, önerilerim şunlar.
|
|
81
|
+
KRG204 Kurgu Ölçme Yöntemleri: 6 alan eksik ya da zayıf (amaç boş, 3 hafta var)
|
|
82
|
+
KRG305 Kurgu Veri Çözümlemesi: eksik görünmüyor
|
|
83
|
+
İki bilgiyi yalnız siz bilebilirsiniz (KRG204):
|
|
84
|
+
1) Değerlendirme yöntemleri ve yüzdeleri: yazın (ör. Vize 40, Final 60)
|
|
85
|
+
2) Kaynaklar: a) katalogdan doğrulayıp önereyim b) şunları kullanıyorum: yazın
|
|
86
|
+
Sonra: 1) Eksikleri en çok olandan başlayarak kapatalım (önerilen) 2) Yalnız en eksik dersi ...
|
|
87
|
+
Hoca: vize 40 final 60, kaynak a, 1
|
|
88
|
+
Asistan: KRG204 için değişiklik özeti (öneri yazanlar benim önerimdir, içeriği siz teyit edersiniz):
|
|
89
|
+
1) Amaç: (boş) -> "Bu ders, kurgu ölçme kavramlarını ..." (öneri)
|
|
90
|
+
2) Değerlendirme: Ara Sınav %40, Yarıyıl Sonu Sınavı %60 (hoca)
|
|
91
|
+
3) Kaynaklar: Deneme, C. (2019). Kurgu istatistiği. Kurgu Akademi. (katalogda bulundu) ...
|
|
92
|
+
1) OBS'ye yaz ve kaydet 2) Formu doldur, Kaydet'e ben basayım 3) Kopya metni ver
|
|
93
|
+
Değiştirmek istediğiniz alan varsa numarasını yazın.
|
|
73
94
|
Hoca: 1
|
|
74
|
-
Asistan:
|
|
75
|
-
|
|
76
|
-
1) Alan alan seçenek göstereyim 2) Yalnız boşlar 3) Kendim seçeyim 4) Hepsini akıllıca doldur (önerilen)
|
|
77
|
-
Hoca: 4
|
|
78
|
-
Asistan: Şu alanları şöyle doldurdum, hepsi denetimden geçti:
|
|
79
|
-
1) Amaç: "Bu ders, kurgu ölçme kavramlarını ..." (66 kelime)
|
|
80
|
-
2) İçerik: ... 3) Çıktılar: 8 çıktı ... 9) Kaynaklar: 2 eser, ikisi de katalogda doğrulandı:
|
|
81
|
-
Deneme, C. (2019). Kurgu istatistiği. Kurgu Akademi. https://books.google.com/books?id=...
|
|
82
|
-
Değiştirmek istediğiniz alanın numarasını yazın; yoksa devam diyebilirsiniz.
|
|
83
|
-
Bunları daha sonra da kolayca güncelleyebilirsiniz.
|
|
84
|
-
Hoca: devam
|
|
85
|
-
Asistan: OBS'ye nasıl yazalım? 1) Formu ben doldurayım, Kaydet'e siz basın
|
|
86
|
-
2) Formu ben doldurup kaydedeyim (her sekmeden önce evet isterim) 3) Alan alan kopyalayın
|
|
87
|
-
4) Hepsini akıllıca doldur ve kaydet (önerilen)
|
|
88
|
-
Hoca: 4
|
|
89
|
-
Asistan: Bütün sekmeleri doldurup kaydetmem için izin veriyor musunuz? hepsini kaydet / hayır
|
|
90
|
-
Hoca: hepsini kaydet
|
|
91
|
-
Asistan: Üç sekmeyi doldurdum ve kaydettim. Dersi Verenler satırına dokunmadım.
|
|
92
|
-
Asistan: Sayfayı yeniden okudum ve denetledim: Tamamlandı.
|
|
95
|
+
Asistan: Kaydedildi ve geri okunarak doğrulandı; içerik teyidi sizde. Dersi Verenler satırına dokunmadım.
|
|
96
|
+
Onaya Gönder düğmesine siz basarsınız.
|
|
93
97
|
```
|
|
94
98
|
|
|
95
99
|
## Salt okuma ve güvenlik
|
|
@@ -118,7 +122,7 @@ https://akredit.org/mcp
|
|
|
118
122
|
|
|
119
123
|
### Claude (claude.ai)
|
|
120
124
|
|
|
121
|
-
|
|
125
|
+
Ayarlar > Bağdaştırıcılar (Connectors) > + Ekle > Özel bağdaştırıcı ekle (Add custom connector). Adres olarak `https://akredit.org/mcp` yazın ve Oturum açma olmadan (No sign in) seçeneğiyle ekleyin.
|
|
122
126
|
|
|
123
127
|
### Claude Code
|
|
124
128
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// Öz değerlendirme iskeleti metin yazmaz: her bölüm EKSİK işaretiyle ve gereken kanıt türleriyle döner (ilke 1).
|
|
5
5
|
import { dilDenetle } from "../../../packages/cekirdek/src/index.js";
|
|
6
6
|
import { belgeAdi, DOGRULANMADI, EPDAD_DERECELENDIRME_ANAHTARI, olcutEkleri, ozguBagi, ozguBolumListesi, PROGRAM_BELGELERI, PROGRAM_CERCEVELERI, tumOlcutler, YOKAK_KIDR_3_2_1, YOKAK_KURUMSAL_3_3, } from "../../../packages/cerceveler/src/index.js";
|
|
7
|
-
import { dersiOlc, HESAP_SURUMU } from "../../../packages/olcme/src/index.js";
|
|
7
|
+
import { dersiOlc, HESAP_SURUMU, olcmeGirdiSorunlari } from "../../../packages/olcme/src/index.js";
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
import { BOLOGNA_ARACLARI, bolognaDenetleAraci } from "./bologna.js";
|
|
10
10
|
import { kaynakBicimleAraci } from "./kaynak.js";
|
|
@@ -384,9 +384,14 @@ const ckPcHesapla = arac({
|
|
|
384
384
|
])),
|
|
385
385
|
]))
|
|
386
386
|
: undefined;
|
|
387
|
+
const veri = { dersKodu: g.dersKodu, donem: g.donem, ciktilar: g.ciktilar, araclar: g.araclar, puanlar: g.puanlar };
|
|
388
|
+
// Bozuk girdi sessizce hesaplanmaz (tam puanı aşan puan, yinelenen satır, tanımsız araç/soru, yinelenen ÇK).
|
|
389
|
+
const sorunlar = olcmeGirdiSorunlari(veri);
|
|
390
|
+
if (sorunlar.length)
|
|
391
|
+
throw new AracHatasi(`Not tablosu tutarsız, hesap yapılmadı. Düzeltip yeniden deneyin: ${sorunlar.join(" ")}`);
|
|
387
392
|
let s;
|
|
388
393
|
try {
|
|
389
|
-
s = dersiOlc(
|
|
394
|
+
s = dersiOlc(veri, { esik: g.esik, ...(matris ? { matris } : {}) });
|
|
390
395
|
}
|
|
391
396
|
catch (e) {
|
|
392
397
|
throw new AracHatasi(e instanceof Error ? e.message : "Hesap yapılamadı. Girdiyi denetleyin.");
|
|
@@ -94,6 +94,7 @@ declare const TaslakAlanlari: z.ZodObject<{
|
|
|
94
94
|
oneri: "oneri";
|
|
95
95
|
hoca: "hoca";
|
|
96
96
|
}>>;
|
|
97
|
+
degerlendirmeKaniti: z.ZodOptional<z.ZodString>;
|
|
97
98
|
kaynaklar: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
98
99
|
kunye: z.ZodString;
|
|
99
100
|
dogrulama: z.ZodUnion<readonly [z.ZodLiteral<"hoca_beyani">, z.ZodObject<{
|
|
@@ -287,5 +288,16 @@ export declare function obsKarsilastir(g: {
|
|
|
287
288
|
eksikParcaSayisi: number;
|
|
288
289
|
}[];
|
|
289
290
|
};
|
|
291
|
+
/**
|
|
292
|
+
* Değerlendirme yüzdesi kod kapısı (ilke 2-3): dayanak 'sayfa' ya da 'hoca' olsa da her katkı yüzdesi verilen
|
|
293
|
+
* kanıt metninde (sayfa tablosu ya da hocanın yanıtı) ayrı bir sayı olarak geçmelidir. Model beyanına güvenilmez.
|
|
294
|
+
*/
|
|
295
|
+
export declare function degerlendirmeTeyitli(a: {
|
|
296
|
+
degerlendirme?: {
|
|
297
|
+
katki: number;
|
|
298
|
+
}[] | undefined;
|
|
299
|
+
degerlendirmeDayanagi?: string | undefined;
|
|
300
|
+
degerlendirmeKaniti?: string | undefined;
|
|
301
|
+
}): boolean;
|
|
290
302
|
export declare const BOLOGNA_ARACLARI: readonly AcikArac[];
|
|
291
303
|
export {};
|