Metabase AI Assistant'ın Evrimi: Basit Text-to-SQL'den 143 Araçlı Kurumsal MCP İş Zekası Motoruna
Veri ambarlarının ve iş zekası (BI) platformlarının kullanımında en büyük darboğaz, veri modellerinin karmaşıklığı ile karar vericilerin hız beklentisi arasındaki boşluktur. Büyük dil modellerinin (LLM) yükselişiyle birlikte, bu boşluğu kapatmak için ilk akla gelen yaklaşım "Text-to-SQL" (doğal dilden SQL üretimi) oldu.
Ancak sahada çalışan veri ve analitik ekiplerinin çok iyi bildiği bir gerçek var: Basit Text-to-SQL demoları kurumsal üretim ortamlarında hızla çöker.
Birkaç satırlık şema bilgisiyle çalışan ilkel AI botları; kolon isimlerini halüsinasyonla uydurur, milyonlarca satırlık ham stg_ (staging) tablolarına pahalı sorgular atar, şirketin MRR veya churn hesaplama kurallarını bilemez, PostgreSQL ile BigQuery arasındaki diyalekt farklarında takılır ve en tehlikelisi, hassas müşteri verilerini (PII) kontrolsüzce model bağlamına sızdırır.
Bugün ONMARTECH/Metabase-AI-MCP-Server ve enessari/metabase-ai-assistant açık kaynak depolarında geliştirdiğimiz Metabase AI Assistant, bu kronik problemleri çözmek üzere sıfırdan tasarlandı.
Basit bir SQL betiği olarak başlayan proje; bugün 143 özel araca, dbt semantik katman bilincine, otonom kendi kendini onaran SQL motoruna, 24 kolonlu dashboard mimarına ve denetlenebilir semantik belleğe sahip kurumsal bir Model Context Protocol (MCP) platformuna dönüştü.
Bu yazıda projenin evrimini, mimari kilometre taşlarını ve modern veri ekiplerinin bu sistemi nasıl kullandığını detaylandırıyoruz.
1. İlk Fazdan Bugüne: Neden Basit Text-to-SQL Yetersiz Kaldı?
İlk versiyonlarda hedefimiz, LLM'in Metabase API'si üzerinden bir soru alıp SQL çalıştırmasıydı. Ancak gerçek dünyadaki veri tabanları ve kullanıcı talepleri karşısında geleneksel yöntemlerin tıkandığı noktalar çok açıktı:
graph TD
subgraph Geleneksel_Yaklasim["1. Geleneksel Text-to-SQL (Kırılgan)"]
A[Kullanıcı Sorusu] --> B[LLM Prompt]
B --> C[Tek Seferlik SQL Üretimi]
C -->|Sözdizimi / Şema Hatası| D[Sorgu Patlar]
C -->|Yanlış Tablo Seçimi| E[Staging Tablosundan Yanlış Metrik]
C -->|PII Filtresi Yok| F[Hassas Veri Sızıntısı]
end
subgraph Metabase_AI_Assistant["2. Metabase AI Assistant v5.1 (MCP Mimarisi)"]
G[Kullanıcı Sorusu] --> H[dbt Model Önceliklendirme]
H --> I[Denetimli Semantik Bellek]
I --> J[Otonom Self-Healing SQL Motoru]
J --> K[Sıfır Sızıntı PII Maskeleme]
K --> L[24 Kolonlu Dashboard & Görselleştirme]
end
Kurumsal üretim ortamlarında karşılaştığımız 5 kritik kısıt şunlardı:
- Katman Bilgisizliği (Layer Blindness): Model, aynı metrik için ham log tablosunu (
stg_orders), ara birleştirme tablosunu (int_orders) ve doğrulanmış analitik tablosunu (fct_orders) ayırt edemiyordu. - Kırılgan Hata Yönetimi: En ufak bir kolon adı uyuşmazlığında veya
GROUP BYeksiğinde sistem kullanıcıya doğrudan veritabanı hata log'u fırlatıyordu. - Sessiz Bellek Bozulması (Silent Memory Corruption): Modellerin her sohbetten rastgele "kural öğrendiği" sistemlerde, bir kullanıcının yanlış yönlendirmesi tüm organizasyonun metrik mantığını bozabiliyordu.
- Dashboard ve Görselleştirme Eksikliği: Kullanıcı yalnızca bir sayı değil; filtrelenebilir, kartları hizalanmış, interaktif bir Metabase panosu istiyordu.
- Güvenlik ve Gizlilik: LLM'e dönen sonuç tablolarında e-posta, telefon ve kimlik numaraları gibi kişisel verilerin açık gitme riski bulunuyordu.
Bu darboğazları aşmak için mimariyi Model Context Protocol (MCP) standardı temelinde yeniden kurguladık.
2. Mimari Atılımlar ve Yeni Nesil Yetenekler
Bugün metabase-ai-assistant (npm) üzerinden yayınlanan v5.1 sürümü, birbirini tamamlayan 7 temel mimari sütun üzerinde yükselmektedir:
1. dbt Semantik Katman ve Medallion Hiyerarşisi Bilinci
Sistem, veri ambarınızdaki dbt manifest.json ve MetricFlow modellerini okuyarak kaynakları güvenilirlik hiyerarşisine göre sınıflandırır:
$$\mathbf{Gold;Marts;(fct_,;dim_,;rpt_)} ;\gg; \mathbf{Silver;(int_)} ;\gg; \mathbf{Bronze;Staging;(stg_)}$$
dbt_inspect_modelsvedbt_prioritize_sourcesaraçları sayesinde asistan, bir doğal dil sorusu aldığında asla ham staging modellerine gitmez; doğrudan testleri tamamlanmışfct_veyadim_mart modellerini hedef alır.
Bu yaklaşım, analistlerin haftalarca uğraşarak kurduğu dbt semantik modellerinin ve metrik tanımlarının yapay zekâ tarafından birebir korunmasını ve kullanılmasını sağlar.
2. Yönetişim Odaklı Semantik Bellek (Governance-First)
Birçok AI aracının düştüğü en büyük hata, kullanıcının her söylediğini doğrulamadan yerel belleğe yazmasıdır. Metabase AI Assistant'ta sessiz öğrenme (silent learning) ve fiziksel silme (hard delete) yasaklanmıştır.
- İki Aşamalı Onay: Yeni bir kural önerildiğinde (
semantic_memory_propose), kuralPENDING_APPROVALstatüsünde bekletilir. Yalnızca yetkili veri yöneticisi (semantic_memory_approve) onayladığında aktif hale gelir. - Yoruma Alma ve Arşivleme (Soft-Deprecation): Değişen iş kuralları veritabanından silinmez; zorunlu bir gerekçe açıklamasıyla (
semantic_memory_deprecate) arşive alınır. Böylece geçmişe dönük tüm analitik kararlar denetlenebilir kalır.
3. Otonom Kendi Kendini Onaran SQL Motoru (ai_sql_execute_and_heal)
Geleneksel araçların en sık tıkandığı veritabanı diyalekt ve şema uyumsuzlukları, otonom bir onarım döngüsüyle çözülmüştür:
sequenceDiagram
autonumber
actor User as Kullanıcı / Ajan
participant Engine as ai_sql_execute_and_heal
participant Metabase as Metabase API / DB
User->>Engine: Doğal Dil Sorgusu & SQL
Engine->>Metabase: Sorguyu İcra Et
alt Sorgu Başarılı
Metabase-->>Engine: Sonuç Seti (Tablo)
Engine-->>User: Doğrulanmış Veri
else Hata (Sözdizimi, Kolon Bulunamadı, Tip Uyuşmazlığı)
Metabase-->>Engine: DB Hata Mesajı
loop En Fazla 3 Onarım Döngüsü
Engine->>Metabase: Tablo Şemasını ve Kolon Tiplerini Tara
Engine->>Engine: SQL Diyalektini ve Filtreleri Düzelt
Engine->>Metabase: Düzeltilmiş SQL'i Tekrar Çalıştır
end
Metabase-->>Engine: Başarılı Sonuç
Engine-->>User: İyileştirme Raporu ve Sonuç Verisi
end
Sistem; PostgreSQL, MySQL, BigQuery, Snowflake, ClickHouse ve SQLite arasındaki DATE_TRUNC, INTERVAL, JSON ayrıştırma ve casting gibi diyalekt farklılıklarını arka planda otomatik olarak çözer.
4. Uçtan Uca 24 Kolonlu Dashboard Mimarı (ai_dashboard_build_full)
Metabase üzerinde dashboard oluşturmak yalnızca birkaç sorguyu kaydetmekten ibaret değildir; görsel hiyerarşi, kart boyutlandırması ve global filtrelerin parametrik olarak bağlanmasını gerektirir.
ai_dashboard_build_full aracı:
- Tek bir komutla konsepti anlar (örneğin: "Q3 E-Ticaret Dönüşüm ve İade Performansı Panosu").
- 6 ila 8 adet farklı görselleştirme kartı (Trend çizgileri, Kategori barları, KPI scalar kartları, Dağılım tabloları) üretir.
- Metabase'in 24 kolonlu ızgara koordinat sisteminde (
col,row,size_x,size_y) çakışmasız (collision-free) yerleşim matematiğini hesaplar. - Tarih aralığı ve kategori gibi global filtre parametrelerini panoya ekleyip kartlardaki alt sorgulara bağlar.
5. AI İndeks ve Materialized View Danışmanı (ai_query_index_advisor)
Analitik sorguların veritabanını kilitlemesini ve bulut faturalarını şişirmesini engellemek için sistem bir performans optimizasyon motoru barındırır.
- Sorguların
EXPLAINveyaEXPLAIN ANALYZEyürütme planlarını inceler. - Sequential scan (sıralı tarama) ve yüksek maliyetli join noktalarını tespit eder.
- DBA ve veri mühendisleri için somut
CREATE INDEX(composite/B-tree) veCREATE MATERIALIZED VIEWDDL önerileri üretir.
6. Proaktif KPI Anomali ve Aykırı Değer Tespiti (ai_analytics_detect_anomalies)
Yalnızca geçmiş veriyi raporlamakla yetinmeyen asistan, çoklu istatistiksel modeller çalıştırır:
- Z-Score Analizi: Normal dağılım gösteren metriklerdeki ani sapmalar.
- Tukey IQR (Çeyrekler Açıklığı): Sezonsal ve basık dağılımlarda gürültüden arındırılmış aykırı değerler.
- Bollinger Bantları: Zaman serisi trendlerinde dinamik üst/alt sınır ihlalleri.
- Sapma tespit edildiğinde sistem, boyut bazlı (ülke, kanal, cihaz, kampanya) kök neden hipotezleri oluşturur.
7. Sıfır Sızıntı Kurumsal PII Maskeleme
Kişisel Verilerin Korunması Kanunu (KVKK) ve GDPR gereksinimlerine tam uyum için veri sanitizasyonu yerel MCP sunucusu seviyesinde gerçekleşir.
E-posta adresleri, telefon numaraları, TC kimlik / SSN numaraları, kredi kartı desenleri ve kimlik doğrulama token'ları; veri seti Metabase'den alınıp LLM bağlamına iletilmeden önce yerel düzenli ifadeler ve şifreleme filtreleriyle otomatik olarak maskelenir.
3. Desteklenen 143 Aracın Kategorik Dağılımı
Metabase AI Assistant, dar kapsamlı bir eklenti değil; Metabase ekosisteminin tüm API kabiliyetlerini kapsayan modüler bir araç takımıdır:
| Kategori | Araç Sayısı | Temel Yetenekler |
|---|---|---|
| Autonomous AI Engines | 12 | Kendi kendini onaran SQL, uçtan uca dashboard kurulumu, indeks danışmanı, anomali dedektörü. |
| Questions & Cards | 28 | SQL ve GUI kartları oluşturma, güncelleme, çalıştırma, arşivleme ve revizyon geçmişi. |
| Dashboards & Layout | 22 | Pano oluşturma, 24 kolonlu ızgara yönetimi, kart yerleşimi, global parametre ve filtre bağlama. |
| Semantic & dbt Layer | 18 | dbt manifest tarama, Gold/Silver model yönlendirme, onaylı semantik kural motoru. |
| Databases & Metadata | 24 | Tablo, şema, kolon tipleri, yabancı anahtarlar (FK), alan değerleri ve sync tetikleme. |
| Collections & Bookmarks | 16 | Dizin hiyerarşisi yönetimi, taşıma, yetkilendirme ve favori yönetimi. |
| Permissions & Users | 13 | Kullanıcı grupları, veri erişim izinleri ve denetim logları. |
| Alerts & Pulses | 10 | E-posta ve Slack uyarıları, periyodik metrik bildirimleri ve webhook tetikleyicileri. |
4. Çoklu İstemci ve Platform Desteği
Metabase AI Assistant, Model Context Protocol standardı sayesinde geliştiricilerin ve iş birimlerinin tercih ettiği tüm modern AI ortamlarında tak-çalıştır olarak çalışır:
{
"mcpServers": {
"metabase": {
"command": "npx",
"args": ["-y", "metabase-ai-assistant"],
"env": {
"METABASE_INSTANCE_URL": "https://bi.sirketiniz.com",
"METABASE_API_KEY": "mb_sec_xxxxxxxxxxxxxxxxxxxx",
"METABASE_READ_ONLY": "false"
}
}
}
}
- Claude Desktop: Tek tıkla JSON konfigürasyonu veya
.dxtpaketi ile anında aktifleşir. - Cursor IDE, Windsurf & VS Code: Kod geliştirirken veri tabanı şemasını sorgulamak ve dbt modellerini doğrulamak için doğrudan editörden kullanılır.
- ChatGPT Custom GPTs & Actions: Kurum içi iş birimlerine yönelik self-service sohbet botları oluşturulabilir.
- Google Gemini & AI Studio: Fonksiyon çağırma (Function Calling) araç seti olarak entegre edilir.
- Cloudflare Workers: Sıfır sunucu maliyetiyle global edge üzerinde barındırılabilir.
5. Gerçek Hayat Senaryosu: Bir Pazarlama Panosunun Otonom İnşası
Geleneksel süreçte bir analistin günlerini alan bir talep örneği:
"Son 90 günün Google Ads ve Meta harcamalarını, blended CAC ve ROAS metrikleriyle gösteren, kanal ve ülke bazında filtrelenebilen bir Metabase panosu kur."
Metabase AI Assistant arka planda şu adımları otonom olarak yürütür:
dbt_prioritize_sourcesilefct_marketing_attributionvedim_channelsGold Mart tablolarını bulur.semantic_memory_lookupile şirketin onaylanmış blended ROAS formülünü çeker.- Toplam harcama, toplam ciro, CAC trendi ve kanal kırılımı için 6 ayrı Metabase sorusu (kartı) oluşturur;
ai_sql_execute_and_healile sorguları doğrular. - Yeni bir Metabase dashboard'u açar, 24 kolonlu ızgarada en üstte 3 scalar KPI kartı, ortada zaman serisi grafiği ve altta detay tablosunu hizalar.
- Ülke (
location) ve Tarih (created_at) filtrelerini panoya ekleyip 6 karta tek seferde eşler.
Tüm bu süreç yaklaşık 15 saniyede, hiçbir manuel koordinat veya SQL kopyalama işlemine gerek kalmadan tamamlanır.
6. Açık Kaynak ve Katkıda Bulunma
Metabase AI Assistant, veri topluluğuna katkı sağlamak amacıyla açık kaynak ve Apache 2.0 lisansıyla yayınlanmaktadır.
- Resmi GitHub Deposu (ONMARTECH): github.com/ONMARTECH/Metabase-AI-MCP-Server
- Geliştirici Deposu (Abdullah Enes SARI): github.com/enessari/metabase-ai-assistant
- NPM Paketi: npmjs.com/package/metabase-ai-assistant
Siz de deponun yıldızını (star) vererek projeyi destekleyebilir, issue veya pull request göndererek yeni araçların eklenmesine katkıda bulunabilirsiniz.
Önerilen Okumalar
Model Context Protocol (MCP) and the Invisible Hazard: 1200% CPU Consumption, Orphaned Processes, and a 'Retry Storm' Case Study
The architectural anatomy of 12 mcp-remote processes locking an idle workstation at 1200% CPU. Unpacking eager startup, missing backoff, orphaned zombies, and distributed Retry Storm vulnerabilities.
Okumaya Devam Et →Model Context Protocol (MCP) and the 'Agentic MarTech' Revolution: Orchestrating the Modern Marketing Stack with AI Agents
The paradigm shift from manual dashboards to autonomous AI agents. How MCP connects BigQuery, Google Ads, GA4, and Meta into an automated marketing operating system—and how to govern cost, quota, and PII risks.
Okumaya Devam Et →