execute_query
Execute read-only SQL queries (SELECT, SHOW, DESCRIBE, WITH) on Snowflake with safety validation. Returns all results; use refresh_catalog first to populate schema cache.
Instructions
Execute a read-only SQL query on Snowflake.
This tool validates queries for safety, executes them, and returns all results.
Only SELECT, SHOW, DESCRIBE, and WITH queries are allowed.
IMPORTANT: The schema cache must be populated before executing queries.
Run refresh_catalog first if this is your first query.
Parameters:
- sql: SQL query to execute (SELECT, SHOW, DESCRIBE, or WITH)
- database: Optional database context
- schema: Optional schema context
Returns:
- All query results (respects LIMIT clause if present in SQL)
- Results are cached for CSV export if under 5GB
- Use save_last_query_to_csv to export results
Note:
- If you encounter token limit issues with large result sets, consider using
execute_big_query_to_disk instead, which streams results directly to a file
without returning the data in the response, or consider adding a stricter LIMIT clause.
Examples:
- execute_query("SELECT * FROM SALES_DB.PUBLIC.CUSTOMERS LIMIT 10")
- execute_query("SELECT COUNT(*) FROM orders", database="SALES_DB", schema="PUBLIC")
- execute_query("SELECT * FROM large_table LIMIT 1000")Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | ||
| database | No | ||
| schema | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||