Yazdani-Supabase-MCP-Server logo

Yazdani-Supabase-MCP-Server

by byazdani9

An MCP server that integrates with Supabase PostgreSQL and uses Claude 3.7 for natural language query processing. It's designed for integration with React Native PaveApp.

View on GitHub

Last updated: N/A

What is Yazdani-Supabase-MCP-Server?

This is an MCP (Management Control Plane) server designed to interact with a Supabase PostgreSQL database. It provides features for schema inspection, SQL execution, migration management, safety controls, and natural language processing for querying the database.

How to use Yazdani-Supabase-MCP-Server?

First, clone the repository and install the dependencies using pip install -r requirements.txt. Then, configure the .env file with your Supabase and Anthropic API credentials. You can run the server with a live database connection using python run_server.py or in mock mode for development and testing. The server exposes API endpoints for various database operations, facilitating integration with applications like React Native PaveApp.

Key features of Yazdani-Supabase-MCP-Server

  • Schema Inspection

  • SQL Execution with safety controls

  • Migration Management

  • Natural Language Processing using Claude 3.7

  • Safety Controls

  • Mock Database Mode

  • Auto-Fallback to Mock Data

  • Supabase Session Pooler Support

Use cases of Yazdani-Supabase-MCP-Server

  • Database Administration

  • Simplified Database Querying via Natural Language

  • Rapid Prototyping and Testing with Mock Database

  • Integration with React Native Mobile Applications

  • Secure SQL Execution Environments

FAQ from Yazdani-Supabase-MCP-Server

How do I configure the server to use my Supabase database?

You need to provide your Supabase project ref, URL, database password, region, access token, and service role key in the .env file.

What is the purpose of the Mock Database mode?

The Mock Database mode allows you to develop and test your application without needing a live Supabase connection, providing a simulated database environment.

How do I test the connection to my Supabase database?

Run python connection_test.py to perform a comprehensive connection test, including checks for pooler connectivity.

What API endpoints are available for interacting with the server?

The server exposes endpoints such as get_schemas, get_tables, get_table_schema, execute_postgresql, retrieve_migrations, and generate_sql.

What do I do if I have connection issues with Supabase?

Verify your Supabase project is active, check your database credentials in the .env file, ensure your IP address is allowed in Supabase database settings, verify you're using the correct pooler host, and try using the mock database mode. Additionally, execute python test_pooler_connection.py and python connection_test.py to troubleshoot.