Skip to main content
Glama
faressoft

snowflake-mcp

by faressoft

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: listing vs describing vs sampling vs querying vs explaining. No overlapping tools that could cause confusion.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern (get_*, list_*, describe_*, test_*, execute_*, explain_*). No mixed conventions or varied verb styles.

    Tool Count5/5

    11 tools is well within the ideal 3-15 range and maps neatly to the domain of Snowflake exploration and querying. Each tool earns its place without bloat.

    Completeness5/5

    Covers the full read-side workflow: connection testing, database/schema/table/view enumeration, schema inspection, row counts, primary keys, sampling, query execution, and query planning. No critical gaps for an exploration/query-focused server.

  • Average 3.5/5 across 11 of 11 tools scored. Lowest: 2.9/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

  • 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 behavior, but only states that it executes SQL and returns results. It fails to disclose that arbitrary SQL (including writes/destructive statements) can be run, that there are default limits (max_rows=100, timeout), or what the response structure looks like. This is a significant transparency gap for a tool that can potentially modify data.

    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: 'Execute a SQL query against Snowflake and return the results.' Every word contributes meaning, with no fluff or redundancy. It is appropriately concise for a general-purpose 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 having 4 parameters and no output schema, the description is notably incomplete. It doesn't mention possible side effects of executing arbitrary SQL, result format defaults, row limits, or error behavior. For a tool that can run any query, the lack of safety and result-shape context leaves the agent under-informed.

    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 each parameter having a clear description. The tool description itself adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate. The schema already documents query, format, timeout, and max_rows effectively.

    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 a SQL query against Snowflake and returns results, using a specific verb and resource. While it doesn't explicitly distinguish from sibling tools by name, its general-purpose nature is evident compared to the more specialized table inspection and metadata tools listed as siblings.

    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, such as explain_query for query plans or get_table_sample for quick data previews. It neither states use cases nor excludes scenarios, leaving the agent to infer when this general SQL execution tool is appropriate.

    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 conveying behavior. It only states 'list', implying a read-only operation, but fails to disclose whether both parameters are required, what happens with invalid schema names, or the output format. This is a significant gap for a tool with zero annotation coverage.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no wasted words. It succinctly captures the primary action 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?

    Although this is a simple listing tool, the description omits essential context. The presence of a 'database' parameter is unexplained, the requiredness of the schema parameter is ambiguous (required parameters are 0, yet the description says 'in a schema'), and without an output schema, the return format is unknown. This incompleteness could lead to incorrect 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?

    The input schema already documents both parameters ('Schema name' and 'Database name'), so the description's contribution is minimal. It adds that views are listed within a schema, but does not clarify the relationship between schema and database parameters. Since schema coverage is 100%, a 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 'List all views in a schema' clearly identifies the action (list) and resource (views), which distinguishes it from sibling tools like list_tables or list_schemas. However, the phrase 'in a schema' is slightly ambiguous given the presence of a 'database' parameter, leaving the exact scope unclear.

    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 such as list_tables or list_schemas. It does not mention any prerequisites, exclusions, or specific use cases, leaving the agent to infer appropriateness.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'sample' but does not clarify whether rows are random, ordered, or limited by the limit parameter, nor does it state that this is a read-only operation. This ambiguity could mislead an 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 a single, front-loaded sentence that conveys the core purpose without unnecessary words. Every word contributes meaning, making it highly concise and easy to parse.

    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 minimal and does not compensate for the absence of an output schema or annotations. It fails to explain the nature of the sample (e.g., limit behavior, randomness) or offer any context about when this tool is preferable to siblings, leaving significant gaps 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 input schema provides 100% coverage for both parameters, each with a clear description. The tool description adds no additional parameter semantics beyond what the schema already offers, which meets the baseline for fully documented schemas.

    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 retrieves a sample of rows from a table to understand its data. It uses a specific verb ('get') and resource ('sample of rows from a table'), effectively distinguishing it from siblings like get_table_row_count and describe_table.

    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. With many sibling tools (e.g., describe_table, execute_query), it lacks explicit context about appropriate use cases 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, and the description only restates the purpose. It does not disclose output format, behavior for tables without primary keys, error handling, or any other behavioral traits. The agent must guess the return structure.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that directly states the function without unnecessary verbiage. It is concise and easy to parse.

    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's simple one-parameter scope, the description is mostly adequate. However, it does not specify the exact return format (e.g., array of column names) or edge cases like tables with no primary key, so it falls short of full 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 fully documents the 'table' parameter (100% coverage), including the ability to specify database.schema.table. The description adds no additional semantic detail beyond what the schema provides, 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') and clearly identifies the resource ('primary key columns for a table'). It distinguishes from sibling tools that focus on row counts, table lists, or generic describe 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?

    The description provides no guidance on when to use this tool versus alternatives like describe_table, and does not mention any exclusions or preferred contexts. Agents are left to infer suitability.

    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 provides minimal behavioral information. It does not disclose pagination, permissions, or how the database parameter affects results, leaving the agent with only the name and 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 concise sentence with no filler, front-loading the action and resource.

    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, but the description omits the database parameter and return format. With no output schema and no annotations, the description could provide more context on how schema and database relate.

    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?

    Both parameters are fully described in the input schema with 100% coverage, so the baseline is 3. The description does not add further detail about parameter usage beyond what the schema already provides.

    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 'list' with resource 'tables' and scope 'in a schema', clearly distinguishing from sibling tools like list_views, list_databases, and list_schemas.

    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 like list_views or list_schemas. The description does not mention prerequisites or exclusions.

    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, the description must disclose behavioral traits, but it only states the operation without caveats. It does not mention performance implications, exactness, or error handling, though it clearly indicates a read-only fetch of a count.

    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, front-loaded with the action and target. There is no wasted verbiage.

    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 one-parameter read tool, the description is nearly sufficient: it names the operation and parameter. However, the lack of return-type details and usage alternatives leaves minor gaps 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 schema already provides full coverage for the single 'table' parameter, including its format. The description adds no further parameter semantics, so it is at the baseline score.

    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 ('total number of rows in a table'), clearly distinguishing it from sibling tools that list tables, describe schemas, or sample data. It unambiguously conveys 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?

    No guidance is provided on when to use this tool versus alternatives. The description simply restates the function without indicating e.g. that get_table_sample should be used for row previews or describe_table for schema details.

    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 tool tests the connection and returns info, but does not disclose whether this is a read-only operation, if it requires special permissions, what network calls occur, or what specific connection info is returned. This lack of detail leaves the agent guessing about side effects and output contents.

    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, front-loaded with the verb and resource. Every word contributes to communicating the purpose, with no wasted text.

    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 no parameters and no output schema, the description is minimally sufficient, but it leaves the 'connection info' unspecified. Without annotations or an output schema, a more detailed description of what info is returned (e.g., version, user, warehouse) would help the agent understand the tool's usefulness and result handling.

    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, so the schema is trivially simple. The description need not add parameter details. With no params, the baseline is 4 and the description adequately aligns with the empty 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 clearly states the tool tests the connection to Snowflake and returns connection info. This distinguishes it from siblings like list_tables, execute_query, and describe_table, which all target specific data operations rather than connectivity.

    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 usage guidance is given, but the purpose is clear: it is for verifying Snowflake connectivity. Since siblings are all data operations, the context implies this is a preflight check, but the description does not state when to prefer this over tools like execute_query or explain_query.

    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 must disclose behavioral traits. It implies a read-only operation ('Get detailed information') and lists what is included, but does not mention permissions, failure behavior, or whether row data is excluded. It is adequate for a simple metadata lookup but lacks explicit reassurances.

    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 that directly states the purpose. No filler or redundant phrasing, earning the maximum score.

    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?

    With one parameter and no output schema, the description explains the main return content (columns, types, constraints). It is complete enough for a metadata tool, though it could be more explicit about whether primary keys or indexes are included. The description adds value beyond a bare minimum.

    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 provides a complete description for the single parameter (table name with optional database.schema qualifier), and the description adds no additional parameter context. Since schema coverage is 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 tool retrieves detailed table structure (columns, types, constraints), which is specific and distinguishes it from siblings like get_row_count or get_primary_keys. The verb 'Get' and resource 'table structure' are 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 (use when you need table structure) but does not explicitly compare to alternatives or state when not to use. No mention of when to prefer describe_table over get_primary_keys or list_tables, so guidance is only implicit.

    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, the description carries the behavioral disclosure burden. It mentions 'accessible' databases, implying permission-based scoping, but does not explicitly state that the operation is read-only or describe return format, pagination, or other behavioral details.

    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 states the tool's purpose without redundant words. It is front-loaded with the action and resource, making it easy to parse quickly.

    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 parameterless listing tool, the description conveys the core function sufficiently. However, since there is no output schema, it could be more explicit about what is returned (e.g., database names and properties), leaving a slight gap in completeness.

    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 takes zero parameters, so schema coverage is 100% by default. The description appropriately implies no inputs are needed, and the baseline of 4 applies for parameterless tools.

    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 identifies the action (list), the resource (databases), the scope (all accessible), and the environment (Snowflake). It is distinct from sibling tools such as list_tables and list_schemas by explicitly naming 'databases' as the resource type.

    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 related tools or scenarios, leaving the agent to infer from the name alone.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden, but 'List' clearly signals a read-only operation with no side effects. It does not explicitly discuss permissions or edge cases, but for a simple listing operation, the behavior is unambiguous enough.

    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, immediately stating the core function with no filler words. It is optimally concise and front-loaded.

    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 low complexity and full schema coverage, the description is nearly sufficient. It does not specify the return format (e.g., list of strings), but for a simple listing tool this is generally expected. The lack of an output schema slightly reduces completeness, but the description covers the essential 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?

    The schema description covers the single parameter ('database') fully, so the description does not need to add parameter details. Baseline of 3 applies because schema coverage is 100% and the description adds no extra semantics 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 a specific verb ('List') and a specific resource ('all schemas in a database'), clearly distinguishing it from sibling tools like list_tables and list_views. It unambiguously states 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?

    No guidance is provided on when to use this tool versus alternatives. It does not mention scenarios, prerequisites, or exclusions, leaving the agent to infer usage solely from the name and description.

    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 the full burden of disclosing behavior. It does disclose the most critical trait—that the query is not executed—which implies no side effects. However, it omits other potentially relevant details such as whether it requires any special permissions, what happens for invalid SQL, or the exact format of the returned execution plan. This meets the minimum viable threshold but leaves gaps.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence that precisely conveys the tool's purpose and key behavior. There is no redundancy or filler—every word contributes meaning, making it highly concise and well-structured.

    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 (one parameter, no output schema) and the clear statement of a read-only behavior, the description is largely complete. It might benefit from briefly noting the return format or typical use cases, but the current text covers the essential context for an agent to invoke it correctly. It does not leave major unknowns about when or why to use it.

    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 provides 100% coverage with a description for the single parameter 'query'. The tool description adds the phrase 'SQL query' and 'execution plan', which reinforces the parameter's purpose but does not add new syntactic or format details beyond what the schema states. This aligns with the baseline for 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 gets an execution plan for a SQL query, using the specific verb 'Get' and identifying the resource (execution plan for a SQL query). It also distinguishes itself from the sibling execute_query by explicitly noting it does so 'without running it', eliminating 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 Guidelines4/5

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

    The description implies the tool should be used when the user wants a query plan without execution, which clearly separates it from execute_query. While it doesn't explicitly name alternatives or state exclusions, the context of sibling tools and the phrase 'without running it' provide clear usage context. This is slightly above baseline as the intended use case is clear from the description alone.

    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

snowflake-mcp MCP server

Copy to your README.md:

Score Badge

snowflake-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/faressoft/snowflake-mcp'

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