Supabase MCP
официальныйОфициальный MCP-сервер Supabase для управления проектами Supabase, базами данных, аутентификацией, хранилищем, edge-функциями и SQL-процессами из AI-агентов.
Что можно делать с Supabase MCP?
- Управление таблицами базы данных — Попросите ИИ перечислить, создать, обновить или удалить таблицы в вашем проекте Supabase с помощью инструментов, таких как
list_tablesиcreate_table. - Получение конфигурации проекта — Извлекайте настройки проекта, переменные окружения и учетные данные API с помощью
get_project_urlи связанных инструментов конфигурации. - Запрос и проверка данных — Поручите ИИ выполнять SQL-запросы только для чтения или исследовать схему вашей базы данных напрямую через MCP-сервер.
- Интеграция с AI SDK — Используйте
createToolSchemas(), чтобы получить типизированные схемы ввода/вывода для MCP-клиента Vercel AI SDK.
Документация
Supabase MCP Server
Подключите ваши проекты Supabase к Cursor, Claude, Windsurf и другим AI-ассистентам.
Model Context Protocol (MCP) стандартизирует взаимодействие больших языковых моделей (LLM) с внешними сервисами, такими как Supabase. Он напрямую связывает AI-ассистентов с вашим проектом Supabase и позволяет им выполнять задачи, такие как управление таблицами, получение конфигурации и запрос данных. См. полный список инструментов.
Настройка
1. Следуйте нашим рекомендациям по безопасности
Перед настройкой MCP-сервера мы рекомендуем ознакомиться с нашими рекомендациями по безопасности, чтобы понять риски подключения LLM к вашим проектам Supabase и способы их снижения.
2. Настройте ваш MCP-клиент
Чтобы настроить Supabase MCP-сервер на вашем клиенте, посетите нашу документацию по настройке. Вы также можете сгенерировать пользовательский MCP URL для вашего проекта, перейдя на вкладку MCP-подключения в панели управления Supabase.
Ваш MCP-клиент автоматически предложит вам войти в Supabase во время настройки. Обязательно выберите организацию, содержащую проект, с которым вы хотите работать.
Большинству MCP-клиентов требуется следующая информация:
{
"mcpServers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}
Если вы не видите ваш MCP-клиент в нашей документации, ознакомьтесь с документацией MCP вашего клиента и скопируйте указанную выше информацию MCP в ожидаемый формат (json, yaml и т.д.).
CLI
Если вы запускаете Supabase локально с помощью Supabase CLI, вы можете получить доступ к MCP-серверу по адресу http://localhost:54321/mcp. В настоящее время MCP-сервер в средах CLI предлагает ограниченный набор инструментов и не поддерживает OAuth 2.1.
Self-hosted
Для самостоятельно размещаемого Supabase ознакомьтесь со страницей Включение MCP-сервера. В настоящее время MCP-сервер в самостоятельно размещаемых средах предлагает ограниченный набор инструментов и не поддерживает OAuth 2.1.
Параметры конфигурации и инструменты
См. документацию Supabase MCP Server для получения полного списка доступных инструментов и параметров конфигурации.
Документация также содержит интерактивный конструктор URL для автоматического заполнения параметров конфигурации.
Риски безопасности
[!TIP] Перед использованием MCP-сервера ознакомьтесь с рисками безопасности и рекомендуемыми мерами по их снижению в документации Supabase.
Использование с MCP-клиентом AI SDK
Пакет @supabase/mcp-server-supabase экспортирует createToolSchemas() для заполнения входных и выходных схем для MCP-клиента Vercel AI SDK. Это позволяет рассматривать инструменты 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() принимает параметры фильтрации, аналогичные параметрам URL MCP-сервера:
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] Этот сервер не отправляет
structuredContentв результатах инструментов MCP. AI SDK возвращается к разбору JSON из текстаcontent.
Для получения дополнительной информации см. Определение схемы и Типизированные выходные данные инструментов в документации AI SDK.
Другие MCP-серверы
@supabase/mcp-server-postgrest
MCP-сервер PostgREST позволяет подключать ваших собственных пользователей к вашему приложению через REST API. Подробнее см. в README проекта.
Ресурсы
- Model Context Protocol: Узнайте больше о MCP и его возможностях.
- От разработки к production: Узнайте, как безопасно внедрять изменения в production-среды.
Для разработчиков
См. CONTRIBUTING для получения информации о том, как внести вклад в этот проект.
Лицензия
Этот проект лицензирован под Apache 2.0. Подробности см. в файле LICENSE.