-
Notifications
You must be signed in to change notification settings - Fork 252
feat: add Gemini CLI extension for Supabase #176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Thanks for this PR @jackwotherspoon ! How detailed should the SUPABASE.md file be? Would the entire thing be loaded, or is it able to load just the relevant chunks? |
Excellent question, I would lean for a middle ground between the two examples. The entire file will be loaded into context so you want to be fairly concise but also provide value. General best practices for Supabase and troubleshooting etc are great candidates. @dshukertjr I see that Supabase has some detailed prompts: https://supabase.com/docs/guides/getting-started/ai-prompts These would be great candidates to be turned into custom commands included in the extension. Such as a Attaching a PR for monday.com extension I did that I think is the best example so far of an extension: mondaycom/mcp#120 |
|
@jackwotherspoon Something like what I have right now good? Also, regarding the commands with the Monday example, I didn't see the |
SUPABASE.md
Outdated
| - Use read-only mode (`?read_only=true`) to prevent accidental writes | ||
| - Scope to specific projects (`?project_ref=<project-ref>`) to limit access | ||
| - Limit tool access with feature groups (`?features=docs%2Caccount%2Cdatabase%2Cdebugging%2Cdevelopment`) | ||
| - Available groups: `account`, `docs`, `database`, `debugging`, `development`, `functions`, `storage`, `branching` | ||
| - Avoid connecting to production databases even in read-only mode |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are these thing things users add to the MCP url?
i.e. https://mcp.supabase.com/mcp?read_only=true
Because users when they install the extension will get the MCP server config of the extension json automatically (they can not configure it per say).
So a quick question:
I assume the same read-only and project specific stuff can also be configured via auth scopes during the oauth flow?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI @dshukertjr
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assume the same read-only and project specific stuff can also be configured via auth scopes during the oauth flow?
Not currently, it requests all possible scopes. The only way to configure these options right now is through the URL.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jackwotherspoon In that case, would it be better to just omit this whole section as it's beyond what Gemini can do for the user?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I would probably omit for now. I'll think of some better ways we can enhance extensions framework to allow URL query params better in the future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
|
It would be helpful to write this MCP best practices doc in a way that could be re-used across clients beyond just Gemini CLI. I'm experimenting with a similar steering file for Kiro IDE (see WIP supabase-mcp.md), but there's also Cursor rules, Claude Skills, etc. I figure most IDE clients should follow a consistent overall workflow. One challenge is that there's different desired workflows when connecting to MCP with our local stack vs hosted platform. For instance, local MCP has fewer tools and the option for agents to operate directly on the |
Yes
Yes they should be able to be brought over almost directly as is. 😄 |
You can totally re-use an existing best practices for the markdown file 👍 Doesn't have to be explicitly tailored towards Gemini CLI |
|
Honestly, about the |
Works for me! You can easily add commands at a later date 👍 |
Hi Gemini CLI team member here 👋
We recently launched Gemini CLI extensions: geminicli.com/extensions
Extensions build on top of MCP, making it better. By providing a custom context file for all users that explains to the agent how to perform complex workflows leveraging the MCP tools, debug common issues, best practices, etc. This vastly improves the agentic capabilities beyond MCP for your users.
We are building a flourishing ecosystem around extensions and want Supabase to be a part of that ecosystem. ⚡
We have a lot planned for extensions and are working to make them easily discoverable for all from within Gemini CLI.
Once this PR is merged and a new Supabase MCP release is done (or existing release is patched to add in new extension files) then Supabase will be available and show up on geminicli.com/extensions.
Improvements
The area I can use some assistance in is making the
SUPABASE.mdmore robust. This context will be loaded automatically for users when they install the Supabase extension. Providing best practices and guidance here will supercharge the extension for users.Installation
This will be the installation command for users once released:
Once installed, users can run
/mcp auth supabasefrom within Gemini CLI to authenticate the Supabase MCP server.