Scheduler'ınıza Soru Sormak — Milvaion MCP Server
Serinin ilk yazısında Milvaion'ın çıkış noktasını, ikinci yazıda mevcut Hangfire/Quartz kurulumlarını değiştirmeden nasıl izleyebileceğini anlatmıştım.
Bu yazı, sisteme en son eklediğim ve açıkçası en çok tartıştığım özellik hakkında: MCP server.
Baştan uyarayım — bu bir "yapay zeka ile her şey çözüldü" yazısı değil. Aksine, bu özelliği yazarken en çok uğraştığım kısım ne yapabileceği değil, ne yapamayacağıydı.
Aynı Veriye İkinci Bir Kapı
İlk yazıda şunu söylemiştim: asıl değer job'ları çalıştırmakta değil, çalıştıktan sonra ne olduğunu görebilmekte. Dashboard tam da bunun için var ve üzerine en çok vakit harcadığım kısım.
MCP server onun yerine geçen bir şey değil. Dashboard hâlâ sistemi yönettiğin, workflow'unu kurduğun, job'ını düzenlediğin, canlı log akışını izlediğin yer — ve öyle kalıyor. MCP'nin yaptığı, aynı veriye ikinci bir kapı açmak: bakmak yerine sormak istediğin anlar için.
Aradaki fark şurada beliriyor. Dashboard bir soruyu cevaplamakta çok iyi. Bir teşhis ise genelde tek soru değil, birbirini tetikleyen bir soru zinciri:
Gece daily-invoice-export patlamış. Occurrence ekranında exception'ı okuyorsun — bir timeout. Sonra "bu ne zamandır böyle?" diye geçmişe bakıyorsun, salıdan beri. Sonra "salı günü worker ayakta mıydı?" diye worker ekranına, sonra "salı günü biri bu job'a dokunmuş mu?" diye activity log'a geçiyorsun.
Ekranların her biri sana doğru cevabı veriyor. Zorlanan taraf sen oluyorsun: dört ekrandan topladığın parçaları kafanda birleştirmek. Dördüncüde, birincide ne gördüğünü hatırlamaya çalışıyorsun.
Oysa aklındaki soru en baştan beri tek cümleydi: "daily-invoice-export salıdan beri patlıyor, logları oku ve ne değiştiğini söyle."
MCP server bu cümleyi doğrudan çalıştırılabilir hale getiriyor. Gezinmenin kendisini değil, gezinirken bağlamı taşıma yükünü ortadan kaldırıyor.
Kimin ne zaman hangi kapıyı kullanacağı da net: bir şeyi değiştirecekseniz dashboard, bir şeyi anlayacaksanız ikisi de iş görür — hangisi o an daha hızlıysa.
Kurulum
1. Read-only bir API key üret
Dashboard'dan bir API key oluştur ve sadece şunları ver:
ScheduledJobManagement.List,ScheduledJobManagement.DetailFailedOccurrenceManagement.ListWorkerManagement.ListWorkflowManagement.List
Bu setle asistan her şeyi inceleyebilir, hiçbir şeyi değiştiremez. Çoğu insan için doğru varsayılan bu.