Skip to main content
Glama

❄️ mcp-server-snowflake

CI GHCR GitHub Release License: Apache-2.0 Coverage CodeRabbit Reviews

Supercharge AI Agents with Native Snowflake Data Cloud & Cortex AI Superpowers! ⚡
An enterprise-grade Model Context Protocol (MCP) server providing 140 tools across 19 domain modules, dynamic profile switching, zero-config connection resolution, safe SQL execution, virtual warehouse management, object inspection, Horizon data lineage, and Cortex AI integrations straight to your favorite AI assistant.


🏛️ System Architecture

flowchart TD
    subgraph Clients["AI Clients & Hosts"]
        Claude["Claude Desktop / Claude Code"]
        Antigravity["Antigravity / Gemini CLI"]
        CortexClient["Snowflake Cortex Agent"]
        Cursor["Cursor / VS Code"]
    end

    subgraph Protocol["MCP Protocol Boundary (Spec 2026-07-28)"]
        STDIO["stdio Transport"]
        HTTP["Streamable HTTP Transport"]
    end

    subgraph Server["snowflake-mcp (FastMCP 4)"]
        CLI["CLI & Arg Parser (Allowed Hosts & DNS Rebinding Protection)"]
        Auth["Multi-Auth & Profile Resolver (~/.snowflake/connections.toml / Key-Pair / PAT / SSO)"]
        Registry["Tool Registry (140 Tools across 19 Modules)"]
        Safety["Safety Gates (confirm=True, Read-Only Guard, Row Limits)"]
    end

    subgraph Cloud["Snowflake Data Cloud"]
        SQL["SQL & Transaction Engine"]
        Warehouses["Virtual Warehouses & Scaling"]
        Horizon["Horizon Lineage, Tags & Policies"]
        Cortex["Cortex AI (Search, Complete, Analyst)"]
        SPCS["SPCS Compute Pools & Services"]
        Storage["Stages, Pipes, Streams & Iceberg"]
    end

    Clients --> STDIO & HTTP
    STDIO & HTTP --> CLI
    CLI --> Auth
    Auth --> Registry
    Registry --> Safety
    Safety --> SQL & Warehouses & Horizon & Cortex & SPCS & Storage

Related MCP server: Snowflake MCP Server

🛡️ Enterprise Disclaimers & Safety

IMPORTANT

Community Project Disclaimer
mcp-server-snowflake is an independent open-source project licensed under Apache 2.0. It is not affiliated with, sponsored by, endorsed by, or supported by Snowflake Inc. "Snowflake" and "Cortex" are trademarks of Snowflake Inc.

WARNING

Safety Guardrails

  • Read-Only Safety Mode: Set SNOWFLAKE_MCP_READONLY=1, pass --readonly, or pass --profile readonly to block mutating tools. The profile sets the same read-only flag the gate reads. On each new session, read-only mode runs USE SECONDARY ROLES NONE before any tool SQL and closes the connection if that pin fails. Write mode does not run that statement. Objects readable only through a secondary role's grants are not visible under --readonly until the read-only primary role is granted SELECT on them directly. Set DEFAULT_SECONDARY_ROLES = () on the read-only user, or use a dedicated user that holds only that role. Prefer a programmatic access token with ROLE_RESTRICTION set to the read-only role so Snowflake evaluates privileges under that role (programmatic access tokens). ROLE_RESTRICTION does not replace the session pin. See FAQ / Troubleshooting.

  • Caller SQL: queries_query, queries_get_query_plan, and the query arguments of recipes_warehouse_scale_and_execute and recipes_export_query_to_stage refuse anything that is not one read-only statement, whether or not read-only mode is on. Allowed forms are one SELECT (no INTO), SHOW, DESCRIBE/DESC, or EXPLAIN SELECT. SYSTEM$ calls are refused except SYSTEM$TYPEOF and SYSTEM$CLUSTERING_INFORMATION. IDENTIFIER(...) in call position and TABLE(IDENTIFIER(...)) are refused. User-defined functions inside SELECT are not inspected.

  • Destructive Safety Gates: Dropping databases, schemas, or tables requires explicit confirm=True.

  • Query Limits: Default execution limits prevent context window overflow (SNOWFLAKE_MAX_ROWS=1000, SNOWFLAKE_QUERY_TIMEOUT=120).


❓ FAQ / Troubleshooting

Read-only secondary-roles pin

In read-only mode (--readonly, --profile readonly, or SNOWFLAKE_MCP_READONLY=1), each new session runs USE SECONDARY ROLES NONE before any tool SQL. If that pin fails, the server fails closed: the connection is closed and not served. Write mode does not run the statement.

Objects readable only through a secondary role's grants need SELECT granted on the primary role (the read-only role) directly. Set DEFAULT_SECONDARY_ROLES = () on the read-only user, or use a dedicated user that holds only that role.

Empty success vs a rejected missing object

Some describe and lineage tools return an empty success for a missing name. That result is the tool behavior. The live harness records it as expect: success. An empty success here is not a harness bug:

  • warehouses_describe_warehouse

  • governance_describe_role

  • tags_describe_tag

  • horizon_get_object_lineage

warehouses_describe_warehouse, governance_describe_role, and tags_describe_tag run SHOW ... LIKE and return status: success with empty details when nothing matches. horizon_get_object_lineage returns status: success when its OBJECT_DEPENDENCIES query succeeds, with empty upstream and downstream lists when the named object is absent.

horizon_get_column_lineage returns status: success when its SNOWFLAKE.ACCOUNT_USAGE.ACCESS_HISTORY query succeeds. That query does not filter on the supplied table or column name, so the payload can still contain recent access-history rows when that name is missing. The live harness still uses expect: success because the call succeeds. That is harness policy, not an empty-payload claim.

Most other missing-object describe tools still reject: the handler returns status: error, and the live harness records expect: rejected. The fixture table and marker lists are in TESTING.md under Live e2e expect policy.

Programmatic access tokens and ROLE_RESTRICTION

Prefer ROLE_RESTRICTION on a programmatic access token set to the read-only role, so Snowflake evaluates privileges under that role (programmatic access tokens).

ROLE_RESTRICTION does not replace the session pin. Read-only mode still runs USE SECONDARY ROLES NONE on every new session. Live checks showed an unrestricted programmatic access token can still surface secondary roles until that statement runs.


🔌 Connection & Multi-Auth Resolution

mcp-server-snowflake automatically resolves credentials across all enterprise Snowflake configurations:

  1. Snowflake CLI Inheritance (~/.snowflake/connections.toml): Zero-configuration connection. If you have configured connections via snow, the server automatically connects to your default or specified profile (-c <conn_name>).

  2. Dynamic Profile Switching: Switch active connection profiles on the fly via governance_use_connection(connection_name) and inspect available profiles with governance_list_connections.

  3. Programmatic Access Tokens (PAT) / OAuth: Set token in connections profile or SNOWFLAKE_TOKEN.

  4. RSA Key-Pair JWT Authentication: Set SNOWFLAKE_PRIVATE_KEY_PATH (and optional SNOWFLAKE_PRIVATE_KEY_PASSPHRASE).

  5. SSO / Browser Authentication: Set SNOWFLAKE_AUTHENTICATOR=externalbrowser.

  6. Environment Variables: Standard SNOWFLAKE_ACCOUNT, SNOWFLAKE_USER, SNOWFLAKE_PASSWORD, SNOWFLAKE_WAREHOUSE, SNOWFLAKE_DATABASE, SNOWFLAKE_SCHEMA, SNOWFLAKE_ROLE.


📦 Installation & Quickstart

# PyPI publication is pending dispute #11989.
# Install from GitHub
uvx --from git+https://github.com/christianclaudio/mcp-server-snowflake snowflake-mcp

# Or run the GHCR image
docker run -i --rm ghcr.io/christianclaudio/mcp-server-snowflake

# Interactive setup wizard
snowflake-mcp --init

# Run with a specific Snowflake CLI connection profile
snowflake-mcp -c my_connection

# Run in read-only mode (every tool stays registered; handlers reject mutations)
snowflake-mcp -c my_connection --readonly

# List one domain, or only read-only tools
snowflake-mcp --profile cortex
snowflake-mcp --profile readonly
# `--profile readonly` hides mutating tools, sets the read-only flag, and pins USE SECONDARY ROLES NONE on each session.
# Set DEFAULT_SECONDARY_ROLES = () on that user, or use a dedicated user that holds only the read-only role.

# Opt in to regex tool search instead of the flat 140-tool tools/list
snowflake-mcp --enable-tool-search

# Build a local image (the published image is ghcr.io/christianclaudio/mcp-server-snowflake)
docker build -t mcp-server-snowflake .
docker run -i --rm mcp-server-snowflake

🛠️ Complete Tool Suite (140 Enterprise Tools)

Domain Suite

Count

Key Tools

1. SQL Queries & Transactions

9

queries_query, queries_execute_dml, queries_cancel_query, queries_get_query_history, queries_get_query_plan, queries_get_query_operator_stats, queries_begin_transaction, queries_commit_transaction, queries_rollback_transaction

2. Databases & Clones

7

databases_list_databases, databases_describe_database, databases_create_database, databases_drop_database, databases_clone_database, databases_undrop_database, databases_get_database_ddl

3. Schemas & Clones

6

schemas_list_schemas, schemas_describe_schema, schemas_create_schema, schemas_drop_schema, schemas_clone_schema, schemas_undrop_schema

4. Tables, Views & Partitions

10

tables_list_tables, tables_list_views, tables_describe_table, tables_get_table_ddl, tables_sample_table, tables_create_table, tables_drop_table, tables_undrop_table, tables_truncate_table, tables_clone_table

5. Virtual Warehouses & Scaling

8

warehouses_list_warehouses, warehouses_describe_warehouse, warehouses_create_warehouse, warehouses_drop_warehouse, warehouses_resume_warehouse, warehouses_suspend_warehouse, warehouses_resize_warehouse, warehouses_get_warehouse_load_history

6. Stages & File Operations

6

stages_list_stages, stages_describe_stage, stages_create_stage, stages_drop_stage, stages_list_stage_files, stages_remove_stage_file

7. Tasks & DAG Pipelines

7

tasks_list_tasks, tasks_describe_task, tasks_create_task, tasks_drop_task, tasks_resume_task, tasks_suspend_task, tasks_execute_task

8. Streams & Change Data Capture

5

streams_list_streams, streams_describe_stream, streams_create_stream, streams_drop_stream, streams_read_stream_changes

9. Dynamic & Iceberg Tables

9

dynamic_tables_list_dynamic_tables, dynamic_tables_describe_dynamic_table, dynamic_tables_refresh_dynamic_table, dynamic_tables_resume_dynamic_table, dynamic_tables_suspend_dynamic_table, dynamic_tables_list_iceberg_tables, dynamic_tables_describe_iceberg_table, dynamic_tables_list_external_volumes, dynamic_tables_list_catalog_integrations

10. Snowpipe & Ingestion

5

pipes_list_pipes, pipes_describe_pipe, pipes_create_pipe, pipes_drop_pipe, pipes_get_pipe_status

11. Alerts & Notifications

6

alerts_list_alerts, alerts_describe_alert, alerts_create_alert, alerts_drop_alert, alerts_resume_alert, alerts_suspend_alert

12. Governance, RBAC & Users

12

governance_get_current_context, governance_list_connections, governance_use_connection, governance_list_roles, governance_describe_role, governance_create_role, governance_drop_role, governance_list_users, governance_describe_user, governance_create_user, governance_list_grants_to_role, governance_list_grants_to_user

13. Network & Password Policies

6

network_list_network_policies, network_describe_network_policy, network_list_network_rules, network_describe_network_rule, network_list_password_policies, network_describe_password_policy

14. SPCS Compute Pools & Streamlit

8

compute_services_list_streamlits, compute_services_describe_streamlit, compute_services_list_compute_pools, compute_services_describe_compute_pool, compute_services_resume_compute_pool, compute_services_suspend_compute_pool, compute_services_list_services, compute_services_list_image_repositories

15. Object Tags & Classifications

4

tags_list_tags, tags_describe_tag, tags_get_object_tag_references, tags_set_object_tag

16. Horizon Lineage & Governance

6

horizon_get_object_lineage, horizon_get_column_lineage, horizon_list_masking_policies, horizon_describe_masking_policy, horizon_list_row_access_policies, horizon_describe_row_access_policy

17. Programmability, UDFs & Secrets

10

programmability_list_procedures, programmability_describe_procedure, programmability_list_functions, programmability_describe_function, programmability_list_secrets, programmability_describe_secret, programmability_list_sequences, programmability_list_integrations, programmability_list_event_tables, programmability_list_notification_integrations

18. Cortex AI & NLP Extensions

8

cortex_complete, cortex_summarize, cortex_sentiment, cortex_extract_answer, cortex_translate, cortex_search, cortex_embed_text_768, cortex_analyst_query

19. Composite Agent Workflows

8

recipes_health_check, recipes_inspect_table_with_sample, recipes_profile_table, recipes_warehouse_scale_and_execute, recipes_clone_table_recipe, recipes_export_query_to_stage, recipes_account_usage_summary, recipes_discover_schema_lineage


🔌 Integration Guides for AI Assistants & IDEs

mcp-server-snowflake works seamlessly with all major AI assistants, IDEs, and CLI tools via standard stdio or streamable-http.

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "snowflake": {
      "command": "snowflake-mcp",
      "args": ["-c", "my_connection"],
      "env": {
        "SNOWFLAKE_DEFAULT_CONNECTION_NAME": "my_connection"
      }
    }
  }
}

For Claude Code CLI:

claude mcp add snowflake -- snowflake-mcp -c my_connection

Add to .agents/mcp_config.json (or global ~/.gemini/config/mcp_config.json):

{
  "mcpServers": {
    "snowflake": {
      "command": "snowflake-mcp",
      "args": ["-c", "my_connection"],
      "env": {
        "SNOWFLAKE_DEFAULT_CONNECTION_NAME": "my_connection"
      }
    }
  }
}

Add to ~/.snowflake/cortex/mcp.json:

{
  "mcpServers": {
    "snowflake": {
      "command": "snowflake-mcp",
      "args": ["-c", "my_connection"]
    }
  }
}

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "snowflake": {
      "command": "snowflake-mcp",
      "args": ["-c", "my_connection"]
    }
  }
}

Add to cline_mcp_settings.json:

{
  "mcpServers": {
    "snowflake": {
      "command": "snowflake-mcp",
      "args": ["-c", "my_connection"]
    }
  }
}

Launch snowflake-mcp as a long-running Streamable HTTP service:

snowflake-mcp --transport streamable-http --host 127.0.0.1 --port 8000

Connect your HTTP client or proxy to endpoint http://127.0.0.1:8000/mcp.

HTTP authentication. Set SNOWFLAKE_MCP_AUTH_TOKEN to require Authorization: Bearer <token> on every HTTP request; a missing or wrong token gets 401. The token is stripped, and a blank value counts as unset. It is attached when the server is built, so snowflake-mcp, fastmcp run and an ASGI host mounting mcp.http_app() all enforce it when it is set. stdio never uses it.

With no token, snowflake-mcp still starts an HTTP bind to 127.0.0.1, ::1 or localhost, unauthenticated, and logs a warning. A tokenless bind to any other host exits with code 2. Set the token, bind to localhost, or set SNOWFLAKE_MCP_ALLOW_UNAUTHENTICATED_BIND to 1, true, yes or on to accept an unauthenticated public bind (any other value refuses). Other entry points get the token but not the localhost check: fastmcp run and http_app() do not go through snowflake-mcp's main(), so a bind to 0.0.0.0 with no token there is not refused and serves without authentication. The host or its process manager owns the bind address, so set SNOWFLAKE_MCP_AUTH_TOKEN there.

To serve the image over HTTP, pass credentials and the token from your environment or an env file, never on the command line:

# export SNOWFLAKE_ACCOUNT, SNOWFLAKE_USER, SNOWFLAKE_TOKEN and SNOWFLAKE_MCP_AUTH_TOKEN first, or use --env-file .env
docker run --rm -p 8000:8000 \
  -e SNOWFLAKE_ACCOUNT -e SNOWFLAKE_USER -e SNOWFLAKE_TOKEN -e SNOWFLAKE_MCP_AUTH_TOKEN \
  ghcr.io/christianclaudio/mcp-server-snowflake \
  --transport streamable-http --host 0.0.0.0 --allowed-host mcp.example.com

Replace mcp.example.com with the host name clients use to reach the server.

Known limits.

  • Only snowflake-mcp refuses a tokenless public bind (exit code 2). fastmcp run and mcp.http_app() enforce the token when it is set but do not refuse a tokenless public bind.

  • A token changed after the server is built is not picked up; restart the server.

  • In the default (stateful) HTTP mode, a session idle for 30 minutes expires: its next request gets HTTP 404 and the client must start a new session. Change this with FastMCP's session_idle_timeout (on http_app()) or FASTMCP_HTTP_SESSION_IDLE_TIMEOUT (seconds, or none to never expire); see the FastMCP 4.1.0 release and #5229.


🧪 Verification Runbook

All changes are strictly verified with automated safety and contract gates before release:

# 1. Format and lint checks
uv run ruff check .
uv run ruff format --check .

# 2. Strict static typing
uv run mypy src/

# 3. Unit and mocked test suite
uv run pytest

# 4. Tool contract verification (builds the server; 140 tools)
uv run python scripts/check_tool_contract.py

# 5. MCP protocol conformance suite (Spec 2026-07-28)
./scripts/check_conformance.sh

# 6. Release notes preview since the last tag (needs full history and tags)
python3 scripts/release_notes.py

📜 License

Apache 2.0. Copyright (c) 2026 Christian Claudio.

Available Tools

140 tools
snowflake_account_usage_summarySnowflake Account Usage SummaryA
Read-only

Composite recipe: Summary of warehouse compute credits and storage consumption over the past 7 days.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description usefully adds that the window is fixed at the past 7 days and that this is a pre-composed aggregate rather than a raw query, but it says nothing about credit units, latency, or data freshness.

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 front-loaded sentence with no filler. The scope constraint (7 days) appears immediately after the resources.

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 an output schema present and no parameters, the description needs only to convey purpose and scope, which it does. The remaining gap is routing guidance relative to the many overlapping sibling tools.

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 there is nothing for the description to disambiguate; a 4 baseline applies. The description correctly implies a fixed 7-day window with no configurable inputs.

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?

States a clear verb (summarize) and specific resources (warehouse compute credits, storage consumption) with a bounded scope (past 7 days), which distinguishes it from query-history and load-history siblings. The 'composite recipe' framing is slightly opaque about what exactly is composed or returned, but the core purpose is legible.

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 when-to-use guidance and never mentions alternatives such as snowflake_get_warehouse_load_history or snowflake_profile_table, which overlap in the cost/usage domain. Usage is only inferable from the topic.

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

snowflake_begin_transactionSnowflake Begin TransactionA
Idempotent

Begin an explicit transaction on the active session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds the useful scoping fact that the transaction binds to the active session, but omits what happens on error, whether autocommit is suspended, and behavior when a transaction is already open.

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 front-loaded sentence with zero filler; the verb and scope appear immediately. Nothing in the sentence is redundant with the title or annotations.

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?

An output schema exists, so return values need not be explained, and annotations carry the safety profile. What is missing is transactional lifecycle context (pairing with commit/rollback, session scoping implications, nesting/error behavior) that an agent needs to use this correctly in a sequence of DML calls.

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 there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4. Schema coverage is nominally 100% and the empty schema matches the description's lack of arguments.

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?

States a specific verb (begin) and resource (an explicit transaction) scoped to the active session, which is unambiguous. It does not, however, name its natural lifecycle partners snowflake_commit_transaction / snowflake_rollback_transaction, so the transactional grouping must be inferred from sibling names.

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?

Usage is only implied: an agent can guess this precedes a multi-statement unit of work, but the description never says when to start a transaction versus issuing individual statements, nor that it must be closed with commit or rollback. No explicit when/when-not guidance.

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

snowflake_cancel_querySnowflake Cancel QueryB
Destructive

Cancel an active running Snowflake query by its Query ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
query_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, so the agent knows this is a mutating operation. The description's only added behavioral fact is that the target must be actively running, but it omits permission requirements, idempotence, and what happens if the query already completed.

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?

A single front-loaded sentence with no wasted words. Brevity is achieved at the cost of some precision, but nothing is redundant.

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?

An output schema exists, so return values need not be explained. However, for a destructive, open-world operation the description leaves gaps: how to discover the Query ID, required privileges, and behavior on a non-running query.

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 0%, so the description carries the burden. It identifies the single parameter's meaning (Query ID) and that it selects the query to cancel, but gives no format, case, or source for the identifier.

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?

States a specific verb (Cancel) and resource (Snowflake query), plus the scoping qualifier 'active running' and the identifying key (Query ID). No sibling in the list performs cancellation, so differentiation is implicit rather than explicitly named.

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 reach for this tool versus letting a query run, nor on where to obtain a Query ID (e.g., from snowflake_get_query_history). The 'active running' qualifier hints at a precondition but is not framed as usage guidance.

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

snowflake_clone_databaseSnowflake Clone DatabaseB

Create a zero-copy clone of a database in Snowflake.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_databaseYes
target_databaseYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description does add real Snowflake-specific value with 'zero-copy', signaling metadata-only clone semantics with shared underlying storage rather than a data copy. It still omits whether the operation requires ownership/privileges, whether a pre-existing target conflicts, and whether the clone is independent or storage-linked afterwards.

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?

A single short sentence that is front-loaded with the key verb and the distinguishing 'zero-copy' trait. There is no waste, but the brevity leaves obvious gaps that a second sentence could have filled without bloat.

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?

An output schema exists, so return values need not be explained. However, for a state-changing object-creation tool, the description supplies no prerequisites, no conflict behavior for an existing target, and no routing against the sibling clone/create-database tools. It is minimally viable rather than complete.

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

Parameters2/5

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

Schema description coverage is 0% for both required parameters, so the schema provides no semantics at all and the description must compensate. It never mentions source_database or target_database, what naming/qualification rules apply, or what happens if target_database already exists. Parameter names are fairly self-evident, which keeps this above a 1, but the description adds nothing.

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?

States a specific verb and resource: 'Create a zero-copy clone of a database'. This is clear and distinguishable from non-clone DDL siblings like snowflake_create_database. However, it does not distinguish itself from the closely related snowflake_clone_schema or snowflake_clone_table, which use the same clone concept at different object levels.

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 on when to use a clone versus creating an empty database, no prerequisites (e.g. source database must exist, required privileges), and no mention of alternatives such as snowflake_create_database or snowflake_clone_schema. The agent must infer all usage context.

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

snowflake_clone_schemaSnowflake Clone SchemaC

Create a zero-copy clone of a schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
source_schemaYes
target_schemaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already disclose readOnlyHint=false, destructiveHint=false, and openWorldHint=true. The description adds the meaningful 'zero-copy' semantics (metadata reference rather than physical data duplication), which annotations do not convey. It omits, however, whether the target must be empty/nonexistent or what privileges are required.

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?

A single front-loaded sentence with zero waste. It is appropriately terse for a name that already conveys much of the action, though the brevity edges toward under-specification given the undocumented parameters.

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?

An output schema exists, so return values need not be described, but this is a mutating, open-world tool with 0% parameter documentation and no usage guidance. For a clone operation that creates a new schema object, the description does not supply enough context to invoke it confidently.

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

Parameters2/5

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

Schema description coverage is 0% and the three parameters (database, source_schema, target_schema) are named but entirely undocumented in the schema. The description adds no meaning for any of them, so the agent cannot tell whether 'database' scopes the source, the target, or both.

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?

States a specific verb+resource ('Create ... clone of a schema') and adds the distinguishing 'zero-copy' qualifier, which separates it from snowflake_create_schema (which creates an empty schema). However, it does not explicitly contrast itself with the sibling create/clone tools, so the differentiation must be inferred.

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 when-to-use guidance, no mention of alternatives such as snowflake_create_schema vs clone_schema, and no prerequisites (e.g., target schema must not already exist). The agent is left to infer when cloning is appropriate.

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

snowflake_clone_tableSnowflake Clone TableC

Create a zero-copy clone of an existing table.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_tableYes
target_tableYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true), so the read/write nature is already conveyed. The description adds genuinely useful Snowflake-specific context via 'zero-copy' (instant, metadata-only, no data duplication), but omits prerequisites such as required privileges or whether an existing target will fail.

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?

A single front-loaded sentence with zero filler and no redundancy against the schema or annotations. It is efficient, though arguably terse for a mutating operation that carries prerequisites.

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 output schema exists so return values need not be described, and the tool has only two params. However, for a mutation with 0% parameter documentation and no stated prerequisites or name-resolution rules, the description is too thin 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.

Parameters2/5

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

Schema coverage is 0%, so both parameters are undocumented in the schema and the description does not compensate. It never names or explains source_table or target_table, leaving the agent to guess whether values are qualified names or plain identifiers.

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?

States a specific verb (create clone) and resource (table) with the defining Snowflake trait 'zero-copy'. It separates the resource target from siblings like snowflake_clone_schema and snowflake_clone_database, but does not distinguish itself from snowflake_clone_table_recipe or explain how it differs from snowflake_create_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?

No when-to-use, prerequisites, or alternative guidance. It never mentions when a clone is preferable to create_table or clone_table_recipe, and gives no indication that the target must not already exist. The agent must infer all of the routing itself.

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

snowflake_clone_table_recipeSnowflake Clone Table RecipeA

Composite recipe: Clone table with Time Travel timestamp or statement ID in 1 call.

ParametersJSON Schema
NameRequiredDescriptionDefault
at_or_beforeNo
source_tableYes
target_tableYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, and destructiveHint=false, so the safety profile is largely covered. The description adds that this is a composite recipe executed in one call, but it omits permissions, target-table behavior, and what happens if the target already exists.

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 communicates the essential action and the distinguishing Time Travel option 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?

Output schema exists, so return values need not be explained. However, for a composite clone tool in a large sibling set, the description leaves out the distinction from snowflake_clone_table and does not fully cover the optional Time Travel parameter semantics.

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 0%, so the description must compensate. It explains that at_or_before accepts a Time Travel timestamp or statement ID, which is useful, but source_table and target_table are only self-documenting names and no format details are 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 gives a specific verb and resource ('Clone table') plus the Time Travel capability, so the core purpose is clear. It does not explicitly distinguish itself from the sibling tool snowflake_clone_table, which weakens 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 Guidelines3/5

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

The phrase 'with Time Travel timestamp or statement ID' implies the tool is for cloning a table at a historical point, but there is no explicit when-to-use, when-not-to-use, or alternative-tool guidance. The implied context is somewhat useful but far from complete.

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

snowflake_commit_transactionSnowflake Commit TransactionA
Idempotent

Commit the current active transaction on the session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the session scoping of the transaction, but says nothing about behavior when no transaction is active, error handling, or that pending DML becomes durable — useful context that 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?

A single front-loaded sentence with no filler; the scope qualifier 'current active ... on the session' is placed where it is immediately useful.

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?

