Skip to main content
Glama
ncejda-g2

Snowflake MCP Server

by ncejda-g2

describe_table

Retrieve column names, data types, constraints, and primary key information for a Snowflake table to build correct queries.

Instructions

Get detailed column information for a specific table.

USE THIS WHEN: You need column names, types, and constraints to write a query.
Like SQL's: DESCRIBE TABLE database.schema.table

RETURNS: Detailed column information
- For each column: name, data_type, nullable, position, default, comment, is_primary_key

HOW IT WORKS:
- Looks up table in cache; fetches column details on-demand if not yet loaded
- First call for a table queries Snowflake live (~200ms), subsequent calls use cache
- If table not in cache at all, returns error (use show_tables or find_tables first)

Note: To get sample data rows, use execute_query tool separately.

Parameters:
- database: Database name
- schema: Schema name
- table: Table name

Examples:
- describe_table("SALES_DB", "PUBLIC", "CUSTOMERS")
- describe_table("GDC", "STAGING", "ADMIN__CATEGORIES")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
databaseYes
schemaYes
tableYes
Behavior4/5

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

With no annotations, the description carries full burden. It explains caching behavior (first call live, subsequent cached), error condition (table not in cache), and return details. It does not explicitly state that the operation is read-only or non-destructive, but the context suggests it is. Could mention idempotency or stability, but it's already clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with clear sections (USE THIS WHEN, RETURNS, HOW IT WORKS, Parameters, Examples). It is front-loaded with the core purpose, and every sentence adds value. No fluff. Appropriate length for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (3 parameters, no output schema), the description is complete. It explains the return format (list of columns with attributes), caching behavior, and error handling. It also directs users to other tools for related tasks. All necessary context is provided for an agent to use it correctly.

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 add meaning. It lists the three parameters (database, schema, table) and provides example calls. However, it does not explain naming conventions, case sensitivity, or any constraints. The examples are helpful but limited. Baseline 3 is appropriate as some extra context is provided but not thorough.

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 retrieves detailed column information for a table, using the verb 'get' and specifying the resource. It distinguishes itself from siblings like execute_query (for data) and find_tables/show_tables (for discovery) by focusing on schema metadata. The SQL analogy reinforces its purpose.

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 usage guidance: 'USE THIS WHEN: You need column names, types, and constraints to write a query.' It also directs to use execute_query for sample data and implies that find_tables or show_tables should be used first if the table isn't in cache. This clearly differentiates when to use this tool vs alternatives.

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

Install Server

Other Tools

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/ncejda-g2/snowflake_mcp_server'

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