cost-guard-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SNOWFLAKE_ROLE | No | Snowflake role (required, no default, never ACCOUNTADMIN). | |
| SNOWFLAKE_USER | No | Snowflake user name. | |
| SNOWFLAKE_ACCOUNT | No | Snowflake account identifier. | |
| SNOWFLAKE_PASSWORD | No | Snowflake password (discouraged; use SNOWFLAKE_PRIVATE_KEY_PATH instead). | |
| SNOWFLAKE_PRIVATE_KEY_PATH | No | Path to Snowflake private key file (preferred over password). | |
| GOOGLE_APPLICATION_CREDENTIALS | No | Path to a service-account key file for BigQuery. Alternatively, run `gcloud auth application-default login`. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| describe_engine_capabilitiesA | Declare which cost signals are exact vs. approximate for the given warehouse engine. Call this before estimate_query_cost or run_query_bounded to understand how much to trust the accuracy_tier on their responses for this engine. |
| estimate_query_costA | Estimate the cost of a SQL query before running it. ALWAYS call this before running an expensive-looking query. The response's accuracy_tier tells you how much to trust the number: PRECISE (exact), UPPER_BOUND (real cap, may overstate), HEURISTIC (rough). |
| run_query_boundedA | Run a query only if its pre-flight cost estimate is within your given bounds; refuses otherwise (check result.status — "refused" means it did NOT run and result.hint explains why). NOTE: unlike estimate_query_cost, a successful call here has a real monetary/quota side effect — don't call this repeatedly without inspecting the result of each call. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
Each tool has a distinct role: capability discovery, pre-flight estimation, and bounded execution. However, estimate_query_cost and the internal estimating in run_query_bounded could cause slight confusion about when to use each, though descriptions clarify the difference.
All tool names use snake_case with a consistent verb_noun pattern (describe_, estimate_, run_). There are no deviations or mixed conventions.
Three tools form a minimal but focused set for a cost-guard server, each earning its place. The count sits at the low end of the typical 3-15 range, but is reasonable for the specialized scope.
The core lifecycle of advisory estimation and bounded execution is fully covered. There is a minor gap around tools for retrieving or setting quota/bound context, but agents can work around this for the stated purpose.