Supabase MCP nedir? Kurulum, salt okuma, güvenlik riskleri ve ücret
Asistanına (Claude Code, Cursor gibi) veritabanı işini söylersin; Supabase MCP projene bağlanıp tabloları listeler, SQL çalıştırır, migration uygular, logları ve güvenlik önerilerini okur, Edge Function dağıtır. Supabase'in resmî MCP sunucusu; barındırılan adres https://mcp.supabase.com/mcp, giriş tarayıcıda Supabase hesabınla yapılır, kişisel erişim jetonu gerekmez. Üretim projesine bağlarken Supabase read_only ve project_ref ile daraltmayı öneriyor; belge, yıkıcı SQL onayının güvenlik garantisi olmadığını da söylüyor. Branching ücretli plan ister.
- Ne yapar
- Asistana Supabase projende SQL, migration ve log işi yaptırır
- Tür
- MCP sunucusu (uzak; yerel CLI için de var)
- Nerede
- Claude Code, Cursor ve diğer MCP istemcileri
- Giriş
- Tarayıcıda Supabase girişi; jeton gerekmez
- Risk
- SQL yazabilir; istem enjeksiyonu riski var
- Türkçe
- Resmî kaynak yazmıyor
- Ücret
- MCP için ayrı ücret yok; Branching ücretli plan ister
Supabase MCP ne işe yarar?
MCP, yapay zekâ programlarının dış araçlara bağlanma standardıdır. Supabase MCP ile asistanın Supabase projene doğrudan erişir: "veritabanında hangi tablolar var" diye sorarsın, belgenin önerdiği deneme istemi budur. Asistan şema değişikliğini migration olarak uygulayabilir, proje loglarını sorgulayabilir, güvenlik ve performans önerilerini okuyabilir, Edge Function listeleyip dağıtabilir.
SQL yazabilir; üretim projesinde read_only ve project_ref ile daralt.
Araçlar gruplara ayrılıyor: veritabanı, hata ayıklama, geliştirme (adres, anahtarlar, TypeScript tipleri), Edge Function'lar, hesap yönetimi, belge arama, geliştirme dalı ve depolama. Depolama grubu varsayılan olarak kapalı. Belgede 33 araç adı geçiyor; bazıları koşullu.
Kime yarar: Supabase ile uygulama geliştiren ve veritabanı işini asistanla hızlandırmak isteyenlere. Belge, bunu müşterilerine ya da son kullanıcılara vermemeni açıkça söylüyor; geliştirici aracı olarak düşünülmüş.
Supabase MCP nasıl kurulur?
Barındırılan sunucuya bağlanırsın; bilgisayara paket kurmak gerekmez. Adres parametreleriyle erişimi daraltırsın. Komutlar Supabase belgesinden aynen alındı.
› claude mcp add --scope project --transport http supabase "https://mcp.supabase.com/mcp?features=docs%2Caccount%2Cdatabase%2Cdebugging%2Cdevelopment%2Cfunctions%2Cbranching"Sonra normal bir terminalde (IDE eklentisinde değil) claude /mcp çalıştır, supabase sunucusunu seç ve "Authenticate" de. Tarayıcıda Supabase girişi açılır; projenin bulunduğu organizasyonu seç.
Üretim projesi için daraltılmış adres örneği: https://mcp.supabase.com/mcp?read_only=true&project_ref=PROJE_KIMLIGI. Parametreler belgeyle uyumlu; bu tam komut belgede bu hâliyle yok.
› { "mcpServers": { "supabase": { "type": "http", "url": "https://mcp.supabase.com/mcp" } } }Cursor'da bağlantıyı Cursor Settings sonra Tools & MCP altından doğrularsın. README, listede olmayan istemcide bu bilgiyi istemcinin beklediği biçime (json, yaml vb.) kopyalamayı söylüyor. Supabase panelindeki "MCP connection" sekmesi proje için özel adres üretir.
Tarayıcısız ortamda kişisel erişim jetonu (PAT) gerekir. Belge: jetonu Supabase access tokens sayfasında amacını gösteren bir adla üret ve yalnız bağlanılan projeye, gereken izinlere sınırla.
› { "mcpServers": { "supabase": { "type": "http", "url": "https://mcp.supabase.com/mcp?project_ref=${SUPABASE_PROJECT_REF}", "headers": { "Authorization": "Bearer ${SUPABASE_ACCESS_TOKEN}" } } } }Her istemci özel başlığı desteklemez.
Supabase CLI ile yerel çalışırken adres http://localhost:54321/mcp. Kendi sunucunda barındırdığın Supabase'de de yalnız bir araç alt kümesi var ve OAuth 2.1 yok (README).
| Adres parametresi | Ne yapar |
|---|---|
read_only=true | Tüm sorguları salt okunur Postgres kullanıcısıyla çalıştırır. |
project_ref=<id> | Tek projeye sınırlar; hesap araçları (proje oluşturma vb.) kapanır. |
features=database,docs | Yalnız seçilen araç gruplarını açar. |
skip_elicitations=execute_sql,apply_migration | Belirtilen araçlar için form onaylarını atlar; kimlik doğrulamayı, salt okumayı ve ücretleri atlamaz. |
İlk denemeyi üretim projesinde değil, ayrı bir deneme projesinde yap ve read_only=true ile başla.
Supabase MCP nasıl kullanılır?
Bağlandıktan sonra asistana doğal dille söylersin; araçları kendisi seçer. Belgenin önerdiği ilk deneme: "What tables are there in the database? Use MCP tools."
Çoğu MCP istemcisi her araç çağrısını onaylatır. Etkileşimli işte bu onayı açık tut ve her çağrıyı çalıştırmadan önce oku.
Supabase MCP hangi programlarda çalışır?
| Claude CodeVar | Belgede komut ve .mcp.json örneği var; giriş claude /mcp ile. |
|---|---|
| CursorVar | Belge bağlantıyı Cursor Settings sonra Tools & MCP altından doğrulamayı anlatıyor. |
| Windsurf ve diğer asistanlarKısmen | README Windsurf'ü genel olarak anıyor; ayrı bir adım listesi görünmüyor. |
| ChatGPT, Codex, VS Code, Gemini CLI, Claude uygulamasıNet değil | Belgenin istemci seçicisi JavaScript ile çiziliyor; adımlar resmî kaynakta net değil. "Çalışmaz" demek değildir. |
Codex masaüstünde apply_migration onayı sırasında hata bildiren açık bir GitHub kaydı var (issue #472, 14.10.2026). Liste belgenin okunabilen kısmından derlendi.
Supabase MCP neye erişir, ne yapabilir?
Tablolar, uzantılar, migration listesi, SQL sonuçları (yani veritabanı verisi), proje logları, güvenlik ve performans önerileri, Edge Function kodu, proje bilgisi, API adresi ve yayınlanabilir anahtarlar.
read_only kapalıysa SQL (yazma ve silme dahil), migration, Edge Function dağıtımı, proje oluşturma ve duraklatma, dal birleştirme ve sıfırlama, depolama yapılandırması (varsayılan kapalı).
execute_sql ve apply_migration DROP, DELETE, TRUNCATE gibi SQL çalıştırabilir. delete_branch dalı siler, pause_project projeyi duraklatır.
Sunucu Supabase'in barındırdığı uzak hizmet; sorgu sonuçları asistana gider. Belge, sonuçların "içindeki talimatlara uyma" uyarısıyla sarıldığını ama bunun kusursuz olmadığını söylüyor.
- read_only=true ile salt okunur Postgres kullanıcısı
- project_ref ile tek proje
- features ile yalnız gereken gruplar
- Müşterilerine ya da son kullanıcılara verme
- Hassas veri içeren üretim projesine korumasız bağlama
!Supabase belgesi LLM'i veri kaynağına bağlamanın doğal riskleri olduğunu ve başlıca saldırının istem enjeksiyonu olduğunu yazıyor: kullanıcı içeriğindeki bir metin asistanı güvenilmeyen komutları izlemeye kandırabilir. Yıkıcı SQL onay formu için belgenin kendi cümlesi: "bir güvenlik garantisi değildir". Bazı istemciler onayı otomatik yanıtlayan kurallar destekler. GitHub Security Advisories taramasında yayımlanmış uyarı çıkmadı. Bu "güvenli" demek değildir.
Belgenin tavsiyeleri: hassas veri içeren üretim projesini korumak, read_only açmak, sunucuyu tek projeye sınırlamak, özellik gruplarını daraltmak, geliştirme dalı kullanmak ve her araç çağrısını okuyup onaylamak.
Supabase MCP ücretsiz mi?
MCP sunucusu için ayrı bir ücret yazılmıyor; Supabase planın geçerli. Ancak Free projede MCP'nin çalışıp çalışmadığını söyleyen açık bir cümle belgede yok. Yalnız Branching için belge "ücretli plan gerekir" diyor ve fiyat sayfasında Free planda Branching "Not included". Bu yüzden "ücretsiz planla çalışır" demek doğru olmaz; denemenin yolu, Free planda bir proje açıp bağlamak.
- 2 aktif proje
- MCP için ayrı engel yazılmıyor
- Branching (geliştirme dalı)
- Hareketsiz projeler 1 hafta sonra duraklatılır
- Branching (deneysel)
- Aktif dal saatlik 0,01344 $ (depo belgesi)
Proje oluşturma ve dal oluşturma maliyet onayı ister; sıfır maliyetli projede onay istenmez. Ücretli plan tutarları resmî kaynakta net değil. Fiyatlar dolar; TL fiyatı yok.
Kaynak: Supabase fiyat sayfası, MCP belgesi ve depo belgeleri. Ticari kullanım Supabase hesap ve plan koşullarına bağlı; kod Apache-2.0 lisanslı. Bu bir hukuki görüş değildir.
Sık sorunlar ve çözümleri
| Ne oluyor | Ne yapmalı |
|---|---|
| Maliyet ya da yıkıcı SQL onay penceresi hiç görünmüyor | İstemci form tipi onayı desteklemiyor olabilir; belgede bu iki durum için sorun giderme bölümleri var. Maliyet için eski akış (get_cost + confirm_cost) devreye girer. |
| Girişten sonra araçlar görünmüyor | İstemciye göre yeniden başlatmak gerekebilir; Cursor'da bağlantıyı Cursor Settings sonra Tools & MCP altında kontrol et. |
| Kullanıcıların bildirdiği Zararsız UPDATE onay istiyor, cevap gelmezse ~180 sn sonra düşüyor | Açık issue #457 (03.10.2026): metin değerindeki noktalı virgül yıkıcı SQL denetimini tetikliyor. Resmî çözüm yok. |
| Kullanıcıların bildirdiği Codex masaüstünde apply_migration onayında hata | Açık issue #472 (14.10.2026); düzeltme yok. |
| Kullanıcıların bildirdiği list_tables tüm şemaları değil yalnız public'i getiriyor | Açık issue #395 başlığına göre varsayılan [public]. Şemayı sorguda açıkça belirt. |
| Kullanıcıların bildirdiği Birden fazla organizasyon desteklenmiyor | Açık issue #414 başlığı bunu söylüyor. |
Supabase MCP nasıl kaldırılır?
- İstemcide: MCP sunucu listesinden
supabasekaydını sil (Claude Code'da proje .mcp.json dosyasından kaldır; Supabase belgesinde ayrı bir komut yok). - Jeton kullandıysan: Supabase access tokens sayfasından CI için ürettiğin kişisel erişim jetonunu sil. Manuel OAuth uygulaması kurduysan organizasyonun OAuth apps sayfasından kaldır.
- Normal OAuth yetkisi: Hesabından geri alma ekranının adı belgede yazmıyor; Supabase hesap ayarlarındaki yetkili uygulamalara bak.
Sık sorulan sorular
Supabase MCP nedir?
Supabase'in resmî MCP sunucusu. Claude Code gibi bir yapay zekâ asistanı projene bağlanıp tabloları listeler, SQL çalıştırır, migration uygular, logları okur ve Edge Function dağıtır.
Canlı (production) veritabanıma bağlamak güvenli mi?
Belge güvenli demiyor. Üretim projesi hassas veri içerebilir; bağlamadan önce sunucuyu o projeye (project_ref) sınırla, read_only aç, özellik gruplarını daralt ve mümkünse geliştirme dalı kullan.
Bunu müşterilerime verebilir miyim?
Hayır. Supabase "müşterilerine verme" diyor: sunucu geliştirici izinleriyle çalışır, dahili bir geliştirici aracı olarak kullanılmalı.
Kişisel erişim jetonu (PAT) gerekir mi?
Varsayılan kurulumda gerekmez; tarayıcıda Supabase girişi yeter. CI gibi tarayıcısız ortamda ya da OAuth istemci kimliği isteyen istemcilerde gerekir.
Ücretsiz Supabase projesinde çalışır mı?
Belgede Free proje için açık bir cümle yok. Yalnız Branching için ücretli plan yazıyor ve fiyat sayfasında Free'de "Not included". Denemenin yolu Free planda bir proje açıp bağlamak.
İlgili rehberler
Kaynaklar
- Supabase belgeleri: MCP server
- supabase/mcp README
- Geliştirmeden production'a
- Supabase fiyatlar
- npm: @supabase/mcp-server-supabase
Resmî kaynaklarda net olmayanlar: Free projede MCP'nin çalıştığı (belgede açık cümle yok) · ChatGPT, Codex, VS Code, Gemini CLI ve Claude uygulamasındaki kurulum adımları · ücretli plan tutarları · OAuth yetkisini hesaptan geri alma ekranı. Her biri ilgili bölümde yazılı.




