Supabase MCP

आधिकारिक

Supabase परियोजनाओं, डेटाबेस, प्रमाणीकरण, भंडारण, एज फंक्शन और AI एजेंटों से SQL वर्कफ़्लो के प्रबंधन के लिए आधिकारिक Supabase MCP सर्वर।

Supabase MCP के साथ आप क्या कर सकते हैं?

  • डेटाबेस तालिकाएँ प्रबंधित करें — AI को list_tables और create_table जैसे टूल का उपयोग करके आपके Supabase प्रोजेक्ट में तालिकाओं को सूचीबद्ध करने, बनाने, अपडेट करने या हटाने का निर्देश दें।
  • प्रोजेक्ट कॉन्फ़िगरेशन प्राप्त करेंget_project_url और संबंधित कॉन्फ़िग टूल के साथ प्रोजेक्ट सेटिंग्स, एनवायरनमेंट वेरिएबल और API क्रेडेंशियल प्राप्त करें।
  • डेटा क्वेरी करें और निरीक्षण करें — AI को MCP सर्वर के माध्यम से केवल-पढ़ने योग्य SQL क्वेरी चलाने या आपके डेटाबेस स्कीमा का सीधे अन्वेषण करने दें।
  • AI SDK के साथ एकीकृत करें — Vercel AI SDK के MCP क्लाइंट के लिए टाइप किए गए इनपुट/आउटपुट स्कीमा प्राप्त करने हेतु createToolSchemas() का उपयोग करें।

दस्तावेज़

Supabase MCP सर्वर

MCP Registry Version

अपने Supabase प्रोजेक्ट्स को Cursor, Claude, Windsurf और अन्य AI सहायकों से कनेक्ट करें।

supabase-mcp-demo

मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) यह मानकीकृत करता है कि बड़े भाषा मॉडल (LLM) Supabase जैसी बाहरी सेवाओं से कैसे संवाद करते हैं। यह AI सहायकों को सीधे आपके Supabase प्रोजेक्ट से जोड़ता है और उन्हें टेबल प्रबंधित करने, कॉन्फ़िगरेशन प्राप्त करने और डेटा क्वेरी करने जैसे कार्य करने की अनुमति देता है। उपकरणों की पूरी सूची देखें।

सेटअप

1. हमारी सुरक्षा सर्वोत्तम प्रथाओं का पालन करें

MCP सर्वर सेट करने से पहले, हम अनुशंसा करते हैं कि आप अपने Supabase प्रोजेक्ट्स से LLM कनेक्ट करने के जोखिमों और उन्हें कम करने के तरीके को समझने के लिए हमारी सुरक्षा सर्वोत्तम प्रथाएँ पढ़ें।

2. अपना MCP क्लाइंट कॉन्फ़िगर करें

अपने क्लाइंट पर Supabase MCP सर्वर कॉन्फ़िगर करने के लिए, हमारे सेटअप दस्तावेज़ पर जाएँ। आप Supabase डैशबोर्ड में MCP कनेक्शन टैब पर जाकर अपने प्रोजेक्ट के लिए एक कस्टम MCP URL भी जनरेट कर सकते हैं।

आपका MCP क्लाइंट सेटअप के दौरान आपको स्वचालित रूप से Supabase में लॉग इन करने के लिए कहेगा। उस संगठन को चुनना सुनिश्चित करें जिसमें वह प्रोजेक्ट है जिसके साथ आप काम करना चाहते हैं।

अधिकांश MCP क्लाइंट्स को निम्नलिखित जानकारी की आवश्यकता होती है:

{
  "mcpServers": {
    "supabase": {
      "type": "http",
      "url": "https://mcp.supabase.com/mcp"
    }
  }
}

यदि आपको हमारे दस्तावेज़ में अपना MCP क्लाइंट सूचीबद्ध नहीं दिखता है, तो अपने क्लाइंट के MCP दस्तावेज़ की जाँच करें और उपरोक्त MCP जानकारी को उनके अपेक्षित प्रारूप (json, yaml, आदि) में कॉपी करें।

