Skip to main content
Glama
alizubairs

snowflake-cost-mcp

by alizubairs

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SNOWFLAKE_ROLEYesSnowflake role to use (e.g., MCP_COST_MONITOR)
SNOWFLAKE_USERYesSnowflake user name
SNOWFLAKE_ACCOUNTYesSnowflake account identifier
SNOWFLAKE_PASSWORDNoPassword for username/password authentication (fallback)
SNOWFLAKE_PRIVATE_KEY_PATHNoPath to the private key file for key-pair authentication

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_warehousesA

List all warehouses visible to the connected role, with size, auto-suspend, and auto-resume settings, and current running/queued query counts.

get_warehouse_credit_usageA

Total Snowflake credits consumed per warehouse over the lookback window, split into compute vs. cloud services credits. Use this to see where spend is concentrated before drilling into individual warehouses or queries.

Args: lookback_days: How many days back to look (default from server config, typically 7).

find_expensive_queriesA

Find the slowest / most expensive successful queries in the lookback window, ranked by elapsed time. Each result includes a truncated query text preview, warehouse, user, elapsed seconds, and GB scanned.

Args: lookback_days: How many days back to look (default from server config). limit: Max number of queries to return (default from server config, typically 50).

get_query_detailA

Get full detail for a single query by its Snowflake QUERY_ID, including warehouse size, database/schema, elapsed time, bytes scanned, rows produced, and any error message.

Args: query_id: The Snowflake QUERY_ID (as shown in QUERY_HISTORY or the Snowsight UI).

get_warehouse_right_sizing_recommendationsA

Heuristic right-sizing recommendations per warehouse, combining credit usage with query queueing behavior:

  • HIGH credits + very low query count -> likely oversized or left running idle; check auto-suspend and whether it's needed at all.

  • Meaningful average queued-overload time -> likely undersized or under-provisioned for concurrency; consider a larger size or a multi-cluster warehouse.

  • Otherwise -> no strong signal either way.

This is a heuristic starting point for investigation, not a guaranteed cost-saving recommendation -- always sanity-check against actual workload requirements before resizing a production warehouse.

Args: lookback_days: How many days back to look (default from server config).

run_readonly_queryA

Run an arbitrary read-only SELECT query against Snowflake, for cost or performance investigation beyond the built-in tools. Disabled by default -- must be explicitly enabled via SNOWFLAKE_MCP_ALLOW_ARBITRARY_QUERIES=true in the server environment. Only SELECT / WITH...SELECT statements are accepted; the connected Snowflake role should also be read-only as the primary security boundary.

Args: sql: A single read-only SELECT statement.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alizubairs/Snowflake-Cost-Performance-MCP-server'

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