Skip to main content
Glama
JoshuaRileyDev

Supabase MCP Server

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.0.2

  • Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. Tools are organized around two main resources (organizations and projects) with specific CRUD operations, making it easy for an agent to select the right tool without confusion.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern throughout (e.g., create_organization, list_projects, get_project). The naming is predictable and readable, with no deviations in style or convention.

    Tool Count5/5

    With 8 tools, the server is well-scoped for managing Supabase organizations and projects. Each tool earns its place by covering essential CRUD operations, and the count is appropriate for the domain without being overwhelming or insufficient.

    Completeness4/5

    The tool set provides strong coverage for organizations and projects, including create, get, list, and delete operations. A minor gap exists in missing update operations (e.g., update_organization or update_project), but agents can work around this with delete and recreate if needed.

  • Average 2.9/5 across 8 of 8 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden for behavioral disclosure. While 'Create' implies a write/mutation operation, the description doesn't address permissions needed, whether this is an idempotent operation, what happens on failure, rate limits, or what the response contains. This is inadequate for a creation tool with zero annotation coverage.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise at just 4 words, with zero wasted language. It's front-loaded with the core action and resource. While this conciseness comes at the cost of completeness, the structure itself is optimal.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a creation tool with 5 parameters, no annotations, and no output schema, the description is severely incomplete. It doesn't explain what a Supabase project is, what parameters are needed, what happens after creation, or how this tool fits within the broader system of sibling tools.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage and 5 parameters (4 required), the description provides absolutely no information about what any parameter means. It doesn't explain what 'name', 'organization_id', 'region', 'db_pass', or 'plan' represent, their formats, constraints, or relationships.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Create') and resource ('new Supabase project'), making the tool's purpose immediately understandable. However, it doesn't differentiate this from sibling tools like 'create_organization' or explain what distinguishes a Supabase project from other entities in the system.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (like needing an organization first), when NOT to use it, or how it relates to sibling tools like 'create_organization' or 'list_projects'.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden for behavioral disclosure. 'Create' implies a write/mutation operation, but the description doesn't disclose what permissions are needed, whether this is a high-impact operation, what happens on success/failure, or any rate limits. It provides only the basic action without behavioral context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise at just three words, front-loading the essential information with zero wasted words. It efficiently communicates the core action without unnecessary elaboration.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool that creates a new organization (likely a significant administrative operation) with no annotations, no output schema, and undocumented parameters, the description is insufficient. It doesn't explain what an organization represents in this system, what capabilities it enables, or what the tool returns upon success.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage for both parameters, the description provides no information about what 'name' and 'billing_email' represent, their formats, constraints, or significance. The description doesn't compensate for the complete lack of parameter documentation in the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb ('create') and resource ('new organization'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'create_project' or explain what distinguishes an organization from a project in this context.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'create_project' or when not to use it. There's no mention of prerequisites, permissions required, or typical use cases for creating an organization versus other entities.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get details' implies a read-only operation, it doesn't specify what details are returned, whether authentication is required, rate limits, error conditions, or response format. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple retrieval tool and front-loads the essential information without unnecessary elaboration.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no annotations, 0% schema description coverage, and no output schema, the description is incomplete. A simple read operation needs more context about what details are returned, authentication requirements, and parameter semantics. The description doesn't provide enough information for an agent to confidently invoke this tool without additional context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate for undocumented parameters. The description mentions 'specific organization' which implies the 'slug' parameter identifies which organization, but doesn't explain what a slug is, its format, or where to obtain it. With 1 parameter at 0% coverage, this minimal contextual hint is insufficient compensation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb ('Get') and resource ('details of a specific organization'), making the purpose immediately understandable. It distinguishes from sibling tools like 'list_organizations' by specifying retrieval of a single organization rather than listing multiple. However, it doesn't explicitly differentiate from 'get_project' which has a similar pattern but different resource.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to use 'get_organization' versus 'list_organizations', nor does it specify prerequisites like needing the organization slug. There's no explicit when/when-not usage context provided.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves API keys but doesn't clarify if this is a read-only operation, requires authentication, has rate limits, or what the output format might be. This is a significant gap for a tool that likely accesses sensitive data like API keys.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose, making it easy to scan and understand quickly. This is an example of optimal conciseness for a simple tool.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity of handling API keys (sensitive data) and the lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like security implications, error handling, or return values, which are crucial for safe and effective use. The minimal information provided is insufficient for this context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema description coverage is 0%, so the description must compensate for the undocumented parameters. It mentions 'a specific Supabase project' but doesn't explain the 'ref' parameter (required) or the 'name' parameter (optional), leaving their meanings unclear. This adds minimal value beyond the schema's structure.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Get') and resource ('API keys for a specific Supabase project'), making the tool's purpose understandable. It doesn't differentiate from sibling tools like 'get_project' or 'list_projects', which might also retrieve project-related information, so it misses the top score for sibling differentiation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a project reference, or compare it to sibling tools like 'get_project' or 'list_projects' that might handle related data. This lack of context leaves usage ambiguous.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Delete' implies a destructive mutation, the description doesn't specify whether deletion is permanent, requires specific permissions, has confirmation steps, or returns any output. This is a significant gap for a destructive operation.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized for a simple destructive operation and front-loads the essential information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a destructive tool with no annotations, no output schema, and minimal parameter documentation, the description is inadequate. It doesn't address critical aspects like irreversible consequences, authentication requirements, error conditions, or what happens post-deletion. The agent lacks sufficient context to use this tool safely.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has 0% description coverage, but the description doesn't add any parameter information beyond what's implied by the tool name. It doesn't explain what 'ref' represents (e.g., project reference ID) or provide context about its format. However, with only one parameter, the baseline is higher than for multi-parameter tools.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Delete') and resource ('a Supabase project'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'create_project' or 'get_project' beyond the obvious verb difference, which prevents a perfect score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., project must exist), consequences of deletion, or when to choose deletion over other operations like archiving. This leaves the agent with minimal context for decision-making.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden for behavioral disclosure. It states the action is 'List all' but doesn't mention whether this requires authentication, how results are returned (e.g., pagination, sorting), or any limitations (e.g., rate limits, access restrictions). This leaves significant gaps for a tool that likely interacts with a database or API.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place in conveying the essential purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the lack of annotations and output schema, the description is incomplete for a tool that likely returns a list of projects. It doesn't explain what information is included in the listing (e.g., project names, IDs, statuses) or how to handle the results. For a list operation with no structured output documentation, this leaves the agent guessing about return values.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has one parameter ('ref') with 0% description coverage, so the description doesn't add any parameter-specific information. However, since there's only one parameter and the tool's purpose is straightforward (listing all projects), the baseline of 3 is appropriate—the description doesn't compensate for the schema gap but doesn't need extensive param details for this simple operation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('List all') and resource ('Supabase projects'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its sibling 'get_project', which retrieves a single project, so it misses the opportunity for sibling distinction.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'get_project' (for a single project) or 'list_organizations' (for related resources). It lacks any context about prerequisites, filtering capabilities, or typical use cases.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a read operation ('Get details'), which is clear, but doesn't mention potential errors (e.g., if the project doesn't exist), authentication requirements, rate limits, or the format of returned details. For a tool with zero annotation coverage, this is a significant gap in transparency.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence that directly states the tool's purpose without any fluff. It's appropriately sized and front-loaded, making it easy to understand at a glance, which is ideal for conciseness.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (a read operation with 1 parameter), lack of annotations, and no output schema, the description is incomplete. It doesn't cover parameter semantics, behavioral details like error handling, or what the return value includes. For a tool with no structured support, the description should provide more context to be fully helpful.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 1 parameter with 0% description coverage, so the schema provides no semantic information. The description doesn't mention the 'ref' parameter at all, failing to explain what it represents (e.g., a project ID or reference) or how to obtain it. This leaves the parameter undocumented, which is inadequate given the low schema coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb ('Get') and resource ('details of a specific Supabase project'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'list_projects' (which returns multiple projects) and 'get_organization' (which targets a different resource). However, it doesn't specify what details are included, keeping it from a perfect score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage by mentioning 'a specific Supabase project,' suggesting it should be used when you have a project reference rather than listing all projects. However, it doesn't explicitly state when to use this versus alternatives like 'list_projects' or provide any exclusions or prerequisites, leaving some ambiguity.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden for behavioral disclosure. 'List all organizations' implies a read operation but doesn't specify whether it returns all organizations at once or uses pagination, what permissions are required, or what format the output takes. For a tool with zero annotation coverage, this is insufficient behavioral context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is perfectly concise at just three words ('List all organizations'). It's front-loaded with the core action and resource, with zero wasted words or unnecessary elaboration. Every word earns its place in communicating the essential purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the lack of annotations and output schema, the description should provide more complete context for this tool. A simple list operation still needs information about what 'all' means (pagination?), what an 'organization' represents in this system, and what the output format looks like. The current description is too minimal for adequate agent understanding.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 0 parameters with 100% description coverage, so the schema already fully documents the parameter situation. The description doesn't need to add parameter information, and it correctly doesn't mention any parameters. This meets the baseline expectation for a zero-parameter tool.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'List all organizations' clearly states the verb ('List') and resource ('organizations'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_organization' or 'list_projects', which would require more specific scope information to earn a 5.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. There's no mention of when this tool is appropriate compared to 'get_organization' (for single organization details) or 'list_projects' (for listing projects instead of organizations), leaving the agent without usage context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

supabase-mcp-server MCP server

Copy to your README.md:

Score Badge

supabase-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JoshuaRileyDev/supabase-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server