@e9n/pi-supabase
Supabase integration for pi — read-only queries, table subscriptions, and pi-channels notifications
Package details
Install @e9n/pi-supabase from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@e9n/pi-supabase- Package
@e9n/pi-supabase- Version
0.1.0- Published
- Feb 17, 2026
- Downloads
- 15/mo · 7/wk
- Author
- e9n
- License
- MIT
- Types
- extension
- Size
- 34.2 KB
- Dependencies
- 1 dependency · 3 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@e9n/pi-supabase
Supabase integration for pi — query tables, describe schemas, call RPC functions, and stream realtime change notifications.
Features
supabasetool — query, describe, count, rpc, and status actions with filter support- Realtime subscriptions — subscribe to table change events, forwarded as pi-channels notifications
- Dual key support — anon key or service role key, switchable per project
- Optional query audit log — persistent log via pi-kysely
Settings
Add to ~/.pi/agent/settings.json or .pi/settings.json:
{
"pi-supabase": {
"url": "https://xxx.supabase.co",
"anonKey": "eyJ...",
"serviceRoleKey": "eyJ...",
"useServiceRole": false,
"useKysely": false,
"notifications": {
"enabled": false,
"route": "ops",
"tables": ["users", "orders"]
},
"rpc": {
"allowList": ["get_dashboard_stats"]
}
}
}
| Setting | Type | Default | Description |
|---|---|---|---|
url |
string |
— | Supabase project URL (required) |
anonKey |
string |
— | Supabase anon/public key |
serviceRoleKey |
string |
— | Service role key for elevated access |
useServiceRole |
boolean |
false |
Use service role key instead of anon key |
useKysely |
boolean |
false |
Log queries via pi-kysely |
notifications.enabled |
boolean |
false |
Enable realtime table change notifications |
notifications.route |
string |
"ops" |
pi-channels route for notifications |
notifications.tables |
string[] |
[] |
Tables to subscribe to |
rpc.allowList |
string[] |
[] |
Allowed RPC function names (empty = all blocked) |
Tool: supabase
| Action | Description |
|---|---|
query |
Select rows with filters, ordering, and pagination |
describe |
Show column names and types for a table |
tables |
List all tables in the public schema |
count |
Count rows matching optional filters |
rpc |
Call a Postgres function (must be on allow-list) |
status |
Show connection status and current config |
Filter operators: eq, neq, gt, gte, lt, lte, like, ilike, is, in
Install
pi install npm:@e9n/pi-supabase
License
MIT