Supabase MCP
chính thứcMáy chủ MCP chính thức của Supabase để quản lý các dự án Supabase, cơ sở dữ liệu, xác thực, lưu trữ, hàm biên và quy trình làm việc SQL từ các tác nhân AI.
Bạn có thể làm gì với Supabase MCP?
- Quản lý bảng cơ sở dữ liệu — Yêu cầu AI liệt kê, tạo, cập nhật hoặc xóa các bảng trong dự án Supabase của bạn bằng các công cụ như
list_tablesvàcreate_table. - Lấy cấu hình dự án — Truy xuất cài đặt dự án, biến môi trường và thông tin xác thực API với
get_project_urlvà các công cụ cấu hình liên quan. - Truy vấn và kiểm tra dữ liệu — Cho AI thực thi các truy vấn SQL chỉ đọc hoặc khám phá trực tiếp lược đồ cơ sở dữ liệu của bạn thông qua máy chủ MCP.
- Tích hợp với AI SDK — Sử dụng
createToolSchemas()để lấy lược đồ đầu vào/đầu ra có kiểu cho máy khách MCP của Vercel AI SDK.
Tài liệu
Supabase MCP Server
Kết nối các dự án Supabase của bạn với Cursor, Claude, Windsurf và các trợ lý AI khác.
Model Context Protocol (MCP) chuẩn hóa cách các Mô hình Ngôn ngữ Lớn (LLM) giao tiếp với các dịch vụ bên ngoài như Supabase. Nó kết nối trực tiếp các trợ lý AI với dự án Supabase của bạn và cho phép chúng thực hiện các tác vụ như quản lý bảng, lấy cấu hình và truy vấn dữ liệu. Xem danh sách đầy đủ các công cụ.
Thiết lập
1. Tuân thủ các phương pháp bảo mật tốt nhất của chúng tôi
Trước khi thiết lập máy chủ MCP, chúng tôi khuyên bạn nên đọc các phương pháp bảo mật tốt nhất của chúng tôi để hiểu rõ rủi ro khi kết nối LLM với các dự án Supabase và cách giảm thiểu chúng.
2. Cấu hình máy khách MCP của bạn
Để cấu hình máy chủ Supabase MCP trên máy khách của bạn, hãy truy cập tài liệu thiết lập của chúng tôi. Bạn cũng có thể tạo URL MCP tùy chỉnh cho dự án của mình bằng cách truy cập tab kết nối MCP trong bảng điều khiển Supabase.
Máy khách MCP của bạn sẽ tự động nhắc bạn đăng nhập vào Supabase trong quá trình thiết lập. Hãy đảm bảo chọn tổ chức chứa dự án bạn muốn làm việc.
Hầu hết các máy khách MCP yêu cầu thông tin sau:
{
"mcpServers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}
Nếu bạn không thấy máy khách MCP của mình được liệt kê trong tài liệu của chúng tôi, hãy kiểm tra tài liệu MCP của máy khách và sao chép thông tin MCP ở trên vào định dạng mong đợi của họ (json, yaml, v.v.).
CLI
Nếu bạn đang chạy Supabase cục bộ với Supabase CLI, bạn có thể truy cập máy chủ MCP tại http://localhost:54321/mcp. Hiện tại, Máy chủ MCP trong môi trường CLI cung cấp một tập hợp con giới hạn các công cụ và không có OAuth 2.1.
Tự lưu trữ
Đối với Supabase tự lưu trữ, hãy kiểm tra trang Kích hoạt máy chủ MCP. Hiện tại, Máy chủ MCP trong môi trường tự lưu trữ cung cấp một tập hợp con giới hạn các công cụ và không có OAuth 2.1.
Tùy chọn cấu hình và công cụ
Xem tài liệu Supabase MCP Server để biết danh sách đầy đủ các công cụ có sẵn và tùy chọn cấu hình.
Tài liệu cũng có trình tạo URL tương tác để điền các tùy chọn cấu hình cho bạn.
Rủi ro bảo mật
[!TIP] Trước khi sử dụng máy chủ MCP, hãy xem xét các rủi ro bảo mật và các biện pháp giảm thiểu được khuyến nghị trong Tài liệu Supabase.
Sử dụng với MCP Client của AI SDK
Gói @supabase/mcp-server-supabase xuất createToolSchemas() để điền các lược đồ đầu vào và đầu ra cho MCP client của Vercel AI SDK. Điều này cho phép các công cụ Supabase MCP được coi là công cụ tĩnh với xác thực phía máy khách và các kiểu TypeScript được suy luận cho đầu vào và đầu ra của chúng.
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() chấp nhận các tùy chọn lọc tương tự như các tham số URL của máy chủ MCP:
features: Giới hạn ở các nhóm tính năng cụ thể (ví dụ:['database', 'docs']). Mặc định là tất cả các nhóm tính năng mặc định.projectScoped: Khitrue, bỏ quaproject_idkhỏi lược đồ đầu vào công cụ và loại trừ các công cụ cấp tài khoản — sử dụng khi kết nối với máy chủ được cấu hình vớiproject_ref. Mặc định làfalse.readOnly: Khitrue, loại trừ các công cụ thay đổi — sử dụng khi kết nối với máy chủ được cấu hình vớiread_only=true. Mặc định là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] Máy chủ này không gửi
structuredContenttrong kết quả công cụ MCP. AI SDK sẽ quay lại phân tích cú pháp JSON từ văn bảncontent.
Để biết thêm thông tin, hãy xem Định nghĩa Lược đồ và Đầu ra Công cụ có Kiểu trong tài liệu AI SDK.
Các máy chủ MCP khác
@supabase/mcp-server-postgrest
Máy chủ PostgREST MCP cho phép bạn kết nối người dùng của chính mình với ứng dụng của bạn thông qua API REST. Xem thêm chi tiết trên README dự án của nó.
Tài nguyên
- Model Context Protocol: Tìm hiểu thêm về MCP và các khả năng của nó.
- Từ phát triển đến sản xuất: Tìm hiểu cách quảng bá thay đổi lên môi trường sản xuất một cách an toàn.
Dành cho nhà phát triển
Xem CONTRIBUTING để biết chi tiết về cách đóng góp cho dự án này.
Giấy phép
Dự án này được cấp phép theo Apache 2.0. Xem tệp LICENSE để biết chi tiết.