Skip to content

Feature: add no-verify-jwt flag to deploy edge function #99

@gstohl

Description

@gstohl

Feature request

Is your feature request related to a problem? Please describe.

When deploying edge functions that implement custom authentication (e.g., API key validation), the default JWT verification conflicts with the custom auth logic. Currently, the deploy_edge_function tool in the Supabase MCP doesn't support disabling JWT verification, which means users must manually disable it in the Supabase Dashboard after each deployment.

For example, I have a webhook endpoint that validates requests using a custom WEBHOOK_API_KEY in the Authorization header. With JWT verification enabled by default, the function requires both JWT and API key authentication, which is redundant and complicates the webhook integration.

Describe the solution you'd like

Add a verify_jwt parameter to the deploy_edge_function tool that defaults to true but can be set to false when deploying functions with custom authentication:

mcp__supabase__deploy_edge_function({
    name: "my-webhook",
    entrypoint_path: "index.ts",
    files: [...],
    verify_jwt: false  // New optional parameter
})

This would mirror the Supabase CLI's --no-verify-jwt flag functionality.

Describe alternatives you've considered

  1. Manual Dashboard Configuration: Currently disabling JWT verification manually in the Supabase Dashboard after deployment, but this is error-prone and must be repeated after each deployment.
  2. Dual Authentication: Keeping JWT verification enabled and requiring both JWT and custom auth, but this adds unnecessary complexity for webhook endpoints that don't need user authentication.
  3. Using CLI Instead: Deploying via Supabase CLI with --no-verify-jwt flag, but this defeats the purpose of having MCP automation.

Additional context

The Supabase CLI already supports this functionality: supabase functions deploy my-function --no-verify-jwt

Many edge functions implement their own authentication mechanisms (API keys, webhook signatures, OAuth, etc.) and don't require Supabase's JWT verification. This feature would bring parity between the MCP tool and CLI capabilities, making it easier to fully automate edge function deployments.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions