← Blog Listesine Dön
2026-08-31YENİ

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ı:

  1. 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.
  2. Kırılgan Hata Yönetimi: En ufak bir kolon adı uyuşmazlığında veya GROUP BY eksiğinde sistem kullanıcıya doğrudan veritabanı hata log'u fırlatıyordu.
  3. 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.
  4. Dashboard ve Görselleştirme Eksikliği: Kullanıcı yalnızca bir sayı değil; filtrelenebilir, kartları hizalanmış, interaktif bir Metabase panosu istiyordu.
  5. 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_models ve dbt_prioritize_sources araçları sayesinde asistan, bir doğal dil sorusu aldığında asla ham staging modellerine gitmez; doğrudan testleri tamamlanmış fct_ veya dim_ mart modellerini hedef alır.
BİLGİLENDİRME

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), kural PENDING_APPROVAL statü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 EXPLAIN veya EXPLAIN ANALYZE yü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) ve CREATE MATERIALIZED VIEW DDL ö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.

KRİTİK GEREKSİNİM

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 .dxt paketi 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:

  1. dbt_prioritize_sources ile fct_marketing_attribution ve dim_channels Gold Mart tablolarını bulur.
  2. semantic_memory_lookup ile şirketin onaylanmış blended ROAS formülünü çeker.
  3. 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_heal ile sorguları doğrular.
  4. 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.
  5. Ü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.

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

2026-08-19

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 →
2026-08-19

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 →