Snowflake CLI Tools: generate a Data Catalog and Dependency Graph on top of the official Snowflake CLI; includes parallel query helpers, advanced lineage features, SQL safety validation, and agent-first error handling
Project description
SnowCLI Tools
Powerful Snowflake operations with AI assistant integration
Transform your Snowflake data operations with automated cataloging, advanced lineage analysis, SQL safety validation, and seamless AI assistant connectivity through MCP (Model Context Protocol).
โจ v1.7.0 New Features
- ๐ก๏ธ SQL Safety: Blocks destructive operations (DELETE, DROP, TRUNCATE) with safe alternatives
- ๐ง Intelligent Errors: Compact mode (default) saves 70% tokens; verbose mode for debugging
- โฑ๏ธ Agent-Controlled Timeouts: Configure query timeouts per-request (1-3600s)
- โ MCP Protocol Compliant: Standard exception-based error handling
- ๐ Zero Vendoring: Imports from upstream, stays in sync
๐ See Release Notes for details.
Quick Start
# 1. Install SnowCLI Tools
pip install snowcli-tools
# 2. Set up your Snowflake profile
snow connection add --connection-name "my-profile" \
--account "your-account.region" --user "your-username" \
--private-key-file "/path/to/key.p8" --database "DB" --warehouse "WH"
# 3. Verify connection
snowflake-cli verify -p my-profile
# 4. Start exploring your data
snowflake-cli catalog -p my-profile
snowflake-cli lineage MY_TABLE -p my-profile
# 5. Enable AI assistant integration
SNOWFLAKE_PROFILE=my-profile snowflake-cli mcp
Core Features
๐ Data Discovery & Analysis
- Automated Catalog: Complete metadata extraction from databases, schemas, tables
- Advanced Lineage: Column-level lineage tracking with impact analysis
- Dependency Mapping: Visual object relationships and circular dependency detection
- External Integration: S3/Azure/GCS source mapping
๐ค AI Assistant Integration
- MCP Server: Direct integration with Claude Code, VS Code, Cursor
- Natural Language: "Show me schema of CUSTOMERS" โ instant results
- Health Monitoring: Real-time diagnostics and validation
- Enhanced Profiles: Clear error messages instead of timeouts
โก Enterprise Ready
- Layered Security: Built on Snowflake's official authentication
- High Performance: Parallel operations and connection pooling
- Fault Tolerance: Circuit breaker patterns for reliability
- Modern Architecture: Python 3.12+ with async support
Architecture
SnowCLI Tools uses a layered architecture that combines official Snowflake tools with enhanced analytics:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AI Assistants & Applications โ โ Your workflows
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ SnowCLI Tools MCP Server โ โ Enhanced analytics
โ (Catalog, Lineage, Dependencies) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Snowflake Labs MCP โ โ Official foundation
โ (Auth, Connection, Security) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Snowflake Platform โ โ Your data warehouse
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Key Benefits:
- ๐ Secure: Leverages Snowflake's official authentication
- ๐ Powerful: Combines official tools with advanced analytics
- ๐ Integrated: Single MCP endpoint for AI assistants
- ๐ Scalable: Service layer architecture for extensibility
Common Use Cases
Data Discovery Workflow
# Build comprehensive catalog
snowflake-cli catalog -p prod
# Map dependencies
snowflake-cli depgraph -p prod --format dot
# Analyze critical table lineage
snowflake-cli lineage CUSTOMER_ORDERS -p prod --depth 3
AI Assistant Integration
# Start MCP server for AI assistants
SNOWFLAKE_PROFILE=prod snowflake-cli mcp
# Now use Claude Code, VS Code, or Cursor to:
# - "What tables depend on CUSTOMERS?"
# - "Show me the schema for ORDERS table"
# - "Generate a data quality report"
Multi-Environment Development
# Switch between environments easily
snowflake-cli query "SELECT COUNT(*) FROM users" -p dev
snowflake-cli query "SELECT COUNT(*) FROM users" -p staging
snowflake-cli query "SELECT COUNT(*) FROM users" -p prod
Getting Started
Prerequisites
- Python 3.12+ with pip or uv
- Snowflake account with appropriate permissions
- Snowflake CLI installed (
pip install snowflake-cli)
Installation Options
Option 1: PyPI (Recommended)
pip install snowcli-tools
Option 2: Development Install
git clone <repository-url>
cd snowcli-tools
uv sync # or pip install -e .
Profile Setup
# Key-pair authentication (recommended)
snow connection add --connection-name "my-profile" \
--account "your-account.region" \
--user "username" \
--private-key-file "/path/to/key.p8" \
--database "DATABASE" \
--warehouse "WAREHOUSE"
# OAuth authentication
snow connection add --connection-name "my-profile" \
--account "your-account.region" \
--user "username" \
--authenticator "externalbrowser"
# Verify setup
snowflake-cli verify -p my-profile
Documentation
- Getting Started Guide - Complete setup and usage guide
- Architecture Overview - Technical architecture and design patterns
- MCP Integration - AI assistant setup and configuration
- API Reference - Complete command and API documentation
- Configuration Guide - Advanced configuration options
- Contributing - Development and contribution guidelines
Requirements
- Python: 3.12 or higher
- Snowflake CLI: Latest version recommended
- Dependencies: Automatically installed with package
- Permissions:
USAGEon warehouse/database/schema,SELECTonINFORMATION_SCHEMA
MCP Integration
For AI assistant integration, install MCP extras:
# Install MCP dependencies
pip install "mcp>=1.0.0" "fastmcp>=2.8.1" "snowflake-labs-mcp>=1.3.3"
# Start MCP server
SNOWFLAKE_PROFILE=my-profile snowflake-cli mcp
# Configure your AI assistant to connect via MCP
Supported AI Assistants:
- Claude Code
- VS Code with MCP extensions
- Cursor IDE
- Any MCP-compatible client
Support
- Documentation: Comprehensive guides in
/docs - Issues: Report bugs via GitHub Issues
- Examples: Sample workflows in
/examples - Community: [Discord/Slack community link]
License
[License Type] - see LICENSE file for details.
Version 1.5.0 | Built with โค๏ธ for the Snowflake community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file snowcli_tools-1.8.0.tar.gz.
File metadata
- Download URL: snowcli_tools-1.8.0.tar.gz
- Upload date:
- Size: 116.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1aeffb17e5a49d2cc98a4409dac20a7792baa37584b8e5f39ebb8427c7a4528c
|
|
| MD5 |
6f29dc678517cfaaa3a363a28e395d87
|
|
| BLAKE2b-256 |
743db7cefe461dee84c7279443bfd5e1759514b9f701aa3410153a45f8b93f6c
|
File details
Details for the file snowcli_tools-1.8.0-py3-none-any.whl.
File metadata
- Download URL: snowcli_tools-1.8.0-py3-none-any.whl
- Upload date:
- Size: 154.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8d108ad3fae61fc944e0ea5e02217460480f38e999ec1bad67b419ee54ea15f
|
|
| MD5 |
c99804da7dde4df84c5627f874113d39
|
|
| BLAKE2b-256 |
8bf5db1699c7e6f2fa12ec151a07e115e822b820fc7e09df035cdad7543a71df
|