Skip to main content
Glama
dj-pearson

Supabase Coolify MCP Server

by dj-pearson
supabase-cli-tools.ts3.02 kB
/** * Supabase CLI tools registration */ import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { SupabaseCLI } from '../supabase-cli.js'; export function registerSupabaseCLITools( server: Server, supabaseCLI: SupabaseCLI, toolHandlers: Map<string, (args: any) => Promise<any>> ) { // ==================== CLI Status & Setup ==================== toolHandlers.set('check_cli_installed', async () => { return await supabaseCLI.checkCLIInstalled(); }); toolHandlers.set('supabase_init', async (args: { path?: string }) => { const { path = '.' } = args; return await supabaseCLI.init(path); }); toolHandlers.set('supabase_link', async (args: { project_ref: string; password?: string }) => { const { project_ref, password } = args; return await supabaseCLI.link(project_ref, password); }); // ==================== Local Development ==================== toolHandlers.set('supabase_start', async () => { return await supabaseCLI.start(); }); toolHandlers.set('supabase_stop', async () => { return await supabaseCLI.stop(); }); toolHandlers.set('supabase_status', async () => { return await supabaseCLI.status(); }); // ==================== Database Operations ==================== toolHandlers.set('supabase_db_diff', async (args: { name: string }) => { const { name } = args; return await supabaseCLI.dbDiff(name); }); toolHandlers.set('supabase_db_push', async () => { return await supabaseCLI.dbPush(); }); toolHandlers.set('supabase_db_reset', async () => { return await supabaseCLI.dbReset(); }); // ==================== Migration Management ==================== toolHandlers.set('supabase_migration_new', async (args: { name: string }) => { const { name } = args; return await supabaseCLI.migrationNew(name); }); toolHandlers.set('supabase_migration_list', async () => { return await supabaseCLI.migrationList(); }); toolHandlers.set('supabase_migration_repair', async () => { return await supabaseCLI.migrationRepair(); }); // ==================== Edge Functions ==================== toolHandlers.set('supabase_functions_deploy', async (args: { function_name?: string }) => { const { function_name } = args; return await supabaseCLI.functionsDeploy(function_name); }); toolHandlers.set('supabase_functions_serve', async (args: { function_name?: string }) => { const { function_name } = args; return await supabaseCLI.functionsServe(function_name); }); // ==================== Code Generation ==================== toolHandlers.set('supabase_gen_types', async (args: { output?: string }) => { const { output = 'types/supabase.ts' } = args; return await supabaseCLI.genTypes(output); }); // ==================== Advanced ==================== toolHandlers.set('supabase_cli_execute', async (args: { command: string }) => { const { command } = args; return await supabaseCLI.execute(command); }); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dj-pearson/supabase-coolify-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server