Supabase MCP
resmiSupabase projelerini, veritabanlarını, kimlik doğrulamayı, depolamayı, edge fonksiyonlarını ve SQL iş akışlarını yapay zeka ajanlarından yönetmek için resmi Supabase MCP sunucusu.
Supabase MCP ile neler yapabilirsiniz?
- Veritabanı tablolarını yönetin — Yapay zekaya,
list_tablesvecreate_tablegibi araçları kullanarak Supabase projenizdeki tabloları listelemesini, oluşturmasını, güncellemesini veya silmesini söyleyin. - Proje yapılandırmasını alın —
get_project_urlve ilgili yapılandırma araçlarıyla proje ayarlarını, ortam değişkenlerini ve API kimlik bilgilerini alın. - Verileri sorgulayın ve inceleyin — Yapay zekanın salt okunur SQL sorguları çalıştırmasını veya veritabanı şemanızı doğrudan MCP sunucusu üzerinden keşfetmesini sağlayın.
- AI SDK ile entegre edin — Vercel AI SDK’nın MCP istemcisi için yazılı giriş/çıkış şemaları almak amacıyla
createToolSchemas()kullanın.
Dokümantasyon
Supabase MCP Sunucusu
Supabase projelerinizi Cursor, Claude, Windsurf ve diğer yapay zeka asistanlarına bağlayın.
Model Context Protocol (MCP), Büyük Dil Modellerinin (LLM'ler) Supabase gibi harici hizmetlerle nasıl konuşacağını standartlaştırır. Yapay zeka asistanlarını doğrudan Supabase projenize bağlar ve tabloları yönetme, yapılandırma alma ve veri sorgulama gibi görevleri gerçekleştirmelerine olanak tanır. Araçların tam listesine bakın.
Kurulum
1. Güvenlik en iyi uygulamalarımızı takip edin
MCP sunucusunu kurmadan önce, bir LLM'yi Supabase projelerinize bağlamanın risklerini ve bunları nasıl azaltacağınızı anlamak için güvenlik en iyi uygulamalarımızı okumanızı öneririz.
2. MCP istemcinizi yapılandırın
Supabase MCP sunucusunu istemcinizde yapılandırmak için kurulum belgelerimizi ziyaret edin. Ayrıca Supabase panosundaki MCP bağlantı sekmesini ziyaret ederek projeniz için özel bir MCP URL'si oluşturabilirsiniz.
MCP istemciniz kurulum sırasında sizden otomatik olarak Supabase'de oturum açmanızı isteyecektir. Çalışmak istediğiniz projeyi içeren organizasyonu seçtiğinizden emin olun.
Çoğu MCP istemcisi aşağıdaki bilgileri gerektirir:
{
"mcpServers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}
MCP istemcinizi belgelerimizde listelenmiş olarak görmüyorsanız, istemcinizin MCP belgelerini kontrol edin ve yukarıdaki MCP bilgilerini beklenen formata (json, yaml, vb.) kopyalayın.
CLI
Supabase'i Supabase CLI ile yerel olarak çalıştırıyorsanız, MCP sunucusuna http://localhost:54321/mcp adresinden erişebilirsiniz. Şu anda, CLI ortamlarındaki MCP Sunucusu sınırlı bir araç alt kümesi sunar ve OAuth 2.1 içermez.
Self-hosted
Self-hosted Supabase için, MCP sunucusunu etkinleştirme sayfasına bakın. Şu anda, self-hosted ortamlardaki MCP Sunucusu sınırlı bir araç alt kümesi sunar ve OAuth 2.1 içermez.
Yapılandırma seçenekleri ve araçlar
Mevcut araçların ve yapılandırma seçeneklerinin tam listesi için Supabase MCP Sunucusu belgelerine bakın.
Belgeler ayrıca sizin için yapılandırma seçeneklerini dolduracak etkileşimli bir URL oluşturucu içerir.
Güvenlik riskleri
[!TIP] MCP sunucusunu kullanmadan önce, Supabase Belgeleri'ndeki güvenlik risklerini ve önerilen azaltmaları inceleyin.
AI SDK'nın MCP İstemcisi ile Kullanım
@supabase/mcp-server-supabase paketi, Vercel AI SDK'nın MCP istemcisi için girdi ve çıktı şemalarını doldurmak üzere createToolSchemas()'u dışa aktarır. Bu, Supabase MCP araçlarının, girdileri ve çıktıları için istemci tarafı doğrulama ve çıkarsanan TypeScript türleri ile statik araçlar olarak ele alınmasını sağlar.
import { createToolSchemas } from '@supabase/mcp-server-supabase';
import { createMCPClient } from '@ai-sdk/mcp';
import { streamText } from 'ai';
const mcpClient = await createMCPClient({
transport: {
type: 'http',
url: 'https://mcp.supabase.com/mcp',
},
});
const tools = await mcpClient.tools({
schemas: createToolSchemas(),
});
const result = streamText({ model, tools, prompt: '...' });
for (const step of await result.steps) {
for (const toolResult of step.staticToolResults) {
if (toolResult.toolName === 'get_project_url') {
toolResult.input; // { project_id: string }
toolResult.output; // { url: string }
}
}
}
createToolSchemas(), MCP sunucusunun URL parametrelerine benzer filtreleme seçeneklerini kabul eder:
features: Belirli özellik gruplarıyla sınırlandırın (örn.['database', 'docs']). Varsayılan olarak tüm varsayılan özellik gruplarını kullanır.projectScoped:trueolduğunda, araç girdi şemalarındanproject_id'ı çıkarır ve hesap düzeyindeki araçları hariç tutar —project_refile yapılandırılmış bir sunucuya bağlanırken kullanın. Varsayılan:false.readOnly:trueolduğunda, değişiklik yapan araçları hariç tutar —read_only=trueile yapılandırılmış bir sunucuya bağlanırken kullanın. Varsayılan:false.
const mcpClient = await createMCPClient({
transport: {
type: 'http',
url: 'https://mcp.supabase.com/mcp?project_ref=<project-ref>&read_only=true&features=database,docs',
},
});
const tools = await mcpClient.tools({
schemas: createToolSchemas({
features: ['database', 'docs'],
projectScoped: true,
readOnly: true,
}),
});
[!NOTE] Bu sunucu, MCP araç sonuçlarında
structuredContentgöndermez. AI SDK,contentmetninden JSON ayrıştırmaya geri döner.
Daha fazla bilgi için AI SDK belgelerindeki Şema Tanımı ve Türlü Araç Çıktıları bölümlerine bakın.
Diğer MCP sunucuları
@supabase/mcp-server-postgrest
PostgREST MCP sunucusu, kendi kullanıcılarınızı REST API aracılığıyla uygulamanıza bağlamanıza olanak tanır. Daha fazla ayrıntı için proje README dosyasına bakın.
Kaynaklar
- Model Context Protocol: MCP ve yetenekleri hakkında daha fazla bilgi edinin.
- Geliştirmeden üretime: Değişiklikleri üretim ortamlarına güvenli bir şekilde nasıl taşıyacağınızı öğrenin.
Geliştiriciler için
Bu projeye nasıl katkıda bulunacağınızla ilgili ayrıntılar için CONTRIBUTING dosyasına bakın.
Lisans
Bu proje Apache 2.0 altında lisanslanmıştır. Ayrıntılar için LICENSE dosyasına bakın.