KBÜ MCP
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., "@KBÜ MCPBilgisayar mühendisliği bölüm sekreterinin telefon numarası nedir?"
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.
KBÜ MCP: Karabük Üniversitesi için MCP Sunucusu
Bu proje, Karabük Üniversitesi web sitesindeki (*.karabuk.edu.tr) tüm bilgiye erişim sağlayan bir
Model Context Protocol (MCP) sunucusudur. Claude Code, Codex, Claude Desktop,
5ire, Cursor gibi MCP destekleyen yapay zekâ uygulamalarına eklendiğinde, üniversiteyle ilgili sorular
yalnızca üniversitenin kendi sitelerindeki içerikten, kaynak bağlantısı ve tarih verilerek cevaplanır:
sayfalar, binlerce PDF / Word / Excel / PowerPoint belgesi, telefon rehberi, AKTS ders planları, yemek listesi,
akademik takvim ve duyurular.
⚠️ Bu proje Karabük Üniversitesi'nin resmi bir ürünü değildir. Üniversitenin herkese açık web sitelerini okur; giriş gerektiren sistemlere (OBS, EBYS, e-posta vb.) erişmez.
Kullanıcı: Bilgisayar mühendisliği bölüm sekreterinin numarası nedir?
Claude: Bilgisayar Mühendisliği bölüm sekreteri [Ad SOYAD].
• Telefon: 0 (370) 418 XX XX (dahili XXXX) • E-posta: …@karabuk.edu.tr
Rehberde fakültede iki bölüm sekreteri görünüyor; bölüm sitesinin üst bilgisindeki numara
bu kişinin dahilisiyle eşleşiyor.
Kaynaklar: rehber.karabuk.edu.tr (canlı sorgu, 25.10.2026) · bbf.karabuk.edu.tr/bilgisayar🎯 Temel Özellikler
Tüm site, tüm belgeler: 140'tan fazla alt site; HTML sayfaları ile PDF, Word (doc/docx), Excel (xls/xlsx), PowerPoint (ppt/pptx), ODT/ODS, RTF, TXT/CSV ve ZIP içindeki belgeler (ilk taramada ~28.000 belge, ~7.000 PDF).
Taranmış PDF'ler için OCR: Resim olarak taranmış belgeler (ör. yemekhane fiyat listesi) Tesseract ile okunur.
Canlı veriler: Telefon rehberi, yemek listesi, akademik takvim ve birim duyuruları her soruda doğrudan siteden okunur.
Güncellik: İndeks kendiliğinden güncellenir. Sunucu açılırken indeks yoksa ilk tarama, eskiyse artımlı yenileme arka planda başlar. Okunan belge 24 saatten eskiyse siteden yeniden çekilir.
Kaynaklı cevaplar: Her cevap URL, PDF sayfa numarası ve tarihle verilir. Bulunamayan bilgi uydurulmaz.
AKTS / Bologna: Programların ders planları, AKTS kredileri, kontenjanları ve mezuniyet koşulları.
Türkçe'ye özel arama: İ/ı ve ç/ğ/ş/ü/ö katlama, kök bulma, ünsüz yumuşaması ("mühendislik" → "mühendisliği") ve eş anlamlılar.
Akıllı çapraz doğrulama: Örneğin bölüm sekreteri, rehberdeki dahili numara bölüm sitesindeki telefonla eşleştirilerek belirlenir.
🚀 Hızlı Kurulum
1. Ön Gereksinimler
Python 3.11 veya üzeri: python.org/downloads. Windows'ta kurulum sırasında "Add Python to PATH" seçeneğini işaretleyin.
Git: git-scm.com/downloads. Windows için "Git for Windows/x64 Setup".
uv(Python paket yöneticisi):Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
(İsteğe bağlı, önerilir) Tesseract OCR: Taranmış PDF'leri okumak için. Türkçe modeli sunucu kendisi indirir.
Windows:
winget install UB-Mannheim.TesseractOCRmacOS:
brew install tesseractDebian/Ubuntu:
sudo apt install tesseract-ocr
Kurulumdan sonra paketi bir kez önceden indirip doğrulamanız önerilir (ilk açılışı hızlandırır):
uvx --from git+https://github.com/1ffatihgur/kbu-mcp kbu --version2. Kullandığınız uygulamaya ekleyin
🟣 Claude Code
Tek komut. Tüm klasörlerde kullanılabilir olarak eklenir:
claude mcp add --scope user karabuk-universitesi -- uvx --from git+https://github.com/1ffatihgur/kbu-mcp kbu-mcpKontrol: claude mcp list. Ardından yeni bir Claude Code oturumunda üniversiteyle ilgili bir soru sorun.
⚫ Codex (CLI / uygulama)
codex mcp add karabuk-universitesi -- uvx --from git+https://github.com/1ffatihgur/kbu-mcp kbu-mcpveya ~/.codex/config.toml dosyasına elle ekleyin (Windows: %USERPROFILE%\.codex\config.toml):
[mcp_servers.karabuk-universitesi]
command = "uvx"
args = ["--from", "git+https://github.com/1ffatihgur/kbu-mcp", "kbu-mcp"]
startup_timeout_sec = 120 # ilk açılışta paket indirildiği için🟠 Claude Desktop
Claude Desktop → Settings → Developer → Edit Config
Açılan
claude_desktop_config.jsondosyasınamcpServersaltına ekleyin:{ "mcpServers": { "karabuk-universitesi": { "command": "uvx", "args": ["--from", "git+https://github.com/1ffatihgur/kbu-mcp", "kbu-mcp"] } } }Claude Desktop'ı tamamen kapatıp yeniden açın.
🔵 5ire ve diğer istemciler (Cursor, Windsurf, Antigravity, VS Code …)
5ire: Tools → +Local / New
Tool Key:
karabukuniversitesiName:
Karabük ÜniversitesiCommand:
uvx --from git+https://github.com/1ffatihgur/kbu-mcp kbu-mcpKaydedip etkinleştirin (yeşil ışık).
Diğerleri: İstemcinin MCP yapılandırma dosyasına (
mcp.json,mcp_config.json…) yukarıdaki Claude Desktop örneğindekicommand/argsdeğerlerini girin.
💡
uvxbulunamadı hatası alırsanız:commandalanınauvx'in tam yolunu yazın (Windows:%USERPROFILE%\.local\bin\uvx.exe, macOS/Linux:~/.local/bin/uvx).
3. İlk indeks (otomatik)
Sunucu ilk kez açıldığında yerel indeks yoksa arka planda kendiliğinden oluşturulur. Bunun için bir şey yapmanız gerekmez.
İlk tarama sitenin büyüklüğü nedeniyle yaklaşık 1–2 saat sürer (siteyi yormamak için hız sınırlıdır). Bilgisayar kapanırsa bir sonraki açılışta kaldığı yerden devam eder.
Bu sırada telefon rehberi, yemek listesi, akademik takvim, duyurular ve sayfa okuma araçları canlı siteden çalışır. Tam metin arama, indeks doldukça gelişir.
Gerekli disk alanı: yaklaşık 2,5 GB.
İlerlemeyi görmek için yapay zekâya "KBÜ indeks durumu nedir?" diye sorabilir (
index_status) ya dauvx --from git+https://github.com/1ffatihgur/kbu-mcp kbu statusçalıştırabilirsiniz.
İsterseniz ilk taramayı elle, ilerlemeyi izleyerek de başlatabilirsiniz:
uvx --from git+https://github.com/1ffatihgur/kbu-mcp kbu updateVeri klasörü: Windows %LOCALAPPDATA%\kbu-mcp, macOS ~/Library/Application Support/kbu-mcp,
Linux ~/.local/share/kbu-mcp (KBU_DATA_DIR ile değiştirilebilir).
Related MCP server: METU ODTUClass MCP Server
🌐 Uzak Erişim: Kurulum Gerektirmeden Paylaşın (Remote MCP)
Sunucuyu kendi bilgisayarınızda çalıştırıp ücretsiz Cloudflare Tunnel ile internete açabilirsiniz. Böylece arkadaşlarınız ya da diğer cihazlarınız hiçbir şey kurmadan, sadece bir adres ekleyerek kullanır. Hesap, kredi kartı ya da alan adı gerekmez.
Bir kez:
cloudflaredkurun:winget install Cloudflare.cloudflaredDepo klasöründe başlatın (indeks yoksa önce
kbu update):powershell -ExecutionPolicy Bypass -File scripts\remote.ps1Ekranda çıkan
https://<rastgele>.trycloudflare.com/mcpadresini kullanın:Claude Desktop / claude.ai: Settings → Connectors → Add custom connector → Name:
KBÜ MCP, URL: adresClaude Code:
claude mcp add --transport http karabuk-universitesi <adres>Codex:
codex mcp add karabuk-universitesi --url <adres>
Bilmeniz gerekenler:
Adres her başlatmada değişir ve yalnızca bilgisayarınız açıkken ve betik çalışırken erişilebilir.
Sunucu yalnızca okuma yapan MCP araçlarını sunar (yerel dosyalarınıza erişim yoktur); IP başına dakikada 120 istek sınırı ve canlı sorgular için 10 dakikalık önbellek vardır.
Durdurmak için betiğin penceresinde Ctrl+C.
Kendi sunucunuzda çalıştırmak isterseniz: kbu-mcp --http --port 7860 (önüne HTTPS sağlayan bir ters vekil koyun).
💬 Örnek Sorular
"Bilgisayar mühendisliği bölüm sekreterinin telefon numarası nedir?"
"Tıp Fakültesi dekanı kim?"
"Yatay geçiş başvuruları ne zaman?"
"28 Ekim'de yemekhanede ne var? Öğrenci yemek ücreti ne kadar?"
"Bilgisayar mühendisliği 3. yarıyılda hangi dersler var, kaç AKTS?"
"Erasmus başvuru şartları ve belgeleri neler?"
"Kütüphane hafta sonu açık mı?"
"Bilgisayar mühendisliğinde staj kaç iş günü?"
"Öğrenci işleri daire başkanlığına nasıl ulaşırım?"
"Lisansüstü eğitim yönetmeliğine göre tez savunma süreci nasıl?"
🛠️ Kullanılabilir Araçlar (MCP Tools)
Araç | Ne yapar | Başlıca parametreler |
| Tüm sayfa ve belgelerde (PDF, Word, Excel …) Türkçe tam metin arama. Eşleşen rehber kayıtlarını da ekler. |
|
| Bir sayfanın/belgenin tam metni (PDF'te sayfa numaralı). İndeksteki kopya eskiyse canlı siteden okur. |
|
| Resmi telefon rehberini canlı sorgular: ünvan, ad, görev, birim, telefon, dahili, e-posta. |
|
| Rehber birimleri (fakülte, MYO, daire başkanlığı …) ve alt siteler. |
|
| Bir birim sitesinin güncel duyuru, etkinlik ve haberleri (canlı). |
|
| Güncel aylık yemek listesi, gün gün (canlı). | — |
| Güncel akademik takvim (canlı). |
|
| Herhangi bir KBÜ sayfasını canlı okur ve linklerini döner (sitede gezinme). |
|
| İndeks istatistikleri, son güncellemeler, arka plan güncellemesi. | — |
Sunucu, yapay zekâya şu kuralları talimat olarak verir: yalnızca araç çıktılarına dayan, her bilgi için kaynak ve tarih ver, bulamadığını açıkça söyle, çelişen belgelerde en günceli esas al.
🔄 Güncel Tutma
Otomatik: MCP sunucusu her açıldığında indeksin yaşını kontrol eder. 24 saatten eskiyse tam yenileme (koşullu GET, değişmeyen dosyalar indirilmez + rehber + OCR), 1 saatten eskiyse duyuru/ana sayfa yenilemesini arka planda başlatır. Kapatmak için ortam değişkeni:
KBU_AUTO_UPDATE=0.Zamanlanmış (isteğe bağlı): Yapay zekâ uygulaması kapalıyken de güncel kalsın istiyorsanız:
Windows (PowerShell):
$act = New-ScheduledTaskAction -Execute "uvx" -Argument "--from git+https://github.com/1ffatihgur/kbu-mcp kbu update --hot" Register-ScheduledTask -TaskName "KBU MCP saatlik" -Action $act -Trigger (New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Hours 1)) $act2 = New-ScheduledTaskAction -Execute "uvx" -Argument "--from git+https://github.com/1ffatihgur/kbu-mcp kbu update" Register-ScheduledTask -TaskName "KBU MCP gecelik" -Action $act2 -Trigger (New-ScheduledTaskTrigger -Daily -At 03:00)macOS / Linux (
crontab -e):0 * * * * ~/.local/bin/uvx --from git+https://github.com/1ffatihgur/kbu-mcp kbu update --hot 0 3 * * * ~/.local/bin/uvx --from git+https://github.com/1ffatihgur/kbu-mcp kbu update
Aynı anda yalnızca bir güncelleme çalışır; sunucunun ve zamanlanmış görevin aynı anda tetiklenmesi sorun olmaz.
🧰 Komut Satırı
uvx --from git+https://github.com/1ffatihgur/kbu-mcp kbu <komut> (veya geliştirici kurulumunda kbu <komut>):
Komut | Açıklama |
| İndeksi oluştur/güncelle (ilk seferde tam tarama) |
| Veri klasörü, son güncellemeler, çalışan güncelleme |
| İndekste deneme araması |
| Belge/dosya istatistikleri |
| Telefon rehberi önbelleğini yenile |
| Taranmış PDF'leri OCR ile işle |
| Arama indeksini yeniden kur (siteyi yeniden taramadan) |
| MCP sunucusunu stdio üzerinden başlat |
| Uzak (Streamable HTTP) sunucu: |
⚙️ Ortam Değişkenleri
Değişken | Varsayılan | Açıklama |
| işletim sistemine göre (yukarıda) | İndeks, log ve OCR modellerinin klasörü |
|
| Veritabanı dosyası |
|
|
|
|
| Uzak modda IP başına dakikadaki istek sınırı |
|
| Canlı sorgu önbellek süresi (0: kapalı) |
| — | Kendi Tesseract dil verisi klasörünüz |
👩💻 Geliştirici Kurulumu
git clone https://github.com/1ffatihgur/kbu-mcp.git
cd kbu-mcp
python -m venv .venv
# Windows: .venv\Scripts\activate · macOS/Linux: source .venv/bin/activate
pip install -e ".[dev]"
kbu update # depo kopyasında veriler ./data altına yazılır
pytest # birim testleri
python eval/run_eval.py # arama kalitesi ölçümü (altın soru seti)Depo kopyasından MCP istemcisine eklemek için command olarak .venv içindeki Python'u, args olarak
["-m", "kbu_mcp.server"] verin.
🏗️ Nasıl Çalışır?
*.karabuk.edu.tr ──► Tarayıcı ──► Çıkarıcılar ──► SQLite FTS5 indeksi ──► MCP sunucusu ──► Claude / Codex / …
(nazik, (HTML, PDF, (Türkçe normalizasyon, (9 araç; canlı
artımlı) Office, OCR) BM25 + ağırlıklar) doğrulama)Tarayıcı: Host başına hız sınırı, ETag/Last-Modified ile koşullu GET, kaldığı yerden devam, ASP.NET GridView sayfalamalarını (
__doPostBack) gezme, tarama tuzaklarına ve ölü hostlara karşı koruma.Çıkarıcılar: Site şablonunun menü/altbilgi kısmını atıp içerik alanını alır; PDF'leri sayfa numarasıyla, tabloları satır satır çıkarır; görüntü PDF'leri OCR'a gönderir.
Arama: BM25 + başlık / birim / iletişim / tazelik ağırlıkları; telefon rehberi kayıtlarıyla zenginleştirme.
Siteye özgü çözülmüş tuzaklar:
Alt sitelerdeki
BAparametresi olmadan sayfalar ana sayfaya yönlenir; aynı parametre bölümü de belirtir (BA=bilgisayar).Duyuru arşivleri
Refererbaşlığı olmadan açılmaz.Telefon rehberinde birimler fakülte düzeyindedir; bölüm bilgisi bölüm sitesiyle çapraz doğrulanır.
Yemek listesi PDF'inde düz metin sütunları karıştırdığı için yemekler kelime koordinatlarıyla günlere atanır.
Ayrıntılı tasarım: docs/YOL_HARITASI.md.
⚠️ Bilinen Sınırlar
Giriş gerektiren sistemler (OBS öğrenci/personel ekranları, EBYS, e-posta, başvuru sistemleri) bilerek kapsam dışıdır; kişisel öğrenci bilgisine erişilmez.
Resim olarak yayınlanan duyurular (JPG/PNG afişler) şimdilik okunmaz.
Ders detay sayfaları (haftalık konular, kaynaklar) taranmaz; ders planları ve AKTS bilgileri taranır.
Çok büyük/dinamik siteler (
avesis,unis) taranmaz, istenirsefetch_pageile canlı okunur.OCR rakam ve isimlerde hata yapabilir; araç bu durumda kullanıcıya orijinal belgeyi önerir.
Cevapların doğruluğu sitedeki bilginin güncelliğiyle sınırlıdır; bu yüzden her cevap kaynak ve tarihle verilir.
🤝 Katkı
Hata bildirimi ve önerileriniz için Issues. Yeni bir soru türünün
doğru cevaplanmadığını görürseniz, soruyu ve beklenen kaynağı eval/questions.json dosyasına ekleyen bir PR
özellikle değerlidir.
🙏 Sorumlu Kullanım
Tarayıcı üniversite sunucularını yormamak için hız sınırıyla ve tanımlayıcı bir User-Agent ile çalışır. Varsayılan ayarları (eşzamanlılık, gecikme) artırmayın. Site içeriğinin hakları Karabük Üniversitesi'ne aittir; bu proje içeriği yeniden dağıtmaz, her kullanıcı kendi yerel indeksini oluşturur.
📜 Lisans
Bu proje MIT Lisansı altında lisanslanmıştır. Ayrıntılar için LICENSE dosyasına bakınız.
This server cannot be deployed
Maintenance
Related MCP Connectors
Search university course materials, your flashcards, quizzes, streak and quota. All tools read-only.
AI search (Reddit, HN, arXiv, Wikipedia), X and web search, page extraction, X data, People Search.
Search and query nTop's knowledge base and engineering guides from AI applications.
SEC filings, Wikipedia, arXiv, US Census and more for AI agents, with every answer source-linked.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI clients to search BUPT byrdocs materials, past exam papers, and freshmen knowledge base via natural language.-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to query METU's ODTUClass LMS for enrolled courses, announcements, syllabi, assignment deadlines, and lab/recitation schedules using credential or token authentication.1GPL 2.0
- FlicenseNot gradedqualityAmaintenanceEnables AI agents and users to search institutional knowledge, retrieve policies and academic regulations, compare document versions, and generate grounded answers with verified citations through MCP tools, resources, and prompts.-
- AlicenseNot gradedqualityAmaintenanceLets AI agents browse and read a university's student resource center portal, retrieving the resource pages for a given admission year and department along with progression and graduation requirements, student handbook sections, academic calendars, bus timetables, class advisors, application forms and manuals, and contact information, each answer cited with its source document and page. It is an unofficial tool that runs locally and drives Chrome or Edge to access the portal on the user's behalf.4MIT