snowflake-analytics-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SNOWFLAKE_ROLE | No | Role to assume | |
| SNOWFLAKE_TOKEN | No | OAuth access token (with `SNOWFLAKE_AUTHENTICATOR=OAUTH`) | |
| QUERY_TIMEOUT_MS | No | Client-side query timeout | 60000 |
| SNOWFLAKE_SCHEMA | No | Default schema | |
| SNOWFLAKE_ACCOUNT | Yes | Account identifier, e.g. `xy12345.eu-central-1` or `orgname-account_name` | |
| SNOWFLAKE_DATABASE | No | Default database (used by `list_tables`, and as the fallback when a caller passes an inaccessible database) | |
| SNOWFLAKE_PASSWORD | No | Password (required unless using key-pair/OAuth) | |
| SNOWFLAKE_USERNAME | Yes | Login name | |
| SNOWFLAKE_READ_ONLY | No | Blocks writes/DDL in `execute_query`. Set `false` to allow them | true |
| SNOWFLAKE_ROW_LIMIT | No | Hard cap on returned rows | 1000 |
| SNOWFLAKE_WAREHOUSE | No | Virtual warehouse to use | |
| SNOWFLAKE_PRIVATE_KEY | No | PEM private key contents | |
| SNOWFLAKE_CORTEX_MODEL | No | Default model for Cortex AI_COMPLETE / text-to-SQL | llama3.1-8b |
| SNOWFLAKE_AUTHENTICATOR | No | Authentication method: `SNOWFLAKE` (password), `SNOWFLAKE_JWT` (key-pair), `OAUTH` | SNOWFLAKE |
| SNOWFLAKE_CORTEX_ENABLED | No | Register the Cortex AI tools. Set `false` to hide them | true |
| SNOWFLAKE_PRIVATE_KEY_PATH | No | Path to a PEM private key file (alternative to above) | |
| SNOWFLAKE_PRIVATE_KEY_PASSPHRASE | No | Passphrase, if the key is encrypted |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tablesA | List available Snowflake tables (and views) for analytics table discovery. Returns a flat array of { table_name } objects. Scoped to the connection's database/schema unless overridden. |
| test_connectionA | Verify connectivity and return the current Snowflake version, account, user, role, warehouse, database and schema. |
| list_databasesA | List all databases the current role can access. |
| list_schemasA | List schemas in a database. Defaults to SNOWFLAKE_DATABASE when |
| list_warehousesA | List virtual warehouses the current role can see, with size and state. |
| describe_tableA | Return column names, data types, nullability and defaults for a table (or view). |
| get_table_sampleA | Fetch a sample of rows from a table. Use this to preview data for a selected table. |
| execute_queryA | Run a SQL query and return rows as JSON. Read-only by default (SELECT/SHOW/DESCRIBE/WITH). Set SNOWFLAKE_READ_ONLY=false to allow writes/DDL. |
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 8 tools
Each tool targets a distinct entity or action: databases, schemas, tables, warehouses, connection status, table metadata, sample data, and arbitrary SQL. No overlapping purposes, so agents can reliably select the correct tool.
All tool names follow a consistent verb_noun pattern with lowercase underscores (e.g., list_databases, describe_table, execute_query). Even test_connection and get_table_sample adhere to the pattern, making naming predictable and easy to reason about.
Eight tools provide a focused but complete set for an analytics use case, covering discovery, metadata, sampling, and querying. The count is well-scoped without unnecessary redundancy or missing essentials.
The tool surface covers the full analytics workflow: connection verification, listing entities (databases, schemas, tables/views, warehouses), schema exploration, data preview, and arbitrary read-only queries. No obvious gaps for the stated domain.