Skip to main content
Glama

databricks_run_sql

Executa uma instrução SQL num SQL warehouse (Statement Execution API). Retorna colunas + linhas quando termina dentro do wait_timeout; senão devolve statement_id + state pra polling via databricks_get_statement. Se warehouse_id não for informado, escolhe um warehouse RUNNING automaticamente. PREFIRA queries parametrizadas (parameters) a interpolar valores na string (proteção contra SQL injection). SQL é arbitrário (pode DML/DDL) — confirme antes de mutar dados.

Bulk support: accepts warehouse_ids for batched execution.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
schemaNo
accountNo
catalogNo
row_limitNo
statementYes
parametersNo
wait_timeoutNo
warehouse_idNo
warehouse_idsNo
on_wait_timeoutNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

While annotations already indicate non-read-only and non-idempotent behavior (readOnlyHint=false, idempotentHint=false), the description adds valuable context: timeout behavior returns statement_id and state for polling, automatic warehouse selection when warehouse_id is omitted, and the mutability risk of arbitrary SQL. This goes beyond annotation hints without 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?

The description is concise and front-loaded with the main purpose, followed by usage guidance and bulk support note. Two short paragraphs with no filler, though slightly longer due to multiple guidance points.

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 10 parameters and no output schema, the description covers the core behaviors, timeout handling, parameterization, and bulk execution. It doesn't detail every parameter but provides enough operational context for an agent to use the tool correctly. Reasonably complete for the 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 compensate. It explains the purpose of warehouse_id, wait_timeout, parameters, and warehouse_ids, but omits details for schema, account, catalog, row_limit, and on_wait_timeout. Partial compensation; some key parameters remain undocumented.

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

Purpose5/5

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

The description clearly states the tool executes a SQL statement on a SQL warehouse via the Statement Execution API, and distinguishes itself from the sibling databricks_get_statement which is used for polling. It also mentions bulk support, making the purpose specific and unambiguous.

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

Usage Guidelines5/5

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

Provides explicit guidance: use this tool to run SQL and get results within wait_timeout, and fall back to databricks_get_statement for polling. It also instructs preferring parameterized queries over interpolation for SQL injection protection and warns to confirm before mutating data since DML/DDL is allowed. Clear context and alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation4/5

The Databricks-specific tools (e.g., databricks_run_sql, databricks_list_catalogs) are clearly distinct, each targeting a unique resource or action. However, the set also includes several platform-level tools (marketplace, authenticate, connect) that serve a different purpose, creating a mild mix of domains but without direct overlap or ambiguity.

Naming Consistency2/5

The Databricks tools follow a consistent `databricks_verb_noun` pattern, but the platform tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) do not follow this pattern and use inconsistent naming conventions (some are single verbs, some are noun phrases, some are verb_noun). This mixing of styles makes the set feel patchwork rather than unified.

Tool Count3/5

With 17 tools, the count is slightly above the typical well-scoped range of 3-15 and leans toward being heavy, especially considering that 6 of them are not Databricks-specific but general MCP platform utilities. The number is not extreme, but it feels a bit bloated for a server focused on Databricks.

Completeness4/5

The Databricks surface covers the core operations: listing catalogs/schemas/tables/warehouses, running SQL, polling and canceling statements, and user/account info. Minor gaps exist (e.g., no table or warehouse creation/deletion), but these are not obvious dead ends for the likely use cases. The platform tools (marketplace, connect, etc.) also provide comprehensive coverage of the MCP platform lifecycle.