This repo uses pnpm for package management and the active LTS version of Node.js. Node.js and pnpm versions are managed via mise (see mise.toml).
Why mise? We use mise to ensure all contributors use consistent versions of tools, reducing instances where code behaves differently on different machines. This is useful not only for managing Node.js and pnpm versions, but also binaries published outside of the npm ecosystem such as the MCP Publisher CLI.
Clone the repo and run:
mise install
pnpm installTo build the MCP server and watch for file changes:
cd packages/mcp-server-supabase
pnpm devConfigure your MCP client with the file: protocol to run the local build. You may need to restart the server in your MCP client after each change.
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@file:/path/to/mcp-server-supabase/packages/mcp-server-supabase",
"--project-ref",
"<your project ref>"
],
"env": {
"SUPABASE_ACCESS_TOKEN": "<your pat>"
}
}
}
}Optionally, configure --api-url to point at a different Supabase instance (defaults to https://api.supabase.com)
We publish the MCP server to the official MCP registry so that it can be discovered and used by MCP clients.
Note the MCP registry does not host the server itself, only metadata about the server. This is defined in the packages/mcp-server-supabase/server.json file.
You will need to install the MCP publisher globally if you haven't already. On macOS, you can do this with Homebrew:
brew install mcp-publisherSee the MCP publisher documentation for other installation methods.
-
Update the package version in
packages/mcp-server-supabase/package.json. Follow semver guidelines for versioning. -
Update
server.jsonwith the new version by running:pnpm registry:update
-
Download the
domain-verification-key.pemfrom Bitwarden and place it inpackages/mcp-server-supabase/. This will be used to verify ownership of thesupabase.comdomain during the login process.This works because of the
.well-known/mcp-registry-authendpoint served bysupabase.com. -
Login to the MCP registry:
pnpm registry:login
-
Publish the new version:
pnpm registry:publish