Skip to main content
Glama
canbolayir

Supabase MCP Server

by canbolayir

Server Quality Checklist

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

  • Disambiguation2/5

    Several SQL tools have overlapping purposes: sql_execute, sql_execute_raw, and sql_aggregate_enhanced all essentially execute raw SQL with minor differences, making it unclear when to choose one over the other. The descriptions attempt to differentiate them but the boundaries are still fuzzy.

    Naming Consistency4/5

    Most tools follow a domain_prefix_verb_noun pattern (e.g., db_select, storage_upload_file, edge_invoke_function), which is consistent. Minor deviations exist such as sql_aggregate_enhanced and sql_execute_raw, where suffixes break the standard verb_noun order, but the overall naming is clear.

    Tool Count2/5

    With 42 tools, the server feels bloated, particularly due to redundant SQL tools (sql_execute, sql_execute_raw, sql_aggregate, sql_aggregate_enhanced) that inflate the count. While Supabase has a broad feature set, this could be consolidated to around 25-30 tools without losing functionality.

    Completeness4/5

    The tool set covers major Supabase areas: database CRUD, auth basics, realtime, storage, edge functions, and security. However, notable gaps exist in auth user management (e.g., listing users, updating user metadata) and schema modification (no create/alter table tools, rely on raw SQL). These are workable via sql_execute, so the impact is moderate.

  • Average 3.2/5 across 42 of 42 tools scored. Lowest: 2.3/5.

    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

  • Behavior1/5

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

    With no annotations, the description carries the full burden of disclosing behavioral traits. It fails to mention whether a session/token is returned, side effects like session persistence, error behavior on invalid credentials, or any required preconditions. The minimal description provides zero transparency beyond the literal action.

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

    Conciseness3/5

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

    The description is concise and front-loaded, but under-specified. While every word earns its place, it lacks substance needed for a login tool. It is more an under-specification than a model of 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 lack of annotations and output schema, the description should explain the result of login (e.g., returns a token or user object) or clarify failure behavior. It does neither, leaving critical context missing for an authentication operation.

    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 already covers both parameters with clear descriptions (email and password), giving 100% coverage. The description merely repeats 'email and password' without adding semantic detail such as format, length, or which authentication flow is used. Thus it meets the baseline for high schema coverage.

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

    Purpose3/5

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

    The description states a clear action ('Login') and resource ('user') with credentials, but it does not differentiate from sibling tools like auth_signup or auth_logout. It is essentially restating the tool name with parameter context, lacking specific scope like session creation or token issuance.

    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?

    No usage guidance is provided. There is no mention of when to use this tool versus alternatives such as auth_signup for registration or auth_get_user for fetching user info. The description only implies login, leaving the agent to infer context.

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

  • Behavior1/5

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

    No annotations are provided, and the description offers no behavioral details such as whether the operation is read-only, what the return format is, or if special permissions are required. The description merely restates the tool's purpose without adding any transparency beyond the schema.

    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, front-loaded sentence with no unnecessary padding. It efficiently lists the supported functions and gives a clear overview of the tool's core 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?

    Despite having a detailed schema, the description is too sparse for a tool with five parameters and no output schema. It does not explain the return format, the effect of grouping, or when to prefer this over sql_aggregate_enhanced. The schema covers parameters, but the description leaves significant contextual gaps.

    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?

    Schema coverage is 100% as all parameters have descriptions. The description adds no extra meaning beyond the schema; it repeats the function names but does not clarify parameter interactions like required columns for sum/avg or the optional group_by behavior.

    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 tool's action and resource: 'Execute SQL aggregate functions (COUNT, SUM, AVG, MIN, MAX)'. This identifies the specific purpose without ambiguity. However, it does not distinguish itself from sibling tools such as sql_aggregate_enhanced or db_count, which also perform aggregation, so it misses the top 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?

    There is no guidance on when to use this tool versus alternatives like sql_aggregate_enhanced or db_count. The description only states what it does, not when it should be preferred or what scenarios it is not suitable for.

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

  • Behavior1/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. It only says 'Get detailed table analysis including statistics' and doesn't disclose whether the operation is read-only, if it modifies the table (e.g., running ANALYZE), any required permissions, or return format. The 'Get' implies retrieval, but the description provides no explicit behavioral guarantees.

    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 sentence with no redundancy or filler. It is concise and front-loaded with the core 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?

    Despite having only one parameter, the tool itself is potentially complex (detailed analysis with statistics). The description doesn't explain what 'detailed table analysis' includes, what statistics are returned, or any usage context. With no output schema, the description fails to provide a complete picture.

    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?

    Schema coverage is 100% with the table_name parameter described as 'Table name to analyze'. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 applies.

    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 states a specific verb ('Get') and resource ('detailed table analysis including statistics'), clearly distinguishing it from sibling sql_* tools like sql_execute or sql_aggregate. However, it doesn't specify what analysis or statistics are included, leaving some ambiguity about the exact scope.

    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 vs alternatives. It doesn't mention prerequisites, typical use cases, or exclusions, leaving the agent without context for selecting this tool over other sql_* tools.

    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 alone must disclose behavioral traits. 'Use with caution' vaguely implies risk but does not specify that this can execute destructive or DDL statements, may return varying result shapes, or may have side effects. For a raw SQL tool, this is insufficient transparency.

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

    Conciseness3/5

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

    The description is extremely concise with no filler words, but it is under-specified for the complexity and risk of the tool. It communicates a vague warning but omits critical operational details, so the brevity is not effectively balanced with informativeness.

    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 raw SQL execution capability, potential for destructive actions, and the existence of closely related siblings, the description is incomplete. It does not mention return values, error behaviors, or how it differs from sql_execute_raw. Without an output schema, more explanatory detail is expected but missing.

    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?

    Schema coverage is 100%, so the parameters 'query' and 'params' are already described. The description adds no extra meaning beyond the schema, such as how 'params' map to placeholders in the SQL string. This is a minimally adequate baseline, but no additional semantic value is provided.

    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 core function: 'Execute raw SQL query'. It uses a specific verb and resource, but it does not distinguish this tool from the sibling tool 'sql_execute_raw', which appears to have an identical purpose. Therefore, while the purpose is clear, it lacks 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?

    There is no guidance on when to use this tool versus alternatives such as db_select, db_insert, or sql_execute_raw. The phrase 'use with caution' is a warning, not usage context. No mention of appropriate scenarios, prerequisites, or exclusions. This leaves the agent without decision-making information.

    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, the description must carry the full behavioral burden. It only states 'Deploy an Edge Function to Supabase,' which implies a write operation but provides no details on idempotency, side effects, permissions required, or the shape of the response. This is a significant transparency gap for a deployment action.

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

    Conciseness4/5

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

    The description is a single, front-loaded sentence with no redundant information. However, it is under-specified for the tool's complexity, so while it is concise, it sacrifices necessary detail. Given the brevity, a score of 4 is appropriate.

    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?

    The tool has no output schema and no annotations, so the description should explain what happens on deployment, the return value, and error conditions. None of this is provided. The description is adequate for identifying the tool but not for understanding its full behavior or side effects.

    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 already provides 100% coverage of the three parameters with clear descriptions ('function_name', 'function_code', 'import_map'). The tool description adds no additional semantic value beyond what the schema already specifies, so the baseline score of 3 applies.

    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 uses the specific verb 'Deploy' with a clear resource ('Edge Function') and target ('Supabase'). This differentiates it implicitly from sibling tools like edge_invoke_function, edge_list_functions, and edge_remove_function, though it does not explicitly name them.

    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?

    No guidance is provided on when to use this tool versus the sibling edge function tools. It does not mention prerequisites such as authentication, whether this creates or updates an existing function, or any scenarios where the other tools should be preferred.

    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, the description bears full responsibility for disclosing side effects, authentication needs, or invocation behavior. It only states the action, omitting that invoking a function may execute code with side effects or return data. This is a meaningful transparency gap for a potentially mutating 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, front-loaded sentence with no filler. It communicates the core action efficiently, earning a high score for conciseness and structure.

    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?

    The tool is simple (3 params, no output schema), but the description fails to explain expected return values, response format, errors, or side-effect implications of invoking a function. With no output schema and minimal context, the description is not sufficiently complete for an agent to anticipate invocation outcomes.

    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 provides full descriptions for all three parameters (function_name, headers, payload), so coverage is 100%. The description adds no parameter-level detail beyond the schema, which matches the baseline for high 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 uses a specific verb ('Invoke') and resource ('Supabase Edge Function'), clearly indicating the tool's action. It distinguishes from sibling tools (list, deploy, remove) through the verb, though it does not elaborate on what invoking entails.

    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 gives no guidance on when to invoke a function versus listing, deploying, or removing one. There is no mention of prerequisites, function readiness, or scenarios where this tool is appropriate.

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

  • Behavior1/5

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

    With no annotations, the description carries the full burden of behavioral disclosure, but it only states 'create' which is already implied by the name. It does not disclose idempotency, auth requirements, side effects, or error behavior.

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

    Conciseness4/5

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

    The description is a single sentence with no wasted words. It is concise and front-loaded, though it may be somewhat under-specified for the tool's context.

    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 simple one-parameter tool, the description is minimal but lacks crucial context such as prerequisites, auth requirements, behavior on duplicate channels, or any return value. This makes it incomplete for an agent to safely invoke.

    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 already fully describes the only parameter (channel_name) with 100% coverage. The description adds no extra semantic detail about the parameter, so the baseline 3 is appropriate.

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

    Purpose5/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 (real-time channel), and includes purpose 'for broadcasting' which distinguishes it from sibling tools like realtime_subscribe and realtime_broadcast.

    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?

    No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description does not mention when not to use it or how it fits into the realtime workflow.

    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 only says 'subscribe', without explaining side effects, return values, connection persistence, or how events are delivered. This is insufficient for a real-time subscription tool.

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

    Conciseness4/5

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

    The description is a single concise sentence with no filler words, which works in its favor. However, it borders on under-specification, sacrificing substance for brevity.

    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?

    With no output schema and no annotations, the description should explain the subscription's behavior, return format, and operational context. It does none of that. For a real-time tool, this is a significant gap that could lead to misuse or misunderstanding.

    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 already provides descriptions for all three parameters (table, event, filter), so baseline 3 applies. The description adds no additional meaning, examples, or context beyond what the schema already states.

    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 uses the verb 'Subscribe' and specifies the resource 'real-time changes on a table', clearly indicating the tool's function. However, it does not differentiate from sibling tools like realtime_channel_create or db_select, which also involve real-time data or table operations.

    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?

    There is no guidance on when to use this tool versus alternatives. The description does not mention prerequisites, whether it complements or replaces other tools, or specific use cases. No exclusions or context are 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 full responsibility for behavioral disclosure, but it only restates the purpose. It does not indicate whether the operation is read-only, what permissions are needed, or what 'RLS status' entails in the response. The optional parameter behavior is only present in the schema, not the tool description.

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

    Conciseness4/5

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

    The description is a single, concise sentence with no filler words. It is front-loaded with the action and resource, making it easy to parse. However, it omits contextual details that could be valuable in the same concise format.

    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 an output schema and annotations, the description should explain what 'RLS status' means and what the caller should expect in the response. It also lacks usage context or connection to related tools, making it incomplete for a tool that appears to be a read-only diagnostic.

    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 fully describes the single optional parameter table_name, including the behavior when omitted (lists all). Since schema description coverage is 100%, the baseline is 3, and the description does not need to add parameter-specific meaning.

    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 a specific action ('Check') on a specific resource ('RLS status for tables'), and it distinguishes itself from sibling tools like security_enable_rls and security_disable_rls which are mutations. However, it is minimal and closely mirrors the tool name, adding only the 'for tables' scope.

    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 does not reference related tools such as security_list_policies or security_test_policy, nor does it mention any prerequisites or exclusions.

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

  • Behavior1/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 merely says 'Call a stored procedure/function' with no information about side effects, return format, error behavior, permissions, or whether the operation is read-only vs mutating. This is a serious omission for an RPC tool.

    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 concise sentence that efficiently communicates the primary purpose. It is front-loaded and contains no wasted words, though it sacrifices depth for brevity.

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

    Completeness1/5

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

    With no annotations, no output schema, and a complex domain (stored procedures), the description is severely underspecified. It fails to explain how params map to the procedure, what the return value is, or how it relates to sibling tools like sql_execute. This is inadequate for an AI agent to select and invoke the tool correctly.

    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 provides descriptions for both parameters ('Name of the function to call' and 'Parameters for the function'), achieving 100% schema coverage. The tool description adds no additional parameter semantics beyond the schema, so the baseline of 3 is appropriate.

    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 ('call') and the resource ('stored procedure/function'), providing a specific purpose. While it distinguishes itself from sibling tools like sql_execute by targeting RPC calls, it does not explicitly mention this distinction or alternatives.

    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 the use case—calling a stored procedure or function—but offers no explicit guidance on when to use it versus other SQL tools like sql_execute or db_select. There is no mention of exclusions or alternative tools, leaving the usage context only implied.

    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, the description carries the full burden. It mentions 'enhanced error handling and result formatting' but does not disclose that raw SQL can modify data (INSERT/UPDATE/DELETE), whether permissions are required, or what the result format actually is. This is a significant gap for a potentially destructive tool.

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

    Conciseness4/5

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

    The description is a single concise sentence that front-loads the core action. However, 'enhanced error handling and result formatting' is vague and does not earn its place; it could be replaced with more concrete details or omitted. Overall, it is well-sized but slightly under-specified.

    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 raw SQL execution and the absence of annotations or output schema, the description is insufficient. It fails to mention possible side effects, supported SQL statements, expected result shape, or any limitations. This is a powerful tool that needs more context for an agent to invoke it confidently.

    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?

    Schema coverage is 100%, with both parameters described in the input schema. The tool description adds no additional meaning beyond the schema, so a baseline of 3 is appropriate. The schema already clearly states 'query' is the SQL string and 'params' are query parameters.

    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 tool executes raw SQL, with the verb 'Execute' and resource 'raw SQL'. It distinguishes itself from sibling CRUD tools (db_select etc.) but does not explicitly differentiate from sql_execute, which appears to be a closely related tool.

    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 vs alternatives. It does not mention any exclusions, prerequisites, or mention that for standard CRUD operations one might prefer db_* or sql_execute tools. The phrase 'raw SQL' implies ad-hoc queries, but this is implicit rather than explicit.

    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 disclosing behavioral traits. It only states 'List files' without indicating return format, pagination, recursion behavior, auth requirements, or side effects. It implies a read-only operation but does not confirm it.

    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, clear, front-loaded sentence with no redundant words. It directly states the tool's purpose without verbosity, earning a perfect score 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?

    There is no output schema, so the description should explain what the tool returns (e.g., file names, metadata) and how parameters like path and limit affect the result. It does not disclose these details, leaving the agent with an incomplete understanding of the tool's behavior and response shape.

    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 fully describes all three parameters (bucket, path, limit) with clear descriptions, achieving 100% schema coverage. The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.

    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 identifies the action (list) and resource (files in a storage bucket), distinguishing it from storage_list_buckets which lists buckets. However, it does not specify the scope of listing (e.g., root vs. path) or mention the optional limit/path parameters, so it is specific but not fully detailed.

    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 storage_list_buckets or storage_upload_file. It does not mention any exclusions, prerequisites, or contextual use cases, leaving the agent to infer usage solely from the tool name.

    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, and the description does not disclose behavioral details beyond the basic upsert operation. It fails to mention how conflicts are resolved, the effect of the returning parameter, or the destructive nature of updates.

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

    Conciseness3/5

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

    The description is very concise and easily readable, but it is underspecified for a tool with a conflict-handling mechanism. It conveys the core idea without being verbose, yet it could provide more value without sacrificing brevity.

    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 (upsert with on_conflict) and the absence of annotations and output schema, the description is not complete. It does not explain the upsert semantics, when to use it, or the role of the on_conflict and returning parameters.

    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 provides detailed descriptions for all four parameters (100% coverage), so the description does not need to add parameter details. It adds no additional semantics, but the baseline of 3 applies due to high schema coverage.

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

    Purpose5/5

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

    The description clearly states the tool's function with a specific verb ('Insert or update') and resource ('rows in a table'), and the term 'upsert' distinguishes it from db_insert and db_update. The purpose is immediately clear.

    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?

    There is no guidance on when to use this tool versus db_insert, db_update, or how to handle conflicts. The description lacks context about the on_conflict parameter or scenarios where upsert is preferable.

    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, the description must disclose behavioral traits. 'Delete' implies destruction, but it does not mention permanence, the requirement for filters to prevent mass deletion, or the ability to return deleted rows via the 'returning' parameter. Minimal behavioral disclosure.

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

    Conciseness4/5

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

    The description is a single, concise sentence that wastes no words. It is easily scannable, though it could be slightly more informative without sacrificing brevity.

    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 and no output schema, the description is too terse. It fails to communicate the irreversible nature of deletion, the importance of filters, or the behavior of the 'returning' parameter. This is insufficient for safe and correct usage.

    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 provides descriptions for all three parameters (100% coverage), so the baseline is 3. The description adds no additional parameter details, but the schema fully documents them.

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

    Purpose5/5

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

    The description uses the specific verb 'Delete' and identifies the resource 'rows from a table,' clearly distinguishing it from sibling tools like db_insert and db_update.

    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?

    No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or cautionary notes about the destructive nature of the operation. It simply states the action without context.

    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, the description bears full responsibility for behavioral disclosure. It merely restates the tool's function without explaining return structure, error behavior, permissions, or side effects. The description adds little beyond the tool name itself.

    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, focused sentence with no redundant words. It is appropriately concise for a simple metadata retrieval tool.

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

    Completeness3/5

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

    Although the tool is simple, the description lacks specificity about what 'column information' includes, and there is no output schema to clarify. It is adequate for a basic understanding but leaves potential gaps about return values and edge cases.

    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?

    Schema coverage is 100% for both parameters, so the baseline is 3. The description does not add further meaning beyond the schema's property descriptions, which already specify the schema name and table name.

    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 states a clear action and resource: getting column information for a table. It is specific enough to indicate its function, though it does not explicitly differentiate from sibling tools like schema_get_tables or schema_get_relations.

    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?

    No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions, leaving the agent without direction for tool selection.

    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, the description must disclose behavioral traits, but it only states the action. It does not mention that creating a policy modifies database security, may require RLS to be enabled, or that the policy will affect future queries. This is a significant gap for a mutation tool.

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

    Conciseness4/5

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

    The description is a single concise sentence with no wasted words. It is front-loaded with the essential action. However, it is so terse that it sacrifices useful context, but for conciseness alone, it scores high.

    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?

    This is a complex security tool with 6 parameters and no output schema, yet the description provides minimal context. It does not explain the workflow (e.g., enabling RLS first), the purpose of expressions, or the impact on table permissions. While the schema covers parameter names, the description lacks the broader context an agent needs to use the tool correctly.

    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?

    Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond the schema, which already documents each parameter's purpose. The description does not clarify relationships between parameters (e.g., using_expression vs with_check_expression), but the schema provides adequate individual descriptions.

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

    Purpose5/5

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

    The description 'Create a Row Level Security policy' clearly states the action (create) and the resource (Row Level Security policy). It distinguishes from sibling tools like security_drop_policy, security_list_policies, and security_enable_rls, which perform different actions.

    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?

    No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., RLS must be enabled first), nor does it contrast with sibling tools such as security_enable_rls or security_test_policy. This leaves the agent without context for appropriate invocation.

    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. It discloses the simulation aspect, but doesn't specify whether the test query is actually executed (and could have side effects), whether it's read-only, or what the response format is. This is a significant gap for a tool that executes a user-supplied query.

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

    Conciseness4/5

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

    The description is a single, front-loaded sentence with no filler. It communicates the core purpose efficiently, though it could benefit from a bit more detail without becoming verbose.

    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?

    With no annotations, no output schema, and a terse one-liner, the description is incomplete for a tool that executes arbitrary queries. It doesn't explain return values, safety implications, or how to construct the user_context object, leaving the agent to infer critical details.

    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?

    Schema description coverage is 100%, so the parameter descriptions already document each field. The tool description adds no extra meaning beyond the schema, but with full coverage the baseline of 3 is appropriate.

    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 ('test') and resource ('policy'), and the 'simulating different user contexts' phrase distinguishes it from policy management tools like create/drop/list. It could be more specific about what 'test' entails, but it's not a tautology.

    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 phrase 'Test a policy' implies this tool is used when you want to verify policy behavior under various user contexts. However, it doesn't provide explicit guidance on when to use it over security_list_policies or security_check_rls_status, or mention any prerequisites.

    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, the description carries the full burden of disclosing behavioral traits. It only states that a bucket is deleted, offering no information about irreversibility, whether the bucket must be empty, or the consequence for contained files. 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.

    Conciseness4/5

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

    The description is a single, front-loaded sentence with no wasted words. It is appropriately concise for the simplicity of the operation, though it could be slightly expanded to include behavioral context without becoming verbose.

    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 absence of annotations and output schema, the description needs to supply operational context. It merely states the action without explaining side effects, failure modes, or the fate of the bucket's contents. This is incomplete for a destructive storage operation, especially in a toolset with many related operations.

    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 covers the sole parameter 'name' with a clear description, achieving 100% schema description coverage. The tool description adds no extra parameter meaning beyond the schema, so the baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description 'Delete a storage bucket' uses a specific verb and resource, clearly indicating the action and target. It distinguishes itself from sibling tools like storage_create_bucket and storage_list_buckets, leaving no ambiguity about its function.

    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 relative to alternatives. There is no mention of prerequisites, exclusions, or scenarios where another tool might be more appropriate, leaving context entirely to the reader.

    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, but it merely restates the tool's name without revealing that deletion is permanent, whether authentication is required, or how errors on non-existent files are handled. This is essentially a tautology with no added behavioral insight.

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

    Conciseness4/5

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

    The description is a single, front-loaded sentence with zero wasted words. However, it is so brief that it could have included additional context without losing conciseness, such as confirming permanent deletion or supporting multiple paths.

    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 destructive nature of the operation and absence of annotations, the description is under-specified. It does not mention irreversibility, batch deletion capability, or potential effects on related resources, making it incomplete for an agent evaluating risk.

    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 already describes both parameters (bucket name, array of file paths) with 100% coverage. The description adds no extra parameter semantics beyond what the schema provides, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description 'Delete a file from storage' clearly states the action (delete) and resource (file), which distinguishes it from sibling tools like storage_upload_file, storage_download_file, and storage_list_files. It is unambiguous about the core operation.

    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, such as prerequisites, interactions with other storage operations, or whether to list files before deletion. It does not mention any alternatives or exclusions.

    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 only says 'insert new row(s)' and does not mention return behavior, conflict handling, constraint enforcement, or other side effects. This is incomplete for a mutating 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, concise sentence with no filler or redundancy. It is appropriately sized for the level of detail provided, though that level is minimal.

    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 is a write operation with no annotations and no output schema, the description is insufficient. It fails to explain what the tool returns (especially given the 'returning' parameter), how errors are handled, or how this tool relates to db_upsert. The description is not complete enough for an agent to use it confidently.

    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 already provides 100% coverage of all three parameters with descriptions for table, data, and returning. The tool description adds no additional parameter meaning, so the baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the action ('Insert') and the target resource ('new row(s) into a table'). It distinguishes db_insert from sibling operations like db_select, db_update, and db_delete, and even from db_upsert by focusing on plain insertion.

    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?

    No guidance is provided about when to use this tool versus alternatives such as db_upsert or sql_execute. The description does not mention trade-offs, prerequisites, or scenarios where another tool would be preferred, leaving the agent without decision support.

    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, but it does not mention behavior such as what happens when no rows match filters, whether updates are irreversible, or what the returning parameter returns. This is a significant gap for a mutation tool.

    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, front-loaded sentence with zero waste. It efficiently communicates the core purpose without redundancy.

    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?

    The tool has four parameters, nested objects, and no output schema, yet the description provides no context about return values, error handling, or relationship to sibling database tools. It is minimal and does not help the agent anticipate tool behavior in real usage.

    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?

    Schema description coverage is 100%, so the schema already documents all four parameters. The description adds no extra meaning beyond stating the tool updates rows, which is the baseline for full schema coverage.

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

    Purpose5/5

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

    The description 'Update existing rows in a table' clearly states the tool's action (update), target (existing rows), and resource (table). It distinguishes from siblings like db_insert (creates) and db_delete (removes) by emphasizing 'existing rows'.

    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?

    No guidance is provided on when to use this tool versus alternatives such as db_upsert (update-or-insert) or db_insert. The description does not mention any use cases, exclusions, or prerequisites.

    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 must carry the behavioral transparency burden. It only says 'drop' without disclosing permanence, required privileges, potential errors (e.g., policy not found), or whether related policies are affected. This is minimal disclosure 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, clear sentence with no redundant details. It is appropriately sized for a simple mutation tool, though the brevity does come at the cost of missing context.

    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?

    The description is incomplete for an agent to use confidently. It omits return behavior, error conditions, and any context on how this tool fits into the security policy lifecycle (e.g., prerequisites like an existing policy). Sibling tools provide context but are not referenced.

    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?

    Schema description coverage is 100%, with both table_name and policy_name described clearly. The description adds no additional parameter semantics beyond the schema, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description clearly states the action ('drop') and the resource ('Row Level Security policy'). It distinguishes from sibling tools like security_create_policy and security_list_policies by specifying removal.

    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?

    No guidance is provided on when to use this tool versus alternatives, such as security_list_policies to view policies first or security_create_policy to add policies. No prerequisites or conditions for dropping are mentioned.

    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 must disclose behavioral details beyond the raw action. It does not mention side effects, idempotency, whether existing policies are affected, or any permissions required. This is a significant gap for a mutation tool.

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

    Conciseness4/5

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

    The description is a single, clear sentence that is easy to parse. It is front-loaded with the verb and resource. However, it could be slightly more informative without becoming verbose, so it earns a 4 rather than a 5.

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

    Completeness3/5

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

    For a one-parameter tool with no output schema, the description is minimally adequate but leaves out important context such as what happens after enabling RLS, whether the operation is reversible, and the relationship to security policies. It is incomplete enough to warrant improvement but not totally inadequate.

    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?

    Schema coverage is 100% (the only parameter, table_name, has a description). The description itself does not add parameter details, but the schema fully explains the parameter's purpose, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description uses a specific verb ('Enable') and resource ('Row Level Security on a table'), clearly distinguishing it from sibling tools like security_disable_rls and security_create_policy. It immediately tells the agent what action is performed and on what target.

    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?

    No guidance is given about when to use this tool versus alternatives. There is no mention of prerequisites (e.g., enabling RLS before creating policies), no exclusions, and no reference to related security tools. The description is purely a statement of functionality.

    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?

    The description only says 'list' which implies a read-only operation, but it does not disclose any behavioral details such as return format, authentication requirements, or behavior for non-existent tables. With no annotations, the description carries the burden and falls short.

    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 sentence that uses concise, direct language, with the key action and object front-loaded.

    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?

    With no output schema, the description should explain what the returned policy list looks like, but it does not. It also lacks context about errors or edge cases, making it incomplete for an agent.

    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 single parameter table_name is already fully described in the schema with the same wording, so the description adds no extra meaning. Schema coverage is 100%, so a baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description specifies the verb 'list' and the resource 'policies' scoped to a table, clearly distinguishing it from sibling security tools that create, drop, check, or test policies.

    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?

    No guidance is provided on when to use this tool versus other security tools, nor any mention of prerequisites or related operations.

    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 must disclose behavioral traits. It merely states 'Create a new storage bucket' with no mention of authentication requirements, error conditions, idempotency, or side effects. For a mutation tool, this is a major omission.

    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, clear sentence with no extraneous words. It is perfectly concise and front-loaded.

    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?

    With no annotations and no output schema, the description is too sparse to be complete. It does not explain what the tool returns, whether bucket creation is immediate, or any constraints (e.g., unique names). For a simple create operation, this still leaves notable gaps.

    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 already provides 100% coverage for both parameters (name and public). The description adds no additional information about parameters, so it does not go beyond what the schema provides. The high schema coverage earns a baseline of 3.

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

    Purpose5/5

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

    The description uses the specific verb 'Create' and the resource 'storage bucket', which clearly distinguishes it from siblings like storage_delete_bucket and storage_list_buckets. It is unambiguous and directly states the tool's function.

    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 vs alternatives, nor on prerequisites such as authentication or naming constraints. Usage is only implied by the verb 'Create' and sibling context, but the description itself offers no explicit direction.

    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 for behavioral disclosure. It only states the action without explaining whether this is a read-only operation, what the response format is (e.g., binary data, base64), or if any side effects occur. This is a minimal behavioral description.

    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, direct sentence with no wasted words. It is appropriately sized for a simple download operation and is front-loaded with the essential action.

    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?

    No output schema is present, so the description needs to explain what the tool returns. It fails to mention return type, encoding, or error behavior. For a download tool, this ambiguity could prevent an agent from using the result correctly.

    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?

    Schema coverage is 100%, with clear descriptions for 'path' ('File path in bucket') and 'bucket' ('Bucket name'). The tool description itself adds no extra parameter semantics, so it meets the baseline of 3 for relying on schema.

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

    Purpose5/5

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

    The description 'Download a file from storage' uses a specific verb ('Download') and resource ('file from storage'), clearly distinguishing it from sibling tools like storage_upload_file, storage_delete_file, and storage_get_public_url. It is immediately obvious what the tool does.

    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 does not mention that storage_get_public_url might be preferred for public URLs, or that storage_upload_file is for the opposite operation. There are no prerequisites or context cues.

    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 only states 'Get public URL for a file' but does not mention whether a signed URL is returned, whether the file must be public, or any error conditions. This is a significant gap for a tool with zero annotation support.

    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, front-loaded sentence with zero filler. Every word earns its place, making it an excellent model of conciseness for such 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?

    Despite the low complexity (2 simple params, no output schema), the description lacks essential context: it doesn't clarify what 'public URL' implies (permanence, signing, access policies) or what happens if the file is private. With no annotations to fall back on, the description is incomplete for fully informed use.

    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 already provides 100% coverage with descriptions for both bucket and path parameters. The description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb 'Get' and resource 'public URL for a file', clearly distinguishing it from sibling storage tools like upload/download/delete/list. It states the exact output without ambiguity.

    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?

    No guidance is given on when to use this tool versus alternatives (e.g., storage_download_file). It also omits prerequisites such as the file being publicly accessible or the need for a signed URL, leaving the agent without context for appropriate invocation.

    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. It states the tool tests the connection but does not disclose whether it only performs read-only operations, what 'basic info' exactly includes, whether it might throw errors on failure, or any side effects. This is a gap for a tool that could potentially connect to an external service.

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

    Conciseness4/5

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

    The description is a single concise sentence, front-loaded with the primary action ('Test connection'). It does not waste words, though 'get basic info' is underspecified, which slightly reduces clarity.

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

    Completeness3/5

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

    Given the minimal complexity (no parameters, no output schema), the description is adequate but not fully complete. It would be improved by specifying what 'basic info' includes (e.g., latency, version, status) and whether any side effects occur. The tool appears to be a simple health check, so this is acceptable but not outstanding.

    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?

    With zero parameters, there is no parameter semantics to clarify beyond what the schema already shows (an empty object). The description correctly avoids mentioning nonexistent parameters, and the baseline for zero-parameter tools is a 4.

    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 a specific verb ('Test') and resource ('connection to Supabase database'), and adds that it returns 'basic info'. It distinguishes the tool from siblings since none other is explicitly a connection test, though 'basic info' is somewhat vague.

    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?

    No explicit guidance is given on when to use this tool versus alternatives. However, for a no-parameter connection check, the usage context is largely implied: it is a diagnostic tool for verifying connectivity. The lack of any mention of prerequisites or typical scenarios leaves room for improvement.

    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, but it only states the action without detailing side effects, required channel existence, delivery semantics, or permissions. This leaves significant unknowns for the agent.

    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 one short sentence that directly states the purpose with no redundant words. It is front-loaded and appropriately scoped for the tool.

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

    Completeness3/5

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

    The description plus full schema coverage provides the agent with the basic invocation parameters, but without annotations or output schema, and lacking any behavioral caveats, the overall context is minimal. It is adequate but not rich; a note on channel existence or subscription requirements would improve completeness.

    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 already describes all three parameters (channel_name, event, payload) with 100% coverage. The description adds no additional parameter semantics beyond the action itself, so it meets the baseline.

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

    Purpose5/5

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

    The description uses the specific verb 'broadcast' with a clear resource ('a message to a channel'), distinguishing it from sibling tools like realtime_subscribe and realtime_channel_create. The scope is unambiguous.

    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?

    No guidance is provided on when to use this tool versus alternatives such as realtime_subscribe or realtime_channel_create. There are no exclusions or prerequisites stated.

    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, the description carries the full burden. It does not disclose any behavioral traits beyond the basic listing action, such as whether views are included, how results are ordered, permission requirements, or the response format.

    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, clear sentence with no redundant information. It is front-loaded and every word contributes.

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

    Completeness3/5

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

    For a simple tool with one optional parameter and no output schema, the description is adequate but lacks details about the returned data and edge cases, such as whether system tables or views are included. However, the core purpose is clear.

    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 only parameter 'schema' is fully described in the input schema with name and default. The description adds no additional meaning to the parameter beyond what the schema provides, so the baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description 'Get list of all tables in the database schema' clearly states the action (get) and resource (tables). It distinguishes from sibling tools like schema_get_columns and schema_get_relations, which target different schema objects.

    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?

    No guidance is provided on when to use this tool versus alternatives such as schema_get_columns or db_select. The description does not mention any exclusions or alternative tools, leaving the agent without comparison context.

    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 must convey behavioral implications. It only states the action without mentioning side effects, required permissions, or reversibility. Disabling RLS has significant security consequences that are left unaddressed.

    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, front-loaded sentence with no unnecessary words. It delivers the core message immediately.

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

    Completeness3/5

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

    The tool is simple (one parameter, no output schema), so this description is minimally adequate. However, it lacks any safety warnings, permission notes, or comparison to related tools, which is a notable gap for a security-sensitive operation.

    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 fully documents the single parameter 'table_name', and the description adds no extra semantic value beyond that. With schema coverage at 100%, the baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the action 'Disable' and the resource 'Row Level Security (RLS) on a table'. It distinguishes from the sibling tool 'security_enable_rls', which performs the opposite operation.

    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?

    No guidance is provided on when to use this tool versus alternatives. The sibling list includes 'security_enable_rls' and 'security_check_rls_status', but the description does not reference them or any context.

    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, the description carries the full burden of behavioral disclosure. It mentions 'raw SQL' but does not clarify whether this is a safe read-only operation, what permissions are required, or what the return format looks like. The lack of detail on potential side effects or execution behavior is a significant gap.

    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, concise sentence that immediately states the core purpose. It avoids unnecessary details and earns its place without waste, making it well-structured and front-loaded.

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

    Completeness3/5

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

    While the schema is fully described, the tool has no output schema and the description does not explain return values, especially for grouped aggregations. The 'bypasses limitations' context is useful, but the overall description is minimal and could benefit from a note about output shape or limitations.

    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 covers all parameters with descriptions, so the description does not need to add much. It does not provide additional meaning beyond the schema, such as usage examples or constraints. The baseline of 3 applies because schema coverage is 100%.

    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 tool's function: executing aggregate functions via raw SQL. It also hints at differentiators from Supabase client limitations, but does not explicitly name alternative sibling tools like sql_aggregate. This is specific enough but lacks the explicit sibling differentiation seen in top-tier examples.

    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 phrase 'bypasses Supabase client limitations' implies when to use this tool, but it does not explicitly state when not to use it or suggest alternatives. There is no mention of prerequisites or comparisons to other tools, so guidance is implied rather than explicit.

    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 responsibility for behavioral disclosure. It states the action (register) but does not reveal important traits such as whether email verification is required, password constraints, rate limits, or what happens on duplicate emails. For a mutation tool, this is a significant gap.

    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 concise sentence of eight words. It is front-loaded with the verb and contains no filler or redundant 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?

    The tool is a registration mutation with no annotations and no output schema, yet the description only specifies the inputs. It does not explain the return value, error behavior, prerequisites, or post-signup flow. This leaves significant unknowns for an AI agent, making the description incomplete for effective invocation.

    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?

    Schema description coverage is 100%, so each parameter already has a basic description (e.g., 'User email address', 'User password', 'Additional signup options'). The tool description adds no further semantic value beyond restating 'email and password.' Baseline 3 is appropriate because the schema does the heavy lifting.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Register a new user with email and password.' The verb 'Register' is specific and the resource ('new user') is identified, distinguishing it from sibling auth tools like auth_login (authenticate) and auth_get_user (fetch user details).

    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 the tool is for creating user accounts but does not explicitly state when to use it over alternatives or mention any exclusions (e.g., 'use auth_login after signup'). No alternatives are named, so guidance is minimal but the purpose is clear enough for basic selection.

    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, the description carries the full burden of behavioral disclosure. It only mentions the base64 encoding requirement, which is already present in the schema. It does not disclose whether the upload overwrites existing files, whether it creates buckets, authentication requirements, or return values.

    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?

    A single sentence of six words is extremely concise and front-loaded. No unnecessary words; the key purpose is immediately clear.

    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?

    Despite the small tool surface, the lack of annotations and output schema leaves the description needing to explain behavior and return values. It doesn't, so the contextual completeness is limited to the basic action.

    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?

    Schema coverage is 100%, so the baseline is 3. The description adds no semantics beyond the schema; 'base64 encoded' repeats the parameter description for file_base64. It does not clarify relationships like bucket/path or content_type default.

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

    Purpose5/5

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

    The description uses the verb 'Upload' and identifies the resource 'a file to storage', which clearly distinguishes it from sibling tools like storage_download_file or storage_delete_file. The addition of '(base64 encoded)' specifies the required input format.

    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 when an agent needs to upload a file to storage, but it does not provide explicit guidance on prerequisites (e.g., bucket must exist), exclusions (e.g., when to use db_insert for metadata), or alternatives among sibling tools.

    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 responsibility for disclosing behavioral traits. It does not mention that the user must be authenticated, what happens if no session exists, or what data is returned. The description only states the basic action and lacks important 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 a single, concise sentence that immediately states the tool's purpose. It is front-loaded and contains no unnecessary words or filler.

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

    Completeness3/5

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

    The tool is very simple (no parameters), and the description is adequate. However, with no output schema, the agent does not know what 'user information' includes (e.g., id, email). Additionally, there is no mention of authentication requirements. For such a simple tool, this is a minor gap, hence a mid-range score.

    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?

    There are zero parameters, and the schema is empty with 100% coverage. The baseline for 0 params is 4. The description does not add parameter details because none exist, but that is acceptable here.

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

    Purpose5/5

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

    The description clearly states what it does: 'Get current authenticated user information'. It uses a specific verb ('Get') and resource ('current authenticated user information'), and it is easily distinguishable from sibling auth tools like auth_login and auth_logout.

    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?

    There is no guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g., user must be logged in), and no exclusions. The description simply states the operation without contextualizing its usage among sibling tools.

    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 present, and the description does not disclose any behavioral traits beyond the implicit 'list' operation. It lacks information about authentication requirements, response structure, or whether any filtering is possible.

    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 clear sentence with no redundant words, making it highly concise and easy to scan.

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

    Completeness3/5

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

    For a tool with no parameters, the description is arguably sufficient, but it does not specify what information is returned for each bucket (e.g., name, id, timestamps), and there is no output schema to clarify.

    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 tool has zero parameters, and the schema is empty, so the description has nothing to add. Baseline 4 is appropriate for a no-parameter tool.

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

    Purpose5/5

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

    The description clearly states the tool lists all storage buckets, using a specific verb (list) and resource (storage buckets), distinguishing it from sibling tools like storage_create_bucket or storage_list_files.

    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?

    No guidance is provided on when to use this tool versus other storage tools. It merely states what it does without mentioning alternatives or exclusions.

    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. It only states the action and local scope, but does not disclose potential consequences (e.g., irreversibility, whether it affects deployed functions, or required permissions). This is a mutation tool, and the description lacks important behavioral detail.

    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, concise sentence with no filler. It front-loads the verb and resource, making it immediately clear what the tool does.

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

    Completeness4/5

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

    For a simple tool with one parameter and no output schema, the description is nearly complete. It specifies the scope ('local serverless handler') which is useful context. However, it could mention that removal is local-only and does not affect remote functions, which would add completeness.

    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 100% coverage for the single parameter 'function_name' with a clear description ('Name of the function to remove'). The tool description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb ('Remove') and identifies the exact resource ('Edge Function') and scope ('from local serverless handler'). This clearly distinguishes it from siblings like edge_deploy_function and edge_invoke_function.

    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 phrase 'local serverless handler' provides context that this is for local development, but there is no explicit guidance on when to use this tool versus alternatives such as edge_deploy_function or edge_list_functions. Exclusions and alternatives are not mentioned.

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

  • Behavior3/5

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

    The description implies a read-only operation via the verb 'Get', which aligns with typical expectations. However, with no annotations, it does not explicitly state safety, permissions, or any potential side effects. It is minimally sufficient but lacks explicit disclosure.

    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, clear sentence with no unnecessary words. It is front-loaded and efficient, earning its place without redundancy.

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

    Completeness4/5

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

    For a simple metadata retrieval tool, the description is adequately complete. The schema handles parameter details. However, since there is no output schema, it could be improved by briefly noting the return format (e.g., a list of relationship objects), but the current level is sufficient for the tool's simplicity.

    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 provides full descriptions for both parameters (schema and table_name), covering 100% of the parameters. The description adds no additional parameter-level meaning beyond what the schema already offers, so the baseline score of 3 applies.

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

    Purpose5/5

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

    The description uses a specific verb 'Get' with a clear resource 'foreign key relationships' and target 'table'. It distinguishes itself from sibling tools like schema_get_tables and schema_get_columns by specifying relationships.

    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?

    No guidance is provided on when to use this tool versus alternatives such as schema_get_columns or db_select. The description merely states what it does without any context about prerequisites or comparative 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 must disclose behavioral traits. It only states the action without mentioning side effects, prerequisites (e.g., requiring an active session), or consequences (e.g., token invalidation). This lacks transparency for a state-changing 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 concise sentence with no wasted words. It is appropriately sized for the tool's simplicity.

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

    Completeness3/5

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

    Given the tool has no parameters and no output schema, the description captures the core action. However, it lacks any context about return behavior, error conditions, or session impact, which could be important for an agent to invoke it correctly in edge cases.

    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?

    There are zero parameters, so the baseline score is 4. The description does not need to elaborate on parameter details because there are none.

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

    Purpose5/5

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

    The description 'Logout current user' clearly states the action (logout) and the resource (current user). It is distinct from sibling tools like auth_login, auth_signup, and auth_get_user, making the tool's purpose unambiguous.

    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 the tool is used when an authenticated user needs to end their session, but it does not explicitly state when to use it versus alternatives or provide exclusions. However, the context from sibling tools makes the usage fairly obvious.

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

  • Behavior3/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. It states the core behavior (count rows, optionally filtered) but does not disclose return format, potential performance implications, or how filters are applied. Basic behavior is transparent, but richer context is missing.

    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, front-loaded sentence with no redundant words or filler. It efficiently conveys the action and scope.

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

    Completeness4/5

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

    This is a simple tool with two parameters, and the schema fully documents them. The description adequately conveys the purpose, though it omits explicit return type information and how filters map to SQL conditions. For a straightforward count operation, this is acceptable and complete enough.

    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?

    Schema description coverage is 100% (both 'table' and 'filters' are documented). The description's mention of 'optional filters' adds slight emphasis on their optionality, but the schema already marks 'filters' as not required. Minimal added value beyond the schema.

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

    Purpose5/5

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

    The description uses the specific verb 'Count' with the resource 'table' and notes 'optional filters', which clearly defines the tool's function and distinguishes it from siblings like db_select (returns rows) and db_insert. The scope is unambiguous.

    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 for counting rows with optional filters, but provides no explicit guidance on when to choose this tool over alternatives such as sql_aggregate or sql_execute_raw. No exclusions or conditional recommendations are given.

    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. It does not explicitly state that this is a read-only operation, nor does it mention any side effects, authentication requirements, rate limits, or return format. While 'Select' implies non-mutating, it does not disclose behavioral traits beyond what the schema already says.

    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, concise sentence that is front-loaded with the primary action ('Select data') and includes key qualifiers ('from a table' and 'optional filters and sorting'). Every word earns its place, and there is no padding or redundancy.

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

    Completeness4/5

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

    While there is no output schema to clarify return values, the description is adequate for a simple select tool. It covers the core operation, and the schema handles the parameter details thoroughly. However, given the tool has 7 parameters and nested objects, a brief mention of pagination (limit/offset) or how filters are applied would increase completeness, but the current level is sufficient for most agents.

    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?

    Schema description coverage is 100%, as every parameter has a description. The tool description only restates 'optional filters and sorting' without adding new meaning to the parameters. It does not clarify how filters combine (AND/OR) or how order/ascending interact beyond the schema's basic descriptions, but the baseline of 3 is appropriate given high schema coverage.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Select data from a table with optional filters and sorting.' It uses a specific verb ('Select') and resource ('table'), and it distinguishes the tool from siblings like db_insert, db_update, and db_delete, which handle different operations.

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

    Usage Guidelines4/5

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

    The description implies clear usage: it is for retrieving data from a table with optional filtering and sorting. However, it does not explicitly exclude more complex query tools like sql_execute_raw or mention when to prefer this over db_count. The context is clear but no direct alternatives are given.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full responsibility for behavioral disclosure. The word 'list' implies a read-only operation, which is helpful, but the description does not mention whether authentication is required, what information is returned (names only vs. full details), or how the results are ordered. This is acceptable for a simple list tool but leaves some uncertainty.

    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, concise sentence that is front-loaded with the action and target. Every word contributes, and there is no redundancy or filler. It is appropriately minimal for such a straightforward tool.

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

    Completeness4/5

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

    Given the tool's simplicity (zero parameters, no output schema, no annotations), the description conveys the essential purpose. It could have added a note about what 'available' means (e.g., functions deployed to the project) or the return format, but for a list-all tool, the description is reasonably complete. The minor gaps do not significantly impede 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 zero parameters, so the baseline score is 4. The description adds no parameter-specific meaning, but none is needed since the tool takes no arguments. This aligns with the rule that 0 parameters earns a baseline 4.

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

    Purpose5/5

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

    The description 'List available Edge Functions' clearly states a specific verb (list) and resource (Edge Functions), distinguishing it from sibling tools like edge_invoke_function, edge_deploy_function, and edge_remove_function. The purpose is unambiguous and directly reflects the tool name.

    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 the verb 'list' — this is the read-only enumeration tool, in contrast to invoking, deploying, or removing functions. However, it does not explicitly state when to use this tool over alternatives or provide any exclusion criteria, so guidance is only implied rather than stated.

    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

self-hosted-supabase-mcp MCP server

Copy to your README.md:

Score Badge

self-hosted-supabase-mcp 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/canbolayir/self-hosted-supabase-mcp'

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