Supabase MCP

resmi

Supabase 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_tables ve create_table gibi araçları kullanarak Supabase projenizdeki tabloları listelemesini, oluşturmasını, güncellemesini veya silmesini söyleyin.
  • Proje yapılandırmasını alınget_project_url ve 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

MCP Registry Version

Supabase projelerinizi Cursor, Claude, Windsurf ve diğer yapay zeka asistanlarına bağlayın.

supabase-mcp-demo

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: true olduğunda, araç girdi şemalarından project_id'ı çıkarır ve hesap düzeyindeki araçları hariç tutar — project_ref ile yapılandırılmış bir sunucuya bağlanırken kullanın. Varsayılan: false.
  • readOnly: true olduğunda, değişiklik yapan araçları hariç tutar — read_only=true ile 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 structuredContent göndermez. AI SDK, content metninden 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

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.