Skip to main content
Glama

Snowflake Execute Dml

snowflake_execute_dml

Execute data modification SQL statements such as INSERT, UPDATE, DELETE, MERGE, or CREATE in Snowflake to alter data and schema.

Instructions

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
statementYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.2.0
    • 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"
  2. First observedv0.1.0

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.

Deploy Server

Other Tools