Supabase MCP
resmiServer MCP resmi Supabase untuk mengelola proyek Supabase, database, autentikasi, penyimpanan, fungsi edge, dan alur kerja SQL dari agen AI.
Apa yang bisa Anda lakukan dengan Supabase MCP?
- Mengelola tabel database — Minta AI untuk membuat daftar, membuat, memperbarui, atau menghapus tabel di proyek Supabase Anda menggunakan alat seperti
list_tablesdancreate_table. - Mengambil konfigurasi proyek — Ambil pengaturan proyek, variabel lingkungan, dan kredensial API dengan
get_project_urlserta alat konfigurasi terkait. - Mengkueri dan memeriksa data — Minta AI untuk menjalankan kueri SQL hanya-baca atau menjelajahi skema database Anda secara langsung melalui server MCP.
- Integrasi dengan AI SDK — Gunakan
createToolSchemas()untuk mendapatkan skema input/output yang diketik untuk klien MCP Vercel AI SDK.
Dokumentasi
Server MCP Supabase
Hubungkan proyek Supabase Anda ke Cursor, Claude, Windsurf, dan asisten AI lainnya.
Model Context Protocol (MCP) menstandarisasi cara Large Language Models (LLM) berkomunikasi dengan layanan eksternal seperti Supabase. Ini menghubungkan asisten AI langsung dengan proyek Supabase Anda dan memungkinkan mereka melakukan tugas seperti mengelola tabel, mengambil konfigurasi, dan melakukan kueri data. Lihat daftar lengkap alat.
Penyiapan
1. Ikuti praktik terbaik keamanan kami
Sebelum menyiapkan server MCP, kami sarankan Anda membaca praktik terbaik keamanan kami untuk memahami risiko menghubungkan LLM ke proyek Supabase Anda dan cara menguranginya.
2. Konfigurasikan klien MCP Anda
Untuk mengonfigurasi server MCP Supabase pada klien Anda, kunjungi dokumentasi penyiapan kami. Anda juga dapat membuat URL MCP khusus untuk proyek Anda dengan mengunjungi tab koneksi MCP di dasbor Supabase.
Klien MCP Anda akan secara otomatis meminta Anda untuk masuk ke Supabase selama penyiapan. Pastikan untuk memilih organisasi yang berisi proyek yang ingin Anda gunakan.
Sebagian besar klien MCP memerlukan informasi berikut:
{
"mcpServers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}
Jika Anda tidak melihat klien MCP Anda tercantum dalam dokumentasi kami, periksa dokumentasi MCP klien Anda dan salin informasi MCP di atas ke dalam format yang diharapkan (json, yaml, dll).
CLI
Jika Anda menjalankan Supabase secara lokal dengan Supabase CLI, Anda dapat mengakses server MCP di http://localhost:54321/mcp. Saat ini, Server MCP di lingkungan CLI menawarkan subset alat yang terbatas dan tanpa OAuth 2.1.
Self-hosted
Untuk Supabase self-hosted, periksa halaman Mengaktifkan server MCP. Saat ini, Server MCP di lingkungan self-hosted menawarkan subset alat yang terbatas dan tanpa OAuth 2.1.
Opsi konfigurasi dan alat
Lihat dokumentasi Server MCP Supabase untuk daftar lengkap alat yang tersedia dan opsi konfigurasi.
Dokumentasi juga menampilkan pembangun URL interaktif untuk mengisi opsi konfigurasi untuk Anda.
Risiko keamanan
[!TIP] Sebelum menggunakan server MCP, tinjau risiko keamanan dan mitigasi yang direkomendasikan di Dokumentasi Supabase.
Penggunaan dengan Klien MCP AI SDK
Paket @supabase/mcp-server-supabase mengekspor createToolSchemas() untuk mengisi skema input dan output untuk klien MCP Vercel AI SDK. Ini memungkinkan alat MCP Supabase diperlakukan sebagai alat statis dengan validasi sisi klien dan tipe TypeScript yang disimpulkan untuk input dan output mereka.
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() menerima opsi pemfilteran yang mirip dengan parameter URL server MCP:
features: Batasi ke grup fitur tertentu (mis.['database', 'docs']). Default ke semua grup fitur default.projectScoped: Saattrue, menghilangkanproject_iddari skema input alat dan mengecualikan alat tingkat akun — gunakan saat menghubungkan ke server yang dikonfigurasi denganproject_ref. Default kefalse.readOnly: Saattrue, mengecualikan alat yang bermutasi — gunakan saat menghubungkan ke server yang dikonfigurasi denganread_only=true. Default kefalse.
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] Server ini tidak mengirim
structuredContentdalam hasil alat MCP. AI SDK kembali ke penguraian JSON dari tekscontent.
Untuk informasi lebih lanjut, lihat Definisi Skema dan Output Alat Bertipe di dokumentasi AI SDK.
Server MCP lainnya
@supabase/mcp-server-postgrest
Server MCP PostgREST memungkinkan Anda menghubungkan pengguna Anda sendiri ke aplikasi Anda melalui REST API. Lihat detail lebih lanjut di README proyek.
Sumber daya
- Model Context Protocol: Pelajari lebih lanjut tentang MCP dan kemampuannya.
- Dari pengembangan ke produksi: Pelajari cara mempromosikan perubahan ke lingkungan produksi dengan aman.
Untuk pengembang
Lihat CONTRIBUTING untuk detail tentang cara berkontribusi pada proyek ini.
Lisensi
Proyek ini dilisensikan di bawah Apache 2.0. Lihat file LICENSE untuk detailnya.