An output schema exists, so return values need not be explained, and there are no parameters to document. Still, for a transaction-control tool the description omits the prerequisite (a transaction must be open) and post-commit state, which is the main thing an agent needs to call it correctly.

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 per the rubric the baseline is 4. There is nothing for the description to disambiguate beyond the fact that the target transaction is implicit (the session's current one).

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?

States a specific verb (Commit) and resource (the current active transaction on the session), so the action is unambiguous. However, it does not distinguish itself from the adjacent lifecycle siblings snowflake_begin_transaction and snowflake_rollback_transaction, which an agent must choose between.

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?

Usage is only implied: an agent can infer this follows snowflake_begin_transaction and is the alternative to snowflake_rollback_transaction, but neither the prerequisite nor the commit-vs-rollback condition is stated. No when-not guidance is given.

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

snowflake_cortex_analyst_querySnowflake Cortex Analyst QueryB
Read-only

Ask a natural language analytical question using Cortex Analyst semantic models.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYes
semantic_model_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is clear. The description adds that the operation is natural-language and uses semantic models, but does not disclose latency, cost, or authentication requirements.

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 with no filler, front-loading the core purpose. Every word earns its place, and there is no 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?

Despite having an output schema and annotations, the description is incomplete for a tool with two parameters and 0% schema coverage. It does not explain the optional semantic_model_path parameter, nor does it give usage context relative to siblings like snowflake_query.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for two undocumented parameters. It hints at the 'question' parameter via 'natural language analytical question' and vaguely references semantic models, but never explains the optional semantic_model_path parameter, its format, or what happens when it is omitted.

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 verb ('Ask') and resource ('natural language analytical question using Cortex Analyst semantic models'), which distinguishes it from generic SQL query and other Cortex text tools. However, it does not explicitly name alternatives or scope boundaries.

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 when-to-use guidance or alternatives are provided. The description implies it is for analytical questions, but does not say when to choose it over snowflake_query or other Cortex functions.

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

snowflake_cortex_completeSnowflake Cortex CompleteB
Read-only

Run LLM completion using Snowflake Cortex AI (e.g., 'llama3.3-70b', 'mistral-large2', 'snowflake-arctic').

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNollama3.3-70b
promptYes
max_tokensNo
temperatureNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context such as latency, cost, rate limits, or output format, which are relevant for an LLM completion tool that may involve external model calls.

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 efficiently conveys the tool's action and provides useful model examples without padding.

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 four parameters and 0% schema coverage, the description is insufficient for an agent to call the tool correctly. It omits explanations for required and optional parameters, does not mention output format or how to handle responses, and lacks any usage context despite the tool's complexity.

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

Parameters2/5

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

Schema description coverage is 0%, so the schema provides no clarifications for any parameter. The description only lists model name examples but does not explain the roles of prompt, max_tokens, temperature, or their defaults. It fails to compensate for the complete lack of schema documentation.

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?

States a specific verb (Run LLM completion) and clearly identifies the resource (Snowflake Cortex AI). The parenthetical examples of model names ('llama3.3-70b', 'mistral-large2', 'snowflake-arctic') distinguish it from siblings like snowflake_cortex_summarize or snowflake_cortex_sentiment, which are task-specific rather than general completion.

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 explain when to choose this over snowflake_cortex_summarize, snowflake_cortex_sentiment, snowflake_cortex_translate, or snowflake_cortex_extract_answer, nor does it mention any prerequisites or constraints.

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

snowflake_cortex_embed_text_768Snowflake Cortex Embed Text 768B
Read-only

Generate 768-dimensional dense vector embeddings for text using Snowflake Cortex AI.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
modelNosnowflake-arctic-embed-m

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false. The description adds useful output context by specifying dense 768-dimensional vectors and the Cortex AI service, but it does not disclose cost, rate limits, model behavior, or other operational traits beyond what annotations provide.

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 front-loaded sentence with no filler. The action, output, input, and service are all communicated efficiently.

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?

An output schema exists, so return values need not be explained, and annotations cover safety. However, the description is still incomplete for a two-parameter tool because it omits model parameter semantics and gives no usage guidance.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It only implies a text input via 'for text' and completely omits the 'model' parameter, including its default and possible model choices.

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?

States a specific verb ('Generate'), resource ('768-dimensional dense vector embeddings'), and input domain ('text') using Snowflake Cortex AI. This clearly distinguishes it from sibling Cortex tools like complete, summarize, sentiment, and translate.

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 explicit when-to-use guidance, prerequisites, or alternatives. It implies embedding generation for text but does not say when to choose this over cortex_search, cortex_complete, or other Cortex tools.

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

snowflake_cortex_extract_answerSnowflake Cortex Extract AnswerC
Read-only

Extract direct answer to a question from unstructured source document/text.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYes
source_textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, so the agent knows it's a read-only external-call operation. The description adds nothing beyond this – no model behavior, latency, token limits, or whether the answer is grounded or hallucination-prone. For a Cortex LLM 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.

Conciseness4/5

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

A single front-loaded sentence with no waste. It is concise, though very minimal for the complexity of an LLM extraction tool.

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

Completeness2/5

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

Given this is an LLM-based extraction tool with openWorldHint, the description is too sparse. It omits usage boundaries vs. sibling Cortex tools, input format expectations, and any behavioral caveats. Output schema exists, so return values needn't be described, but much else is missing.

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

Parameters2/5

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

Schema description coverage is 0% and the description doesn't clarify what 'source_text' and 'question' mean beyond the names. For example, it doesn't say whether source_text must be a single document or can be concatenated, or question phrasing constraints. With an output schema present, return semantics are handled, but parameter semantics are weak.

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?

States a specific verb+resource: extract a direct answer to a question from unstructured source text. An agent can distinguish it from siblings like cortex_complete and cortex_summarize. However, it does not explicitly contrast itself with the sibling cortex_summarize or other Cortex text tools.

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 on when to use this over cortex_summarize, cortex_complete, or cortex_search. It implies a question-answering use case but doesn't state exclusions, prerequisites, or alternative selection criteria.

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

snowflake_cortex_sentimentSnowflake Cortex SentimentA
Read-only

Analyze sentiment of text returning score from -1.0 (most negative) to 1.0 (most positive).

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds genuinely useful behavioral detail beyond the annotations: the output is a score on a -1.0 to 1.0 scale. It does not mention cost, latency, language support, or text length limits.

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 front-loaded sentence with zero filler; the operation comes first and the output range follows. Nothing needs trimming.

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?

An output schema exists, so return structure need not be explained, and a one-parameter read-only tool is intrinsically simple. The description is nearly sufficient; only input constraints (length, language) are missing to be fully complete.

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 0% and there is one parameter, so the description must carry the semantics. 'sentiment of text' implicitly names the input, but adds no detail on format, size limits, language coverage, or whether it accepts one string or a batch. Barely compensates for the coverage gap.

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?

States a specific verb (analyze sentiment) and resource (text), and even specifies the numeric output range, so an agent knows exactly what operation it performs. It does not explicitly differentiate itself from siblings like snowflake_cortex_complete or snowflake_cortex_summarize, but the purpose is unambiguous on its own.

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?

Usage is only implied: an agent can infer this is the tool for sentiment scoring of a piece of text. There is no explicit when-to-use or when-not-to-use guidance, and no mention of alternatives in the Cortex family (summarize, translate, complete) for cases where the goal is not sentiment.

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

snowflake_cortex_summarizeSnowflake Cortex SummarizeB
Read-only

Summarize English text using Snowflake Cortex AI.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the useful constraint that only English text is supported, but says nothing about cost, model/feature enablement, input length limits, or latency.

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?

A single, front-loaded sentence with no filler — everything stated earns its place. It is arguably too terse for the gaps left in parameters and usage, but by structure and size it is efficient.

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?

An output schema exists, so return values need not be explained. However, for a tool with zero schema description coverage and several closely related Cortex siblings, the description leaves an agent without the constraints needed to call it confidently.

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

Parameters2/5

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

Schema description coverage is 0% for the single 'text' parameter, so the description carries the burden. It only hints that the input must be English, offering no guidance on length, format, or whether it accepts a single string vs. multiple passages.

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?

States a specific verb ('Summarize') and resource ('English text') plus the engine ('Snowflake Cortex AI'), so the operation is unambiguous. It does not distinguish itself from siblings like snowflake_cortex_complete, which can also produce summaries, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to choose this over snowflake_cortex_complete, snowflake_cortex_extract_answer, or snowflake_cortex_sentiment. Usage is only inferable from the verb, and no prerequisites (e.g., Cortex availability, region, cost) are mentioned.

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

snowflake_cortex_translateSnowflake Cortex TranslateC
Read-only

Translate text from a source language to a target language using Snowflake Cortex AI.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
source_languageYes
target_languageYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description restates only that it uses Snowflake Cortex AI, adding no behavioral detail such as latency, token/size limits, cost implications, or whether results are cached.

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?

A single front-loaded sentence with no filler; the operation is stated immediately. It is efficient, though arguably too terse given the gaps in parameter and behavioral coverage.

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 presence of an output schema means return values need not be explained, but with three fully required parameters at 0% schema coverage and no annotation gaps being filled, the definition leaves key invocation details (language code format, text constraints) unspecified.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry parameter meaning and it does not. It never indicates the expected language format (ISO code vs. full name), whether auto-detect is supported for source_language, or any length limits on text.

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 gives a specific verb (translate) and resource (text) plus directionality (source to target), so an agent knows exactly what operation this performs versus siblings like cortex_summarize or cortex_sentiment. It does not explicitly name a sibling to differentiate against, but the Cortex-family names already do that work.

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 says what the tool does but never says when to choose it over alternatives such as cortex_complete (which could also translate) or when it is inappropriate (e.g., long documents). No prerequisites, no exclusions, no routing guidance at all.

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

snowflake_create_alertSnowflake Create AlertC

Create an alert with schedule, condition SQL, and action SQL. Destructive actions require confirm=True.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNo
confirmNo
databaseNo
scheduleYes
action_sqlYes
alert_nameYes
schema_nameNo
condition_sqlYes
warehouse_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds a genuine behavioral rule beyond the schema: confirm=True is required for destructive actions, which is valuable safety context the annotations do not convey. There is mild tension with destructiveHint=false (the tool's action SQL can destroy data), but calling this a full contradiction would be harsh since the confirm guard exists precisely for that case.

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?

Two tight sentences, front-loaded with the purpose before the safety rule, with no filler. It is efficient, though the brevity is partly under-specification rather than economy.

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?

An output schema exists, so return values need no explanation, but for a 9-parameter write tool with a required warehouse, no defaults documented, and no context fallback described, the definition is thin. Notably missing: Snowflake creates alerts suspended (requiring resume_alert), and behavior when the alert already exists.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, so the description carries the full burden — and it only names four of them (schedule, condition_sql, action_sql, confirm). alert_name, warehouse_name, database, schema_name and comment are left completely unexplained, including whether database/schema fall back to the session context.

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?

States a specific verb and resource ('Create an alert') and names the three defining parameters (schedule, condition SQL, action SQL) that distinguish the operation. However, it does not distinguish itself from siblings like snowflake_create_task or snowflake_create_pipe, which have near-identical shapes, so an agent gets no explicit routing help.

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 only usage guidance is 'Destructive actions require confirm=True', which hints at a prerequisite but never says when to prefer this tool over snowflake_create_task, nor what environmental conditions (warehouse, database/schema context) must hold first. No alternatives, no when-not-to-use.

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

snowflake_create_databaseSnowflake Create DatabaseC

Create a new database in Snowflake.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
commentNo
if_not_existsNo
data_retention_time_in_daysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the write nature is covered. The description adds nothing beyond that—it does not mention required privileges, the fact that the default if_not_exists=true silently no-ops on an existing database, or that creation is effectively permanent.

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?

A single front-loaded sentence with no padding, which is structurally sound. However, 'in Snowflake' is redundant given the tool name, and the sentence is so minimal that brevity comes at the cost of omitted essential detail.

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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. Even so, a mutation tool with four undocumented parameters—including one whose default silently suppresses errors—needs more description than a bare one-liner to be called correctly.

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

Parameters2/5

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

Schema description coverage is 0% for four parameters. The description names the resource, which weakly implies the required 'name' argument, but says nothing about 'comment', 'data_retention_time_in_days', or the significant behavior of 'if_not_exists' (default true). It fails to compensate for the coverage gap.

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?

States a specific verb and resource ('Create a new database'), which tells an agent exactly what the tool does. It does not differentiate itself from siblings like snowflake_clone_database or snowflake_create_schema, but the verb+resource combination is unambiguous on its own.

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 versus alternatives such as snowflake_clone_database or snowflake_create_schema, nor any statement of prerequisites (privileges, active role, warehouse context). The description is purely declarative.

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

snowflake_create_pipeSnowflake Create PipeC

Create a Snowpipe for continuous ingestion.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
pipe_nameYes
auto_ingestNo
schema_nameNo
if_not_existsNo
copy_statementYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true. The description adds only the ingestion-purpose hint and says nothing about how auto_ingest changes behavior, what if_not_exists defaults to, permission requirements, or idempotency—context that would genuinely help for a create operation.

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?

A single front-loaded sentence with no waste—but it is under-specified rather than concise, carrying no routing or behavioral detail. Brevity alone isn't a strength when the content is this thin.

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?

An output schema exists so return values need not be described, but for a mutating 6-parameter create tool with 0% schema coverage the description is materially incomplete: no parameter meaning, no safety/permission notes, and no usage context.

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

Parameters1/5

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

Schema description coverage is 0% across 6 parameters, so the schema documents nothing. The description compensates for none of it: pipe_name, copy_statement, auto_ingest, if_not_exists, database, and schema_name are all unexplained, including which two are required.

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?

States a specific verb and resource ('Create a Snowpipe') plus its domain ('continuous ingestion'), which separates it from sibling verbs like drop_pipe, list_pipes, and get_pipe_status. It's clear but does not explicitly name or contrast with those 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 phrase 'for continuous ingestion' gives a hint of context, but there is no guidance on when to create a pipe versus alternatives, no prerequisites, and no exclusions. The agent must infer the entire usage situation from the name.

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

snowflake_create_roleSnowflake Create RoleC

Create a new role in Snowflake.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNo
role_nameYes
if_not_existsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds no behavioral context beyond that - nothing about required privileges, whether the operation is idempotent given if_not_exists defaults to true, or what happens on conflict or failure. It carries no information the annotations do not already provide.

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?

A single front-loaded sentence with no filler or redundant clauses. It is efficient, though the brevity here reflects under-specification rather than tight editing.

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 mutating creation tool with an output schema (so return values need not be explained), the description still omits the essentials: required privileges, the meaning of if_not_exists, and any placement relative to sibling role/object-creation tools. An agent cannot call this confidently from the description alone.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters (role_name, comment, if_not_exists), and the description supplies no meaning for any of them. In particular, if_not_exists defaulting to true and the optional comment field are completely undocumented, so the description fails to compensate for the coverage gap.

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 specific verb and resource (create a role in Snowflake), so the operation itself is unambiguous. However, it is essentially a restatement of the tool name/title and offers no differentiation from related siblings like snowflake_drop_role, snowflake_describe_role, or snowflake_create_user. It is clear but adds almost nothing beyond what the name already tells the agent.

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 such as the required privilege to create roles, and no note on when if_not_exists behavior is relevant. The agent must infer usage entirely from the name.

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

snowflake_create_schemaSnowflake Create SchemaC

Create a new schema inside a specified database.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
commentNo
databaseNo
if_not_existsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the mutation/safety profile is partly covered. The description adds no behavioral context such as required privileges, what happens if the schema already exists (relevant given if_not_exists defaults to true), or the effect of omitting 'database'.

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?

A single short sentence with the object and scope front-loaded; there is no filler or redundancy. It is efficient but sparse rather than deliberately structured around what the caller needs to know.

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?

An output schema exists, so return values need no explanation, but this is a DDL mutation tool with 4 parameters at 0% schema coverage and no usage or prerequisite context. The default-true if_not_exists (idempotency) and the unnamed database fallback are material omissions.

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

Parameters2/5

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

Schema description coverage is 0% and the description must therefore carry the full burden, but it only obliquely gestures at the 'database' parameter via 'specified database'. The required 'name', the optional 'comment', and the 'if_not_exists' default of true are entirely unexplained, including whether the call is idempotent.

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?

States a specific verb+resource ('Create a new schema') and a scope ('inside a specified database'), which is enough to distinguish it from read-oriented siblings like snowflake_list_schemas or snowflake_describe_schema. It doesn't explicitly differentiate from snowflake_clone_schema or snowflake_create_database, so it stops short of a 5.

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

Usage Guidelines2/5

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

The description gives no when-to-use or when-not-to-use guidance and names no alternatives. Nothing tells the agent whether this is preferred over clone_schema or what prerequisites (existing database, active role) are needed.

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

snowflake_create_stageSnowflake Create StageC

Create an internal named stage in Snowflake.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNo
databaseNo
stage_nameYes
schema_nameNo
if_not_existsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, so the agent knows this is a non-destructive creation operation. The description adds the 'internal' qualifier but omits key behavioral details such as idempotency (if_not_exists default true), required privileges, or what happens on conflicts. This is below the bar for a creation tool with five parameters.

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?

One short sentence, front-loaded, no filler. However, the brevity leaves the definition under-specified for the operation's complexity.

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 an output schema present, return values need not be explained, but the definition still leaves the agent guessing about optional parameters, default behavior (if_not_exists defaults true), and scoping (database/schema). For a creation tool with five parameters and zero schema descriptions, this is inadequate.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate. It only implies a stage name and says 'internal', leaving database, schema_name, comment, and if_not_exists completely unexplained. No parameter meaning is added beyond what the schema names already suggest.

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 and resource ('Create an internal named stage') and the object type is clear against siblings like snowflake_drop_stage or snowflake_list_stages. It does not differentiate itself from other create tools beyond resource name, but the combination 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?

There is no guidance on when to use this tool, prerequisites, or alternatives. The word 'internal' hints at a distinction from external stages, but no such alternative is named or excluded.

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

snowflake_create_streamSnowflake Create StreamC

Create a CDC stream on a table or view.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
on_tableYes
append_onlyNo
schema_nameNo
stream_nameYes
if_not_existsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so safety is partly covered. The description adds no behavioral context: it does not explain CDC staleness, that if_not_exists defaults to true, what append_only changes, or what happens on failure.

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?

A single front-loaded sentence with no wasted words. It is structurally fine but so terse that it omits needed information, which is under-specification rather than true 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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, for a six-parameter creation tool with zero schema coverage, the description omits parameter meaning, defaults, and prerequisites, leaving the agent under-informed.

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

Parameters1/5

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

Six parameters with 0% schema description coverage, and the description mentions none of them. The meaning of append_only, if_not_exists, and the optional database/schema_name qualifiers is undocumented in both schema and description, so the description does not compensate for the coverage gap.

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?

States a specific verb ('Create') plus resource ('CDC stream') and names the supported target objects ('table or view'). It is distinguishable from siblings like snowflake_drop_stream and snowflake_read_stream_changes, though it does not explicitly contrast itself with 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 when-to-use guidance, no prerequisites (e.g., required privileges or that a stream must be refreshed/consumed), and no mention of alternatives such as drop_stream or read_stream_changes. The agent must infer all usage context.

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

snowflake_create_tableSnowflake Create TableC

Create a table in Snowflake with specified column definitions SQL.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
table_nameYes
columns_sqlYes
schema_nameNo
if_not_existsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already disclose that this is a non-read-only, non-destructive, open-world write operation. The description adds no further behavioral context such as required privileges, default if_not_exists behavior, or whether the operation is transactional. It only restates the purpose without enriching the safety or execution profile.

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 definition is a single front-loaded sentence with no filler. It is appropriately concise, though the phrasing 'column definitions SQL' is slightly awkward. The brevity is efficient but leaves the sentence carrying little 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?

With five parameters, 0% schema description coverage, and a large sibling set, the description is incomplete. It does not clarify optional database/schema scoping, the default behavior of if_not_exists, or the expected SQL syntax. The presence of an output schema and annotations helps, but the input contract remains under-explained.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain the five parameters, but it only vaguely references column definitions. It does not explain database, schema_name, table_name, or if_not_exists. The single phrase 'specified column definitions SQL' adds minimal meaning beyond the parameter name columns_sql.

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 and resource: "Create a table in Snowflake." It distinguishes this from sibling operations like create_schema or create_database by naming the object type. It does not, however, differentiate from related table operations such as clone_table or undrop_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 gives no when-to-use guidance or alternatives. It does not mention clone_table, undrop_table, or when to prefer creating over cloning. An agent receives only the implied use from the verb 'Create'.

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

snowflake_create_taskSnowflake Create TaskC

Create a scheduled or serverless task in Snowflake.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
scheduleNo
task_nameYes
warehouseNo
schema_nameNo
if_not_existsNo
sql_statementYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only the 'scheduled or serverless' nuance and says nothing about required privileges, what if_not_exists=true does when the task exists, or side effects of creating a scheduled task.

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?

A single front-loaded sentence with no filler. It is appropriately short, though it borders on under-specification rather than true 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?

An output schema exists, so return values need not be described, and annotations cover the safety profile. But with 7 undocumented parameters at 0% coverage, a mutation tool, and a complex scheduling domain, the description is far too thin to let an agent invoke it correctly.

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

Parameters2/5

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

Schema description coverage is 0% across 7 parameters, so the schema supplies names only. The description mentions scheduling and serverless concepts but never maps them to the schedule, warehouse, database/schema_name, or if_not_exists parameters, leaving the burden unmet.

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 verb+resource ('Create ... task') and the 'scheduled or serverless' qualifier narrows the kind of task. It does not, however, explicitly distinguish this from siblings like snowflake_create_alert or snowflake_execute_task, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no routing to alternatives such as snowflake_execute_task or snowflake_create_alert. The agent is left to infer the usage context entirely.

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

snowflake_create_userSnowflake Create UserC

Create a new Snowflake user with default role and warehouse.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNo
passwordNo
user_nameYes
default_roleNo
if_not_existsNo
default_warehouseNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context beyond this, such as authentication requirements, handling of existing users, password behavior, or whether if_not_exists affects errors.

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?

A single front-loaded sentence with no wasted words. It is appropriately compact, though the trailing clause about default role and warehouse can read as if those are always set rather than optional defaults.

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 mutation tool with 6 parameters at 0% schema description coverage and only 1 required parameter, this one-sentence description is too thin. An output schema exists, so return values need not be explained, but prerequisites and parameter meaning are missing.

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

Parameters2/5

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

Schema description coverage is 0% across 6 parameters, so the description must compensate. It only alludes to default role and warehouse, leaving user_name, password, comment, and if_not_exists undocumented in both schema and description.

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?

States a specific verb and resource ('Create a new Snowflake user') and adds scope ('with default role and warehouse'). Clear enough to distinguish from siblings like snowflake_list_users and snowflake_describe_user, but it does not explicitly name or contrast with alternatives.

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?

Provides no guidance on when to use this tool versus alternatives, no prerequisites, and no conditions such as required privileges or whether the user must not already exist. The agent gets only the bare purpose.

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

snowflake_create_warehouseSnowflake Create WarehouseC

Create a new virtual warehouse in Snowflake.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNo
auto_resumeNo
auto_suspendNo
if_not_existsNo
warehouse_nameYes
warehouse_sizeNoXSMALL

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the write nature is covered. The description adds nothing beyond that: no mention of IF NOT EXISTS behavior, cost implications of auto-suspend/auto-resume, size constraints, or required privileges for a warehouse-creation operation.

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?

One front-loaded sentence with zero waste, but the brevity borders on under-specification rather than disciplined conciseness. It is efficiently structured but does almost no work.

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?

An output schema exists so return values need no explanation, but for a six-parameter, 0%-documented mutation tool the description is far too thin. It omits parameter meaning, privilege requirements, and cost/behavioral context that an agent needs before creating a warehouse.

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

Parameters1/5

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

Schema description coverage is 0% across six parameters, and the description names none of them. warehouse_size, auto_suspend, auto_resume, if_not_exists, and comment are left entirely unexplained, so an agent gets no help on what values are valid or what defaults mean.

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 (Create) and resource (virtual warehouse) in Snowflake, which puts it clearly in the create-family alongside create_database/create_schema. It does not explicitly differentiate itself from those siblings, but the resource noun makes selection unambiguous in practice.

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 create a warehouse versus resizing an existing one (snowflake_resize_warehouse) or how it relates to siblings like snowflake_create_schema. Usage is only implied by the tool name.

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

snowflake_describe_alertSnowflake Describe AlertB
Read-only

Describe alert condition SQL, action SQL, schedule, and warehouse.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
alert_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety and reach of the operation are covered. The description adds that the operation surfaces condition SQL, action SQL, schedule and warehouse — useful inspection context — but says nothing about permission requirements or error behavior when the alert does not exist.

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?

A single economical sentence with the verb and resource front-loaded and no filler. It is appropriately sized for the task, though the enumerated return fields read more like an output summary than guidance on invoking 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?

An output schema exists, so the description need not explain return values, and annotations carry the safety profile. The remaining gap is the optional database/schema_name qualifiers, whose role in resolving the alert_name is left unexplained — a moderate shortfall for a 3-param lookup tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for three undocumented parameters (database, alert_name, schema_name) and does not. The word 'warehouse' in the description refers to a returned attribute, not the optional database/schema_name qualifiers, so it adds no parameter meaning — particularly unclear whether database/schema_name are needed to disambiguate the alert 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?

States a specific verb (describe) and resource (alert) and enumerates the attributes returned — condition SQL, action SQL, schedule, warehouse. This lets an agent distinguish it from siblings like snowflake_list_alerts (enumeration) and snowflake_create_alert/drop_alert (mutation). It does not explicitly name those siblings, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives. An agent can infer it inspects an existing alert, but nothing states when this is preferable to snowflake_list_alerts or how it relates to the other alert tools.

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

snowflake_describe_compute_poolSnowflake Describe Compute PoolB
Read-only

Describe compute pool instance family, min/max nodes, active nodes, and state.

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context beyond that — no statement about permissions required, whether the pool must exist, or failure behavior — and its field list is return-value information already carried by the output 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?

A single front-loaded sentence that names the action and the returned attributes with no filler. Nothing in it is wasted.

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?

An output schema exists, so return values need not be explained (and the description's field list is partly redundant with it), and annotations cover the read-only nature. The remaining gap is routing: nothing tells the agent to resolve pool_name via snowflake_list_compute_pools first, so the definition is adequate but not complete.

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 0% for the single required parameter pool_name. The description does not explain the identifier's format, qualification, or case sensitivity, so it only marginally compensates; the parameter name itself is largely self-explanatory, keeping this at the baseline.

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?

States a clear verb (describe) plus resource (compute pool) and enumerates the attributes returned (instance family, min/max nodes, active nodes, state). This separates it from sibling mutators like snowflake_resume_compute_pool and snowflake_suspend_compute_pool, though it does not explicitly contrast itself with snowflake_list_compute_pools.

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 when-to-use guidance is given. There is no indication of when to prefer this over snowflake_list_compute_pools (which would find the pool name first) or when a describe is warranted versus a direct resume/suspend call. Usage is only inferable from the verb 'describe'.

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

snowflake_describe_databaseSnowflake Describe DatabaseB
Read-only

Describe properties, owner, retention time, and comment of a database.

ParametersJSON Schema
NameRequiredDescriptionDefault
database_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds which attributes are returned, but says nothing about privilege requirements (Snowflake metadata visibility depends on role grants), missing-database errors, or whether it requires the database to be the active context.

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?

One front-loaded sentence with zero filler, and the key payload (what fields come back) leads. It is arguably under-specified for a metadata tool, but nothing in the sentence is wasted.

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?

An output schema exists, so return values need not be explained, and annotations carry the safety profile. For a low-complexity single-parameter describe call, the remaining omission (privilege/visibility caveats) is minor.

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

Parameters2/5

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

The single parameter database_name has 0% schema description coverage, and the description never mentions the argument at all — no format, qualification, or case-sensitivity guidance to compensate. With one undocumented parameter, the schema does none of the work and the description does none either.

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?

States a specific verb ('Describe') plus the target resource ('a database') and enumerates what is surfaced: properties, owner, retention time, comment. That is enough to distinguish it from snowflake_list_databases or snowflake_get_database_ddl, though it never names those siblings explicitly.

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 when-to-use, when-not-to-use, or alternative-tool guidance. An agent must infer from the name alone that this is the metadata-inspection call rather than list_databases, get_database_ddl, or describe_schema.

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

snowflake_describe_dynamic_tableSnowflake Describe Dynamic TableB
Read-only

Describe dynamic table definition, target lag, warehouse, and query text.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
table_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the list of attributes returned (lag, warehouse, query text), which is mild context but overlaps with the output schema. No mention of permissions, cross-database resolution, 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?

A single front-loaded sentence with no filler; the key resource and returned attributes come first. It is efficient, though slightly terse given the unaddressed parameters.

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?

An output schema exists, so return-value explanation is not strictly required, and annotations cover the read-only nature. However, with zero parameter documentation and no usage context for a three-parameter tool, the description is only minimally complete.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters (database, table_name, schema_name). The description mentions no parameter names, no defaulting behavior, and no guidance on whether database/schema must be qualified when table_name is ambiguous. The description does not compensate for the coverage gap.

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?

States a specific verb (Describe) and a specific resource (dynamic table), plus the attributes it surfaces: definition, target lag, warehouse, query text. This implicitly separates it from snowflake_describe_table, but it never names or contrasts with that sibling explicitly.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as snowflake_describe_table, snowflake_get_table_ddl, or snowflake_list_dynamic_tables. The agent must infer that this is the right tool for dynamic tables only.

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

snowflake_describe_functionSnowflake Describe FunctionB
Read-only

Describe UDF function signature, return type, language, and body.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
schema_nameNo
function_signatureYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only a list of returned attributes, which the output schema already conveys; it does not mention prerequisites or permission needs. With annotations carrying the load, a 3 is appropriate.

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?

A single tight sentence with zero filler and the resource front-loaded. It is efficient, though its brevity is part of why parameter and usage gaps exist.

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?

Output schema exists, so return values need not be re-explained, and annotations cover safety. However, for a 3-parameter tool with 0% schema coverage and no usage routing, the definition is only minimally adequate for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% across 3 parameters, so the description must compensate and does not. It says nothing about function_signature format (e.g., name(arg_types)) nor about how database/schema_name scope the lookup, leaving required overloading semantics undocumented.

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?

States a specific verb+resource (describe UDF function) and enumerates what is returned: signature, return type, language, body. The 'UDF/function' framing implicitly separates it from snowflake_describe_procedure, though it never names that sibling or snowflake_list_functions explicitly.

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 when-to-use guidance, no conditions, and no mention of the obvious alternatives (snowflake_list_functions to enumerate, snowflake_describe_procedure for stored procedures). The agent must infer usage entirely from the name.

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

snowflake_describe_iceberg_tableSnowflake Describe Iceberg TableC
Read-only

Describe schema, catalog integration, and external volume of an Iceberg table.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
table_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already mark it read-only, non-destructive, and open-world. The description adds that it inspects Iceberg-specific metadata (catalog integration, external volume), which is modest scope context, but no permissions, limits, or edge behavior are disclosed.

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?

One front-loaded sentence with no filler; it immediately states the action and scope.

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?

Output schema and annotations cover return shape and safety, so the description need not repeat those. However, with zero schema parameter descriptions and no routing guidance versus sibling describe tools, the definition is minimally complete rather than fully self-sufficient.

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

Parameters1/5

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

Schema description coverage is 0% for three parameters, and the description does not name or explain table_name, database, or schema_name. It only implies a table is required, leaving all parameter semantics to the bare schema.

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

Purpose4/5

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

Names the verb (describe) and the exact resource (Iceberg table), and scopes the inspected metadata to schema, catalog integration, and external volume. It does not explicitly contrast with snowflake_describe_table or snowflake_list_iceberg_tables, so it is clear but 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?

No when-to-use or when-not-to-use guidance. It does not mention alternatives such as snowflake_describe_table for standard tables or snowflake_get_table_ddl for DDL, and no prerequisites are stated.

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

snowflake_describe_masking_policySnowflake Describe Masking PolicyB
Read-only

Describe signature, return type, and body of a masking policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
policy_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the agent knows this is a safe read against a live account. The description adds only the return contents, which the output schema already covers, and says nothing about permissions needed or how unqualified names resolve.

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 front-loaded sentence that states the action and its outputs with zero filler. Nothing to trim and nothing buried.

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 read-only describe tool with an output schema and a simple qualified-name parameter set, the description is just adequate. It omits how the optional database/schema qualifiers default when policy_name is unqualified, which is a real ambiguity given the sibling context tools.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden for the three parameters, yet it mentions none of them. It does not explain that database and schema_name are optional qualifiers defaulting to the current context, which is the one piece of semantics an agent actually needs.

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 names a specific verb (describe) and resource (masking policy) and even enumerates what is returned: signature, return type, and body. That distinguishes it from snowflake_list_masking_policies, but it never explicitly routes the agent away from that sibling, so it stops short of the top band.

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 statement of when to use this tool versus snowflake_list_masking_policies or snowflake_describe_row_access_policy, and no prerequisites (e.g., required privileges) are mentioned. Usage is only implied by the word 'describe.'

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

snowflake_describe_network_policySnowflake Describe Network PolicyB
Read-only

Describe allowed IP lists, blocked IP lists, and comments for a network policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
policy_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful content context by naming what is returned, but says nothing about permissions needed or behavior for a nonexistent policy.

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?

A single tight sentence that front-loads the tool's purpose with zero filler. It is efficient, though it spends most of its length on fields that an output schema likely already covers.

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?

An output schema exists, so the return shape does not need to be spelled out here, and this is a simple read-only tool with one parameter. The only real gap is the unexplained argument format, which is minor for such a straightforward operation.

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

Parameters2/5

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

Schema description coverage is 0% – policy_name carries only a type with no documentation. The description does not compensate by explaining the expected identifier form (e.g., whether it is a bare name or a fully qualified/account-level reference), leaving the single required parameter underspecified.

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?

States a specific verb (describe) plus resource (network policy) and even enumerates the returned fields (allowed IP lists, blocked IP lists, comments). It implicitly separates itself from snowflake_list_network_policies, but never names the sibling to sharpen the boundary.

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?

Usage is only implied by the verb 'describe' – an agent can infer this is for inspecting a single policy's configuration. There is no explicit when-to-use, no mention of the list sibling, and no prerequisites such as required role or policy-name format.

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

snowflake_describe_network_ruleSnowflake Describe Network RuleB
Read-only

Describe mode (INGRESS, INTERNAL_STAGE, EGRESS), type (IPV4, AWSVPCEID, HOST_PORT), and value list of a network rule.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
rule_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered externally. The description adds only that it returns mode/type/value-list, which is largely restated by the output schema; it says nothing about qualification requirements or empty-result 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?

A single economical sentence with no filler. It is front-loaded with the verb, though the parenthetical enum lists make it read more like a return-value spec than an instruction.

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?

An output schema exists, so return values need not be re-explained, and the description roughly matches that scope. However, for a tool with two undocumented optional qualifiers it should at least indicate how the rule is resolved, which it does not.

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

Parameters2/5

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

Schema description coverage is 0% for three parameters (rule_name, database, schema_name), so the description carries the full burden of explaining them. Instead it never mentions the parameters or how the optional database/schema_name qualify the rule name, leaving the agent to guess at scoping.

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?

States a specific verb (Describe) and resource (network rule), and enumerates the attributes returned (mode, type, value list), which distinguishes it from the sibling snowflake_list_network_rules. It is clear what the tool acts on, though it is framed around the returned fields rather than the action itself.

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 when-to-use context is given, and no alternative is named. The agent must infer that this is the per-object counterpart to snowflake_list_network_rules; nothing in the text routes it there or states prerequisites.

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

snowflake_describe_password_policySnowflake Describe Password PolicyC
Read-only

Describe password policy constraints (min length, lockout time, history, age).

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
policy_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds some context by listing the constraint categories it returns, but does not disclose authentication needs, identifier qualification behavior, or other operational traits. This is a modest but not rich addition beyond the structured metadata.

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 immediately states the action and the relevant constraint categories, and every word earns its place.

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 an output schema and read-only annotations exist, the description is incomplete for an object-description tool with three parameters and 0% schema description coverage. It does not explain how to identify the target policy or how database and schema_name affect resolution, leaving important invocation details missing.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the three parameters. It never mentions policy_name, database, or schema_name, nor does it clarify that policy_name is required or how database/schema qualify the lookup. With three undocumented parameters, the description fails to compensate for the schema gap.

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 and resource: describe a Snowflake password policy. It also enumerates the kinds of constraints returned (min length, lockout time, history, age), which helps distinguish it from list_password_policies. It stops short of explicitly naming that sibling, so it is clear but not maximally differentiated.

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 list_password_policies or other policy-description tools. The implied usage is merely to inspect an existing policy, with no prerequisites, exclusions, or alternative paths mentioned.

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

snowflake_describe_pipeSnowflake Describe PipeC
Read-only

Describe pipe definition and COPY statement.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
pipe_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only that the result includes the pipe definition and COPY statement, with no mention of permissions or behavior when the pipe doesn't exist.

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?

A single front-loaded sentence with no filler. It is efficient, though the brevity reflects under-specification rather than tight writing.

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?

An output schema exists, so return values needn't be detailed, but with 0% parameter coverage and no usage context or scoping rules, the description leaves too much for the agent to infer about a three-parameter tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden for three parameters. It says nothing about pipe_name being the required target or that database/schema_name are optional qualifiers, leaving all three parameters undocumented.

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?

States a specific verb (describe) and resource (pipe), and even names what the output covers (pipe definition and COPY statement). This differentiates it from siblings like snowflake_list_pipes, snowflake_create_pipe, and snowflake_get_pipe_status, though it doesn't explicitly call them out.

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 versus snowflake_list_pipes (enumerate pipes) or snowflake_get_pipe_status (runtime state). The agent must infer the difference 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.

snowflake_describe_procedureSnowflake Describe ProcedureB
Read-only

Describe procedure signature, return type, language, and definition body.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
schema_nameNo
procedure_signatureYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds useful content about what metadata is retrieved (signature, return type, language, definition body), but does not disclose privilege requirements or other operational 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 definition is a single front-loaded sentence with zero wasted words. It efficiently enumerates the exact metadata fields returned without unnecessary elaboration.

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?

An output schema exists, so return values need not be explained in detail, and annotations cover safety. However, the description omits critical parameter semantics and any usage guidance for a tool whose required procedure_signature input is otherwise undocumented.

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

Parameters1/5

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

Schema description coverage is 0% for three parameters, and the description provides no meaningful parameter guidance. It does not explain the required procedure_signature format or the optional database and schema_name qualifiers, leaving the agent without necessary invocation details.

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?

States a specific verb ('Describe') and a precise resource ('procedure signature, return type, language, and definition body'). An agent can distinguish it from sibling tools like snowflake_list_procedures, which lists procedures rather than retrieving detailed metadata.

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 explicit when-to-use guidance, prerequisites, or alternatives. It leaves the agent to infer that this tool is used when detailed procedure metadata is needed, but does not mention sibling list_procedures or any conditions for choosing between them.

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

snowflake_describe_roleSnowflake Describe RoleB
Read-only

Describe role properties and assigned grants.

ParametersJSON Schema
NameRequiredDescriptionDefault
role_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without description help. The description adds only that grants are included in the response, which is closer to output content than behavioral disclosure; it does not mention permissions needed, latency, or pagination.

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?

A single clean sentence with no filler and the key noun (role) front-loaded. It is arguably terse for a tool whose schema is undocumented, but there is no wasted language to cut.

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?

Output schema exists, so return values need not be explained, and annotations cover safety for this read-only describe tool. The remaining gap is the absence of any routing signal against the many sibling describe/list role and grant tools.

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 0% for the single role_name parameter, so the schema adds nothing. The description implies a role is the target but gives no naming convention, qualification (e.g. DB.ROLE vs ROLE), or case-sensitivity guidance; the parameter name is self-evident enough to keep this at a baseline 3.

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?

States a specific verb+resource ("Describe role") and names what the result contains (properties and assigned grants), which is more informative than a tautology. It does not, however, distinguish itself from close siblings such as snowflake_list_roles or snowflake_list_grants_to_role, which cover overlapping ground.

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 call this versus snowflake_list_roles, snowflake_list_grants_to_role, or snowflake_describe_user. The agent must infer usage purely from the name, and no prerequisites or exclusions are stated.

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

snowflake_describe_row_access_policySnowflake Describe Row Access PolicyB
Read-only

Describe signature, filter expression, and comment of a row access policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
policy_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds useful context by naming the returned components (signature, filter expression, comment), but says nothing about permissions needed or how database/schema resolution behaves, so it is only modestly additive.

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 front-loaded sentence that states the action and the returned fields with zero filler. Nothing is padded or redundant.

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?

An output schema exists, so the description needn't explain return formatting, and it does list the returned fields. However, with 0% parameter documentation and no note on identifier resolution or permissions, an agent is left guessing about a non-trivial part of the call.

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

Parameters2/5

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

Schema description coverage is 0% and all three parameters (database, policy_name, schema_name) are undocumented. The description mentions 'a row access policy' but never explains the required policy_name or how the nullable database/schema qualifiers resolve (current database/schema vs fully-qualified), so it fails to compensate for the coverage gap.

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 (Describe) and resource (row access policy) and even enumerates what is returned: signature, filter expression, and comment. That distinguishes it from snowflake_list_row_access_policies, though it never names the sibling explicitly, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as snowflake_list_row_access_policies or snowflake_describe_masking_policy. Usage must be inferred entirely 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.

snowflake_describe_schemaSnowflake Describe SchemaB
Read-only

Describe schema properties, owner, and retention settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
schema_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the returned field categories, but omits any auth/permission requirements, the effect of the optional database parameter, or behavior when the schema does not exist.

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?

A single front-loaded sentence with no wasted words. It is efficient, though its terseness leaves semantic gaps rather than being over-long.

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?

An output schema exists so return values need not be described, and the read-only annotations cover safety. The remaining gap is undocumented parameter semantics at 0% coverage, leaving the definition only minimally adequate.

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

Parameters2/5

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

Schema description coverage is 0% for two parameters, and the description never explains the meaning of schema_name or the optional database fallback. The mentioned fields (owner, retention settings) are return values, not parameters, so the description does not compensate for the coverage gap.

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?

States a clear verb+resource (describe schema) and enumerates the returned aspects (properties, owner, retention settings), which distinguishes it from snowflake_list_schemas. However, it does not explicitly contrast against siblings like snowflake_describe_database, so sibling differentiation is only implied.

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 when-to-use guidance, no mention of prerequisites (e.g., needing the database context), and no reference to alternatives such as snowflake_list_schemas. The agent must infer the usage context entirely.

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

snowflake_describe_secretSnowflake Describe SecretA
Read-only

Describe secret metadata, type (GENERIC_STRING, OAUTH2), and owner without exposing secret value.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
schema_nameNo
secret_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful non-annotation context: the operation deliberately does not expose the secret value, which matters for a security-sensitive object. It stops short of noting permission requirements or error behavior when the secret does not exist.

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 front-loaded sentence with no filler; every clause (metadata, type values, owner, no value exposure) contributes distinct information.

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?

An output schema exists, so return-value detail is not required, and for a simple describe tool the description covers purpose, scope, and the key security caveat. The only real gap is parameter guidance, which is partly mitigated by self-evident parameter names.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters (database, schema_name, secret_name), so the description is expected to compensate and does not: it never mentions any parameter, its optional/default-null status, or the fully-qualified-name conventions. The names are largely self-explanatory, which keeps this above a 1, but no added meaning is provided.

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?

States a specific verb (Describe) and resource (secret) and enumerates the returned metadata: type with its allowed values (GENERIC_STRING, OAUTH2) and owner. The added 'without exposing secret value' clause cleanly separates it from snowflake_list_secrets and from any tool that would retrieve the secret's contents.

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?

Usage is implied rather than stated: an agent can infer it inspects a single secret and that snowflake_list_secrets finds the name first, but there is no explicit when-to-use versus alternatives, no prerequisite about needing database/schema context, and no note on when describing is preferable to listing.

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

snowflake_describe_stageSnowflake Describe StageC
Read-only

Describe stage location URL, storage integration, and file format properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
stage_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, so safety is covered by structured data. The description adds no behavioral context beyond annotations: no note on permissions, no result format, no failure modes when the stage is missing. With annotations carrying the safety burden the bar is lower, but this adds almost nothing extra.

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?

One efficient sentence with no filler and the primary resource front-loaded. Its brevity is appropriate, though it borders on under-specification for a describing 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?

An output schema exists so return values needn't be explained, but the description is otherwise thin: no usage guidance, no parameter semantics, no prerequisites. For a describe tool with 0% param coverage, this leaves meaningful gaps.

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

Parameters2/5

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

Schema description coverage is 0% for three parameters. The description mentions the stage object but does not explain database/schema_name qualification semantics, nor whether omitting them falls back to the current context. It fails to compensate for the coverage gap.

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?

States a clear verb+resource ('Describe stage') and enumerates what is returned (URL, storage integration, file format properties). This distinguishes it from write siblings like snowflake_create_stage or snowflake_drop_stage, though it doesn't explicitly contrast with snowflake_list_stages or snowflake_list_stage_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 when-to-use context, no prerequisites, and no routing to alternatives such as snowflake_list_stages (enumeration) or snowflake_list_stage_files (contents). The agent is left to infer usage 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.

snowflake_describe_streamSnowflake Describe StreamB
Read-only

Describe stream metadata, source table, and stale status.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
schema_nameNo
stream_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that output includes stale status and source table, which is useful content context, but says nothing about how staleness is determined or what auth is needed.

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 front-loaded sentence with zero filler; every clause adds a distinct piece of information about what is returned.

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?

An output schema exists, so return values need not be explained. However, with 0% parameter coverage and no usage guidance, the definition leaves the caller without enough context to know how to qualify the stream name in multi-database environments.

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

Parameters2/5

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

Schema description coverage is 0% and none of the three parameters (database, schema_name, stream_name) are documented. The description does not explain the optional database/schema_name nullability or default behavior, so it fails to compensate for the schema gap.

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 (describe) and resource (stream) and even lists what is returned: metadata, source table, and stale status. This distinguishes it from snowflake_list_streams and snowflake_read_stream_changes, though it never names those siblings explicitly.

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 siblings like list_streams (bulk listing) or read_stream_changes (consume changes). Usage is only implied by the word 'describe'; no prerequisites or alternatives are stated.

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

snowflake_describe_streamlitSnowflake Describe StreamlitB
Read-only

Describe Streamlit application root location, stage, and query warehouse.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
schema_nameNo
streamlit_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds value by naming the three attributes it surfaces (root location, stage, warehouse), but says nothing about permissions or behavior when the named Streamlit does not exist.

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?

A single front-loaded sentence with no filler. It is efficient, though the terse fragment form leaves room to state scope or qualification without bloat.

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?

An output schema exists, so return-value explanation is not required, and annotations carry the safety profile. However, with 0% parameter coverage the definition leaves the qualification semantics (database/schema) unexplained, which is a real gap for an object-resolution tool.

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

Parameters2/5

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

Schema description coverage is 0% across 3 parameters, so the description must compensate and does not. It never mentions streamlit_name, nor the optional database/schema_name qualifiers that determine where the Streamlit app is resolved.

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?

States a specific verb+resource ('Describe Streamlit application') and enumerates what is returned: root location, stage, and query warehouse. An agent can distinguish it from snowflake_list_streamlits, though the description never names that sibling.

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 when-to-use guidance, no exclusions, and no mention of the alternative snowflake_list_streamlits (or the fact that this describes a single app rather than enumerating them). The agent must infer the usage context entirely.

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

snowflake_describe_tableSnowflake Describe TableB
Read-only

Describe column definitions, data types, nullability, and primary keys for a table or view.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
table_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds which attributes are returned, which is useful, but says nothing about error behavior when the object does not exist or how unqualified names are resolved, and an output schema already exists for return shape.

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 front-loaded sentence with no filler; every element (columns, types, nullability, primary keys) is informative and nothing is repeated from the schema or annotations.

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 existence of an output schema means return values need no further explanation, and the scope ('table or view') is stated. However, for a three-parameter tool with zero schema description coverage, the omission of name-resolution semantics leaves a real gap.

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

Parameters2/5

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

Schema description coverage is 0% for all three parameters (database, table_name, schema_name), so the description must compensate and does not. It never explains how the optional database/schema_name interact with table_name or whether the current session context is used as a default.

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?

States a specific verb (describe) and resource (table or view) plus the exact metadata returned: column definitions, data types, nullability, primary keys. That distinguishes it implicitly from list_tables and get_table_ddl, but no sibling is named and the view/table overlap with siblings like describe_iceberg_table is left for the agent to infer.

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 when-to-use guidance and no routing to alternatives such as get_table_ddl (full DDL), sample_table, or profile_table, which an agent could easily confuse with this tool. Usage is only implied by the word 'describe'.

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

snowflake_describe_tagSnowflake Describe TagC
Read-only

Describe tag properties, allowed values, and comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
tag_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. However, the description adds no behavioral context beyond that – no mention of permissions, response format, or openWorldHint implications. With no output schema details in the description (though output schema exists), this is thin.

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 short sentence, front-loaded and waste-free. It communicates the core action without extraneous detail.

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 a 3-parameter tool with 0% schema coverage and no output schema details in the description, it is missing necessary context for correct invocation – especially the role of database and schema_name in resolving the tag. The description is too sparse to be complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for three parameters. It mentions 'tag properties' but does not explain database, schema_name, or tag_name format or defaults. The description offers almost no semantic clarification for any parameter.

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?

States a specific verb (Describe) and resource (tag) plus the properties returned (allowed values, comment). Clear purpose, though it does not explicitly differentiate from siblings like snowflake_list_tags or snowflake_describe_masking_policy.

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 on when to use this tool versus alternatives such as snowflake_list_tags or snowflake_get_object_tag_references. The description is purely a functional statement.

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

snowflake_describe_taskSnowflake Describe TaskB
Read-only

Describe task definition, schedule, warehouse, and definition SQL.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
task_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds which attributes are retrieved (schedule, warehouse, SQL), which is useful content, but says nothing about behavior on a missing task, permissions needed, or output shape beyond the field list.

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?

A single compact sentence with the key retrieval targets front-loaded. No filler, though the term 'definition' and 'definition SQL' are somewhat redundant.

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?

An output schema exists, so return values need not be explained, and the read-only annotations cover the safety side. However, the 0% parameter coverage and total absence of usage context leave gaps an agent would need to fill from schema guesswork.

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

Parameters2/5

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

Schema description coverage is 0% across 3 parameters, so the description carries the burden. It lists return fields rather than parameters and never explains that database/schema_name are optional qualifiers for resolving task_name, leaving the parameter semantics undocumented.

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 pairs a specific verb ('Describe') with a specific resource ('task') and enumerates the salient fields returned (definition, schedule, warehouse, definition SQL). This distinguishes it from siblings like snowflake_list_tasks and snowflake_create_task, though it does not explicitly name an alternative.

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 when-to-use guidance, no mention of prerequisites, and no routing to or from sibling tools. The agent must infer that this is the metadata-inspection counterpart to snowflake_list_tasks, which is not stated.

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

snowflake_describe_userSnowflake Describe UserB
Read-only

Describe user properties, email, disabled status, and default warehouse/role.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered and the description doesn't need to restate it. The description adds no behavioral context such as required privileges to inspect another user or what happens if the user does not exist, so it is adequate but thin for a metadata-read 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?

A single front-loaded sentence with no filler; the resource and returned fields come first. It is efficiently sized, though it is arguably too terse given the undocumented parameter.

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?

An output schema exists, so the description need not explain return values. However, with the only parameter undocumented in the schema and no usage guidance against a large set of describe/list siblings, the definition is minimally complete rather than fully self-sufficient.

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

Parameters2/5

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

Schema description coverage is 0% and the sole required parameter user_name has no description anywhere. The description does not clarify whether user_name is a login name, an identifier requiring quoting, or case-sensitive, so it fails to compensate for the schema gap.

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 gives a specific verb (Describe) and resource (user) and enumerates the returned attributes (email, disabled status, default warehouse/role), so the agent knows exactly what it retrieves. It does not explicitly contrast itself with the sibling snowflake_list_users, so it stops short of full sibling differentiation.

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

Usage Guidelines2/5

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

The description states no condition for when to use this over snowflake_list_users (bulk listing) or snowflake_list_grants_to_user. There are no prerequisites, exclusions, or alternative-routing guidance of any kind.

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

snowflake_describe_warehouseSnowflake Describe WarehouseA
Read-only

Describe details and running state of a specific virtual warehouse.

ParametersJSON Schema
NameRequiredDescriptionDefault
warehouse_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only that the result includes running state; with annotations carrying the load, that minimal extra context warrants a 3 rather than less.

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?

A single front-loaded sentence with no filler, which is appropriately terse for a one-parameter read tool. It is arguably too terse to carry any guidance, but there is no wasted language.

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?

An output schema exists, so return values need not be enumerated, and annotations cover the safety profile. For a simple one-parameter describe tool the description is nearly sufficient, with only the parameter format and not-found behavior left unstated.

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?

One required parameter with 0% schema description coverage, so the description must compensate and only partially does: 'a specific virtual warehouse' implies warehouse_name identifies the target, but nothing is said about accepted format (name vs. identifier vs. quoted name) or behavior when the warehouse does not exist.

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?

States a specific verb (describe) and resource (a specific virtual warehouse) plus the scope of the output (details and running state). It clearly distinguishes inspection from the mutating siblings (create/drop/resume/suspend/resize), though it never names an alternative explicitly.

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?

Usage is only implied: the phrasing 'a specific virtual warehouse' suggests inspecting an existing warehouse by name rather than listing them, but there is no explicit when-to-use, no exclusion pointing to snowflake_list_warehouses or snowflake_get_warehouse_load_history, and no stated prerequisites.

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

snowflake_discover_schema_lineageSnowflake Discover Schema LineageC
Read-only

Composite recipe: Discover all tables and views in a schema along with their column definitions.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so safety is covered. Beyond that the description says only 'Composite recipe,' without disclosing the cost/round-trip implications of a fan-out call, any row or result limits, or pagination behavior – meaningful context for a tool that internally enumerates many objects.

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?

One front-loaded sentence with no padding, and the key scope ('all tables and views in a schema along with their column definitions') comes first. The 'Composite recipe:' prefix is jargon but does signal aggregation, so it earns marginal keep.

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?

An output schema exists, so return values need not be described. However, with two required-nothing parameters at 0% schema coverage, no usage routing against a dozen closely related siblings, and a name/description mismatch on 'lineage,' the definition leaves too much for the agent to resolve on its own.

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

Parameters2/5

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

Schema description coverage is 0% for both parameters, so the description must compensate and does not. It says 'in a schema' (vaguely implying schema_name) but never mentions the database parameter or what happens when either is omitted (both default to null, suggesting current-context fallback, which is left unexplained).

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 names a concrete compound action – enumerating tables/views in a schema plus their column definitions – but the tool name promises 'schema lineage,' which this description never delivers and which is actually served by siblings snowflake_get_object_lineage and snowflake_get_column_lineage. It also does not distinguish itself from snowflake_list_tables, snowflake_list_views, or snowflake_describe_schema, which appear to cover the same ground individually.

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 when-to-use guidance: no indication that this composite should replace several individual list/describe calls, no prerequisites (e.g., which database/schema must be active), and no exclusions. 'Composite recipe' hints at aggregation but leaves the agent to infer when to pick it over the sibling list_* and describe_* tools.

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

snowflake_drop_alertSnowflake Drop AlertB
Destructive

Drop an alert in Snowflake. Requires confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
databaseNo
alert_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds the useful fact that confirmation is required, but omits whether the drop is irreversible (no undrop_alert sibling exists), what permissions are needed, or how database/schema context is resolved.

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?

Two short sentences with the action front-loaded and the prerequisite second – no wasted words. It is efficient, though extremely terse given the tool's four parameters.

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?

An output schema exists so return values need not be described, and annotations cover the destructive profile. However, with 0% parameter coverage and no note on irreversibility or qualified-name requirements, the description is only minimally complete for a destructive multi-parameter tool.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters, so the description carries the full burden and only touches 'confirmation' via 'Requires confirmation.' The database, schema_name, and alert_name parameters are left entirely unexplained, giving an agent no guidance on qualified naming or scope.

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 and resource ('Drop an alert in Snowflake'), making it clearly distinguishable from sibling alert operations like snowflake_list_alerts, snowflake_describe_alert, snowflake_suspend_alert, or snowflake_create_alert. It does not, however, explicitly name which sibling to prefer for non-destructive alternatives, so it stops short of 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?

'Requires confirmation' signals a prerequisite, but the description never says when to drop vs. suspend/resume an alert, nor when dropping is inappropriate. No alternatives or exclusions are offered, leaving usage context to inference.

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

snowflake_drop_databaseSnowflake Drop DatabaseA
Destructive

Drop a database in Snowflake. Requires confirmation flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, so the agent knows this is a destructive operation. The description adds that a confirmation flag is required, which is useful beyond the annotations. However, it does not describe what gets destroyed (schemas, tables, stages, data), whether undrop is possible, or permission requirements. With annotations covering the safety profile, a 3 is appropriate.

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?

Two short sentences with zero waste, front-loading the action and the critical safety requirement. Nothing extraneous.

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 destructive tool, the description should explain the consequences of dropping a database (irreversibility, cascade effects) even with an output schema present. It covers the action and confirmation but leaves significant behavioral and prerequisite gaps – not fully complete for a high-risk operation.

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

Parameters2/5

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

Schema description coverage is 0%, so neither parameter is documented in the schema. The description mentions the confirmation flag and the resource, but does not explain the 'name' parameter format (e.g., database identifier) or the exact semantics of 'confirm'. For a 2-parameter tool with no schema descriptions, the description only partially compensates.

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?

States a specific verb (drop) and resource (database), and among 100+ siblings the sibling snowflake_undrop_database and snowflake_drop_schema make it clear exactly what is targeted. An agent can confidently distinguish this from undrop or drop-schema without opening a schema.

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 noting it requires a confirmation flag, giving the agent a clue about the safety gate. However, it does not say when to use this destructive operation versus snowflake_undrop_database or describe prerequisites like ownership privileges. Implied usage only.

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

snowflake_drop_pipeSnowflake Drop PipeB
Destructive

Drop a Snowpipe. Requires confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
databaseNo
pipe_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a destructive write. The description adds one useful behavioral fact beyond the annotations — that a confirmation step is required — but omits irreversibility, the effect on the pipe's ingested data, and any permission requirements.

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?

Two short sentences, front-loaded with the action and followed by the single gating constraint. No filler, no repetition of the tool title.

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?

An output schema exists so return values need no explanation, but for a destructive drop with 0% parameter documentation the description is thin: it never names the confirm parameter, warns of permanence, or explains how database/schema_name qualify the target pipe.

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

Parameters2/5

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

Schema description coverage is 0% for 4 parameters, so the description must carry the load. It only obliquely references the confirm flag via 'Requires confirmation' and says nothing about pipe_name, database, or schema_name, leaving namespace qualification and the default-false confirmation behavior undocumented.

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?

States a specific verb and resource ('Drop a Snowpipe'), which is unambiguous and clearly distinct from siblings like snowflake_create_pipe, snowflake_describe_pipe, and snowflake_get_pipe_status. It stops short of explicitly telling the agent when this is preferable to those siblings, but the purpose itself is crisp.

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 only guidance is 'Requires confirmation', which gestures at the confirm parameter but never says when to call this tool, what prerequisites exist (e.g., pipe must be suspended), or that there is no undrop_pipe sibling to reverse it. No alternatives or exclusion conditions are given.

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

snowflake_drop_roleSnowflake Drop RoleB
Destructive

Drop a role in Snowflake. Requires confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
role_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is covered. The description adds the useful fact that a confirmation step is required, but omits key context such as irreversibility and what happens to dependent grants or role ownership.

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?

Two short sentences, front-loaded with the action and immediately followed by the confirmation requirement. Efficient, though the second sentence is terse rather than explanatory.

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?

An output schema exists, so return values need not be described. But for a destructive, likely irreversible operation (no snowflake_undrop_role sibling exists), the description should warn about consequences and dependent objects; it only notes the confirmation requirement.

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 0%, so the description carries the burden. 'Requires confirmation' maps to the confirm parameter, giving that flag meaning, but the role_name parameter's semantics (and the confirm default of false) are not elaborated beyond what the name implies.

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?

States a specific verb+resource ('Drop a role in Snowflake'), which is unambiguous and clearly distinct from siblings like snowflake_create_role and snowflake_describe_role. However, it does not explicitly differentiate itself from those siblings or name any alternative in text.

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?

'Requires confirmation' hints that a confirm flag must be set, but there is no guidance on when to use this versus related tools (e.g., no undrop path for roles), nor any prerequisites or exclusions. Usage must be inferred.

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

snowflake_drop_schemaSnowflake Drop SchemaC
Destructive

Drop a schema in Snowflake. Requires confirmation flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
confirmNo
databaseNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is covered by structured data. The description adds one useful behavioral detail beyond annotations — that a confirmation flag is required — but omits what actually gets destroyed (contained tables/views), whether the drop is cascading or irreversible, and recovery options.

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?

Two short sentences, front-loading the core action and the confirmation requirement with zero padding. It is efficient, though the extreme brevity comes at the cost of substance rather than trimming waste.

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, irreversible schema drop with three undocumented parameters and no meaningful schema coverage, the description is too thin. An output schema exists so return values need no explanation, but the missing detail on scope, irreversibility, and the confirm/database parameters leaves real gaps.

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

Parameters2/5

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

Schema coverage is 0% and no parameter has a description, so the description carries the full burden. It only alludes to the 'confirmation flag' (confirm), leaving its default-false semantics and behavior undefined, and the `database` parameter is not mentioned at all.

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 and resource ('Drop a schema in Snowflake'), so the operation is unambiguous. It does not differentiate itself from siblings like snowflake_create_schema or snowflake_undrop_schema, but the name and verb make the action clear without opening the schema.

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?

It notes a confirmation requirement but gives no when-to-use guidance, no prerequisites or permissions, and never mentions alternatives such as snowflake_undrop_schema for recovery. The agent must infer usage context entirely.

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

snowflake_drop_stageSnowflake Drop StageC
Destructive

Drop a stage in Snowflake. Requires confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
databaseNo
stage_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds the confirmation requirement, which is useful behavioral context, but says nothing about irreversibility, required privileges, or effects on dependent objects.

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?

Two short, front-loaded sentences with no filler. It is terse rather than padded, though the brevity comes at the cost of the missing detail noted elsewhere.

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?

An output schema exists so return values need not be described, but for a destructive 4-parameter tool with zero schema descriptions the definition is under-specified: it omits how the confirm flag must be set and how database/schema defaults are resolved.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters, so the description carries the full burden. It only alludes to the 'confirm' flag and ignores stage_name, database and schema_name entirely, leaving no indication of naming/qualification or default schema resolution.

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?

States a clear verb+resource ('Drop a stage in Snowflake'), which distinguishes it from siblings like snowflake_create_stage, snowflake_list_stages and snowflake_remove_stage_file. It does not explicitly name those siblings, but the action 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?

'Requires confirmation' hints at a precondition but gives no when-to-use context, no guidance on alternatives (e.g. undrop semantics, or remove_stage_file for contents only), and no explanation of how confirmation is actually supplied.

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

snowflake_drop_streamSnowflake Drop StreamC
Destructive

Drop a stream. Requires confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
databaseNo
schema_nameNo
stream_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, so the agent knows this is a destructive write operation. The description adds the confirmation requirement, which is useful behavioral context, but it does not disclose irreversibility, permissions, or what else may be affected.

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 two short sentences with no wasted words, and the core action is front-loaded. The second sentence is vague but still appropriately concise rather than bloated.

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 destructive operation with four parameters, 0% schema description coverage, and an output schema. Annotations cover the safety profile, but the description does not explain parameter semantics, scope, irreversibility, or confirmation behavior beyond a brief mention, leaving important context missing.

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

Parameters2/5

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

Schema description coverage is 0% for four parameters, so the description carries the burden of explaining them. It implies stream_name and confirm through 'Drop a stream' and 'Requires confirmation,' but says nothing about database or schema_name, leaving half the parameters with no meaning beyond their names.

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 and resource: 'Drop a stream.' This is clear and distinguishes it from sibling tools that drop other objects, but it does not explicitly differentiate it from stream-related alternatives such as snowflake_create_stream, snowflake_undrop_stream, or snowflake_list_streams.

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 only guidance is 'Requires confirmation,' which is a prerequisite rather than a usage guideline. It does not say when to use this tool versus alternatives like snowflake_undrop_stream or snowflake_create_stream, nor does it describe when dropping a stream is appropriate.

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

snowflake_drop_tableSnowflake Drop TableB
Destructive

Drop a table in Snowflake. Requires confirmation flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful operational fact beyond the structured data — that a confirmation flag is required — but says nothing about failure behavior when confirm is omitted, permission requirements, or whether recovery via undrop_table 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.

Conciseness4/5

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

Two short sentences with no filler, and the destructive action is front-loaded ahead of the prerequisite. It is efficient, though the second sentence is telegraphic enough to be slightly ambiguous about the flag's semantics.

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?

An output schema exists so return values need not be described, and annotations cover destructiveness, leaving the description adequate but thin for a high-consequence DDL tool. The critical missing piece is the mechanics of the confirm gate and the identifier format for table_name.

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

Parameters2/5

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

Schema description coverage is 0% for two parameters, so the description must compensate and largely does not: it gestures at the confirm flag but never says it must be set to true (default is false) or what occurs when it is false. table_name is entirely undocumented — no hint that it expects a fully qualified database.schema.table identifier.

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?

States a specific verb and resource ('Drop a table in Snowflake'), which is unambiguous and distinguishable from undrop_table, truncate_table, and clone_table by name. It does not, however, explicitly contrast itself with the adjacent destructive sibling truncate_table or note that undrop_table is the reverse 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 only guidance is a prerequisite ('Requires confirmation flag'); there is no statement of when to drop versus truncate, clone, or undrop, and no mention of required privileges or irreversibility conditions.

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

snowflake_drop_taskSnowflake Drop TaskB
Destructive

Drop a task in Snowflake. Requires confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
databaseNo
task_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, so the danger profile is covered structurally. The description's only added value is the confirmation requirement, which meaningfully explains the confirm parameter's default of false. It still omits what is destroyed (task definition only, or dependent tasks/run history) and whether the operation is reversible.

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?

Two short sentences, zero wasted words, with the destructive action and the confirmation gate front-loaded. Structure is ideal for a simple drop 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?

An output schema exists and annotations cover the safety profile, so the description needn't explain return values. But for a destructive, 4-parameter tool with 0% schema description coverage, the description is too thin: it never explains the database/schema scoping parameters or any preconditions like suspending the task.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters, so the description must carry the load. It only hints at the confirm parameter; task_name, database, and schema_name—including whether database/schema context is required or defaults to the session context—are completely unexplained.

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?

States a specific verb (drop) and resource (task) in Snowflake, which cleanly separates it from create_task, suspend_task, resume_task, and describe_task in the sibling list. It does not explicitly name a sibling alternative, but the action 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?

'Requires confirmation' implies a precondition for invocation, which is useful usage context. However, it gives no when-to-use vs. alternatives guidance, no warning to check dependents or to suspend the task first, and no mention of irreversibility or undrop options.

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

snowflake_drop_warehouseSnowflake Drop WarehouseC
Destructive

Drop a virtual warehouse. Requires confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
warehouse_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds the useful detail that confirmation is required, but it never explains the mechanics: whether confirm=true must be passed, what happens when confirm defaults to false, or that the drop is irreversible (no undrop_warehouse sibling exists).

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?

Two short, front-loaded sentences with no filler or redundancy. It is efficient, but the brevity comes at the cost of the semantics that would actually help an agent invoke it correctly.

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 an irreversible destructive operation with zero schema description coverage, the description is too thin: confirm behavior, irreversibility, and required privileges are all unstated. The presence of an output schema excuses it from explaining return values, but that does not offset the behavioral gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so both parameters rely on the description, which only alludes to one of them ('confirmation') without any true/false semantics. The required warehouse_name parameter is never mentioned at all, leaving the coverage gap largely unfilled.

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 names a specific verb and resource ('Drop a virtual warehouse'), which is unambiguous on its own. However, it does nothing to distinguish this tool from the large family of sibling drop_* tools (drop_table, drop_schema, drop_database, drop_stage, etc.) other than by resource name, which the tool name already conveys.

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 prerequisites (privileges, active warehouse), and no mention of recovery options. The only usage-adjacent statement is 'Requires confirmation,' which is a constraint rather than routing guidance.

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

snowflake_execute_dmlSnowflake Execute DmlC

Execute a data modification SQL statement (INSERT, UPDATE, DELETE, MERGE, CREATE).

ParametersJSON Schema
NameRequiredDescriptionDefault
statementYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior1/5

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

The annotations declare destructiveHint=false, but the description explicitly advertises DELETE and MERGE, which permanently remove or alter existing data. Per the MCP semantics of destructiveHint (additive-only when false), the description directly contradicts the declared safety profile, and no replacement context (permissions, irreversibility, transaction behavior) is supplied. This is a serious annotation contradiction.

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?

A single front-loaded sentence with no filler or repetition. It is arguably thinner than an arbitrary-SQL execution tool warrants, but every word earns its place.

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?

An output schema exists, so return values need not be described. Still, for an arbitrary destructive SQL executor the description omits the essentials: whether it runs in an open transaction (given the begin/commit/rollback siblings), whether DDL is truly in scope, and what permissions or context it requires. The result is not enough 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 description coverage is 0%, so the description must carry the parameter burden, and it does add value by enumerating the accepted statement keywords (INSERT, UPDATE, DELETE, MERGE, CREATE). It does not, however, cover syntax constraints such as single vs. multiple statements, semicolon handling, bind parameters, or the required statement text format.

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 gives a clear verb ('Execute') plus the resource ('a data modification SQL statement') and enumerates the exact statement types accepted, so an agent knows what goes in and what happens. It does not, however, distinguish itself from siblings such as snowflake_query, snowflake_create_table, snowflake_truncate_table or snowflake_drop_table, and the inclusion of CREATE (DDL, not DML) muddies the stated purpose against its own name.

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 rather than snowflake_query, snowflake_create_table, snowflake_truncate_table, or the transaction siblings (begin/commit/rollback). Nothing states prerequisites such as an active warehouse, role, database/schema context, or whether the statement auto-commits.

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

snowflake_execute_taskSnowflake Execute TaskC

Trigger an immediate one-time execution of a task.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
task_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that this is a one-shot execution rather than a schedule change, which is genuinely useful, but it says nothing about whether execution is synchronous, what happens on failure, or what permissions the caller needs.

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?

A single front-loaded sentence with no filler or repetition. It is appropriately tight, though its brevity reflects missing content rather than disciplined editing.

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?

An output schema exists, so return values need not be explained, but this is a mutating action tool with zero parameter documentation and no behavioral detail beyond the one-time framing. For a trigger operation an agent should know about qualification defaults and permission requirements, none of which are present.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters (database, schema_name, task_name), and the description adds no meaning for any of them. It never explains how database/schema qualification works when they are omitted (null default), leaving the agent to guess at resolution 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?

States a specific verb and resource ('Trigger an immediate one-time execution of a task') and the 'one-time' qualifier usefully separates it from recurring/scheduled behavior implicit in resume_task. It does not name or contrast any sibling tool, so an agent gets the operation but not the routing.

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 statement of when to use this versus snowflake_resume_task (which enables scheduling) or a plain query execution. No prerequisites, no mention of whether the task must be resumed first, and no exclusions are given.

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

snowflake_export_query_to_stageSnowflake Export Query To StageC

Composite recipe: Unload query results to a stage as Parquet or CSV files.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
headerNo
file_formatNoTYPE = PARQUET
stage_locationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the bar is lower, but the description adds almost nothing on top: it does not say files are physically written to the stage, whether existing objects are overwritten, whether a warehouse or specific privileges are required, or whether the operation is asynchronous. 'Unload ... to a stage' is the only behavioral signal, so annotations do most of the work.

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?

A single front-loaded sentence with no filler, and the key action and output formats come first. It is arguably too terse for the tool's complexity, but there is no wasted wording.

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?

An output schema exists so return values need not be described, but for a four-parameter write-to-stage operation this description is thin: no prerequisites, no stage path conventions, no overwrite/failure semantics, and zero parameter documentation. An agent could guess how to call it but not how to call it correctly or safely.

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

Parameters2/5

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

Schema description coverage is 0% for four parameters, so the description must compensate, and it largely does not. It only hints at the file_format choices (Parquet or CSV), while query, stage_location, and header receive no explanation, including the expected '@stage/path' syntax for stage_location.

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?

States a concrete verb and resource: unloading query results to a stage as Parquet or CSV. That distinguishes it from snowflake_query and snowflake_execute_dml, which return results or mutate tables rather than writing files to external storage. The framing phrase 'Composite recipe' is jargon but does not obscure the action.

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 explicit when-to-use guidance, no statement of prerequisites, and no routing to alternatives such as running snowflake_query plus snowflake_create_stage. 'Composite recipe' weakly implies a multi-step convenience wrapper, but nothing tells the agent when this is preferable to the simpler primitives.

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

snowflake_get_column_lineageSnowflake Get Column LineageC
Read-only

Trace origin and transformation lineage for a column using Snowflake Horizon Access History.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo
databaseNo
table_nameYes
column_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds a useful hint about the data source (Access History) but omits retention windows or other limitations of that source.

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?

A single front-loaded sentence with no filler; the action and mechanism lead. It is efficient, though the brevity contributes to the missing detail elsewhere.

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?

An output schema exists, so return values need no explanation, but for a six-parameter tool with zero schema coverage the description leaves too much unspecified: how lineage scope is bounded, what days/limit control, and how it differs from the other lineage tools.

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

Parameters2/5

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

Schema description coverage is 0% across six parameters (days, limit, database, table_name, column_name, schema_name). The description only implies a column target and never explains the role of days, limit, or the optional schema/database qualifiers, leaving the parameters undocumented in both places.

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?

States a specific verb (trace) and resource (column lineage) and names the underlying mechanism (Horizon Access History). However, it does not distinguish itself from close siblings like snowflake_get_object_lineage or snowflake_discover_schema_lineage, so an agent cannot tell from the text which lineage tool to pick.

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 when-to-use guidance, no prerequisites, and no mention of the sibling lineage tools it competes with. The agent receives no signal about when column-level lineage is preferable to object-level or schema-level lineage.

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

snowflake_get_current_contextSnowflake Get Current ContextA
Read-only

Retrieve current active session context (current user, role, warehouse, database, schema, and account).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds only the set of context values returned, which the output schema likely already carries, so incremental behavioral value is modest.

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 front-loaded sentence with no filler; every element (verb, scope, returned fields) earns its place. Nothing is repeated or padded.

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

Completeness5/5

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

For a parameterless, read-only introspection tool with an output schema and full annotation coverage, the description supplies everything needed to select and call it correctly. Nothing material is missing.

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 there is nothing for the description to disambiguate; the baseline for a no-parameter tool is 4. No argument syntax or defaults are relevant 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?

States a specific verb ('Retrieve') and resource ('current active session context') and enumerates the exact fields returned (user, role, warehouse, database, schema, account). No sibling tool covers session context, so the boundary 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?

Usage is implied by the self-evident purpose, but the description never states when to call it or in what workflow (e.g., before running session-dependent queries). No alternatives are named, though none exist for this capability, so the omission is mild.

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

snowflake_get_database_ddlSnowflake Get Database DdlC
Read-only

Retrieve the exact CREATE DATABASE DDL definition.

ParametersJSON Schema
NameRequiredDescriptionDefault
database_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds no behavioral context beyond what annotations provide—it does not mention permissions required, whether the output is a single statement or multiple, or any rate limits. With annotations covering safety, the description's lack of additional behavioral disclosure is acceptable but not enriching.

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, efficient sentence that front-loads the action and resource. It is concise and to the point, though it could be slightly more specific (e.g., 'database definition' instead of 'CREATE DATABASE DDL definition').

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 that the tool has an output schema, the description need not explain return values. However, it is incomplete regarding parameter semantics (0% schema coverage) and lacks usage guidelines. For a simple read tool with one parameter, it should at least describe the expected input, but it does not.

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

Parameters2/5

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

Schema description coverage is 0%, meaning the single parameter 'database_name' is undocumented in the schema. The description does not describe the parameter at all—it does not clarify format, case sensitivity, or whether fully qualified names are needed. For a tool with one required parameter and no schema documentation, the description should compensate but does not.

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 ('Retrieve') and resource ('CREATE DATABASE DDL definition'), which is clear. However, it does not distinguish itself from the sibling tool snowflake_get_table_ddl or others that retrieve DDL, and it slightly mislabels the resource as 'database DDL' rather than just the database definition. The purpose is understandable but 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 like snowflake_describe_database or snowflake_get_table_ddl. The description provides no context about when this DDL retrieval is appropriate, leaving the agent to infer usage from the tool name alone.

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

snowflake_get_object_lineageSnowflake Get Object LineageC
Read-only

Retrieve upstream source and downstream dependent object lineage from Snowflake Horizon.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
directionNoboth
object_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds that lineage is sourced from Snowflake Horizon and covers both upstream and downstream directions, but it does not explain the scope of the traversal, depth limits, or what happens for objects with no lineage.

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?

A single front-loaded sentence with no filler, so nothing is wasted. However, its brevity comes at the cost of substance rather than trimming 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?

An output schema exists, so return values need not be described. But with 0% parameter coverage, no usage guidance, and a lineage domain that involves traversal semantics, the description leaves an agent without enough to invoke the tool confidently beyond the required object_name.

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

Parameters2/5

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

Schema description coverage is 0% across all four parameters, so the description must compensate but largely does not. It only loosely alludes to the 'direction' parameter via 'upstream source and downstream dependent', leaving database, schema_name, object_name format, and the accepted direction values (default 'both' has no enum) undocumented.

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?

States a specific verb ('Retrieve') and a specific resource ('upstream source and downstream dependent object lineage'), and scopes the source system as Snowflake Horizon. It is clearly distinct from a general describe or list tool, though it does not explicitly distinguish itself from the sibling lineage tools (get_column_lineage, discover_schema_lineage).

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 the closely related snowflake_get_column_lineage or snowflake_discover_schema_lineage, nor any prerequisites or exclusions. The agent must infer applicability purely from the name.

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

snowflake_get_object_tag_referencesSnowflake Get Object Tag ReferencesB
Read-only

Get tag key/value assignments on a specific database object.

ParametersJSON Schema
NameRequiredDescriptionDefault
object_nameYes
object_domainNoTABLE

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only the scoping detail ('on a specific database object') and says nothing about required privileges or behavior for objects with no tags assigned.

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?

A single front-loaded sentence with no filler; efficient. It is however too thin to be fully effective rather than padded, so it does not reach 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?

The presence of an output schema removes the need to describe return values, and annotations cover the safety profile. Still, with zero parameter documentation and no usage context, an agent is left guessing about object_domain semantics and when this tool is the right pick.

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

Parameters2/5

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

Schema description coverage is 0%, so both parameters are undocumented anywhere. The description hints at an object but never clarifies the object_name format (fully qualified?) nor what object_domain means, why it defaults to TABLE, or what other values are valid.

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?

States a specific verb and resource: retrieving tag key/value assignments on a given object. It is clearly distinguishable from the write-side sibling snowflake_set_object_tag and the catalog-side snowflake_list_tags, but it never names or contrasts those siblings explicitly.

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 reach for this tool versus snowflake_list_tags, snowflake_describe_tag (tag definition vs assignment), or snowflake_set_object_tag. The agent must infer the use case 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.

snowflake_get_pipe_statusSnowflake Get Pipe StatusB
Read-only

Get execution and health status of a Snowpipe (pending file count, last ingested timestamp).

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
pipe_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true). The description adds substantive context beyond annotations by naming the specific payload (pending file count, last ingested timestamp), which tells the agent what 'health' concretely means. However, it doesn't mention freshness, aggregation windows, or failure modes, so credit is partial.

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 front-loaded sentence identifying verb, resource, and the key returned metrics. No 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?

An output schema exists (so return-value explanation is not the burden), and annotations cover safety, but the absence of any usage routing against sibling pipe tools and zero parameter semantics means the definition is only minimally complete for a status-reporting tool.

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

Parameters2/5

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

Schema description coverage is 0% and none of the three parameters (pipe_name, database, schema_name) are described in the description text. The description compensates with no parameter guidance at all, which is a real gap for a 3-param tool where pipe_name is required and database/schema_name appear optional but unspecified.

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?

States a specific verb+resource: 'Get execution and health status of a Snowpipe', immediately distinguishing it from siblings like snowflake_describe_pipe (metadata) and snowflake_list_pipes. The parenthetical enumerates what status means (pending file count, last ingested timestamp).

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 when-to-use, when-not-to-use, or alternatives are stated. With siblings snowflake_describe_pipe and snowflake_list_pipes available, the description gives no routing guidance, leaving the agent to guess which of the three pipe tools to pick.

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

snowflake_get_query_historySnowflake Get Query HistoryB
Read-only

Retrieve recent query execution history for the current account/user.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the useful scope constraint that results are limited to the current account/user, but says nothing about retention windows, ordering, pagination, or result volume, and 'recent' is left undefined.

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?

One short, front-loaded sentence with the scope qualifier placed at the end; nothing is wasted. Its brevity is efficient rather than padded, though the same brevity is what leaves the gaps noted elsewhere.

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?

An output schema exists, so return-value documentation is not required, and annotations carry the safety profile. What remains missing is the meaning of 'recent', the behavior of the limit parameter, and any routing guidance versus the query-plan and operator-stats siblings.

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

Parameters2/5

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

Schema description coverage is 0% and the single parameter (limit, integer, default 20) is never mentioned in the description, so there is no explanation of what it caps or its default. With a non-empty parameter list and no coverage in either schema or prose, the description fails to compensate.

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?

States a specific verb and resource ('Retrieve recent query execution history') and scopes it to 'the current account/user', which is clear enough to distinguish it from record-mutating siblings like snowflake_query or snowflake_execute_dml. It does not, however, differentiate itself from nearby read siblings such as snowflake_get_query_plan or snowflake_get_query_operator_stats, which an agent could easily confuse with it.

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 when-to-use guidance at all: no mention of what 'recent' covers (time window, row cap), no prerequisites, and no indication of when to prefer this over snowflake_get_query_plan/get_query_operator_stats for a given query. The agent must infer intent entirely from the name.

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

snowflake_get_query_operator_statsSnowflake Get Query Operator StatsB
Read-only

Retrieve operator-level execution statistics and profiling data for a past Query ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
query_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds no further behavioral context such as whether the query must have finished, any retention window for profiling data, or permission requirements. With annotations carrying the safety burden, this is acceptable but thin.

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?

A single, front-loaded sentence with no wasted words. It is appropriately sized for a one-parameter retrieval tool, though it sacrifices some detail in the interest of brevity.

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?

An output schema exists, so return values need not be explained. For a one-param read tool this is adequate, but the absence of parameter format, prerequisites, and sibling differentiation leaves gaps an agent must resolve by inference.

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 0% for the single query_id parameter. The description adds the useful constraint that it must be a 'past Query ID' (i.e., a completed query), which is meaning beyond a bare string, but it provides no format details (UUID vs numeric) that an agent would need to supply a valid value.

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 gives a specific verb and resource: 'Retrieve operator-level execution statistics and profiling data for a past Query ID.' An agent can immediately tell this produces granular per-operator profiling. However, it does not distinguish itself from the closely related siblings snowflake_get_query_history and snowflake_get_query_plan, leaving the boundary somewhat ambiguous.

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 explicit when-to-use guidance and no mention of alternatives. The phrase 'for a past Query ID' weakly implies the query must be completed, but nothing tells the agent when to reach for this versus snowflake_get_query_plan or snowflake_get_query_history.

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

snowflake_get_query_planSnowflake Get Query PlanA
Read-only

Generate the EXPLAIN execution plan for a SQL query without executing it.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the important behavioral detail that the query is not executed, which goes beyond the generic read-only guarantee and is valuable context for a plan-generation 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?

A single, front-loaded sentence that contains no redundant words. The key action and its non-execution constraint are stated immediately.

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 single-parameter tool with an output schema (which handles return values) and clear annotations, the description is nearly complete. It could optionally mention the plan's format or any connection prerequisites, but nothing critical is missing.

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

Parameters2/5

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

Schema description coverage is 0% and the single parameter 'query' is undocumented. The description only says it is for 'a SQL query,' adding no format, dialect, or other semantic detail beyond what the parameter name already implies.

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?

States a specific verb ('Generate') and resource ('EXPLAIN execution plan for a SQL query'), and the phrase 'without executing it' clearly distinguishes this tool from the query-execution sibling snowflake_query. An agent can identify its function without opening the schema.

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 this to inspect a plan without running the query) but offers no explicit when-to-use, when-not-to-use, or named alternatives. The agent must infer that it should choose this over snowflake_query when execution is undesirable.

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

snowflake_get_table_ddlSnowflake Get Table DdlB
Read-only

Retrieve the exact CREATE OR REPLACE TABLE/VIEW DDL definition for an object.

ParametersJSON Schema
NameRequiredDescriptionDefault
object_nameYes
object_typeNoTABLE

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds that the output is 'exact CREATE OR REPLACE' DDL, implying a specific format, but does not discuss permissions, errors for missing objects, or the object_type default behavior.

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, front-loaded sentence with zero waste that communicates the essential output and scope.

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 an output schema present, return values need not be explained. However, for a tool with 0% parameter description coverage and no usage guidance, the description leaves critical invocation details (name format, type default, permissions) unaddressed.

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

Parameters2/5

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

Schema coverage is 0%, so the schema provides no descriptions. The description mentions the target 'object' but does not explain object_name formats (e.g., fully qualified names) or the object_type parameter and its default. It fails to compensate for the coverage gap.

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 verb (Retrieve) and resource (CREATE OR REPLACE TABLE/VIEW DDL definition) with scope ('for an object'). It distinguishes itself from describe/list siblings by targeting DDL, though it doesn't explicitly name the sibling get_database_ddl it parallels.

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 on when to use this versus describe_table or list_tables, and no mention of prerequisites like SELECT privileges or object existence. The agent must infer the use case 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.

snowflake_get_warehouse_load_historySnowflake Get Warehouse Load HistoryA
Read-only

Get execution load, queuing, and provisioning history for a warehouse.

ParametersJSON Schema
NameRequiredDescriptionDefault
warehouse_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the useful detail that the result spans load, queuing, and provisioning, but omits the time window the history covers – a meaningful gap for a history 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?

One front-loaded sentence that names the resource and the three data dimensions with zero 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?

An output schema exists so return values need not be described, and annotations cover safety. However, for a warehouse-history tool the description should at least indicate the default lookback period or that the window is fixed, which is absent.

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 0% and the description adds nothing about warehouse_name, but with a single self-evident required parameter this is a low-risk omission. Baseline 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?

States a specific verb (Get) and resource (warehouse load history), and enumerates the three dimensions returned: execution load, queuing, and provisioning. This distinguishes it from sibling read tools like snowflake_describe_warehouse (configuration) and snowflake_get_query_history (query-level), though it never names an alternative explicitly.

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?

Usage is only implied by the topic – an agent can infer this is for monitoring warehouse performance, but there is no explicit when-to-use, when-not-to-use, or sibling routing (e.g. vs describe_warehouse or account_usage_summary).

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

snowflake_health_checkSnowflake Health CheckA
Read-only

Composite recipe: Run health check on connection, active session, warehouse state, and credit consumption.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, so the safety profile is covered. The word 'Composite' does hint that this fans out into multiple checks rather than one query, which is useful, but the description says nothing about latency, batching, permissions, or cost of the credit-consumption lookup. Adds some context beyond annotations, not much.

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 with the scope front-loaded after a short label; every clause names a distinct check and nothing is wasted.

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?

An output schema exists, so return details need not be restated, and the description enumerates all four areas the health check spans. What is missing is guidance on the composite nature's implications (multiple round trips, how results are aggregated), but for a no-param read-only tool this is close to complete.

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 the baseline is 4. The description correctly implies no input is needed to scope the check, and schema coverage is effectively complete for an empty object.

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 names a specific action (health check) and enumerates the exact areas covered: connection, active session, warehouse state, and credit consumption. No sibling tool does the same aggregate check, so an agent can distinguish it. The only wart is the jargon phrase 'Composite recipe', which is not standard tool vocabulary.

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?

Usage is implied by the name and domain (run this to assess account/connection health), but there is no explicit statement of when to prefer this over the overlapping siblings like snowflake_get_current_context, snowflake_get_warehouse_load_history, or snowflake_account_usage_summary. No when-not guidance or prerequisites such as required role/permissions.

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

snowflake_inspect_table_with_sampleSnowflake Inspect Table With SampleB
Read-only

Composite recipe: Describe table schema, row count, column types, and preview sample rows in 1 call.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
table_nameYes
sample_rowsNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that it previews sample rows, implying a data read, but it does not disclose sampling cost, row limits, or behavior when the table is empty or the path is ambiguous.

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?

A single front-loaded sentence packs the composite purpose and its constituent outputs with no filler. It is appropriately sized, though it is arguably too terse given the zero parameter documentation.

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?

An output schema exists, so return shape needn't be restated, and the safety profile comes from annotations. The remaining gap is parameter qualification and sampling behavior, which the description does not cover despite 0% schema coverage.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden for four parameters. It alludes to sampling via 'preview sample rows', loosely mapping to sample_rows, but says nothing about database, schema_name, the default of 5 rows, or how the table_name is qualified.

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?

States a specific composite action and enumerates the outputs it produces (schema, row count, column types, sample rows). However, it does not name the overlapping siblings it bundles (snowflake_describe_table, snowflake_sample_table), so an agent must infer the distinction from the '1 call' phrasing alone.

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 'in 1 call' wording implies this should be preferred over issuing separate describe/sample calls, which is implicit usage guidance. It never states when to use it versus snowflake_describe_table or snowflake_sample_table, nor 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.

snowflake_list_alertsSnowflake List AlertsC
Read-only

List configured alerts with condition queries, schedules, and state.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint=false. The description adds only the alert fields returned, which duplicate the output schema, and does not disclose auth needs, pagination, filtering behavior, or permissions.

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?

A single front-loaded sentence with no wasted words. It is appropriately brief but so terse that it omits essential scoping details for a tool with three filtering parameters.

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 an output schema present, return values needn't be explained, but the description still leaves critical invocation details missing: no parameter semantics for pattern/database/schema filtering and no usage context versus describe_alert or other list tools.

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

Parameters1/5

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

Schema description coverage is 0% and the description mentions none of the three parameters (pattern, database, schema_name). An agent gets no help understanding what pattern matches or how database/schema scope filtering works.

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?

States a specific verb (List) and resource (configured alerts) and names the fields surfaced (condition queries, schedules, state). It distinguishes from describe_alert by plural 'alerts', but does not explicitly contrast scope with 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?

No when-to-use guidance, no alternatives mentioned, and no conditions for choosing this over snowflake_describe_alert or other list tools. Only implied usage from the verb 'List'.

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

snowflake_list_catalog_integrationsSnowflake List Catalog IntegrationsB
Read-only

List catalog integrations (Polaris, AWS Glue, Object Storage) configured in Snowflake.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds useful context about the integration categories (Polaris, AWS Glue, Object Storage), but says nothing about filtering behavior or result shape beyond that.

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?

A single front-loaded sentence with a clear verb-resource opener and zero filler. It is appropriately sized, though a touch terse given the undocumented pattern parameter.

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 list operation with an output schema (so return values needn't be described), it is nearly complete. The gaps are the undocumented pattern parameter and the lack of differentiation from snowflake_list_integrations.

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

Parameters2/5

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

There is one parameter (pattern) with 0% schema description coverage, and the description says nothing about it. With no schema text to lean on, the description should explain that pattern filters/narrows the listing (e.g., regex semantics), but it does not compensate at all.

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?

States a specific verb (List) and resource (catalog integrations) and names concrete categories (Polaris, AWS Glue, Object Storage), so the agent knows what will be returned. However, it fails to distinguish itself from the very close sibling snowflake_list_integrations, leaving ambiguity about why one would choose this over that.

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 when-to-use guidance, no exclusions, and no mention of the near-identical snowflake_list_integrations or snowflake_list_notification_integrations siblings. The agent is left to infer that this is the catalog-specific list from the parenthetical examples alone.

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

snowflake_list_compute_poolsSnowflake List Compute PoolsC
Read-only

List Snowpark Container Services (SPCS) compute pools.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered without the description's help. The description adds nothing behavioral beyond that: it doesn't say whether results are filtered, scoped to the current database/account, whether all pools are returned or truncated, or anything about the pattern filter. A minimal restatement of the resource is all that is on offer.

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?

A single front-loaded sentence with zero filler; nothing is padded or redundant. It is appropriately sized for the tool, though the brevity comes from omitting needed information rather than from disciplined editing.

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, has an output schema so return values need not be explained, and annotations cover the safety profile, which keeps it close to adequate. The unaddressed 'pattern' filter and the lack of any scope statement (account-wide vs. context-bound) leave meaningful gaps for an agent invoking it.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden for the single 'pattern' parameter — and it says nothing about it. Whether 'pattern' is a SQL LIKE pattern, a regex, or a case-sensitive prefix filter is left entirely to guesswork. The bare parameter name is only marginally self-explanatory, so it does not compensate for the coverage gap.

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?

States a specific verb (List) and resource (SPCS compute pools), and expands the acronym so the agent knows this is Snowpark Container Services rather than a generic compute resource. It does not explicitly distinguish itself from siblings like snowflake_describe_compute_pool, snowflake_resume_compute_pool, or snowflake_suspend_compute_pool, but the verb-plus-resource pairing 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?

There is no statement of when to use this tool, when not to, or which sibling to prefer. The agent must infer that 'list' means enumerate all pools and that describe/resume/suspend are different operations. For a tool with four close siblings in the compute-pool family, the absence of routing guidance is a real gap.

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

snowflake_list_connectionsSnowflake List ConnectionsA
Read-only

List available connection profiles configured in ~/.snowflake/connections.toml and show active profile.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true. The description adds context beyond annotations by naming the configuration file path and noting that the active profile is shown, but it does not cover permissions, rate limits, or any notable caveats.

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

Conciseness5/5

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

The description is a single efficient sentence with no filler. The core action is front-loaded, and every clause contributes useful information.

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 zero-parameter read-only tool with annotations and an output schema, the description is nearly complete. It identifies the data source and the active-profile behavior, but provides no usage context, leaving a minor gap.

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 no parameters, so parameter semantics are inherently simple. The baseline for zero-parameter tools is 4, and there is no parameter information that the description needs to supply.

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 and resource: list connection profiles and show the active profile. It is clear what the tool does, but it does not explicitly name or rule out sibling tools like snowflake_use_connection, so it stops short of full 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 explicit guidance on when to use this tool versus alternatives such as snowflake_use_connection or snowflake_get_current_context. The use case is only implied from the action itself, with no conditions or exclusions.

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

snowflake_list_databasesSnowflake List DatabasesB
Read-only

List all available databases accessible to the current role.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the authorization-scoping detail ('accessible to the current role'), which is genuinely useful, but says nothing about result size, pagination, or filtering behavior.

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?

One short, front-loaded sentence with no filler; the resource and scope are stated 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?

An output schema exists, so return values need not be explained, and the operation is a simple read. However, the undocumented 'pattern' parameter is a real gap for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, and the description never mentions the single 'pattern' parameter, so an agent gets no indication that filtering is even possible or what syntax pattern accepts. The description fails to compensate for the coverage gap.

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?

States a specific verb and resource ('List all available databases') with a clear scope qualifier ('accessible to the current role'). It does not explicitly differentiate itself from siblings like snowflake_list_schemas or snowflake_describe_database, though the resource name makes it distinguishable.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as snowflake_describe_database for deeper inspection or snowflake_list_schemas. Usage is only implied by the verb.

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

snowflake_list_dynamic_tablesSnowflake List Dynamic TablesB
Read-only

List dynamic tables with lag targets, refresh mode, and last refresh status.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is clear. The description adds useful context by naming some metadata fields returned, but it omits any auth, pagination, or scoping behavior beyond that.

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 states the core action and supplemental output fields efficiently.

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?

An output schema exists and annotations cover the safety profile, so return values and safety need not be explained. However, the description lacks any filter semantics or usage context for the optional parameters, leaving it incomplete for correct invocation in a multi-sibling namespace.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not mention the three optional filter parameters (pattern, database, schema_name) or how they constrain results. The parameter names are somewhat self-explanatory, but the description adds no meaning beyond the bare 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 states a specific verb+resource ('List dynamic tables') and adds returned attributes ('lag targets, refresh mode, and last refresh status') that distinguish it from generic list_tables/list_views and from describe_dynamic_table. An agent can identify the resource and rough output without opening the schema.

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 when-to-use guidance, prerequisites, or alternatives are provided. It does not say when to use this instead of describe_dynamic_table or list_tables, leaving selection entirely to the agent's inference.

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

snowflake_list_event_tablesSnowflake List Event TablesB
Read-only

List event tables used for application logging, tracing, and SPCS telemetry.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is clear. The description adds the scoping to event/logging/telemetry tables, which is useful context, but says nothing about result format, filtering behavior, or account/region scope. Adequate against the annotation baseline.

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 with zero filler, front-loading the verb and resource. Nothing is wasted.

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?

An output schema exists, so return values needn't be explained. However, with three completely undocumented parameters and no usage or filtering guidance, the description is too thin for a tool whose parameters govern its behavior. It needs at least hints on how pattern/database/schema_name scope the listing.

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

Parameters2/5

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

Schema description coverage is 0% – none of the three parameters (pattern, database, schema_name) are documented in the schema. The description does not mention any of them, so it fails to compensate for the coverage gap. An agent must guess at the syntax and semantics of pattern/database/schema_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?

States a specific verb ('List') and resource ('event tables'), and narrows scope to tables used for application logging, tracing, and SPCS telemetry. It is distinguishable from snowflake_list_tables and snowflake_list_iceberg_tables by the 'event tables' qualifier, though it doesn't explicitly contrast against those 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?

No when-to-use or when-not-to-use guidance is given. An agent cannot tell from the description when this tool should be preferred over snowflake_list_tables or snowflake_list_iceberg_tables, nor what preconditions apply.

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

snowflake_list_external_volumesSnowflake List External VolumesB
Read-only

List external cloud storage volumes configured for Apache Iceberg tables.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds the Iceberg scoping context but says nothing about what is returned, pagination, or filtering behavior beyond what annotations already tell us.

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?

A single efficient sentence with no filler, front-loading the verb and resource. It is brief to the point of under-specification rather than bloated.

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 presence of an output schema and read-only annotations means the return value and safety profile need not be explained. However, the undocumented 'pattern' parameter and absence of any usage context leave notable gaps for a discovery tool an agent might call speculatively.

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

Parameters2/5

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

The single 'pattern' parameter has 0% schema description coverage and the description never mentions it. With low coverage the description is expected to compensate, but it offers no hint that pattern-based filtering is available or what syntax it accepts.

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?

States a specific verb ('List') and resource ('external cloud storage volumes') with a scoping qualifier ('configured for Apache Iceberg tables'). It is clearly distinguishable from siblings since no other tool covers external volumes, though the description does not explicitly contrast against related tools like snowflake_list_iceberg_tables or snowflake_list_catalog_integrations.

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 prerequisites (e.g., required role or privilege), and no indication of when it would be inappropriate. The agent must infer usage purely from the name.

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

snowflake_list_functionsSnowflake List FunctionsB
Read-only

List user-defined functions (UDFs) in a database or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the agent knows this is a safe, non-mutating read. The description adds the scoping constraint (database or schema) but nothing about filtering behavior, result ordering, or limits, so it adds only modest value beyond structured fields.

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?

A single short sentence with no wasted words, and the resource and scope are front-loaded. It is appropriately sized for a simple list tool, though brevity here also means the parameter gaps go unaddressed.

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?

An output schema exists, so return values need not be described, and annotations cover the safety profile. However, with three undocumented parameters (notably 'pattern') and no usage guidance, the definition stops short of what an agent needs to invoke it confidently.

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

Parameters2/5

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

Schema description coverage is 0% for all three parameters. The phrase 'database or schema' vaguely maps to the 'database' and 'schema_name' parameters, but the 'pattern' parameter is entirely unexplained in both schema and description — the description does not say it is a naming filter or what syntax it accepts.

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?

States a specific verb (List) and resource (user-defined functions/UDFs) with an explicit scope of 'a database or schema'. It does not differentiate itself from related siblings such as snowflake_list_procedures or snowflake_describe_function, which an agent would have to infer.

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 on when to use this tool versus alternatives like snowflake_list_procedures or snowflake_describe_function, and no prerequisites or context for selecting it. Usage is only implied by 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.

snowflake_list_grants_to_roleSnowflake List Grants To RoleC
Read-only

List privileges granted to a specific role.

ParametersJSON Schema
NameRequiredDescriptionDefault
role_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context beyond that, such as permission requirements, result scope, or pagination behavior, which is a gap for a grants-listing 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 no redundant or filler text. It is appropriately sized for a simple list operation.

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 a simple read operation with an output schema, so return values do not need explanation, and annotations cover safety. Still, the description lacks role_name format details and sibling differentiation from snowflake_list_grants_to_user, leaving some context gaps.

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

Parameters2/5

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

The single parameter role_name has 0% schema description coverage, so the description must compensate. It only says 'a specific role' and provides no format, qualification, or naming guidance for role_name, adding almost no meaning beyond the parameter name itself.

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 gives a clear verb (List) and resource (privileges granted to a specific role), so an agent can understand the core operation. However, it does not distinguish this from the similar sibling snowflake_list_grants_to_user, so it falls short of the sibling differentiation required for a 5.

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

Usage Guidelines2/5

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

The description states what the tool does but gives no guidance on when to use it versus alternatives such as snowflake_list_grants_to_user, snowflake_describe_role, or snowflake_list_roles. There are no prerequisites, exclusions, or contextual cues.

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

snowflake_list_grants_to_userSnowflake List Grants To UserC
Read-only

List roles granted to a specific user.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds nothing beyond that – it doesn't mention whether results include inherited grants, required privileges, or scope (direct vs effective grants), which matters for a grants-listing 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?

A single efficient sentence with the key verb and resource front-loaded and no filler. It is not padded, though it is arguably minimal to the point of under-information.

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?

An output schema exists, so return-value explanation is not required. However, for a grants/security tool the description leaves out which grant types are returned and any authorization context, leaving it only minimally complete.

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 0%, but there is only one parameter and its name (user_name) is self-explanatory; the description's 'a specific user' loosely confirms it. It adds no format, case-sensitivity, or identifier-style details beyond the schema.

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

Purpose4/5

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

States a specific verb (List) and resource (roles granted to a user), so the operation is unambiguous. It does not explicitly differentiate itself from the nearby sibling snowflake_list_grants_to_role, though the target object ('user' vs 'role') is implied.

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 snowflake_list_grants_to_role or snowflake_describe_user, and no prerequisites or exclusions are stated. Usage must be inferred entirely from the name.

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

snowflake_list_iceberg_tablesSnowflake List Iceberg TablesB
Read-only

List Apache Iceberg tables in the account, database, or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the scoping behavior (results can be filtered to account, database, or schema), which is useful context, but says nothing about pagination, result size, or permissions.

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, front-loaded sentence with no wasted words. The verb and resource lead, and the scope constraint follows 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?

An output schema exists, so return values need not be described, and annotations cover safety. However, with three undocumented parameters and no guidance on scoping or filtering, an agent is left guessing about the main knobs of this list tool.

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

Parameters2/5

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

Schema coverage is 0% and none of the three parameters are described. The phrase 'in the account, database, or schema' loosely maps to the database and schema_name filters, but the 'pattern' parameter is never explained and no matching semantics or defaults are given.

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?

States a specific verb+resource (list Apache Iceberg tables) and the scope hierarchy (account, database, or schema). It does not explicitly distinguish itself from the closely named sibling snowflake_list_tables, so the agent must infer the 'Iceberg-only' filter from the name alone.

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 when-to-use or when-not-to-use guidance and no mention of alternatives such as snowflake_list_tables or snowflake_describe_iceberg_table. The scope phrase hints at what the parameters do but gives no selection guidance.

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

snowflake_list_image_repositoriesSnowflake List Image RepositoriesC
Read-only

List OCI image repositories in Snowflake.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds no behavioral detail (no pagination, scoping, or result shape), but with annotations and an output schema the burden is lighter; a 3 reflects adequate but thin 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?

A single efficient sentence, front-loaded and free of waste. Brevity here verges on under-specification rather than excess, but the structure itself is clean.

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?

An output schema exists so return values needn't be explained, and annotations cover safety. However, with three fully undocumented filtering parameters (0% coverage), the definition is incomplete for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% and the description mentions no parameters at all. The three params (pattern, database, schema_name) are entirely undocumented anywhere, so the description fails to compensate for the coverage gap.

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?

States a clear verb+resource (list OCI image repositories in Snowflake). Specific and distinguishable from siblings like list_tables/list_stages by its resource, though it doesn't actively differentiate against similar listing tools.

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 on when to use this vs other listing tools, no mention of scoping behavior, no dependencies. Purely implied usage.

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

snowflake_list_integrationsSnowflake List IntegrationsC
Read-only

List external integrations (API, Storage, Notification, Security integrations).

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
integration_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered; the description adds nothing beyond that. It doesn't disclose how the pattern filter behaves, whether results are paginated, or how results relate to the sibling integration listers.

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?

A single short sentence that is front-loaded with the verb and resource and wastes no words. Its brevity is also its weakness, since there is no room allocated to parameter or routing guidance.

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?

An output schema exists, so return values need not be explained, and the task is a simple read-only list. Still, with 0% parameter description coverage and overlapping sibling tools, the description leaves routing and filtering behaviour underspecified.

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 0%, so the description must compensate for undocumented 'pattern' and 'integration_type' parameters. It partially does so by naming the integration type categories (API, Storage, Notification, Security), which likely map to integration_type values, but it says nothing about the syntax or matching behaviour of 'pattern'.

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?

States a clear verb (List) and resource (external integrations) and enumerates the subtypes returned, which helps an agent understand scope. However, it does not distinguish itself from siblings like snowflake_list_notification_integrations and snowflake_list_catalog_integrations, which appear to overlap with the Notification type mentioned here.

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 the more specific sibling listers (e.g. snowflake_list_notification_integrations, snowflake_list_catalog_integrations), nor any prerequisites or filtering context. The agent must infer usage entirely from the name.

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

snowflake_list_masking_policiesSnowflake List Masking PoliciesB
Read-only

List column masking policies in the account, database, or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description adds the scoping dimension (account vs database vs schema) but says nothing about result volume, pagination, or required privilege, which is expected for a broad listing 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?

A single front-loaded sentence with no filler. It is efficient, though its brevity is partly what leaves the parameter gap unfilled.

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?

An output schema exists so return values need not be described, and annotations cover safety, but for a tool with three undocumented parameters at 0% schema coverage the description leaves the scoping/filtering mechanics underspecified.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden and only partially meets it: the account/database/schema scopes loosely map to database and schema_name, but the 'pattern' filter is never explained, nor is the fact that all three parameters are optional with null defaults.

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?

States a specific verb (List) plus resource (column masking policies) and the scope options (account, database, or schema). An agent can distinguish it from snowflake_describe_masking_policy, though the description does not explicitly name that sibling.

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?

Says what scope can be queried but gives no when-to-use guidance, no exclusions, and no pointer to snowflake_describe_masking_policy for policy details. Usage must be inferred from the verb alone.

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

snowflake_list_network_policiesSnowflake List Network PoliciesC
Read-only

List network policies configured in the account.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, covering the safety profile. The description adds nothing beyond that – no pagination behavior, no filtering semantics, no volume expectations for an account-wide listing 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?

One short, front-loaded sentence with no filler or redundancy. It is efficient, though efficient to the point of under-specification rather than being deliberately trimmed to essentials.

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?

An output schema exists, so return values need not be described, but the undocumented 'pattern' parameter and the absence of any routing guidance among ~130 siblings leave real gaps for a listing tool. The definition is not complete enough for reliable invocation.

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

Parameters2/5

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

The single parameter 'pattern' has 0% schema description coverage and is never mentioned in the description, so an agent cannot tell whether it is a name filter, a LIKE pattern, or a regex. With low coverage the description is expected to compensate, and it does not.

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 (List) and resource (network policies) scoped to the account, so the agent knows the basic operation. However, it does not differentiate from close siblings such as snowflake_describe_network_policy or snowflake_list_network_rules, leaving the agent to infer the distinction from names alone.

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 the many sibling list/describe tools, no mention of prerequisites, and no exclusions such as whether it covers network rules. The one sentence is purely descriptive of what the tool returns, not when to reach for it.

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

snowflake_list_network_rulesSnowflake List Network RulesC
Read-only

List network rules defined in a database or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context beyond that – no pagination, filtering, or result-limit information. With annotations doing the heavy lifting, this is a minimal contribution.

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?

A single efficient sentence with the action front-loaded. It is not bloated, though it is arguably too thin rather than too long.

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?

An output schema exists so return values need not be explained, but the 0%-coverage input schema means the description should compensate for undocumented parameters and it does not. For a listing tool with a filter parameter, the definition is under-specified.

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

Parameters2/5

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

All three parameters (pattern, database, schema_name) have 0% schema description coverage. The description's phrase 'in a database or schema' loosely gestures at the database and schema_name parameters but says nothing about 'pattern', leaving a third of the inputs undocumented in both schema and description.

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?

States a specific verb ('List') and resource ('network rules') with a scoping qualifier ('defined in a database or schema'). It is clear what the tool returns, but it does not differentiate itself from the closely related sibling snowflake_describe_network_rule.

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 use this versus alternatives such as snowflake_describe_network_rule or snowflake_list_network_policies. Usage is only implied by the verb 'List'.

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

snowflake_list_notification_integrationsSnowflake List Notification IntegrationsB
Read-only

List notification integrations configured for alerts, tasks, and cloud messaging (SNS, PubSub, Webhooks).

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description contributes the useful detail that these integrations feed alerts, tasks, and specific cloud messaging services, but says nothing about result volume, filtering behavior, or account/region scope.

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?

A single front-loaded sentence with no filler; purpose and scope come first. It is efficient, though the brevity leaves room that the missing usage and parameter detail could have occupied.

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 presence of an output schema means return values need not be described, and the tool is structurally simple (one optional param). Still, the undocumented 'pattern' parameter and the absence of any sibling differentiation leave gaps for an agent choosing between this and the other integration-listing tools.

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

Parameters2/5

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

The single 'pattern' parameter has 0% schema description coverage (no description, no enum), and the description never mentions it or explains its filter semantics. With one undocumented parameter the description must compensate, and it does not.

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?

States a specific verb+resource ('List notification integrations') and scopes it with the consumer types it serves (alerts, tasks, cloud messaging) plus concrete examples (SNS, PubSub, Webhooks). It is clearly distinct in kind from generic siblings like snowflake_list_integrations, but it never explicitly names or contrasts with 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?

There is no when-to-use or when-not-to-use guidance and no alternative named, despite close siblings such as snowflake_list_integrations and snowflake_list_catalog_integrations that an agent could confuse it with. The purpose sentence implies a broad usage context but provides no selection criteria.

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

snowflake_list_password_policiesSnowflake List Password PoliciesC
Read-only

List password security policies defined in the account or database.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the account-vs-database scoping note; it says nothing about return shape, pagination, or privileges required, which is acceptable given the annotation coverage but adds little.

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?

A single front-loaded sentence with no filler, which is the right shape for this tool. It is arguably too terse given the undocumented parameters, but every word earns its place.

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?

An output schema exists so return values need no explanation, but the tool has three entirely undocumented optional parameters and no usage guidance. For a filtering/list tool where pattern and schema scoping drive results, the description is not complete enough to invoke confidently.

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

Parameters2/5

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

All three parameters (pattern, database, schema_name) have 0% schema description coverage, so the description carries the full burden. It hints that results can be scoped to the account or a database but never explains pattern matching syntax or the relationship between database and schema_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?

States a specific verb (List) and resource (password security policies) with the account/database scope. It implicitly separates itself from snowflake_describe_password_policy via list-vs-describe, but never names the sibling or clarifies what a listing returns versus a description.

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 when-to-use guidance and no mention of alternatives such as snowflake_describe_password_policy for full policy details. The agent must infer usage purely from the name and the one-line purpose.

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

snowflake_list_pipesSnowflake List PipesC
Read-only

List Snowpipes configured in a database or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the scoping constraint ('in a database or schema') and says nothing about pagination, result limits, empty-scope behavior, or required privileges.

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?

A single short sentence, front-loaded with the verb and resource, with no filler. It is efficient but borders on under-specified rather than merely terse.

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?

An output schema exists so return values need no explanation, and annotations carry the safety profile. However, for a three-parameter tool with 0% parameter coverage, the description is too thin to compensate for the undocumented 'pattern' filter and the absent usage guidance.

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

Parameters2/5

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

All three parameters (pattern, database, schema_name) have zero schema description coverage and the description never names or explains them. 'Database or schema' loosely hints at two of the three, but the pattern filter is entirely undocumented in both places, leaving the agent guessing at its matching syntax.

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?

States a specific verb ('List') and resource ('Snowpipes') with a scope qualifier (database or schema). It is distinguishable from snowflake_describe_pipe and snowflake_get_pipe_status by implying a collection rather than a single pipe, though it never names those siblings explicitly.

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 when-to-use guidance, no prerequisites, and no routing to alternatives such as snowflake_describe_pipe or snowflake_get_pipe_status. The agent must infer that listing is the discovery step and describing is the drill-down.

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

snowflake_list_proceduresSnowflake List ProceduresC
Read-only

List stored procedures in a database or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that - no note on scope-defaulting behavior (session context when database/schema omitted), result limits, or pagination.

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?

A single front-loaded sentence with no filler, which is efficient. The sizing is appropriate for the content, though the brevity reflects under-specification rather than tight editing.

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?

An output schema exists, so return values need not be described. But with three undocumented parameters, no usage guidance, and no differentiation from the many sibling list/describe tools, the definition is too thin for an agent to call it confidently.

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

Parameters2/5

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

Schema description coverage is 0% for all three parameters (pattern, database, schema_name). The description hints at database/schema scope but never explains the pattern argument or that database and schema_name are optional and default to the current context.

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?

States a specific verb (List) and resource (stored procedures) with a scope qualifier ('in a database or schema'), which is clear on its own. However, it offers no differentiation from closely related siblings such as snowflake_list_functions or snowflake_describe_procedure, leaving the agent to infer the boundary.

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 snowflake_list_functions, snowflake_describe_procedure, or snowflake_list_tables. Nothing explains the effect of omitting database/schema_name or how to narrow results.

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

snowflake_list_rolesSnowflake List RolesC
Read-only

List roles available in the Snowflake account.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond restating the name: no mention of pagination limits, whether results are filtered by privilege, or how the pattern parameter behaves.

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?

A single tight sentence with no wasted words, front-loading the action and resource. It is efficient but perhaps too terse given the undocumented parameter.

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?

An output schema exists so return values need not be described, but the undocumented 'pattern' parameter leaves a real gap for a tool that is otherwise trivial to call.

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

Parameters2/5

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

The single 'pattern' parameter has 0% schema description coverage, so the schema does not explain it and the description does not compensate. An agent cannot tell whether pattern is a SQL LIKE pattern, regex, or prefix match, nor what happens if it is omitted.

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?

States a specific verb (List) and resource (roles) with scope (Snowflake account), which is clear enough to separate it from mutations like create_role/drop_role. It doesn't explicitly differentiate it from describe_role or list_grants_to_role, but the intent 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 on when to use this versus snowflake_describe_role (single-role detail) or the grant-listing tools. The agent must infer the list-vs-describe distinction from the names alone, and nothing indicates prerequisites or the value of the undisclosed pattern filter.

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

snowflake_list_row_access_policiesSnowflake List Row Access PoliciesB
Read-only

List row access policies defined in the account, database, or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds only the scoping behavior (account- vs database- vs schema-level listing), which is modest added value; it says nothing about permissions required or result size/pagination.

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?

A single tight sentence with the resource and scope front-loaded and zero padding. It is arguably too terse for a three-parameter filter tool, but every word earns its place.

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?

An output schema exists, so return values need not be described, and annotations cover the read-only profile. However, with three undocumented optional parameters at 0% schema coverage, an agent still lacks the pattern-filter semantics and the default scoping behavior, leaving the definition only minimally viable.

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 0% across three optional parameters. The description indirectly maps 'database' and 'schema_name' to the listed scope levels, but the 'pattern' parameter is left entirely unexplained and the description never states that filtering is optional. Partial compensation for the coverage gap.

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?

States a specific verb (List) and resource (row access policies) with the scope levels (account, database, schema), so the agent can distinguish it from snowflake_describe_row_access_policy. It does not explicitly name the sibling it complements, so it falls short of the 5 level.

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?

Usage is only implied by the scope phrase 'account, database, or schema' - the agent can infer that omitting the narrower scoping listing broadens the results, but there is no explicit when-to-use, when-not, or pointer to snowflake_describe_row_access_policy for detail.

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

snowflake_list_schemasSnowflake List SchemasB
Read-only

List all schemas within a specific database or the current active database.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, so safety is covered. The description adds the meaningful behavioral detail that omitting a database falls back to the current active database, but says nothing about result shape, limits, or permissions.

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?

A single compact sentence with the scoping behavior front-loaded and no filler. It is efficient, though slightly terse given the undocumented 'pattern' parameter.

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?

An output schema exists, so return values need not be described. However, with two parameters at 0% schema coverage and 'pattern' unexplained anywhere, the definition is not fully complete for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains the 'database' parameter (specific vs. current active) but never mentions the 'pattern' filter parameter, leaving half the inputs undocumented in both schema and description.

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?

States a specific verb (list) and resource (schemas) plus the scoping model (a specific database or the current active database). It is inferably distinct from create/drop/clone schema siblings, but does not explicitly differentiate itself from them or from snowflake_describe_schema.

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?

Usage is implied: call it when you need schema names and either pass a database or rely on the active one. No explicit when-not or alternative routing (e.g., use describe_schema for details) is given.

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

snowflake_list_secretsSnowflake List SecretsB
Read-only

List security secrets (API keys, OAuth credentials) stored in Snowflake.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds only the content of what is listed (API keys, OAuth credentials), but says nothing about required privileges for reading secrets, whether values are masked, or scoping behavior. With annotations carrying the safety load, this is an adequate-but-thin 3.

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 front-loaded sentence with zero padding. The core verb+resource leads and the parenthetical examples are earned, not 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?

An output schema exists so return values need not be explained, and the read-only annotations cover safety. However, three entirely undocumented parameters and the absence of any filtering/scoping guidance leave the definition only minimally viable for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% — pattern, database and schema_name have no descriptions anywhere. The description does not compensate at all: it never explains that pattern is a name filter, that database/schema_name scope the listing, or whether the filter is a LIKE/wildcard pattern. This is a real gap for a 3-param tool.

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

Purpose4/5

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

Specific verb+resource ("List security secrets") with clarifying examples of the resource type (API keys, OAuth credentials). An agent knows exactly what domain this covers. It does not explicitly contrast with the sibling snowflake_describe_secret, so it stops short of a 5.

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

Usage Guidelines2/5

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

The description offers no when-to-use guidance, no prerequisites, and never names the obvious alternative (snowflake_describe_secret) for drilling into a single secret. The agent must infer usage purely 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.

snowflake_list_sequencesSnowflake List SequencesB
Read-only

List auto-increment sequences in a database or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint, so the safety profile is covered. The description adds only the database/schema scoping context, with no additional behavioral detail such as permissions, rate limits, or return behavior.

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 front-loaded sentence with zero waste. It is appropriately sized and immediately states the verb, resource, and scope.

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?

Output schema exists, so return values need not be described, and annotations cover the safety profile. However, with three optional input parameters at 0% schema coverage and no usage guidance, the description leaves meaningful gaps for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry parameter meaning, but it only hints at database/schema scope and never mentions the 'pattern' parameter or any syntax/format details. This leaves most parameter semantics unexplained.

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?

States a specific verb 'List' and resource 'auto-increment sequences' with database/schema scope, so the purpose is clear. It does not explicitly differentiate from sibling list tools (e.g., list_tables, list_views), but no other sequence-listing sibling exists, so the resource itself distinguishes it.

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 when-to-use guidance, no alternatives, and no exclusions. The phrase 'in a database or schema' implies scoping, but the agent is not told when this tool is preferable to other listing tools or what prerequisites exist.

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

snowflake_list_servicesSnowflake List ServicesC
Read-only

List container services running on SPCS compute pools.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the useful scoping detail that results are limited to services running on SPCS compute pools. It does not disclose auth requirements, pagination, or filtering behavior beyond that.

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 states the verb and resource immediately, making it efficiently structured for agent consumption.

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?

An output schema exists, so return values need not be explained, and annotations cover safety. However, for a tool with three undocumented optional filters and no usage guidance, the description is incomplete: an agent cannot tell how to scope results by pattern, database, or schema, nor when to prefer this tool over similar listing tools.

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

Parameters1/5

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

Schema description coverage is 0% for three parameters (pattern, database, schema_name), and the description does not mention any of them. It adds no meaning about how to filter by pattern, database, or schema, so the parameter semantics are effectively undocumented.

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 and resource: 'List container services running on SPCS compute pools.' This clearly identifies the object type and the SPCS compute-pool scope. It does not explicitly differentiate itself from sibling tools like snowflake_list_compute_pools, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no explicit alternative named. The description only implies that the tool lists services, without saying when an agent should choose it over sibling listing tools such as snowflake_list_compute_pools or snowflake_describe_compute_pool.

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

snowflake_list_stage_filesSnowflake List Stage FilesB
Read-only

List files inside a Snowflake stage location (e.g. '@MY_STAGE/path/').

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
stage_locationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the stage-location example format, but does not disclose any additional behavioral traits such as authentication requirements, rate limits, or side effects.

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 is appropriately sized for a simple listing operation, even though it omits details that belong in other dimensions.

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 output schema covers return values and annotations cover safety, but the description leaves the optional pattern parameter entirely unexplained and provides no usage guidance. For a tool with zero schema description coverage, this is a significant completeness gap.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It provides an example format for the required stage_location parameter, but the optional pattern parameter is completely undocumented in both the schema and the description.

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 and resource: 'List files inside a Snowflake stage location', with an example format. It is clearly distinct from siblings like snowflake_list_stages, but it does not explicitly name or compare against those alternatives.

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 offers no guidance on when to use this tool versus alternatives such as snowflake_list_stages or snowflake_describe_stage. Usage is only implied by the verb 'List' and the resource 'files inside a stage location'.

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

snowflake_list_stagesSnowflake List StagesB
Read-only

List internal and external stages available in the active database or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, non-destructive, and openWorld, so the safety profile is covered. The description adds only the internal/external distinction and a scope note — nothing about pagination, result size, filtering, or permissions, so it contributes little behavioral context beyond the annotations.

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 front-loaded sentence with no redundancy or filler. 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.

Completeness2/5

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

An output schema exists, so return values need not be explained, but the three undocumented parameters and the absence of any usage or scoping detail leave real gaps. For a list tool with 0% schema description coverage, the description should do more.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters and the description does not compensate. It hints that database/schema selection affects scope but never explains the 'pattern' parameter or the accepted formats of database/schema_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 gives a specific verb ('List') and resource ('internal and external stages') with a scope qualifier ('active database or schema'). It is clear what the tool returns, but it does not distinguish itself from close siblings such as snowflake_describe_stage or snowflake_list_stage_files.

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 when-to-use or when-not-to-use guidance, and no named alternatives. The phrase 'in the active database or schema' implicitly signals that scoping is optional/defaulting, so usage is inferable but never stated.

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

snowflake_list_streamlitsSnowflake List StreamlitsC
Read-only

List Streamlit applications hosted in Snowflake.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds only the resource scope and nothing about authentication, result limits, pagination, or filtering behavior, making this the minimum viable 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, front-loaded sentence with no filler. It is optimally concise for what it attempts to convey.

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 an output schema covers return values and annotations cover safety, the definition is incomplete for a list tool with three undocumented optional filters. It should explain what the pattern, database, and schema_name parameters filter and what the default scope is.

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

Parameters1/5

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

The tool has three optional parameters, pattern, database, and schema_name, with 0% schema description coverage. The description never mentions these parameters or explains their filtering semantics, so the agent receives no meaning beyond the bare parameter names.

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 gives a specific verb and resource: 'List Streamlit applications hosted in Snowflake.' That is clear and distinct from sibling tools named describe_streamlit, but it does not explicitly differentiate itself from the adjacent describe tool or other list 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?

There is no guidance on when to use this tool versus alternatives such as snowflake_describe_streamlit, nor any exclusions or preconditions. The listing purpose is only implied by the verb 'List'.

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

snowflake_list_streamsSnowflake List StreamsC
Read-only

List table/view streams in a database or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the scoping constraint (database or schema) and says nothing about filtering behavior, result limits, or pagination, so it stays at baseline for an annotated read-only 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?

A single compact sentence with the verb and scope front-loaded and zero filler. It is concise, though the brevity tips into under-specification rather than sharpness.

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?

An output schema exists so return values need no explanation, but with three undocumented parameters at 0% coverage and no usage or filtering guidance, an agent cannot reliably call this tool with a `pattern` filter or know what scoping it inherits when both database and schema_name are omitted.

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

Parameters2/5

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

All three parameters (pattern, database, schema_name) have 0% schema description coverage, so the description must carry the load. It hints at database/schema scoping but leaves `pattern` completely unexplained (is it a LIKE pattern on stream names? case-sensitive?), which is the parameter most likely to be misused.

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?

States a specific verb (List) and resource (table/view streams) plus the scope (a database or schema). It is distinguishable from list_tables/list_views, but does not explicitly contrast with the closest siblings such as snowflake_describe_stream or snowflake_list_dynamic_tables.

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 when-to-use guidance, no prerequisites, and no mention of alternative tools (describe_stream, create_stream, read_stream_changes) or when to prefer a database-wide vs schema-wide listing. The scope wording implies usage but nothing is stated.

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

snowflake_list_tablesSnowflake List TablesB
Read-only

List tables in a database schema with row counts and bytes.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety and scope are covered structurally. The description adds that results include row counts and bytes, but that is essentially return-value information also carried by the output schema; no auth, cost, or pagination behavior is disclosed.

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 front-loaded sentence with no filler; the core action and scope come first.

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?

An output schema exists, so return details need not be restated, but with three fully undocumented parameters, no usage guidance, and no sibling routing, the definition is only minimally adequate for a listing tool in a very large tool set.

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

Parameters2/5

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

Schema description coverage is 0% for all three parameters. The phrase 'in a database schema' loosely implies the database and schema_name params, but the pattern parameter is never explained, leaving an undocumented filtering argument to guesswork.

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?

States a specific verb (List) and resource (tables) scoped to a database schema, plus the returned metrics (row counts and bytes). It is distinguishable from snowflake_list_views and snowflake_list_iceberg_tables by resource, though it does not explicitly name those 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?

There is no when-to-use guidance, no mention of prerequisites (e.g. which database/schema defaults apply), and no routing to alternatives such as snowflake_describe_table or snowflake_list_views. The agent must infer usage entirely from the name.

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

snowflake_list_tagsSnowflake List TagsB
Read-only

List object tags defined in a database or schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered, and an output schema exists so return format need not be described. The description adds only the scoping constraint (tags belong to a database/schema), which is modest additional context.

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?

A single tight sentence with no filler, and the scope constraint is front-loaded. It is efficient, though arguably under-specified for a tool with three unlabeled parameters.

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?

With annotations covering safety and an output schema covering results, the remaining burden is parameter semantics, and the 0%-coverage schema plus an unexplained pattern argument leaves the definition only marginally adequate for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% across all three parameters. The description hints at the database and schema_name parameters via "defined in a database or schema" but never explains the pattern filter or any matching syntax, leaving a third of the inputs undocumented.

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 gives a clear verb+resource ("List object tags") and scopes it to a database or schema, so an agent knows exactly what kind of object is returned. It does not distinguish itself from siblings like snowflake_describe_tag or snowflake_get_object_tag_references, leaving the agent to infer which tag-related tool to pick.

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 explicit guidance on when to use this tool versus snowflake_describe_tag or snowflake_get_object_tag_references, nor any stated prerequisite (e.g., that a database/schema context is needed). Usage is only implied by the phrase "defined in a database or schema".

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

snowflake_list_tasksSnowflake List TasksB
Read-only

List tasks in a database or schema with schedule, state, and predecessor info.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no behavior beyond that - no mention of result limits, whether pattern is a LIKE filter, or how the schedule/state/predecessor fields are surfaced - and the enumerating of return fields is redundant with the existing output 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?

A single tightly written sentence, front-loaded with the verb and resource and with zero filler. Nothing in it is wasted, even if more could usefully have been added.

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?

An output schema exists, so return-value explanation is not required, and the annotations cover safety. However, the three undocumented parameters and the total absence of selection guidance leave real gaps for an agent deciding how to invoke or narrow this listing.

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

Parameters2/5

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

Schema description coverage is 0% and none of the three optional parameters (pattern, database, schema_name) are documented anywhere. The description only loosely gestures at database/schema scoping and says nothing at all about what 'pattern' matches, so it fails to compensate for the coverage gap.

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?

States a specific verb (List) and resource (tasks) plus the scoping dimension (database or schema) and the notable fields returned (schedule, state, predecessors). It is clearly distinguishable from siblings like snowflake_describe_task, create_task, or drop_task, though it never names them explicitly.

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?

Usage is only implied: the phrase 'in a database or schema' hints that the tool can be scoped, but there is no explicit when-to-use, no when-not-to-use, and no pointer to alternatives such as snowflake_describe_task for a single task or snowflake_execute_task for running one.

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

snowflake_list_usersSnowflake List UsersB
Read-only

List users in the Snowflake account with login status and default roles.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds some value by disclosing what the listing returns (login status, default roles) and implicitly that it scans the whole account, but it says nothing about pagination, result size, or whether the pattern filter narrows scope.

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 front-loaded sentence with no filler; the resource and the salient returned fields come first. Nothing here is redundant or padded.

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?

An output schema exists, so return values need not be spelled out, and the annotations carry the safety profile. But for a tool with an undocumented filter parameter and no usage framing, the definition is only minimally complete — it should say what the pattern filters and when to prefer this over describe_user.

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

Parameters2/5

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

Schema description coverage is 0% for the single 'pattern' parameter, so the description is the only place semantics could be added — and it never mentions filtering or pattern syntax. The agent cannot tell whether 'pattern' is a name glob, a regex, or a case-sensitive prefix match.

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?

States a specific verb and resource ('List users in the Snowflake account') and even previews the returned fields (login status, default roles). However, it does not distinguish itself from the nearby sibling snowflake_describe_user or explain how it relates to snowflake_list_roles/snowflake_list_grants_to_user, so an agent gets no routing help among those options.

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 when-to-use guidance, no stated prerequisites, and no mention of the obvious alternative (snowflake_describe_user for a single user). The description simply asserts what the tool does and leaves selection entirely to inference.

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

snowflake_list_viewsSnowflake List ViewsC
Read-only

List views in a database schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo
databaseNo
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already establish the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), so the description only needs to add context. It adds none: no account of the 'pattern' filtering behavior, pagination, or result limits for what could be a large view listing.

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?

A single short sentence is front-loaded and waste-free, but it is under-specified rather than genuinely concise for a tool with three unconstrained parameters. Nothing is padded, yet little is conveyed.

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?

An output schema exists, so return values need not be described. But with three optional parameters at 0% coverage and no usage guidance, the definition leaves critical invocation details (how pattern/database/schema_name interact, defaults) unspecified.

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

Parameters2/5

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

Schema description coverage is 0%, so all three parameters (pattern, database, schema_name) are undocumented in both schema and description. The phrase 'in a database schema' weakly implies the database/schema_name params, but 'pattern' is completely unexplained, leaving the agent guessing at its matching semantics.

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 names a specific verb and resource ('List views') and scopes it to a database schema, so the agent knows exactly what it returns. However, it offers no differentiation from the many other list tools in the family (e.g., snowflake_list_tables, snowflake_list_iceberg_tables).

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 snowflake_list_tables or snowflake_describe_schema, nor any stated prerequisites. The agent must infer usage 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.

snowflake_list_warehousesSnowflake List WarehousesA
Read-only

List virtual warehouses in the account with size, state, and auto-suspend configurations.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety and scope are covered structurally. The description adds the fields returned (size, state, auto-suspend), which is useful, but says nothing about pagination, result limits, or privilege requirements for listing account-level warehouses.

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?

One tight sentence that front-loads the verb and resource and adds the returned attributes with no filler. Nothing to trim.

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?

An output schema exists, so return values need not be described. However, the undocumented 'pattern' parameter leaves the only input ambiguous, which is a real completeness gap for an otherwise simple list tool.

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

Parameters2/5

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

The single 'pattern' parameter has 0% schema description coverage and is never mentioned in the description. An agent has no idea whether it is a regex, glob, LIKE pattern, or case-sensitive filter – a meaningful gap for a filter that is the only input.

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?

States a specific verb (List) and resource (virtual warehouses) plus the scope (in the account) and the data surfaced (size, state, auto-suspend configurations). It is clearly distinguishable from the sibling snowflake_describe_warehouse, which would cover a single warehouse.

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?

Usage is implied by 'List ... in the account' – this is the enumeration tool vs describe/detail siblings. There is no explicit when-to-use or when-not-to-use guidance, and no mention of when to prefer it over snowflake_describe_warehouse or snowflake_get_warehouse_load_history.

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

snowflake_profile_tableSnowflake Profile TableB
Read-only

Composite recipe: Profile table metadata, row count, and column inventory.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
table_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that this is a composite operation covering metadata, row count, and column inventory, but it does not disclose cost implications (a row count may require a scan) or idempotency. With annotations carrying the safety burden, a 3 is appropriate.

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?

A single front-loaded sentence with no filler or repetition. It is appropriately sized for what it covers, though its brevity borders on under-specification given the tool's composite nature.

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?

An output schema exists, so the return values need not be explained. However, for a composite profiling tool with sibling overlap, the description omits prerequisites, cost expectations, and selection criteria, leaving real gaps in what an agent needs to call it correctly.

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

Parameters2/5

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

Schema description coverage is 0% and the description says nothing about the three parameters. While database/schema_name/table_name are conventional Snowflake identifiers, the description provides no meaning, defaults, or qualification guidance beyond the self-naming fields, so it fails to compensate for the coverage gap.

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 ('Profile') and enumerates the concrete outputs: table metadata, row count, and column inventory. This is clearer than a tautology, but it never distinguishes itself from close siblings like snowflake_describe_table or snowflake_inspect_table_with_sample, so an agent must infer the difference.

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 when-to-use guidance and no named alternative. 'Composite recipe' hints that it bundles several lookups, but the description never says when this is preferable to describe_table, sample_table, or inspect_table_with_sample, leaving the routing decision entirely to inference.

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

snowflake_querySnowflake QueryB
Read-only

Execute a SQL SELECT or read-only query on Snowflake and return structured rows with metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_rowsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds 'return structured rows with metadata,' but an output schema exists, so this is largely redundant; it provides no information on row-limit enforcement, cost, or timeouts.

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?

A single front-loaded sentence with no filler, and the read-only constraint is stated up front. It is efficient but arguably too terse for a tool with two undocumented parameters.

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?

With an output schema covering the return shape and annotations covering safety, those obligations are lifted. The remaining gap is the 0%-documented parameters and the absence of any note on row caps or query constraints, which leaves the definition only minimally complete for a general-purpose SQL executor.

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

Parameters2/5

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

Schema description coverage is 0% and neither parameter is explained in the text. The description never says what 'max_rows' does (schema shows only a default of 100) or what SQL dialect/constraints apply to 'query', so it fails to compensate for the documentation gap.

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?

States a specific verb (Execute) and resource (SQL SELECT/read-only query on Snowflake), and the 'read-only' qualifier implicitly separates it from the mutating snowflake_execute_dml. However, it names no sibling explicitly, so an agent must still infer which of the ~100 query-adjacent tools (sample_table, export_query_to_stage, warehouse_scale_and_execute) applies.

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 'read-only' framing implies when this tool is appropriate versus the DML sibling, but there is no explicit when-to-use or when-not-to-use statement and no routing to alternatives like snowflake_execute_dml for writes or snowflake_sample_table for sampling. Usage must be inferred.

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

snowflake_read_stream_changesSnowflake Read Stream ChangesB
Read-only

Query unconsumed CDC changes recorded in a stream (default 10 rows).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
stream_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the useful CDC notion of 'unconsumed changes' and the default row count, but omits the behavior that matters most for a stream read — whether reading advances/consumes the offset and what happens on repeated calls.

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?

A single compact sentence that front-loads the verb and the resource. Efficient, though the brevity is partly the reason the semantic gaps above exist.

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?

An output schema exists, so return values need not be explained, and annotations cover safety. Still, for a CDC stream tool the consumption/invalidation semantics and the meaning of stream_name are left entirely unstated.

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

Parameters2/5

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

Schema description coverage is 0% for both parameters. The description only echoes the limit default ('default 10 rows'), which is already in the schema, and says nothing about what stream_name must reference or what limit truncation implies for downstream consumption.

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?

States a specific verb (Query) and resource (unconsumed CDC changes in a stream) and adds scoping detail ('unconsumed') that distinguishes it from a plain SELECT. It is clearly separable from siblings like snowflake_list_streams and snowflake_describe_stream, but it doesn't explicitly name those alternatives.

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 when-to-use guidance, no prerequisite (e.g. the stream must exist and be stale/active), and no mention of alternatives such as snowflake_query for arbitrary reads. The agent must infer the trigger condition 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.

snowflake_refresh_dynamic_tableSnowflake Refresh Dynamic TableC
Idempotent

Trigger an immediate manual refresh of a dynamic table.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
table_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the nuance that the refresh is 'immediate' and 'manual' rather than automatic, but omits other behavioral details like whether it can fail if a refresh is in progress or what permissions are required.

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, which is efficient. However, given the tool's complexity and lack of schema descriptions, it is arguably too terse to be considered appropriately sized for the definition's full burdens.

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?

An output schema exists, so return values need not be described. But the description fails to compensate for 0% schema description coverage across three parameters and provides no context about side effects, prerequisites, or operational constraints, leaving the agent under-informed for a mutation tool.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention any of the three parameters (database, table_name, schema_name). It provides no meaning for how to specify the target table or what the optional database/schema_name defaults do.

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 ('trigger an immediate manual refresh') and resource ('dynamic table'), making the core action clear. It does not explicitly distinguish this from siblings like suspend/resume_dynamic_table, but the action is distinct enough to be understood without opening the schema.

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 only states what the tool does, not when to use it versus alternatives such as waiting for scheduled refreshes or using other dynamic table operations. There is no mention of prerequisites, conditions, or exclusions.

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

snowflake_remove_stage_fileSnowflake Remove Stage FileB
Destructive

Remove a file from a stage location. Requires confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
stage_file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the risk profile is carried by structured data. The description adds the confirmation requirement, which is genuinely useful context, but it never explains what confirmation means operationally (must the flag be true? what happens if false? is removal reversible?).

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?

Two short, front-loaded sentences with no filler; the action is stated first and the constraint second. Efficiency is good, though the second sentence's vagueness costs it a point.

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?

An output schema exists, so return values need not be described, and annotations cover the destructive profile. What is missing is the operational meaning of the required confirmation and the path format for the sole required parameter, which an agent needs to invoke this correctly.

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

Parameters2/5

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

Schema description coverage is 0% for two parameters, so the description must compensate and largely does not. It says nothing about the 'stage_file_path' format (e.g., @stage/path/file) nor about how 'confirm' interacts with the operation beyond the vague word 'confirmation'.

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?

States a specific verb ('Remove') and resource ('a file from a stage location'), which cleanly separates it from read-oriented siblings like snowflake_list_stage_files or snowflake_drop_stage. It does not explicitly contrast itself with any sibling, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives such as snowflake_drop_stage or re-uploading/overwriting a file, and no stated prerequisites (e.g., ownership or privileges). 'Requires confirmation' hints at a precondition but does not frame it as usage guidance.

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

snowflake_resize_warehouseSnowflake Resize WarehouseB

Change warehouse compute size (XSMALL, SMALL, MEDIUM, LARGE, XLARGE, 2XLARGE, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeYes
warehouse_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is partly covered. The description adds the range of valid sizes, which is genuinely useful, but omits operational context an agent would want for an in-flight mutation: whether resizing disrupts running queries, privilege requirements, or cost implications.

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 tight sentence with no filler, and the resource plus the operation are front-loaded. Size values appear inline where they help.

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?

An output schema exists, so return values need not be described, and annotations cover the safety profile. What remains missing is usage routing versus scale_and_execute, the meaning of warehouse_name, and the definitive set of valid sizes — enough gaps to keep this at minimum viable for a mutating tool.

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 0%, so the description must carry the load. It partially does by enumerating valid size values (XSMALL, SMALL, MEDIUM, LARGE, XLARGE, 2XLARGE), which compensates for the missing enum in the schema. But warehouse_name is left completely unexplained, and the 'etc.' leaves the size list ambiguous about what the actual ceiling is.

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?

States a specific verb (Change) and resource (warehouse compute size), with the resource qualifier 'compute size' making the operation unambiguous. However, it does not distinguish itself from the closest sibling, snowflake_warehouse_scale_and_execute, which an agent could easily confuse with a resize 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 when-to-use context, prerequisites, or alternative routing is provided. The agent gets no signal on how this differs from scale_and_execute, resume_warehouse, or create_warehouse, all of which touch warehouse compute.

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

snowflake_resume_alertSnowflake Resume AlertC
Idempotent

Resume a suspended alert.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
alert_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so safety and repeatability are covered. The description adds only the implied precondition that the alert is 'suspended', which is modest but real context beyond the structured fields.

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?

A single front-loaded sentence with zero padding, which is structurally clean. It is under-specified rather than verbose, so conciseness itself is not the problem.

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 an output schema present, return values need not be explained, but for a mutation tool with 0% parameter documentation the description should at least cover the database/schema_name qualifiers and the suspended-state precondition. It covers only the bare minimum.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden of explaining the three parameters, yet it mentions none. It gives no hint that database and schema_name are optional qualifiers for disambiguating alert_name, which is exactly the kind of detail needed at low 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?

States a specific verb (resume) and resource (alert), which clearly identifies the operation among siblings like suspend_alert and drop_alert. It does not, however, explicitly name those alternatives or clarify the state transition beyond 'suspended'.

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 on when to use this versus snowflake_suspend_alert, snowflake_create_alert, or snowflake_drop_alert, and no prerequisites or context (e.g. that the alert must currently be suspended). The single sentence leaves the agent to infer usage entirely.

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

snowflake_resume_compute_poolSnowflake Resume Compute PoolA
Idempotent

Resume an idle or suspended SPCS compute pool.

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false, so the safety profile is covered by structured data. The description adds the precondition ('idle or suspended') but omits useful context such as what happens on resume, how long it takes, or whether it targets the current connection's account.

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?

A single short sentence with no waste and the verb front-loaded. Efficiency is high; the trade-off is that brevity leaves gaps rather than being over-long.

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?

An output schema exists, so return-value explanation is not required, and annotations cover safety. However, with 0% param description coverage and no usage guidance for a state-changing control operation, the definition is only minimally sufficient.

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

Parameters2/5

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

Schema coverage is 0% – the single parameter 'pool_name' has no description in the schema. The tool description does not explain the naming convention, qualification format (e.g., database.schema.pool), or where to obtain the name. With 1 param documented nowhere, the description fails to compensate.

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?

Specific verb ('Resume') and resource ('SPCS compute pool'), with scope qualifiers ('idle or suspended') that distinguish it from siblings like snowflake_suspend_compute_pool. An agent can identify the operation without opening the schema.

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 phrasing 'idle or suspended' implies a precondition, and the sibling list makes the suspend/resume pair obvious. But there is no explicit when-not-to-use guidance (e.g., what happens if the pool is already active), so usage is only implied.

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

snowflake_resume_dynamic_tableSnowflake Resume Dynamic TableB
Idempotent

Resume scheduling and lag monitoring for a dynamic table.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
table_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that resuming reinstates scheduling and lag monitoring, which is useful behavioral context, but it omits required state, side effects on existing data, and latency of resumption.

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?

A single short sentence with no filler and the action front-loaded. The phrasing 'resume scheduling and lag monitoring' is slightly ambiguous about what exactly is resumed, but it is efficient overall.

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

Completeness5/5

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

Wrong — see below.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters: database, schema_name, and table_name. The description mentions no parameters at all, so it does not compensate for the coverage gap — it neither clarifies that database/schema_name override the session default nor explains qualified-name handling.

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?

States a specific verb (resume) and resource (dynamic table), plus what resuming restores: refresh scheduling and lag monitoring. An agent can distinguish it from suspend/refresh siblings by the verb alone, though no sibling is named explicitly.

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 on when to resume versus using snowflake_refresh_dynamic_table or snowflake_describe_dynamic_table, no statement that the table must currently be suspended, and no prerequisites or permission hints. The agent must infer the operating context.

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

snowflake_resume_taskSnowflake Resume TaskC
Idempotent

Resume a suspended task.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
task_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare this as a non-read-only, idempotent, non-destructive, open-world operation, so the description carries less burden. However, it adds almost no behavioral detail beyond the word 'suspended'—it omits what happens to task state, permission requirements, or side effects.

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 one-sentence description is front-loaded and wastes no words. It could be seen as under-specified, but that is a completeness issue rather than a conciseness flaw.

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?

With an output schema present and annotations covering safety/idempotency, the description need not explain return values or safety. For a simple resume operation, the action and its precondition are clear, but the complete absence of parameter guidance leaves a noticeable gap.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention any of the three parameters. It gives no indication that task_name is required or that database/schema_name are optional qualifiers, leaving the agent without guidance for invocation.

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 gives a specific verb ('Resume') and resource ('task'), immediately distinguishing it from read/list siblings. It does not explicitly name alternative tools like suspend_task or describe its relationship to them, which keeps it from a 5.

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

Usage Guidelines2/5

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

The description only restates the action; it offers no explicit when-to-use guidance, no prerequisites (e.g., required privileges, task state), and no mention of when to choose a different sibling tool. The implied condition that the task must be suspended is the only usage hint.

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

snowflake_resume_warehouseSnowflake Resume WarehouseC
Idempotent

Resume a suspended virtual warehouse.

ParametersJSON Schema
NameRequiredDescriptionDefault
warehouse_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare non-read-only, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds nothing beyond that: it does not say whether resuming an already-running warehouse is a no-op, whether it requires ACCOUNTADMIN/OWNERSHIP privileges, or what the effect on billing and availability is.

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?

A single front-loaded sentence with no waste or filler. It is efficient, though its brevity borders on under-specification rather than genuine 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?

An output schema exists, so return-value explanation is not required, but for a state-mutating operation with a 0%-documented required parameter the description should at least state the suspended-state precondition and any privilege requirement. As written it is too thin for an operational tool.

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

Parameters2/5

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

Schema description coverage is 0% and the single required parameter 'warehouse_name' is undocumented in the schema. The description never mentions the parameter at all, so it fails to compensate for the coverage gap (e.g., by noting the name format or whether it must exist).

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 gives a specific verb ('Resume') and resource ('a suspended virtual warehouse'), so the action is unambiguous. It does not name or distinguish itself from the obvious sibling snowflake_suspend_warehouse, but the name and verb make the pairing self-evident.

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 explicit guidance on when to use this tool, no stated precondition that the target warehouse must be in a suspended state, and no mention of the suspend counterpart. The agent must infer all usage context from the tool name alone.

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

snowflake_rollback_transactionSnowflake Rollback TransactionA
Destructive

Rollback the current active transaction on the session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the scope detail that it affects only the current session's active transaction, but does not disclose error behavior or side effects beyond what annotations provide.

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 that front-loads the action and scope with no wasted words. It is appropriately sized for a zero-parameter 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 simple zero-parameter schema, existing annotations, and presence of an output schema, the description is largely complete. It could mention what happens if no transaction is active, but that is a minor gap for such a straightforward operation.

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 is 4. The description adds no parameter information because none exists, which 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 states a specific verb (rollback) and resource (current active transaction on the session), making it clear what the tool does. It does not explicitly name or contrast with siblings like commit_transaction, but the action itself differentiates it.

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 use this tool versus alternatives such as commit_transaction, nor does it state prerequisites like needing an active transaction. Usage is only implied by the action.

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

snowflake_sample_tableSnowflake Sample TableB
Read-only

Preview sample rows from a table (default 10 rows).

ParametersJSON Schema
NameRequiredDescriptionDefault
table_nameYes
sample_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description's only extra claim ('default 10 rows') is already in the schema default, so it adds essentially no behavioral context beyond the structured data.

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?

A single short sentence with the core action front-loaded and no filler. It is efficient, though arguably too sparse to be maximally useful.

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?

An output schema exists, so the return shape need not be described. Still, the heavy overlap with snowflake_inspect_table_with_sample is unaddressed and the required table_name identifier format is left ambiguous, leaving gaps for an agent choosing between sibling tools.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden. It notes the sample_size default of 10 but says nothing about table_name format (e.g. fully qualified DATABASE.SCHEMA.TABLE), case sensitivity, or any constraint on sample_size.

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?

States a specific verb and resource: 'Preview sample rows from a table', with the row count scoped. However, it does not distinguish itself from the very similar sibling snowflake_inspect_table_with_sample, nor from snowflake_query, which could also return sample 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 on when to use this versus the near-duplicate snowflake_inspect_table_with_sample or snowflake_profile_table. No prerequisites (e.g. warehouse/role context) or usage trigger is given.

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

snowflake_set_object_tagSnowflake Set Object TagC
Idempotent

Set or assign a tag value on a Snowflake object (TABLE, SCHEMA, DATABASE, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_nameYes
tag_valueYes
object_nameYes
object_domainNoTABLE

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare the full behavioral profile (not read-only, idempotent, non-destructive, open-world), so the bar is low, but the description adds no auth/permission requirements (APPLY TAG), no overwrite/conflict behavior, and no indication of what happens to an existing value.

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?

A single front-loaded sentence with no filler, and the object-type examples are useful. It is arguably too terse for the amount of undocumented structure it needs to cover.

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?

Even though an output schema exists and return values need not be described, a mutation tool with zero schema-description coverage and no permissions or side-effect information leaves too much for the agent to guess. The description is not sufficient for reliable invocation.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters, so the description must carry the load. It only implies that objects come in multiple types; it does not explain object_name vs tag_name vs tag_value, nor the meaning/default of object_domain.

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?

States a specific verb+resource ('Set or assign a tag value on a Snowflake object') and even enumerates eligible object types. It is clearly distinguishable from the read-only tag siblings (list_tags, describe_tag), though it never names them explicitly.

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 when-to-use context, no prerequisites, and no guidance on alternates. An agent must infer that this is the write counterpart to the read-only tag tools on its own.

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

snowflake_suspend_alertSnowflake Suspend AlertC
Idempotent

Suspend an active alert.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
alert_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered externally. The description adds only the modest precondition that the alert must be active to be suspended; it omits effects (paused schedule, loss of firing), permission requirements, and whether the change is reversible.

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?

One short sentence with no filler, but it is terse to the point of under-specification for a mutation tool with three parameters.

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?

An output schema exists so return values need no explanation, but for a mutating tool with three undocumented parameters and no prerequisites or side-effect disclosure, the description leaves substantial gaps.

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

Parameters2/5

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

Schema description coverage is 0% for all three parameters (alert_name required; database and schema_name optional and nullable). The description gives no hint about name format, whether fully qualified names are accepted, or how the optional database/schema are used, so it fails to compensate for the coverage gap.

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?

States a specific verb and resource ('Suspend an active alert'), so an agent knows the operation. It does not differentiate from close siblings like snowflake_resume_alert, snowflake_drop_alert, or snowflake_suspend_task, which share the same suspend/resume/drop pattern.

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 suspend vs drop or resume an alert, nor any precondition beyond the word 'active'. The agent must infer everything from the name.

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

snowflake_suspend_compute_poolSnowflake Suspend Compute PoolB
Idempotent

Suspend an active SPCS compute pool to stop node provisioning costs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the cost rationale and the 'active' precondition, but does not disclose effects on running services, required privileges, or what happens if the pool is already suspended.

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 front-loaded sentence with no filler. It conveys purpose, target, and rationale efficiently.

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, idempotent mutation with an output schema and safety annotations, this is minimally adequate. It covers purpose and cost motivation but omits usage routing and parameter format, leaving gaps an agent would need for precise invocation.

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

Parameters2/5

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

Schema description coverage is 0% for the single pool_name parameter. The description does not compensate by explaining identifier format, qualification rules, or expected value, so the agent gets no additional parameter meaning beyond the property 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?

States a specific verb ('Suspend') and resource ('SPCS compute pool'), so an agent knows exactly what the tool does and can distinguish it from sibling compute-pool tools. It stops short of naming what it is not (e.g., resume_compute_pool), so it is clear but not maximally differentiated.

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 'to stop node provisioning costs' implies the usage context (cost optimization) and the word 'active' hints at a precondition. However, there is no explicit when-to-use/when-not guidance and no routing to alternatives such as snowflake_resume_compute_pool or snowflake_suspend_warehouse.

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

snowflake_suspend_dynamic_tableSnowflake Suspend Dynamic TableB
Idempotent

Suspend automated refresh and lag evaluation for a dynamic table.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
table_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds some context by specifying that refresh and lag evaluation are suspended, but does not mention privileges needed, reversibility, or side effects beyond what annotations provide.

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, front-loaded sentence with no wasted words. It is appropriately sized and immediately conveys the tool's effect.

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?

While an output schema exists and annotations cover safety hints, the description omits any parameter guidance and prerequisite information (e.g., required privileges). For a mutation tool with 3 completely undocumented parameters, this is a significant gap.

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

Parameters1/5

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

Schema description coverage is 0% for all three parameters (database, table_name, schema_name), and the description provides no information about any parameter. It fails to compensate for the complete lack of parameter documentation.

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 states a specific verb (Suspend) and resource (dynamic table), and clarifies what is being suspended (automated refresh and lag evaluation). This clearly distinguishes it from siblings like snowflake_resume_dynamic_table and snowflake_refresh_dynamic_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?

No explicit guidance on when to use this tool versus alternatives, nor any prerequisites or when-not conditions. The verb 'suspend' implies the action, but there is no statement of context or exclusions.

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

snowflake_suspend_taskSnowflake Suspend TaskC
Idempotent

Suspend an active scheduled task.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNo
task_nameYes
schema_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already cover the safety profile: readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds the useful state constraint that the task must be active, but it does not describe permissions, side effects, or what happens if the task is not active.

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 sized for a simple action, though it is terse enough that some might view it as under-specified rather than maximally concise.

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 mutation tool with an output schema and rich annotations, the description is still missing key context: it does not explain how to identify the task across database/schema, and it gives no usage or prerequisite guidance. The gap is significant because the schema has 0% parameter description coverage.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not mention any of the three parameters. The parameter names are somewhat self-explanatory, but the description adds no meaning about task identification, default database/schema context, or whether a qualified task name is required.

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 and resource: suspend an active scheduled task. It clearly identifies the action but does not differentiate from siblings like snowflake_resume_task or snowflake_execute_task, which would require description-level guidance.

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 explicit when-to-use guidance, no alternatives, and no prerequisites or exclusions. The only implied context is that the task should be active, but it does not say what to do otherwise or how this differs from resuming or dropping a task.

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

snowflake_suspend_warehouseSnowflake Suspend WarehouseA
Idempotent

Suspend an active virtual warehouse to save compute costs.

ParametersJSON Schema
NameRequiredDescriptionDefault
warehouse_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the mutation and repeat-safety profile is covered structurally. The description adds only that the target must be 'active' and the cost-saving purpose; it omits what happens to in-flight queries when the warehouse is suspended and whether this requires ownership/OPERATE privileges, which are the meaningful behavioral gaps left.

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 front-loaded sentence with zero filler; the action and its rationale appear first. Nothing in the sentence is redundant or misplaced.

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?

An output schema exists, so return-value explanation is not required, and annotations cover the safety/idempotency profile. What remains thin is operational context for a warehouse-mutating tool: effect on running queries and permission requirements. The definition is usable but leans heavily on structured fields.

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 0% for the single warehouse_name parameter, so the description carries some burden. The name is largely self-describing, but the description adds no naming conventions, casing rules, or whether unqualified names resolve against the current context role/database.

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?

States a specific verb (Suspend) and resource (virtual warehouse) plus the outcome rationale (save compute costs), so the operation is unambiguous. It does not name or distinguish itself from plausible siblings such as snowflake_resume_warehouse or snowflake_drop_warehouse, but the verb itself makes the intent clear.

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?

'To save compute costs' implies the motivation for suspending, which is a weak hint about when a caller would choose this over leaving a warehouse running. There is no explicit contrast with snowflake_resume_warehouse, snowflake_drop_warehouse, or snowflake_suspend_compute_pool, and no precondition guidance (e.g., that the warehouse must be active or must have no running queries).

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

snowflake_truncate_tableSnowflake Truncate TableB
Destructive

Truncate all data rows from a table while preserving schema. Requires confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is known. The description adds useful context (schema is preserved, confirmation is required), but says nothing about irreversibility, whether the truncate can be undone, or privilege requirements — meaningful gaps for a 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?

Two short sentences, no filler, with the effect and the confirmation requirement front-loaded. Slightly under-specified rather than padded, so it is efficient but leaves the reader without operational detail.

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?

An output schema exists, so return-value description is not needed, and annotations cover the destructive nature. However, the description omits irreversibility, recovery options, and the exact semantics of the confirm flag — gaps an agent risks getting wrong on a data-destroying call.

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 0% for two parameters, so the description must compensate. 'Requires confirmation' hints at the confirm boolean but never states that it must be set true for the operation to proceed, and table_name gets no guidance on qualification (database.schema.table) despite additionalProperties=false.

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?

States a specific verb (truncate) and resource (table) plus the key differentiator — 'all data rows' removed while 'preserving schema' — which implicitly separates it from snowflake_drop_table. It does not name a sibling explicitly, so it falls just short of a 5.

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

Usage Guidelines2/5

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

The only guidance is 'Requires confirmation,' which describes a precondition rather than when to choose this tool over snowflake_drop_table or snowflake_execute_dml. No when-not-to-use or alternative routing is given for a highly destructive operation.

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

snowflake_undrop_databaseSnowflake Undrop DatabaseB

Restore a recently dropped database using Time Travel.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations set readOnlyHint=false (a mutation) and destructiveHint=false, and the description's 'using Time Travel' explains the recovery mechanism, which adds context beyond the annotations. Still missing: whether the operation fails outside the retention window, permission requirements, and whether dependent objects are restored.

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?

A single front-loaded sentence with the verb, resource, and mechanism, and no filler. It is appropriately tight, though arguably too sparse given the undocumented parameter and retention-window nuance.

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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. But with a parameter undocumented in both schema and description, and no detail on the Time Travel window boundary or failure behavior, the description is only minimally complete for a state-changing tool.

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

Parameters2/5

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

Schema coverage is 0% and the single 'name' parameter has no schema description. The description never mentions the parameter, so an agent must infer that 'name' is the dropped database's name (and its format/casing) purely from the tool name. It does not compensate for the coverage gap.

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 gives a specific verb ('Restore') and resource ('a recently dropped database') with the mechanism ('using Time Travel'). It is clearly distinguishable from snowflake_drop_database, though it does not name or differentiate itself from siblings like snowflake_undrop_table or snowflake_undrop_schema beyond the object noun in the 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 word 'recently' implicitly conveys the usage constraint (must be within the Time Travel retention window), which is a useful qualifier. However, there is no explicit when-to-use guidance, no mention of what to do if the window has passed, and no reference to alternatives.

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

snowflake_undrop_schemaSnowflake Undrop SchemaB

Restore a recently dropped schema using Time Travel.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
databaseNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the write-but-non-destructive profile is covered structurally. The description contributes the Time Travel mechanism and the 'recently' qualifier hinting at a retention window, but it never states the actual retention limit, required privileges, or what happens if the window has expired.

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, front-loaded sentence with no filler; the verb and the overriding constraint ('recently dropped') come first.

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 output schema exists, so return values need not be described. Still, for a restore tool with two undocumented parameters and a hard Time Travel retention boundary, the description omits the operational facts an agent needs (retention window, required role, handling of an optional database qualifier).

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

Parameters2/5

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

Schema description coverage is 0% and the description says nothing about the two parameters. It does not explain that 'name' is the schema identifier or that 'database' is an optional qualifier that presumably defaults to the current database context — a meaningful ambiguity for a restore operation.

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

Purpose4/5

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

Names a specific verb (Restore) and resource (a recently dropped schema), and the 'undrop_schema' naming plus the Time Travel mechanism clearly separates it from snowflake_drop_schema and from snowflake_undrop_database. However, it never explicitly distinguishes itself from the sibling undrop tools, leaving that inference to the agent.

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?

'Restore a recently dropped schema' implies the triggering situation (an accidental or unwanted DROP), which is useful context. It names no alternative tool and states no when-not conditions, so the guidance remains 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.

snowflake_undrop_tableSnowflake Undrop TableB

Restore a recently dropped table using Time Travel.

ParametersJSON Schema
NameRequiredDescriptionDefault
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation profile is covered structurally. The description adds the Time Travel mechanism, which is genuinely useful, but omits the critical behavioral limit: undrop only works within the table's retention window and fails past it, and it says nothing about required privileges on the object.

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?

One compact sentence with no filler, front-loaded with the verb. It earns its place, though it is arguably too terse for a recovery operation where the retention constraint is essential rather than optional.

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?

An output schema exists so return values need no explanation, but the definition still leaves out what an agent needs to call this correctly: fully-qualified naming for the sole parameter and the retention-window precondition that determines success or failure.

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

Parameters2/5

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

Schema coverage is 0% and the description never mentions the single required parameter. For a Snowflake object it matters whether table_name must be a fully-qualified DATABASE.SCHEMA.TABLE identifier or can be resolved from the current context, and neither the schema nor the description clarifies this.

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?

States a specific verb ("Restore") and resource ("recently dropped table") plus the mechanism ("Time Travel"), so the agent knows this is the inverse of snowflake_drop_table. It does not explicitly contrast with snowflake_undrop_schema or snowflake_undrop_database, but the resource in the name disambiguates clearly enough.

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?

"Recently dropped" implies the prerequisite condition for use, but there is no explicit when-to-use/when-not statement and no alternative named. The agent is left to infer that this only applies within the Time Travel retention window rather than being told.

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

snowflake_use_connectionSnowflake Use ConnectionA
Idempotent

Dynamically switch the active Snowflake session to a different connection profile from ~/.snowflake/connections.toml.

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true). The description adds useful context beyond them by disclosing the source of profiles (~/.snowflake/connections.toml) and that the switch is dynamic/session-wide. It omits what an agent most needs: that this mutates shared session state affecting all subsequent calls, and what happens if the named profile is missing or requires re-authentication.

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?

One sentence, front-loaded with the action, and every clause carries information (what changes, what it changes to, where the target comes from). No filler or repetition of the tool name.

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?

An output schema exists, so the description need not explain return values. Still, for a state-mutating session tool it should mention that the switch persists for all subsequent tool calls in the session and how to discover valid profile names; those omissions are meaningful for correct 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 0%, so the description carries the burden for the single parameter. It does partially compensate by stating that profiles come from ~/.snowflake/connections.toml, implying connection_name must match a profile key in that file, but it never says whether the name is case-sensitive, whether it must pre-exist, or how to enumerate valid values.

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 names a specific verb and resource: 'switch the active Snowflake session to a different connection profile.' That is unambiguous and clearly distinct from every sibling, most of which are read/list/DDL operations. It stops short of 5 only because it never says which sibling it relates to (e.g., list_connections for discovering profile names).

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?

Usage is implied rather than stated: an agent can infer the tool is used when subsequent calls should target a different account/connection profile, and that it only makes sense before issuing queries. However, no explicit when-to-use, when-not-to-use, or pointer to snowflake_list_connections for valid names is provided.

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

snowflake_warehouse_scale_and_executeSnowflake Warehouse Scale And ExecuteB

Composite recipe: Safely scale up a warehouse, run a heavy query, and optionally restore previous size.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
target_sizeYes
warehouse_nameYes
restore_previous_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true. The description adds useful context that restoration of the previous warehouse size is optional, but it does not explain failure behavior (e.g., whether restoration happens if the query fails), permissions required, or concurrency implications. With annotations covering the safety profile, this is a moderate addition.

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?

A single sentence, front-loaded with 'Composite recipe' so the agent immediately understands the orchestration nature. 'Safely' is a vague filler word, but otherwise every clause earns its place. It is appropriately sized for a terse 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 tool is a multi-step composite with side effects, and the description is one sentence. Output schema exists, so return values need not be explained, but ordering, failure handling, and permission prerequisites for the composite workflow are omitted. It is minimally viable but thin for a tool of this complexity.

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 0%, so the description must carry parameter meaning. It maps conceptually to all four parameters—warehouse name and target size for scaling, query for execution, and restore_previous_size for restoration—but adds no type, format, allowed-value, or ordering detail. It compensates partially but leaves syntax undocumented.

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 names a specific composite action: scaling a warehouse, running a heavy query, and optionally restoring size. 'Composite recipe' distinguishes it from single-purpose siblings like snowflake_resize_warehouse or snowflake_query. It stops short of naming those siblings explicitly, so it is clear but not maximally differentiating.

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 'run a heavy query' implies when this tool is useful, and the composite nature implies it should be used in place of separate resize/query calls. However, there are no explicit when-to-use or when-not-to-use statements, and no named alternatives. The guidance is present only by implication.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 140 tool updatesv1.2.0
    • Changedsnowflake_account_usage_summary3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / title
        Removed value: -"snowflake_account_usage_summaryArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_account_usage_summaryDictOutput"
    • Changedsnowflake_begin_transaction3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / title
        Removed value: -"snowflake_begin_transactionArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_begin_transactionDictOutput"
    • Changedsnowflake_cancel_query4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / query_id / title
        Removed value: -"Query Id"
      • removedInput schema / title
        Removed value: -"snowflake_cancel_queryArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_cancel_queryDictOutput"
    • Changedsnowflake_clone_database5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / source_database / title
        Removed value: -"Source Database"
      • removedInput schema / properties / target_database / title
        Removed value: -"Target Database"
      • removedInput schema / title
        Removed value: -"snowflake_clone_databaseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_clone_databaseDictOutput"
    • Changedsnowflake_clone_schema6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / source_schema / title
        Removed value: -"Source Schema"
      • removedInput schema / properties / target_schema / title
        Removed value: -"Target Schema"
      • removedInput schema / title
        Removed value: -"snowflake_clone_schemaArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_clone_schemaDictOutput"
    • Changedsnowflake_clone_table5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / source_table / title
        Removed value: -"Source Table"
      • removedInput schema / properties / target_table / title
        Removed value: -"Target Table"
      • removedInput schema / title
        Removed value: -"snowflake_clone_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_clone_tableDictOutput"
    • Changedsnowflake_clone_table_recipe6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / at_or_before / title
        Removed value: -"At Or Before"
      • removedInput schema / properties / source_table / title
        Removed value: -"Source Table"
      • removedInput schema / properties / target_table / title
        Removed value: -"Target Table"
      • removedInput schema / title
        Removed value: -"snowflake_clone_table_recipeArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_clone_table_recipeDictOutput"
    • Changedsnowflake_commit_transaction3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / title
        Removed value: -"snowflake_commit_transactionArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_commit_transactionDictOutput"
    • Changedsnowflake_cortex_analyst_query5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / question / title
        Removed value: -"Question"
      • removedInput schema / properties / semantic_model_path / title
        Removed value: -"Semantic Model Path"
      • removedInput schema / title
        Removed value: -"snowflake_cortex_analyst_queryArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_cortex_analyst_queryDictOutput"
    • Changedsnowflake_cortex_complete7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / max_tokens / title
        Removed value: -"Max Tokens"
      • removedInput schema / properties / model / title
        Removed value: -"Model"
      • removedInput schema / properties / prompt / title
        Removed value: -"Prompt"
      • removedInput schema / properties / temperature / title
        Removed value: -"Temperature"
      • removedInput schema / title
        Removed value: -"snowflake_cortex_completeArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_cortex_completeDictOutput"
    • Changedsnowflake_cortex_embed_text_7685 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / model / title
        Removed value: -"Model"
      • removedInput schema / properties / text / title
        Removed value: -"Text"
      • removedInput schema / title
        Removed value: -"snowflake_cortex_embed_text_768Arguments"
      • removedOutput schema / title
        Removed value: -"snowflake_cortex_embed_text_768DictOutput"
    • Changedsnowflake_cortex_extract_answer5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / question / title
        Removed value: -"Question"
      • removedInput schema / properties / source_text / title
        Removed value: -"Source Text"
      • removedInput schema / title
        Removed value: -"snowflake_cortex_extract_answerArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_cortex_extract_answerDictOutput"
    • Changedsnowflake_cortex_search7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / columns / title
        Removed value: -"Columns"
      • removedInput schema / properties / limit / title
        Removed value: -"Limit"
      • removedInput schema / properties / query / title
        Removed value: -"Query"
      • removedInput schema / properties / service_name / title
        Removed value: -"Service Name"
      • removedInput schema / title
        Removed value: -"snowflake_cortex_searchArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_cortex_searchDictOutput"
    • Changedsnowflake_cortex_sentiment4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / text / title
        Removed value: -"Text"
      • removedInput schema / title
        Removed value: -"snowflake_cortex_sentimentArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_cortex_sentimentDictOutput"
    • Changedsnowflake_cortex_summarize4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / text / title
        Removed value: -"Text"
      • removedInput schema / title
        Removed value: -"snowflake_cortex_summarizeArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_cortex_summarizeDictOutput"
    • Changedsnowflake_cortex_translate6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / source_language / title
        Removed value: -"Source Language"
      • removedInput schema / properties / target_language / title
        Removed value: -"Target Language"
      • removedInput schema / properties / text / title
        Removed value: -"Text"
      • removedInput schema / title
        Removed value: -"snowflake_cortex_translateArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_cortex_translateDictOutput"
    • Changedsnowflake_create_alert12 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / action_sql / title
        Removed value: -"Action Sql"
      • removedInput schema / properties / alert_name / title
        Removed value: -"Alert Name"
      • removedInput schema / properties / comment / title
        Removed value: -"Comment"
      • removedInput schema / properties / condition_sql / title
        Removed value: -"Condition Sql"
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schedule / title
        Removed value: -"Schedule"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / warehouse_name / title
        Removed value: -"Warehouse Name"
      • removedInput schema / title
        Removed value: -"snowflake_create_alertArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_alertDictOutput"
    • Changedsnowflake_create_database7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / comment / title
        Removed value: -"Comment"
      • removedInput schema / properties / data_retention_time_in_days / title
        Removed value: -"Data Retention Time In Days"
      • removedInput schema / properties / if_not_exists / title
        Removed value: -"If Not Exists"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / title
        Removed value: -"snowflake_create_databaseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_databaseDictOutput"
    • Changedsnowflake_create_pipe9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / auto_ingest / title
        Removed value: -"Auto Ingest"
      • removedInput schema / properties / copy_statement / title
        Removed value: -"Copy Statement"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / if_not_exists / title
        Removed value: -"If Not Exists"
      • removedInput schema / properties / pipe_name / title
        Removed value: -"Pipe Name"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_create_pipeArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_pipeDictOutput"
    • Changedsnowflake_create_role6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / comment / title
        Removed value: -"Comment"
      • removedInput schema / properties / if_not_exists / title
        Removed value: -"If Not Exists"
      • removedInput schema / properties / role_name / title
        Removed value: -"Role Name"
      • removedInput schema / title
        Removed value: -"snowflake_create_roleArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_roleDictOutput"
    • Changedsnowflake_create_schema7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / comment / title
        Removed value: -"Comment"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / if_not_exists / title
        Removed value: -"If Not Exists"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / title
        Removed value: -"snowflake_create_schemaArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_schemaDictOutput"
    • Changedsnowflake_create_stage8 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / comment / title
        Removed value: -"Comment"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / if_not_exists / title
        Removed value: -"If Not Exists"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / stage_name / title
        Removed value: -"Stage Name"
      • removedInput schema / title
        Removed value: -"snowflake_create_stageArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_stageDictOutput"
    • Changedsnowflake_create_stream9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / append_only / title
        Removed value: -"Append Only"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / if_not_exists / title
        Removed value: -"If Not Exists"
      • removedInput schema / properties / on_table / title
        Removed value: -"On Table"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / stream_name / title
        Removed value: -"Stream Name"
      • removedInput schema / title
        Removed value: -"snowflake_create_streamArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_streamDictOutput"
    • Changedsnowflake_create_table8 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / columns_sql / title
        Removed value: -"Columns Sql"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / if_not_exists / title
        Removed value: -"If Not Exists"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_create_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_tableDictOutput"
    • Changedsnowflake_create_task10 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / if_not_exists / title
        Removed value: -"If Not Exists"
      • removedInput schema / properties / schedule / title
        Removed value: -"Schedule"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / sql_statement / title
        Removed value: -"Sql Statement"
      • removedInput schema / properties / task_name / title
        Removed value: -"Task Name"
      • removedInput schema / properties / warehouse / title
        Removed value: -"Warehouse"
      • removedInput schema / title
        Removed value: -"snowflake_create_taskArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_taskDictOutput"
    • Changedsnowflake_create_user9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / comment / title
        Removed value: -"Comment"
      • removedInput schema / properties / default_role / title
        Removed value: -"Default Role"
      • removedInput schema / properties / default_warehouse / title
        Removed value: -"Default Warehouse"
      • removedInput schema / properties / if_not_exists / title
        Removed value: -"If Not Exists"
      • removedInput schema / properties / password / title
        Removed value: -"Password"
      • removedInput schema / properties / user_name / title
        Removed value: -"User Name"
      • removedInput schema / title
        Removed value: -"snowflake_create_userArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_userDictOutput"
    • Changedsnowflake_create_warehouse9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / auto_resume / title
        Removed value: -"Auto Resume"
      • removedInput schema / properties / auto_suspend / title
        Removed value: -"Auto Suspend"
      • removedInput schema / properties / comment / title
        Removed value: -"Comment"
      • removedInput schema / properties / if_not_exists / title
        Removed value: -"If Not Exists"
      • removedInput schema / properties / warehouse_name / title
        Removed value: -"Warehouse Name"
      • removedInput schema / properties / warehouse_size / title
        Removed value: -"Warehouse Size"
      • removedInput schema / title
        Removed value: -"snowflake_create_warehouseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_create_warehouseDictOutput"
    • Changedsnowflake_describe_alert6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / alert_name / title
        Removed value: -"Alert Name"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_alertArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_alertDictOutput"
    • Changedsnowflake_describe_compute_pool4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pool_name / title
        Removed value: -"Pool Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_compute_poolArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_compute_poolDictOutput"
    • Changedsnowflake_describe_database4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database_name / title
        Removed value: -"Database Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_databaseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_databaseDictOutput"
    • Changedsnowflake_describe_dynamic_table6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_dynamic_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_dynamic_tableDictOutput"
    • Changedsnowflake_describe_function6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / function_signature / title
        Removed value: -"Function Signature"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_functionArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_functionDictOutput"
    • Changedsnowflake_describe_iceberg_table6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_iceberg_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_iceberg_tableDictOutput"
    • Changedsnowflake_describe_masking_policy6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / policy_name / title
        Removed value: -"Policy Name"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_masking_policyArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_masking_policyDictOutput"
    • Changedsnowflake_describe_network_policy4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / policy_name / title
        Removed value: -"Policy Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_network_policyArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_network_policyDictOutput"
    • Changedsnowflake_describe_network_rule6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / rule_name / title
        Removed value: -"Rule Name"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_network_ruleArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_network_ruleDictOutput"
    • Changedsnowflake_describe_password_policy6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / policy_name / title
        Removed value: -"Policy Name"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_password_policyArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_password_policyDictOutput"
    • Changedsnowflake_describe_pipe6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pipe_name / title
        Removed value: -"Pipe Name"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_pipeArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_pipeDictOutput"
    • Changedsnowflake_describe_procedure6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / procedure_signature / title
        Removed value: -"Procedure Signature"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_procedureArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_procedureDictOutput"
    • Changedsnowflake_describe_role4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / role_name / title
        Removed value: -"Role Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_roleArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_roleDictOutput"
    • Changedsnowflake_describe_row_access_policy6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / policy_name / title
        Removed value: -"Policy Name"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_row_access_policyArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_row_access_policyDictOutput"
    • Changedsnowflake_describe_schema5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_schemaArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_schemaDictOutput"
    • Changedsnowflake_describe_secret6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / secret_name / title
        Removed value: -"Secret Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_secretArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_secretDictOutput"
    • Changedsnowflake_describe_stage6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / stage_name / title
        Removed value: -"Stage Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_stageArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_stageDictOutput"
    • Changedsnowflake_describe_stream6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / stream_name / title
        Removed value: -"Stream Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_streamArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_streamDictOutput"
    • Changedsnowflake_describe_streamlit6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / streamlit_name / title
        Removed value: -"Streamlit Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_streamlitArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_streamlitDictOutput"
    • Changedsnowflake_describe_table6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_tableDictOutput"
    • Changedsnowflake_describe_tag6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / tag_name / title
        Removed value: -"Tag Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_tagArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_tagDictOutput"
    • Changedsnowflake_describe_task6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / task_name / title
        Removed value: -"Task Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_taskArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_taskDictOutput"
    • Changedsnowflake_describe_user4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / user_name / title
        Removed value: -"User Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_userArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_userDictOutput"
    • Changedsnowflake_describe_warehouse4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / warehouse_name / title
        Removed value: -"Warehouse Name"
      • removedInput schema / title
        Removed value: -"snowflake_describe_warehouseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_describe_warehouseDictOutput"
    • Changedsnowflake_discover_schema_lineage5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_discover_schema_lineageArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_discover_schema_lineageDictOutput"
    • Changedsnowflake_drop_alert7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / alert_name / title
        Removed value: -"Alert Name"
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_drop_alertArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_drop_alertDictOutput"
    • Changedsnowflake_drop_database5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / title
        Removed value: -"snowflake_drop_databaseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_drop_databaseDictOutput"
    • Changedsnowflake_drop_pipe7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pipe_name / title
        Removed value: -"Pipe Name"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_drop_pipeArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_drop_pipeDictOutput"
    • Changedsnowflake_drop_role5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / role_name / title
        Removed value: -"Role Name"
      • removedInput schema / title
        Removed value: -"snowflake_drop_roleArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_drop_roleDictOutput"
    • Changedsnowflake_drop_schema6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / title
        Removed value: -"snowflake_drop_schemaArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_drop_schemaDictOutput"
    • Changedsnowflake_drop_stage7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / stage_name / title
        Removed value: -"Stage Name"
      • removedInput schema / title
        Removed value: -"snowflake_drop_stageArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_drop_stageDictOutput"
    • Changedsnowflake_drop_stream7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / stream_name / title
        Removed value: -"Stream Name"
      • removedInput schema / title
        Removed value: -"snowflake_drop_streamArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_drop_streamDictOutput"
    • Changedsnowflake_drop_table5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_drop_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_drop_tableDictOutput"
    • Changedsnowflake_drop_task7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / task_name / title
        Removed value: -"Task Name"
      • removedInput schema / title
        Removed value: -"snowflake_drop_taskArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_drop_taskDictOutput"
    • Changedsnowflake_drop_warehouse5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / warehouse_name / title
        Removed value: -"Warehouse Name"
      • removedInput schema / title
        Removed value: -"snowflake_drop_warehouseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_drop_warehouseDictOutput"
    • Changedsnowflake_execute_dml4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / statement / title
        Removed value: -"Statement"
      • removedInput schema / title
        Removed value: -"snowflake_execute_dmlArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_execute_dmlDictOutput"
    • Changedsnowflake_execute_task6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / task_name / title
        Removed value: -"Task Name"
      • removedInput schema / title
        Removed value: -"snowflake_execute_taskArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_execute_taskDictOutput"
    • Changedsnowflake_export_query_to_stage7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / file_format / title
        Removed value: -"File Format"
      • removedInput schema / properties / header / title
        Removed value: -"Header"
      • removedInput schema / properties / query / title
        Removed value: -"Query"
      • removedInput schema / properties / stage_location / title
        Removed value: -"Stage Location"
      • removedInput schema / title
        Removed value: -"snowflake_export_query_to_stageArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_export_query_to_stageDictOutput"
    • Changedsnowflake_get_column_lineage9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / column_name / title
        Removed value: -"Column Name"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / days / title
        Removed value: -"Days"
      • removedInput schema / properties / limit / title
        Removed value: -"Limit"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_get_column_lineageArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_column_lineageDictOutput"
    • Changedsnowflake_get_current_context3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / title
        Removed value: -"snowflake_get_current_contextArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_current_contextDictOutput"
    • Changedsnowflake_get_database_ddl4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database_name / title
        Removed value: -"Database Name"
      • removedInput schema / title
        Removed value: -"snowflake_get_database_ddlArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_database_ddlDictOutput"
    • Changedsnowflake_get_object_lineage7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / direction / title
        Removed value: -"Direction"
      • removedInput schema / properties / object_name / title
        Removed value: -"Object Name"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_get_object_lineageArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_object_lineageDictOutput"
    • Changedsnowflake_get_object_tag_references5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / object_domain / title
        Removed value: -"Object Domain"
      • removedInput schema / properties / object_name / title
        Removed value: -"Object Name"
      • removedInput schema / title
        Removed value: -"snowflake_get_object_tag_referencesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_object_tag_referencesDictOutput"
    • Changedsnowflake_get_pipe_status6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pipe_name / title
        Removed value: -"Pipe Name"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_get_pipe_statusArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_pipe_statusDictOutput"
    • Changedsnowflake_get_query_history4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / limit / title
        Removed value: -"Limit"
      • removedInput schema / title
        Removed value: -"snowflake_get_query_historyArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_query_historyDictOutput"
    • Changedsnowflake_get_query_operator_stats4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / query_id / title
        Removed value: -"Query Id"
      • removedInput schema / title
        Removed value: -"snowflake_get_query_operator_statsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_query_operator_statsDictOutput"
    • Changedsnowflake_get_query_plan4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / query / title
        Removed value: -"Query"
      • removedInput schema / title
        Removed value: -"snowflake_get_query_planArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_query_planDictOutput"
    • Changedsnowflake_get_table_ddl5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / object_name / title
        Removed value: -"Object Name"
      • removedInput schema / properties / object_type / title
        Removed value: -"Object Type"
      • removedInput schema / title
        Removed value: -"snowflake_get_table_ddlArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_table_ddlDictOutput"
    • Changedsnowflake_get_warehouse_load_history4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / warehouse_name / title
        Removed value: -"Warehouse Name"
      • removedInput schema / title
        Removed value: -"snowflake_get_warehouse_load_historyArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_get_warehouse_load_historyDictOutput"
    • Changedsnowflake_health_check3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / title
        Removed value: -"snowflake_health_checkArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_health_checkDictOutput"
    • Changedsnowflake_inspect_table_with_sample7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / sample_rows / title
        Removed value: -"Sample Rows"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_inspect_table_with_sampleArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_inspect_table_with_sampleDictOutput"
    • Changedsnowflake_list_alerts6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_alertsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_alertsDictOutput"
    • Changedsnowflake_list_catalog_integrations4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_catalog_integrationsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_catalog_integrationsDictOutput"
    • Changedsnowflake_list_compute_pools4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_compute_poolsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_compute_poolsDictOutput"
    • Changedsnowflake_list_connections3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / title
        Removed value: -"snowflake_list_connectionsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_connectionsDictOutput"
    • Changedsnowflake_list_databases4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_databasesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_databasesDictOutput"
    • Changedsnowflake_list_dynamic_tables6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_dynamic_tablesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_dynamic_tablesDictOutput"
    • Changedsnowflake_list_event_tables6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_event_tablesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_event_tablesDictOutput"
    • Changedsnowflake_list_external_volumes4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_external_volumesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_external_volumesDictOutput"
    • Changedsnowflake_list_functions6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_functionsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_functionsDictOutput"
    • Changedsnowflake_list_grants_to_role4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / role_name / title
        Removed value: -"Role Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_grants_to_roleArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_grants_to_roleDictOutput"
    • Changedsnowflake_list_grants_to_user4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / user_name / title
        Removed value: -"User Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_grants_to_userArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_grants_to_userDictOutput"
    • Changedsnowflake_list_iceberg_tables6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_iceberg_tablesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_iceberg_tablesDictOutput"
    • Changedsnowflake_list_image_repositories6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_image_repositoriesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_image_repositoriesDictOutput"
    • Changedsnowflake_list_integrations5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / integration_type / title
        Removed value: -"Integration Type"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_integrationsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_integrationsDictOutput"
    • Changedsnowflake_list_masking_policies6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_masking_policiesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_masking_policiesDictOutput"
    • Changedsnowflake_list_network_policies4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_network_policiesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_network_policiesDictOutput"
    • Changedsnowflake_list_network_rules6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_network_rulesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_network_rulesDictOutput"
    • Changedsnowflake_list_notification_integrations4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_notification_integrationsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_notification_integrationsDictOutput"
    • Changedsnowflake_list_password_policies6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_password_policiesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_password_policiesDictOutput"
    • Changedsnowflake_list_pipes6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_pipesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_pipesDictOutput"
    • Changedsnowflake_list_procedures6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_proceduresArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_proceduresDictOutput"
    • Changedsnowflake_list_roles4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_rolesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_rolesDictOutput"
    • Changedsnowflake_list_row_access_policies6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_row_access_policiesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_row_access_policiesDictOutput"
    • Changedsnowflake_list_schemas5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_schemasArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_schemasDictOutput"
    • Changedsnowflake_list_secrets6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_secretsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_secretsDictOutput"
    • Changedsnowflake_list_sequences6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_sequencesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_sequencesDictOutput"
    • Changedsnowflake_list_services6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_servicesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_servicesDictOutput"
    • Changedsnowflake_list_stage_files5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / stage_location / title
        Removed value: -"Stage Location"
      • removedInput schema / title
        Removed value: -"snowflake_list_stage_filesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_stage_filesDictOutput"
    • Changedsnowflake_list_stages6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_stagesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_stagesDictOutput"
    • Changedsnowflake_list_streamlits6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_streamlitsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_streamlitsDictOutput"
    • Changedsnowflake_list_streams6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_streamsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_streamsDictOutput"
    • Changedsnowflake_list_tables6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_tablesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_tablesDictOutput"
    • Changedsnowflake_list_tags6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_tagsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_tagsDictOutput"
    • Changedsnowflake_list_tasks6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_tasksArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_tasksDictOutput"
    • Changedsnowflake_list_users4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_usersArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_usersDictOutput"
    • Changedsnowflake_list_views6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_list_viewsArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_viewsDictOutput"
    • Changedsnowflake_list_warehouses4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / title
        Removed value: -"snowflake_list_warehousesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_list_warehousesDictOutput"
    • Changedsnowflake_profile_table6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_profile_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_profile_tableDictOutput"
    • Changedsnowflake_query5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / max_rows / title
        Removed value: -"Max Rows"
      • removedInput schema / properties / query / title
        Removed value: -"Query"
      • removedInput schema / title
        Removed value: -"snowflake_queryArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_queryDictOutput"
    • Changedsnowflake_read_stream_changes5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / limit / title
        Removed value: -"Limit"
      • removedInput schema / properties / stream_name / title
        Removed value: -"Stream Name"
      • removedInput schema / title
        Removed value: -"snowflake_read_stream_changesArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_read_stream_changesDictOutput"
    • Changedsnowflake_refresh_dynamic_table6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_refresh_dynamic_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_refresh_dynamic_tableDictOutput"
    • Changedsnowflake_remove_stage_file5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / stage_file_path / title
        Removed value: -"Stage File Path"
      • removedInput schema / title
        Removed value: -"snowflake_remove_stage_fileArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_remove_stage_fileDictOutput"
    • Changedsnowflake_resize_warehouse5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / size / title
        Removed value: -"Size"
      • removedInput schema / properties / warehouse_name / title
        Removed value: -"Warehouse Name"
      • removedInput schema / title
        Removed value: -"snowflake_resize_warehouseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_resize_warehouseDictOutput"
    • Changedsnowflake_resume_alert6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / alert_name / title
        Removed value: -"Alert Name"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_resume_alertArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_resume_alertDictOutput"
    • Changedsnowflake_resume_compute_pool4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pool_name / title
        Removed value: -"Pool Name"
      • removedInput schema / title
        Removed value: -"snowflake_resume_compute_poolArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_resume_compute_poolDictOutput"
    • Changedsnowflake_resume_dynamic_table6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_resume_dynamic_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_resume_dynamic_tableDictOutput"
    • Changedsnowflake_resume_task6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / task_name / title
        Removed value: -"Task Name"
      • removedInput schema / title
        Removed value: -"snowflake_resume_taskArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_resume_taskDictOutput"
    • Changedsnowflake_resume_warehouse4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / warehouse_name / title
        Removed value: -"Warehouse Name"
      • removedInput schema / title
        Removed value: -"snowflake_resume_warehouseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_resume_warehouseDictOutput"
    • Changedsnowflake_rollback_transaction3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / title
        Removed value: -"snowflake_rollback_transactionArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_rollback_transactionDictOutput"
    • Changedsnowflake_sample_table5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / sample_size / title
        Removed value: -"Sample Size"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_sample_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_sample_tableDictOutput"
    • Changedsnowflake_set_object_tag7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / object_domain / title
        Removed value: -"Object Domain"
      • removedInput schema / properties / object_name / title
        Removed value: -"Object Name"
      • removedInput schema / properties / tag_name / title
        Removed value: -"Tag Name"
      • removedInput schema / properties / tag_value / title
        Removed value: -"Tag Value"
      • removedInput schema / title
        Removed value: -"snowflake_set_object_tagArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_set_object_tagDictOutput"
    • Changedsnowflake_suspend_alert6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / alert_name / title
        Removed value: -"Alert Name"
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / title
        Removed value: -"snowflake_suspend_alertArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_suspend_alertDictOutput"
    • Changedsnowflake_suspend_compute_pool4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / pool_name / title
        Removed value: -"Pool Name"
      • removedInput schema / title
        Removed value: -"snowflake_suspend_compute_poolArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_suspend_compute_poolDictOutput"
    • Changedsnowflake_suspend_dynamic_table6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_suspend_dynamic_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_suspend_dynamic_tableDictOutput"
    • Changedsnowflake_suspend_task6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / schema_name / title
        Removed value: -"Schema Name"
      • removedInput schema / properties / task_name / title
        Removed value: -"Task Name"
      • removedInput schema / title
        Removed value: -"snowflake_suspend_taskArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_suspend_taskDictOutput"
    • Changedsnowflake_suspend_warehouse4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / warehouse_name / title
        Removed value: -"Warehouse Name"
      • removedInput schema / title
        Removed value: -"snowflake_suspend_warehouseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_suspend_warehouseDictOutput"
    • Changedsnowflake_truncate_table5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / confirm / title
        Removed value: -"Confirm"
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_truncate_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_truncate_tableDictOutput"
    • Changedsnowflake_undrop_database4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / title
        Removed value: -"snowflake_undrop_databaseArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_undrop_databaseDictOutput"
    • Changedsnowflake_undrop_schema5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / title
        Removed value: -"snowflake_undrop_schemaArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_undrop_schemaDictOutput"
    • Changedsnowflake_undrop_table4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / table_name / title
        Removed value: -"Table Name"
      • removedInput schema / title
        Removed value: -"snowflake_undrop_tableArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_undrop_tableDictOutput"
    • Changedsnowflake_use_connection4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / connection_name / title
        Removed value: -"Connection Name"
      • removedInput schema / title
        Removed value: -"snowflake_use_connectionArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_use_connectionDictOutput"
    • Changedsnowflake_warehouse_scale_and_execute7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / query / title
        Removed value: -"Query"
      • removedInput schema / properties / restore_previous_size / title
        Removed value: -"Restore Previous Size"
      • removedInput schema / properties / target_size / title
        Removed value: -"Target Size"
      • removedInput schema / properties / warehouse_name / title
        Removed value: -"Warehouse Name"
      • removedInput schema / title
        Removed value: -"snowflake_warehouse_scale_and_executeArguments"
      • removedOutput schema / title
        Removed value: -"snowflake_warehouse_scale_and_executeDictOutput"
  2. 15 tool updatesv1.1.5
    • Changedsnowflake_cortex_complete1 field changed
      • changedInput schema / properties / model / default
        Previous value: -"claude-3-5-sonnet"New value: +"llama3.3-70b"
    • Changedsnowflake_create_alert1 field changed
      • addedInput schema / properties / confirm
        Added value: +{
        +  "default": false,
        +  "title": "Confirm",
        +  "type": "boolean"
        +}
    • Addedsnowflake_describe_masking_policy
    • Addedsnowflake_describe_row_access_policy
    • Addedsnowflake_get_column_lineage
    • Addedsnowflake_get_object_lineage
    • Addedsnowflake_list_catalog_integrations
    • Addedsnowflake_list_connections
    • Addedsnowflake_list_event_tables
    • Addedsnowflake_list_external_volumes
    • Addedsnowflake_list_masking_policies
    • Addedsnowflake_list_notification_integrations
    • Addedsnowflake_list_row_access_policies
    • Addedsnowflake_rollback_transaction
    • Addedsnowflake_use_connection
  3. 127 tool updatesv0.1.0
    • First observedsnowflake_account_usage_summary
    • First observedsnowflake_begin_transaction
    • First observedsnowflake_cancel_query
    • First observedsnowflake_clone_database
    • First observedsnowflake_clone_schema
    • First observedsnowflake_clone_table
    • First observedsnowflake_clone_table_recipe
    • First observedsnowflake_commit_transaction
    • First observedsnowflake_cortex_analyst_query
    • First observedsnowflake_cortex_complete
    • First observedsnowflake_cortex_embed_text_768
    • First observedsnowflake_cortex_extract_answer
    • First observedsnowflake_cortex_search
    • First observedsnowflake_cortex_sentiment
    • First observedsnowflake_cortex_summarize
    • First observedsnowflake_cortex_translate
    • First observedsnowflake_create_alert
    • First observedsnowflake_create_database
    • First observedsnowflake_create_pipe
    • First observedsnowflake_create_role
    • First observedsnowflake_create_schema
    • First observedsnowflake_create_stage
    • First observedsnowflake_create_stream
    • First observedsnowflake_create_table
    • First observedsnowflake_create_task
    • First observedsnowflake_create_user
    • First observedsnowflake_create_warehouse
    • First observedsnowflake_describe_alert
    • First observedsnowflake_describe_compute_pool
    • First observedsnowflake_describe_database
    • First observedsnowflake_describe_dynamic_table
    • First observedsnowflake_describe_function
    • First observedsnowflake_describe_iceberg_table
    • First observedsnowflake_describe_network_policy
    • First observedsnowflake_describe_network_rule
    • First observedsnowflake_describe_password_policy
    • First observedsnowflake_describe_pipe
    • First observedsnowflake_describe_procedure
    • First observedsnowflake_describe_role
    • First observedsnowflake_describe_schema
    • First observedsnowflake_describe_secret
    • First observedsnowflake_describe_stage
    • First observedsnowflake_describe_stream
    • First observedsnowflake_describe_streamlit
    • First observedsnowflake_describe_table
    • First observedsnowflake_describe_tag
    • First observedsnowflake_describe_task
    • First observedsnowflake_describe_user
    • First observedsnowflake_describe_warehouse
    • First observedsnowflake_discover_schema_lineage
    • First observedsnowflake_drop_alert
    • First observedsnowflake_drop_database
    • First observedsnowflake_drop_pipe
    • First observedsnowflake_drop_role
    • First observedsnowflake_drop_schema
    • First observedsnowflake_drop_stage
    • First observedsnowflake_drop_stream
    • First observedsnowflake_drop_table
    • First observedsnowflake_drop_task
    • First observedsnowflake_drop_warehouse
    • First observedsnowflake_execute_dml
    • First observedsnowflake_execute_task
    • First observedsnowflake_export_query_to_stage
    • First observedsnowflake_get_current_context
    • First observedsnowflake_get_database_ddl
    • First observedsnowflake_get_object_tag_references
    • First observedsnowflake_get_pipe_status
    • First observedsnowflake_get_query_history
    • First observedsnowflake_get_query_operator_stats
    • First observedsnowflake_get_query_plan
    • First observedsnowflake_get_table_ddl
    • First observedsnowflake_get_warehouse_load_history
    • First observedsnowflake_health_check
    • First observedsnowflake_inspect_table_with_sample
    • First observedsnowflake_list_alerts
    • First observedsnowflake_list_compute_pools
    • First observedsnowflake_list_databases
    • First observedsnowflake_list_dynamic_tables
    • First observedsnowflake_list_functions
    • First observedsnowflake_list_grants_to_role
    • First observedsnowflake_list_grants_to_user
    • First observedsnowflake_list_iceberg_tables
    • First observedsnowflake_list_image_repositories
    • First observedsnowflake_list_integrations
    • First observedsnowflake_list_network_policies
    • First observedsnowflake_list_network_rules
    • First observedsnowflake_list_password_policies
    • First observedsnowflake_list_pipes
    • First observedsnowflake_list_procedures
    • First observedsnowflake_list_roles
    • First observedsnowflake_list_schemas
    • First observedsnowflake_list_secrets
    • First observedsnowflake_list_sequences
    • First observedsnowflake_list_services
    • First observedsnowflake_list_stage_files
    • First observedsnowflake_list_stages
    • First observedsnowflake_list_streamlits
    • First observedsnowflake_list_streams
    • First observedsnowflake_list_tables
    • First observedsnowflake_list_tags
    • First observedsnowflake_list_tasks
    • First observedsnowflake_list_users
    • First observedsnowflake_list_views
    • First observedsnowflake_list_warehouses
    • First observedsnowflake_profile_table
    • First observedsnowflake_query
    • First observedsnowflake_read_stream_changes
    • First observedsnowflake_refresh_dynamic_table
    • First observedsnowflake_remove_stage_file
    • First observedsnowflake_resize_warehouse
    • First observedsnowflake_resume_alert
    • First observedsnowflake_resume_compute_pool
    • First observedsnowflake_resume_dynamic_table
    • First observedsnowflake_resume_task
    • First observedsnowflake_resume_warehouse
    • First observedsnowflake_sample_table
    • First observedsnowflake_set_object_tag
    • First observedsnowflake_suspend_alert
    • First observedsnowflake_suspend_compute_pool
    • First observedsnowflake_suspend_dynamic_table
    • First observedsnowflake_suspend_task
    • First observedsnowflake_suspend_warehouse
    • First observedsnowflake_truncate_table
    • First observedsnowflake_undrop_database
    • First observedsnowflake_undrop_schema
    • First observedsnowflake_undrop_table
    • First observedsnowflake_warehouse_scale_and_execute

TDQS

C2.9/5.0

Scored across 140 tools

Disambiguation2/5

Many tools have overlapping purposes or unclear boundaries. For example, snowflake_query handles read queries while snowflake_execute_dml handles writes, but snowflake_get_query_plan, snowflake_get_query_history, and snowflake_get_query_operator_stats all relate to query metadata. Additionally, composite recipes like snowflake_inspect_table_with_sample, snowflake_profile_table, and snowflake_discover_schema_lineage duplicate functionality of primitive tools. The sheer number of similar tools (e.g., multiple cortex_* functions, many list_* tools) makes it hard to distinguish which is appropriate for a given task.

Naming Consistency4/5

The vast majority of tool names follow a consistent verb_noun pattern with snake_case, prefixed by 'snowflake_'. There are minor deviations like 'snowflake_cortex_*' and 'snowflake_*_recipe', but overall the pattern is predictable and readable.

Tool Count2/5

With 140 tools, this server is far too large for many practical uses. While Snowflake is a complex platform, the number of tools exceeds what most agents can manage effectively, and many tools are highly specialized or overlapping. This likely leads to decision paralysis and increased error rates.

Completeness4/5

The toolset covers a broad range of Snowflake objects and operations, including databases, schemas, tables, views, warehouses, tasks, streams, and more. However, there are some gaps: for instance, there is no explicit tool to alter table or add columns, and some administrative operations (e.g., managing users beyond create) are limited. Still, the surface is extensive and mostly complete for common workflows.

Maintenance

ActivityActive
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables intelligent data analysis and querying of Snowflake databases through specialized AI agents. Features 20+ tools for data operations, lineage tracing, usage analysis, and performance optimization with multi-agent architecture.
    -
  • A
    license
    A
    quality
    Not graded
    maintenance
    Enables AI assistants to securely connect to Snowflake data warehouses and execute SQL queries through natural language interactions. Supports multiple authentication methods and provides formatted query results with built-in security controls.
    1
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Snowflake through Cortex AI services including search, analyst, and agents for querying structured and unstructured data, plus SQL execution and object management capabilities.
    10,643 PyPI
    298
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to perform comprehensive Snowflake database operations including DDL, DML, and warehouse management. It allows users to query data, manage database objects, and configure permissions using natural language commands.
    MIT