CLI

यदि आप Supabase CLI के साथ स्थानीय रूप से Supabase चला रहे हैं, तो आप http://localhost:54321/mcp पर MCP सर्वर तक पहुँच सकते हैं। वर्तमान में, CLI वातावरण में MCP सर्वर उपकरणों का एक सीमित उपसमूह प्रदान करता है और कोई OAuth 2.1 नहीं है।

स्व-होस्टेड

स्व-होस्टेड Supabase के लिए, MCP सर्वर सक्षम करना पृष्ठ देखें। वर्तमान में, स्व-होस्टेड वातावरण में MCP सर्वर उपकरणों का एक सीमित उपसमूह प्रदान करता है और कोई OAuth 2.1 नहीं है।

कॉन्फ़िगरेशन विकल्प और उपकरण

उपलब्ध उपकरणों और कॉन्फ़िगरेशन विकल्पों की पूरी सूची के लिए Supabase MCP सर्वर दस्तावेज़ देखें।

दस्तावेज़ में आपके लिए कॉन्फ़िगरेशन विकल्पों को पॉप्युलेट करने के लिए एक इंटरैक्टिव URL बिल्डर भी है।

सुरक्षा जोखिम

[!TIP] MCP सर्वर का उपयोग करने से पहले, Supabase दस्तावेज़ में सुरक्षा जोखिमों और अनुशंसित शमन की समीक्षा करें।

AI SDK के MCP क्लाइंट के साथ उपयोग

@supabase/mcp-server-supabase पैकेज Vercel AI SDK के MCP क्लाइंट के लिए इनपुट और आउटपुट स्कीमा को पॉप्युलेट करने के लिए createToolSchemas() निर्यात करता है। यह Supabase MCP उपकरणों को क्लाइंट-साइड सत्यापन और उनके इनपुट और आउटपुट के लिए अनुमानित TypeScript प्रकारों के साथ स्थिर उपकरणों के रूप में माने जाने की अनुमति देता है।

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 सर्वर के URL पैरामीटर के समान फ़िल्टरिंग विकल्प स्वीकार करता है:

  • features: विशिष्ट सुविधा समूहों तक सीमित करें (जैसे ['database', 'docs'])। सभी डिफ़ॉल्ट सुविधा समूहों पर डिफ़ॉल्ट।
  • projectScoped: जब true, टूल इनपुट स्कीमा से project_id को छोड़ देता है और खाता-स्तरीय उपकरणों को बाहर करता है — project_ref के साथ कॉन्फ़िगर किए गए सर्वर से कनेक्ट करते समय उपयोग करें। false पर डिफ़ॉल्ट।
  • readOnly: जब true, परिवर्तनकारी उपकरणों को बाहर करता है — read_only=true के साथ कॉन्फ़िगर किए गए सर्वर से कनेक्ट करते समय उपयोग करें। 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] यह सर्वर MCP उपकरण परिणामों में structuredContent नहीं भेजता है। AI SDK content टेक्स्ट से JSON पार्स करने पर वापस आ जाता है।

अधिक जानकारी के लिए, AI SDK दस्तावेज़ में स्कीमा परिभाषा और टाइप्ड टूल आउटपुट देखें।

अन्य MCP सर्वर

@supabase/mcp-server-postgrest

PostgREST MCP सर्वर आपको REST API के माध्यम से अपने उपयोगकर्ताओं को आपके ऐप से कनेक्ट करने की अनुमति देता है। इसके प्रोजेक्ट README पर अधिक विवरण देखें।

संसाधन

डेवलपर्स के लिए

इस प्रोजेक्ट में योगदान करने के तरीके के विवरण के लिए CONTRIBUTING देखें।

लाइसेंस

यह प्रोजेक्ट Apache 2.0 के तहत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।