You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.MD
+9Lines changed: 9 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
7
7
8
+
## [0.3.6] - 2025-02-26
9
+
### Added
10
+
- Added `call_auth_admin_method` which enables MCP server to manage users in your database (create, update, delete, confirm). All Auth SDK methods are supported
11
+
- Added `get_auth_admin_methods_spec` to retrieve documentation for all available Auth Admin methods. Response objects now use attribute access (dot notation) instead of dictionary access.
12
+
13
+
### Fixed
14
+
- Fixed an issue with improper encoding of database passwords. Previously passwords containing "%" symbol led to connection failures
15
+
16
+
8
17
## [0.3.5] - 2025-02-26
9
18
### Fixed
10
19
- Fixed an issue with `get_tables` so that it reliably returns foreign tables and views
@@ -122,7 +123,7 @@ After installing the package, you'll need to configure your database connection
122
123
123
124
#### Remote Supabase instance
124
125
125
-
> ⚠️ **IMPORTANT WARNING**: Session pooling connections are NOT supported yet. Use transaction pooling and direct connections instead. I'm planning to add / modify connection to support this in v0.4 (soon).
126
+
> ⚠️ **IMPORTANT WARNING**: Session pooling connections are not supported and there are no plans to support it yet. Let me know if you feel there is a use case for supporting this in an MCP server
126
127
127
128

128
129
@@ -354,7 +355,6 @@ This MCP server uses::
354
355
- **Direct Database Connection**: when connecting to a local Supabase instance
355
356
- **Transaction Pooler Connections**: when connecting to a remote Supabase instance
356
357
357
-
> ⚠️ **IMPORTANT WARNING**: Session pooling connections are NOT SUPPORTED. Use transaction pooling and direct connections instead. I'm planning to add / modify connection to support this in v0.4 (soon).
358
358
359
359
When connecting via Supabase's Transaction Pooler, some complex transaction patterns may not work as expected. For schema changes in these environments, use explicit transaction blocks or consider using Supabase migrations or the SQL Editor in the dashboard.
360
360
@@ -389,6 +389,41 @@ Since v0.3.0 server supports sending arbitrary requests to Supabase Management A
389
389
- Allows to switch between safe and unsafe modes dynamically
390
390
- Blocked operations (delete project, delete database) are not allowed regardless of the mode
391
391
392
+
### Auth Admin tools
393
+
I was planning to add support for Python SDK methods to the MCP server. Upon consideration I decided to only add support for Auth admin methods as I often found myself manually creating test users which was prone to errors and time consuming. Now I can just ask Cursor to create a test user and it will be done seamlessly. Check out the full Auth Admin SDK method docs to know what it can do.
394
+
395
+
Since v0.3.6 server supports direct access to Supabase Auth Admin methods via Python SDK:
396
+
- Includes the following tools:
397
+
- `get_auth_admin_methods_spec` to retrieve documentation for all available Auth Admin methods
398
+
- `call_auth_admin_method` to directly invoke Auth Admin methods with proper parameter handling
399
+
- Supported methods:
400
+
- `get_user_by_id`: Retrieve a user by their ID
401
+
- `list_users`: List all users with pagination
402
+
- `create_user`: Create a new user
403
+
- `delete_user`: Delete a user by their ID
404
+
- `invite_user_by_email`: Send an invite link to a user's email
405
+
- `generate_link`: Generate an email link for various authentication purposes
406
+
- `update_user_by_id`: Update user attributes by ID
407
+
- `delete_factor`: Delete a factor on a user (currently not implemented in SDK)
408
+
409
+
#### Why use Auth Admin SDK instead of raw SQL queries?
410
+
411
+
The Auth Admin SDK provides several key advantages over direct SQL manipulation:
412
+
- **Functionality**: Enables operations not possible with SQL alone (invites, magic links, MFA)
413
+
- **Accuracy**: More reliable then creating and executing raw SQL queries on auth schemas
414
+
- **Simplicity**: Offers clear methods with proper validation and error handling
415
+
416
+
- Response format:
417
+
- All methods return structured Python objects instead of raw dictionaries
418
+
- Object attributes can be accessed using dot notation (e.g., `user.id` instead of `user["id"]`)
419
+
- Edge cases and limitations:
420
+
- UUID validation: Many methods require valid UUID format for user IDs and will return specific validation errors
421
+
- Email configuration: Methods like `invite_user_by_email` and `generate_link` require email sending to be configured in your Supabase project
422
+
- Link types: When generating links, different link types have different requirements:
423
+
- `signup` links don't require the user to exist
424
+
- `magiclink` and `recovery` links require the user to already exist in the system
425
+
- Error handling: The server provides detailed error messages from the Supabase API, which may differ from the dashboard interface
426
+
- Method availability: Some methods like `delete_factor` are exposed in the API but not fully implemented in the SDK
392
427
393
428
## Roadmap
394
429
@@ -397,14 +432,13 @@ Since v0.3.0 server supports sending arbitrary requests to Supabase Management A
397
432
- 🎮 Programmatic access to Supabase management API with safety controls - ✅ (v0.3.0)
398
433
- 👷♂️ Read and read-write database SQL queries with safety controls - ✅ (v0.3.0)
399
434
- 🔄 Robust transaction handling for both direct and pooled connections - ✅ (v0.3.2)
400
-
- 🐍 Support methods and objects available in native Python SDK
435
+
- 🐍 Support methods and objects available in native Python SDK - ✅ (v0.3.6)
401
436
- 🔍 Strong SQL query validation
402
437
- 📝 Connect to db logs to help debug errors (Pull in [edge functions logs](https://supabase.com/dashboard/project/drmzszdytvvfbcytltsw/logs/edge-logs))
403
438
- 👨💻 Supabase CLI integration? (if necessary)
439
+
- 🚧 Create a migration file automatically if a migration has been run successfully on the databasae?
404
440
405
-
### Support of Python SDK methods
406
441
407
-
I'm planning to add support for Auth methods from Python SDK as it would allow Cursor to create test users for me, which might be handy.
0 commit comments