Windsurf Supabase MCP Server

#!/usr/bin/env node import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { parseArgs } from 'node:util'; import PostgrestMcpServer from './server.js'; async function main() { console.error('Starting MCP server...'); const { values: { apiUrl, apiKey, schema }, } = parseArgs({ options: { apiUrl: { type: 'string', }, apiKey: { type: 'string', }, schema: { type: 'string', }, }, }); console.error('Args parsed:', { apiUrl, schema }); if (!apiUrl) { console.error('Please provide a base URL with the --apiUrl flag'); process.exit(1); } if (!schema) { console.error('Please provide a schema with the --schema flag'); process.exit(1); } try { console.error('Creating server instance...'); const server = new PostgrestMcpServer({ apiUrl, apiKey, schema, }); console.error('Creating transport...'); const transport = new StdioServerTransport(); console.error('Connecting server to transport...'); await server.connect(transport); console.error('Server connected successfully!'); } catch (error) { console.error('Error starting server:', error); process.exit(1); } } main().catch(console.error);