Enterprise Model Context Protocol (MCP) server for Snowflake data cloud and Cortex AI. Execute queries, manage databases, schemas, tables, warehouses, tasks, streams, dynamic tables, pipes, alerts, governance, SPCS services, procedures, UDFs, secrets, and Cortex AI.
This server presents 6 tools with basic schemas and descriptions, but significant gaps prevent production readiness. All tools have descriptions (10-80 chars, below the 50-200 char baseline for LLM optimization) and input schemas with type definitions. However, descriptions lack actionable context, they state WHAT but not WHEN or WHY. Parameter descriptions are minimal (5-30 chars). No output schemas are documented. Error handling is absent from tool definitions. The server claims 140 tools in check_tool_contract.py but only 6 are visible in the provided code, suggesting incomplete implementation or missing source files. Tool annotations (read_only_hint, destructive_hint, idempotent_hint) are declared in the script but not visible in the actual tool definitions provided.
Create an alert with schedule, condition SQL, and action SQL. Destructive actions require confirm=True.
Describe alert condition SQL, action SQL, schedule, and warehouse.
Drop an alert in Snowflake. Requires confirmation.
List configured alerts with condition queries, schedules, and state.
Resume a suspended alert.
Suspend an active alert.
Descriptions are too brief (10-80 chars vs. 50-200 char baseline). 'List configured alerts with condition queries, schedules, and state' lacks WHEN to call this tool and what to do with results. LLMs cannot distinguish between list_alerts and describe_alert without richer context.
Parameter descriptions are minimal (5-30 chars). 'Optional database name' and 'Name of the alert' do not explain format, constraints, or dependencies. LLMs cannot validate input or self-correct on invalid values.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., alert_id for chaining). Responses are opaque.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Destructive tools (snowflake_drop_alert) lack error guidance. No documentation of what errors can occur, how to recover, or what to do if the alert is in use. LLMs have no recovery path on failure.
Mismatch between declared tool count (140 in check_tool_contract.py) and visible tools (6). Source code is incomplete or tools are defined elsewhere. Cannot verify full implementation quality.