Skip to main content
Glama
dj-pearson

Supabase Coolify MCP Server

by dj-pearson
CHANGELOG.mdโ€ข18.6 kB
# Changelog All notable changes to the Supabase Coolify MCP Server. ## [1.2.4] - 2024-12-10 ### ๐Ÿ› Bug Fixes - Self-Hosted Supabase Compatibility #### Fixed REST API Tool Issues Fixed three critical issues with REST API-based tools that don't work reliably on self-hosted Supabase: 1. **`deploy_migration` tool** - Was calling non-existent `exec_sql` RPC function - Now provides clear error messages when SQL execution fails - Guides users to use CLI tools instead: `supabase_migration_new` + `supabase_db_push` - Creates migration metadata even when execution fails 2. **`execute_sql` tool** - Was calling non-existent `/rest/v1/rpc/exec_sql` endpoint - Now attempts RPC execution and provides helpful alternatives on failure - Recommends using `supabase_cli_execute` for reliable SQL execution - Provides clear guidance: CLI, Dashboard, or direct psql connection 3. **`list_edge_functions` tool** - Was using incorrect endpoint causing auth errors - Now uses proper functions API with better error handling - Detects when Edge Functions are not configured/enabled - Guides users to use `supabase_functions_list` CLI tool #### Updated Tool Descriptions - Added "NOTE" messages to tool descriptions guiding users toward CLI tools for self-hosted setups - Updated error messages to provide actionable alternatives - Better detection of self-hosted vs managed Supabase capabilities #### Documentation Updates - Emphasized MCP config `env` section as the primary scalable configuration method - Updated priority chain documentation to clarify that MCP config works for all installation types - Added user type recommendations table in `MCP_CONFIGURATION.md` ### Why These Changes **Self-hosted Supabase has different capabilities than managed Supabase:** - Some REST API endpoints may not be available - RPC functions must be explicitly created - Edge Functions require additional setup - **The Supabase CLI is the most reliable way to interact with self-hosted instances** **Recommendation:** For self-hosted Supabase, prefer CLI tools over REST API tools: - โœ… `supabase_migration_new` + `supabase_db_push` instead of `deploy_migration` - โœ… `supabase_cli_execute` instead of `execute_sql` - โœ… `supabase_functions_deploy` instead of `deploy_edge_function` --- ## [1.2.3] - 2024-12-10 ### ๐Ÿ“š Critical Documentation Update #### Added MCP Configuration Guide - **New File:** `MCP_CONFIGURATION.md` - Comprehensive MCP configuration guide - **Critical Fix:** Documented that `.env` files are NOT loaded when running as MCP server - **Solution:** Environment variables must be passed through MCP client configuration **What this fixes:** Users were seeing placeholder URLs (`your-supabase-instance.example.com`) because the MCP server wasn't receiving environment variables. This was NOT a code bug - it's how MCP servers work! #### Key Documentation Points 1. **MCP servers run as child processes** - they don't automatically load `.env` files 2. **Environment variables MUST be in MCP configuration** - not in `.env` file 3. **Updated README.md** with prominent warning and quick example 4. **Provided working configuration examples** for: - Cursor - Claude Desktop - VS Code / Copilot #### Configuration Example Added ```json { "mcpServers": { "supabase-coolify": { "command": "npx", "args": ["-y", "supabase-coolify-mcp-server"], "env": { "COOLIFY_API_URL": "http://your-actual-url:8000", "COOLIFY_API_TOKEN": "your-actual-token", "SUPABASE_URL": "https://your-actual-url.com", "SUPABASE_SERVICE_ROLE_KEY": "your-actual-key" } } } } ``` ### Changes - Added `MCP_CONFIGURATION.md` - Complete MCP configuration guide with all three approaches - Added `start-mcp.ps1` - Windows PowerShell wrapper script with proper quote handling - Added `start-mcp.sh` - Linux/Mac bash wrapper script with proper quote handling - Updated `README.md` - Added prominent MCP configuration warning - Updated `src/index.ts` - Clearer error messages explaining all configuration options - Added to package.json files array ### ๐Ÿ› Bug Fixes - **PowerShell wrapper:** Now strips surrounding quotes from `.env` values (both single and double quotes) - Before: `KEY="value"` โ†’ Variable set to `"value"` (with quotes, causing auth failures) - After: `KEY="value"` โ†’ Variable set to `value` (quotes stripped, works correctly) - **Bash wrapper:** Improved to explicitly handle quotes (was working via shell parsing, now more robust) - **Consistency:** Both wrappers now handle quotes identically to the `dotenv` npm package ### โœจ Features **Triple Priority System for Environment Variables:** 1. **MCP Config `env` section** (highest priority) - Quick setup, all in config 2. **System environment variables** (medium priority) - Secure, nothing in config files 3. **`.env` file with wrapper scripts** (lowest priority) - Development, gitignored **Four Configuration Approaches:** - **Quick Start:** All vars in MCP config - **Secure:** System environment variables only - **Development:** `.env` file with wrapper script - **Hybrid:** Mix approaches (e.g., URLs in config, tokens in system env) ### ๐Ÿ”„ Version Updates - Package version: 1.2.2 โ†’ 1.2.3 - Server version: 1.2.2 โ†’ 1.2.3 ### ๐ŸŽฏ Breaking Changes **None!** This is a documentation-only release. ### ๐Ÿ“– For Users Seeing Placeholder URLs If you're seeing `your-supabase-instance.example.com`: 1. **Read:** [MCP_CONFIGURATION.md](MCP_CONFIGURATION.md) 2. **Add environment variables** to your MCP configuration file 3. **Restart** your MCP client 4. **Test** with `verify_setup` tool **The server code is correct** - it just needs environment variables passed through your MCP client configuration! --- ## [1.2.2] - 2024-12-10 ### ๐Ÿ› Bug Fixes #### Fixed Hardcoded Placeholder URLs - Fixed hardcoded placeholder URL in deployment tools - Changed from `https://${name}.example.com` to use environment variable or Coolify default - Now properly uses `SUPABASE_URL` from `.env` or falls back to `https://${name}.coolify.app` **Impact:** Users deploying Supabase instances through the MCP server will now use their configured SUPABASE_URL instead of a placeholder domain. **Changes:** - `src/tools/deployment-tools.ts`: Updated SITE_URL to use `process.env.SUPABASE_URL` or Coolify default - `src/index.ts`: Updated version to 1.2.2 ### ๐Ÿ”„ Version Updates - Updated hardcoded version in server from 1.1.0 to 1.2.2 ### ๐ŸŽฏ Breaking Changes **None!** This is a bug fix release, fully backward compatible. --- ## [1.2.1] - 2024-12-10 ### ๐Ÿ” Enhanced Diagnostics & User Experience #### Comprehensive Diagnostic System Added powerful diagnostic tools to help users troubleshoot connection issues and validate their setup. **New Features:** - `npm run diagnose` - Automated diagnostic tool - Platform-specific diagnostic scripts: - `diagnose.ps1` - Windows PowerShell script - `diagnose.sh` - Linux/Mac bash script - `diagnose.ts` - Main TypeScript diagnostic tool **Diagnostics Check:** - โœ… `.env` file existence and validation - โœ… All required environment variables - โœ… Placeholder value detection - โœ… Coolify API connection and authentication - โœ… Supabase connection and authentication - โœ… All Supabase services health (Auth, Storage, Realtime, REST) - โœ… Network connectivity - โœ… Detailed error messages with fix suggestions #### New Documentation Comprehensive guides to help users get started and troubleshoot issues: **Quick Start:** - `START_HERE.md` - Quick start guide with diagnostics - `DIAGNOSE_NOW.md` - Step-by-step troubleshooting **Comprehensive Guides:** - `TROUBLESHOOTING.md` - Complete troubleshooting guide - Common issues and solutions - Getting credentials guide - Manual testing commands - Security best practices - `UPGRADE.md` - Version upgrade guide - Upgrade instructions for all installation methods - Breaking changes documentation - Rollback procedures - New features guide **Updated:** - Enhanced README.md with diagnostics section - Quick reference for common issues - Credential acquisition guide #### Developer Experience **New Test Scripts:** - Functional test suite (archived in `.archive/`) - MCP server registration tests (archived in `.archive/`) - Comprehensive test results documentation (archived in `.archive/`) **Test Results (All Passing โœ…):** - โœ… 56 MCP tools registered and tested - โœ… Coolify integration verified (4 applications, 6 services found) - โœ… Supabase integration verified (Database, Auth, Storage healthy) - โœ… CLI integration verified (v2.65.5) - โœ… All core functionality working #### Improvements **Error Messages:** - More descriptive error messages - Contextual fix suggestions - Color-coded diagnostic output - Summary reports with actionable items **Validation:** - Better detection of placeholder values - Verification of correct credential types (service_role vs anon key) - URL format validation - Connection timeout handling **Build:** - Clean TypeScript compilation - No breaking changes - Backward compatible with v1.1.x #### Bug Fixes - Fixed PowerShell script arrow character encoding - Improved error handling in diagnostic tools - Better service health detection ### ๐Ÿ“ฆ Package Updates **Added to npm package:** - Diagnostic tools (diagnose.ts, diagnose.ps1, diagnose.sh) - User documentation (START_HERE.md, DIAGNOSE_NOW.md, TROUBLESHOOTING.md) - Upgrade guide (UPGRADE.md) **Archived (not in npm package):** - Development test files moved to `.archive/` - Internal test documentation ### ๐ŸŽฏ Breaking Changes **None!** This release is fully backward compatible with v1.2.0. ### ๐Ÿ“Š Testing All tests passing: - Environment diagnostics: โœ… 9/11 passed (2 non-critical warnings) - Coolify tools: โœ… 100% functional - Supabase tools: โœ… 100% functional - MCP server: โœ… 56 tools registered and callable --- ## [1.2.0] - 2024-12-09 ### ๐ŸŽ‰ Production Hardening Features #### Input Validation System Comprehensive Zod-based validation for all tool inputs. **Features:** - Automatic validation for all tool parameters - Type-safe schemas for every operation - Helpful validation error messages - UUID, SQL, URL, and name validation - Min/max length and pattern checks **Benefits:** - Prevents invalid data from reaching APIs - Better error messages for users - Type safety at runtime - Catches common mistakes early #### Health Check System Automatic health checks on startup and verification tool. **Features:** - Automatic startup health checks - `verify_setup` tool for manual verification - Checks 6 critical services: - Coolify connection and auth - Supabase connection and auth - Database accessibility - CLI availability - Response time monitoring - Detailed health reports with recommendations **Benefits:** - Know immediately if something is misconfigured - Proactive issue detection - Troubleshooting guidance - Production readiness verification **New Tool:** - `verify_setup` - Comprehensive system verification **Documentation:** - Added `docs/VERIFICATION.md` - Complete verification guide - Startup health check logging - Troubleshooting for common issues ### ๐Ÿ“Š Updated Statistics **Tool Count:** - Before: 51 tools - After: 52 tools (+1 verification tool) **Code Quality:** - Input validation: โœ… All critical tools - Health checks: โœ… Automated - Error messages: โœ… Enhanced - Type safety: โœ… Runtime + compile time **Documentation:** - Added verification guide (400+ lines) - Updated README with validation info - Added troubleshooting sections --- ## [1.1.0] - 2024-12-09 ### ๐ŸŽ‰ Major Features Added #### Supabase CLI Integration Complete integration with the Supabase CLI for enhanced development workflows. **New Tools (16):** - `check_cli_installed` - Verify CLI installation and version - `supabase_init` - Initialize new Supabase projects - `supabase_link` - Link to remote Supabase projects - `supabase_start` - Start local development environment - `supabase_stop` - Stop local development environment - `supabase_status` - Get status of local services - `supabase_db_diff` - Generate migrations from schema changes - `supabase_db_push` - Push migrations to remote - `supabase_db_reset` - Reset local database - `supabase_migration_new` - Create new migration files - `supabase_migration_list` - List all migrations (CLI) - `supabase_migration_repair` - Repair migration history - `supabase_functions_deploy` - Deploy functions via CLI - `supabase_functions_serve` - Serve functions locally - `supabase_gen_types` - Generate TypeScript types from schema - `supabase_cli_execute` - Execute arbitrary CLI commands **Documentation:** - Added `docs/SUPABASE_CLI.md` - Complete CLI integration guide - Examples for all CLI workflows - Best practices for local development - Troubleshooting guide #### Migration Rollback System Comprehensive rollback functionality for safe database migration management. **New Tools (5):** - `create_migration_with_rollback` - Create migrations with up and down SQL - `rollback_migration` - Rollback specific migration - `rollback_to_version` - Rollback to a specific version - `rollback_last_migrations` - Rollback last N migrations - `rollback_migration_with_down_sql` - Auto-rollback with stored down SQL **Features:** - Automatic down SQL storage - Safe rollback with transaction support - Multiple rollback strategies - Data preservation during rollbacks - Rollback history tracking **Documentation:** - Added `docs/MIGRATION_ROLLBACK.md` - Complete rollback guide - Added `examples/rollback-example.md` - 8 detailed examples - Best practices for creating safe migrations - Emergency rollback procedures - Common rollback patterns ### ๐Ÿ“Š Statistics **Tool Count:** - Before: 30 tools - After: 51 tools (+21 tools, +70%) **Supabase Operations:** - Before: 16 tools - After: 36 tools (+20 tools, +125%) **Documentation:** - Added 2 major guides (CLI, Rollback) - Added 1 comprehensive example file - Updated README with new features - Updated QUICKSTART with new workflows ### ๐Ÿ”ง Technical Improvements **New Files:** - `src/supabase-cli.ts` - Supabase CLI wrapper class - `src/tools/supabase-cli-tools.ts` - CLI tools registration - `docs/SUPABASE_CLI.md` - CLI documentation - `docs/MIGRATION_ROLLBACK.md` - Rollback documentation - `examples/rollback-example.md` - Rollback examples **Enhanced Files:** - `src/supabase-client.ts` - Added 5 rollback methods - `src/tools/supabase-tools.ts` - Registered rollback tools - `src/index.ts` - Integrated CLI and added tool metadata - `README.md` - Updated with new features - `PROJECT_STATUS.md` - Updated statistics - `QUICKSTART.md` - Added new feature examples ### ๐Ÿ’ก New Capabilities #### For Developers: - โœ… Full local development workflow with Supabase CLI - โœ… Safe migration management with rollback support - โœ… TypeScript type generation from database schema - โœ… Local testing of edge functions - โœ… Emergency rollback procedures - โœ… Data-preserving schema changes #### For DevOps: - โœ… One-command database resets for testing - โœ… Migration repair for sync issues - โœ… Version-controlled rollback SQL - โœ… Multiple rollback strategies - โœ… Production-safe migration workflows #### For AI Agents: - โœ… 21 new tools for enhanced automation - โœ… Natural language rollback commands - โœ… CLI command execution support - โœ… Comprehensive error handling - โœ… Detailed response metadata ### ๐Ÿ›ก๏ธ Safety Features **Rollback Safety:** - Transaction-wrapped rollbacks - Idempotent down SQL patterns - Data preservation strategies - Backup recommendations - Testing workflows **CLI Safety:** - Environment variable isolation - Project linking validation - Local-first development - Production deployment guards ### ๐Ÿ“š Documentation Improvements **New Guides:** 1. **Supabase CLI Guide** (600+ lines) - Installation instructions - All 16 CLI tools documented - Complete workflows - Best practices - Troubleshooting 2. **Migration Rollback Guide** (600+ lines) - All 5 rollback tools documented - Multiple rollback strategies - Safety checklist - Common scenarios - Error handling 3. **Rollback Examples** (400+ lines) - 8 detailed examples - Real-world scenarios - Best practice patterns - Testing workflows - Emergency procedures ### ๐Ÿ”„ Breaking Changes None! All additions are backward compatible. ### ๐Ÿ› Bug Fixes None - these are feature additions only. ### ๐Ÿ“ฆ Dependencies No new dependencies added. All features use existing: - `child_process` (Node.js built-in) for CLI - Existing Supabase client for rollback ### ๐Ÿš€ Performance - CLI operations execute natively (no overhead) - Rollback operations use optimized SQL - No impact on existing tool performance ### ๐ŸŽฏ Usage Examples #### CLI Integration: ```typescript // Initialize and start local Supabase "Initialize a Supabase project and start it locally" โ†’ supabase_init() โ†’ supabase_start() // Generate types "Generate TypeScript types from my database" โ†’ supabase_gen_types() ``` #### Rollback System: ```typescript // Create safe migration create_migration_with_rollback({ name: "add_users", up_sql: "CREATE TABLE users (...);", down_sql: "DROP TABLE users CASCADE;", }); // Rollback if needed rollback_migration_with_down_sql({ version: "20231215120000" }); ``` ### ๐Ÿ”ฎ Future Enhancements Based on these additions, future features could include: - Automated rollback on deployment failure - Rollback dry-run mode - Rollback impact analysis - CLI plugin system - Migration dependencies tracking --- ## [1.0.0] - 2024-12-09 ### Initial Release **Core Features:** - Complete Coolify integration (14 tools) - Supabase management (16 tools) - Deployment automation (3 tools) - 8 MCP resources - Comprehensive documentation - Production-ready implementation **Documentation:** - README.md - Complete user guide - DEPLOYMENT_GUIDE.md - Deployment instructions - QUICKSTART.md - 5-minute setup - ARCHITECTURE.md - Technical documentation - CONTRIBUTING.md - Contribution guidelines --- ## Version Numbering This project follows [Semantic Versioning](https://semver.org/): - **MAJOR** version for incompatible API changes - **MINOR** version for new functionality (backward compatible) - **PATCH** version for backward compatible bug fixes ## Links - [GitHub Repository](#) - [Documentation](./README.md) - [Issue Tracker](#) - [Release Notes](#)

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