igloo-mcp


Nameigloo-mcp JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryIgloo MCP - Snowflake MCP Server for agentic native workflows
upload_time2025-10-20 23:17:47
maintainerNone
docs_urlNone
authorEvan Kim
requires_python>=3.12
licenseNone
keywords snowflake mcp ai data analytics model-context-protocol
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Igloo MCP - Snowflake MCP Server for Agentic Native Workflows


Igloo MCP is a standalone MCP server for Snowflake operations, designed for agentic native workflows with AI assistants. Built from the ground up with SnowCLI integration for maximum simplicity and performance.

## ✨ Features

- πŸ›‘οΈ **SQL Safety:** Blocks destructive operations (DELETE, DROP, TRUNCATE) with safe alternatives
- 🧠 **Intelligent Errors:** Compact mode (default) and Verbose mode. Standard exception-based error handling
- ⏱️ **Agent-Controlled Timeouts:** Configure query timeouts per-request (1-3600s)
- βœ… **MCP Protocol Compliant:** Standard exception-based error handling

[πŸ“– See Release Notes](./RELEASE_NOTES.md) for details.

[![PyPI version](https://badge.fury.io/py/igloo-mcp.svg)](https://pypi.org/project/igloo-mcp/)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)


## Available MCP Tools

### Igloo MCP Tools
- `execute_query` - Execute SQL queries with safety checks
- `preview_table` - Preview table contents with LIMIT support
- `build_catalog` - Build comprehensive metadata catalog from Snowflake INFORMATION_SCHEMA
- `get_catalog_summary` - Get catalog overview with object counts and statistics
- `build_dependency_graph` - Build dependency graph for data lineage analysis
- `test_connection` - Test Snowflake connection and profile validation
- `health_check` - Get system health status and configuration details

See [MCP Documentation](docs/mcp/mcp_server_user_guide.md) for details.



---

## Installation

### For End Users (Recommended)

**Install from PyPI for stable releases**:
```bash
uv pip install igloo-mcp
```

## ⚑ 5-Minute Quickstart

Get igloo-mcp running with Cursor in under 5 minutes!

**Who this is for**: Users new to Snowflake and MCP who want to get started quickly.

### Prerequisites Check (30 seconds)

```bash
# Check Python version (need 3.12+)
python --version

# Check if Snowflake CLI is installed
snow --version

# If not installed, install it:
pip install snowflake-cli-labs
```

**What you'll need**:
- Snowflake account with username/password (or ask your admin)
- Cursor installed
- Your Snowflake account identifier (looks like: `mycompany-prod.us-east-1`)

### Step 1: Install igloo-mcp (1 minute)

```bash
# Install from PyPI
uv pip install igloo-mcp

# Verify installation
python -c "import igloo_mcp; print('igloo-mcp installed successfully')"
# Expected: igloo-mcp installed successfully
```

> **Note**: igloo-mcp automatically installs `snowflake-cli-labs` as a dependency

### Step 2: Create Snowflake Profile (2 minutes)

Recommended: use your organization's SSO (Okta) via external browser.

```bash
# Create a profile with SSO (Okta) via external browser
snow connection add \
  --connection-name "quickstart" \
  --account "<your-account>.<region>" \
  --user "<your-username>" \
  --authenticator externalbrowser \
  --warehouse "<your-warehouse>"

# A browser window opens to your Snowflake/Okta login
# Expected: "Connection 'quickstart' added successfully"
```

Notes:
- If your org requires an explicit Okta URL, use: `--authenticator https://<your_okta_domain>.okta.com`
- If your org doesn’t use SSO, see the password fallback below

**Finding your account identifier**:
- Your Snowflake URL: `https://abc12345.us-east-1.snowflakecomputing.com`
- Your account identifier: `abc12345.us-east-1` (remove `.snowflakecomputing.com`)

**Finding your warehouse**:
- Trial accounts: Usually `COMPUTE_WH` (default warehouse)
- Enterprise: Check Snowflake UI β†’ Admin β†’ Warehouses, or ask your admin
- Common names: `COMPUTE_WH`, `WH_DEV`, `ANALYTICS_WH`

**Don't have these?** Ask your Snowflake admin for:
- Account identifier
- Username & password
- Warehouse name

Fallback (no SSO): password authentication

```bash
snow connection add \
  --connection-name "quickstart" \
  --account "<your-account>.<region>" \
  --user "<your-username>" \
  --password \
  --warehouse "<your-warehouse>"

# Enter password when prompted
```

### Step 3: Configure Cursor MCP (1 minute)

Edit `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "igloo-mcp": {
      "command": "igloo-mcp",
      "args": [
        "--profile",
        "quickstart"
      ],
      "env": {
        "SNOWFLAKE_PROFILE": "quickstart"
      }
    }
  }
}
```

> **Note**: No `service_config.yml` needed! igloo-mcp uses Snowflake CLI profiles directly.

**Restart Cursor** after configuring.

### Step 4: Test Your Setup (30 seconds)

#### Verify Snowflake Connection
```bash
# Test your profile
snow sql -q "SELECT CURRENT_VERSION()" --connection quickstart
```

#### Verify MCP Server
```bash
# Start MCP server (should show help without errors)
igloo-mcp --profile quickstart --help
```

### Step 5: Test It! (30 seconds)

In Cursor, try these prompts:

```
"Test my Snowflake connection"
```

Expected: βœ… Connection successful message

```
"Show me my Snowflake databases"
```

Expected: List of your databases

```
"What tables are in my database?"
```

Expected: List of tables (if you have access)

## Success! πŸŽ‰

You've successfully:
- βœ… Installed igloo-mcp
- βœ… Configured Snowflake connection
- βœ… Connected Cursor to igloo-mcp
- βœ… Ran your first Snowflake queries via AI

**Time taken**: ~5 minutes

### What's Next?

#### Explore MCP Tools

Try these prompts in Cursor:

```
"Build a catalog for MY_DATABASE"
β†’ Explores all tables, columns, views, functions, procedures, and metadata
β†’ Only includes user-defined functions (excludes built-in Snowflake functions)

"Show me lineage for USERS table"
β†’ Visualizes data dependencies

"Preview the CUSTOMERS table with 10 rows"
β†’ Shows sample data from tables

"Execute: SELECT COUNT(*) FROM orders WHERE created_at > CURRENT_DATE - 7"
β†’ Runs custom SQL queries
```

#### Alternate: Key‑Pair (advanced)

Use RSA key‑pair auth when required by security policy or for headless automation:

1. **Generate keys**:
```bash
mkdir -p ~/.snowflake
openssl genrsa -out ~/.snowflake/key.pem 2048
openssl rsa -in ~/.snowflake/key.pem -pubout -out ~/.snowflake/key.pub
chmod 400 ~/.snowflake/key.pem
```

2. **Upload public key to Snowflake**:
```bash
# Format key for Snowflake
cat ~/.snowflake/key.pub | grep -v "BEGIN\|END" | tr -d '\n'

# In Snowflake, run:
ALTER USER <your_username> SET RSA_PUBLIC_KEY='<paste_key_here>';
```

3. **Update your profile**:
```bash
snow connection add \
  --connection-name "quickstart" \
  --account "mycompany-prod.us-east-1" \
  --user "your-username" \
  --private-key-file "~/.snowflake/key.pem" \
  --warehouse "COMPUTE_WH"
```

### Troubleshooting

#### "Profile not found"
**Fix**:
```bash
# List profiles
snow connection list

# Use exact name from list in your MCP config
```

#### "Connection failed"
**Fix**:
- Verify account format: `org-account.region` (not `https://...`)
- Check username/password are correct
- Ensure warehouse exists and you have access
- Try: `snow sql -q "SELECT 1" --connection quickstart`

#### "MCP tools not showing up"
**Fix**:
1. Verify igloo-mcp is installed: `which igloo-mcp`
2. Check MCP config JSON syntax is valid
3. **Restart Cursor completely**
4. Check Cursor logs for errors

#### "Permission denied"
**Fix**:
- Ensure you have `USAGE` on warehouse
- Check database/schema access: `SHOW GRANTS TO USER <your_username>`
- Contact your Snowflake admin for permissions

#### "SQL statement type 'Union' is not permitted"
**Fix**:
- Upgrade to the latest igloo-mcp; UNION/INTERSECT/EXCEPT now inherit SELECT permissions
- If you override SQL permissions, ensure `select` remains enabled in your configuration

#### Still stuck?

- πŸ’¬ [GitHub Discussions](https://github.com/Evan-Kim2028/igloo-mcp/discussions) - Community help
- πŸ› [GitHub Issues](https://github.com/Evan-Kim2028/igloo-mcp/issues) - Report bugs
- πŸ“– [Full Documentation](docs/getting-started.md) - Comprehensive guides
- πŸ” [Authentication Options](docs/authentication.md) - SSO/Okta, password, key‑pair

---

## Complete Setup Guide

### For Cursor Users

```bash
# 1. Set up your Snowflake profile
snow connection add --connection-name "my-profile" \
  --account "your-account.region" --user "your-username" \
  --authenticator externalbrowser --database "DB" --warehouse "WH"

# 2. Configure Cursor MCP
# Edit ~/.cursor/mcp.json:
{
  "mcpServers": {
    "igloo-mcp": {
      "command": "igloo-mcp",
      "args": [
        "--profile",
        "my-profile"
      ],
      "env": {
        "SNOWFLAKE_PROFILE": "my-profile"
      }
    }
  }
}

# 3. Restart Cursor and test
# Ask: "Test my Snowflake connection"
```

See [Getting Started Guide](docs/getting-started.md) for detailed setup instructions.

### MCP Server (MCP-Only Interface)

| Task | Command | Notes |
|------|---------|-------|
| Start MCP server | `igloo-mcp` | For AI assistant integration |
| Start with profile | `igloo-mcp --profile PROF` | Specify profile explicitly |
| Configure | `igloo-mcp --configure` | Interactive setup |

> πŸ»β€β„οΈ **MCP-Only Architecture**
> Igloo MCP is MCP-only. All functionality is available through MCP tools.

**Profile Selection Options**:
- **Command flag**: `igloo-mcp --profile PROFILE_NAME` (explicit)
- **Environment variable**: `export SNOWFLAKE_PROFILE=PROFILE_NAME` (session)
- **Default profile**: Set with `snow connection set-default PROFILE_NAME` (implicit)

## Python API

```python
from igloo_mcp import QueryService, CatalogService

# Execute query
query_service = QueryService(profile="my-profile")
result = query_service.execute("SELECT * FROM users LIMIT 10")

# Build catalog
catalog_service = CatalogService(profile="my-profile")
catalog = catalog_service.build_catalog(database="MY_DB")
```

## Documentation

- [Getting Started Guide](docs/getting-started.md) - **Recommended for all users**
- [MCP Server User Guide](docs/mcp/mcp_server_user_guide.md) - Advanced MCP configuration
- [Architecture Overview](docs/architecture.md)
- [API Reference](docs/api/README.md) - All available MCP tools
- [Migration Guide (CLI to MCP)](docs/migration-guide.md)
- [Contributing Guide](CONTRIBUTING.md)

## Examples

### Query Execution via MCP

```python
# AI assistant sends query via MCP
{
  "tool": "execute_query",
  "arguments": {
    "statement": "SELECT COUNT(*) FROM users WHERE created_at > CURRENT_DATE - 30",
    "timeout_seconds": 60
  }
}
```

### Data Catalog Building

```python
# Build comprehensive metadata catalog
{
  "tool": "build_catalog",
  "arguments": {
    "database": "MY_DATABASE",
    "output_dir": "./catalog",
    "account": false,
    "format": "json"
  }
}
# Returns: databases, schemas, tables, views, functions, procedures, columns, etc.
# Note: Only includes user-defined functions (excludes built-in Snowflake functions)
```

### Data Lineage

```python
# Query lineage for impact analysis
{
  "tool": "query_lineage",
  "arguments": {
    "object_name": "MY_TABLE",
    "direction": "both",
    "depth": 3
  }
}
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "igloo-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "snowflake, mcp, ai, data, analytics, model-context-protocol",
    "author": "Evan Kim",
    "author_email": "Evan Kim <ekcopersonal@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/6b/b7/e359a8969b515fc04af5dce2e5222e355dbdf2fd71b83662984cf582fc98/igloo_mcp-0.1.1.tar.gz",
    "platform": null,
    "description": "# Igloo MCP - Snowflake MCP Server for Agentic Native Workflows\n\n\nIgloo MCP is a standalone MCP server for Snowflake operations, designed for agentic native workflows with AI assistants. Built from the ground up with SnowCLI integration for maximum simplicity and performance.\n\n## \u2728 Features\n\n- \ud83d\udee1\ufe0f **SQL Safety:** Blocks destructive operations (DELETE, DROP, TRUNCATE) with safe alternatives\n- \ud83e\udde0 **Intelligent Errors:** Compact mode (default) and Verbose mode. Standard exception-based error handling\n- \u23f1\ufe0f **Agent-Controlled Timeouts:** Configure query timeouts per-request (1-3600s)\n- \u2705 **MCP Protocol Compliant:** Standard exception-based error handling\n\n[\ud83d\udcd6 See Release Notes](./RELEASE_NOTES.md) for details.\n\n[![PyPI version](https://badge.fury.io/py/igloo-mcp.svg)](https://pypi.org/project/igloo-mcp/)\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\n## Available MCP Tools\n\n### Igloo MCP Tools\n- `execute_query` - Execute SQL queries with safety checks\n- `preview_table` - Preview table contents with LIMIT support\n- `build_catalog` - Build comprehensive metadata catalog from Snowflake INFORMATION_SCHEMA\n- `get_catalog_summary` - Get catalog overview with object counts and statistics\n- `build_dependency_graph` - Build dependency graph for data lineage analysis\n- `test_connection` - Test Snowflake connection and profile validation\n- `health_check` - Get system health status and configuration details\n\nSee [MCP Documentation](docs/mcp/mcp_server_user_guide.md) for details.\n\n\n\n---\n\n## Installation\n\n### For End Users (Recommended)\n\n**Install from PyPI for stable releases**:\n```bash\nuv pip install igloo-mcp\n```\n\n## \u26a1 5-Minute Quickstart\n\nGet igloo-mcp running with Cursor in under 5 minutes!\n\n**Who this is for**: Users new to Snowflake and MCP who want to get started quickly.\n\n### Prerequisites Check (30 seconds)\n\n```bash\n# Check Python version (need 3.12+)\npython --version\n\n# Check if Snowflake CLI is installed\nsnow --version\n\n# If not installed, install it:\npip install snowflake-cli-labs\n```\n\n**What you'll need**:\n- Snowflake account with username/password (or ask your admin)\n- Cursor installed\n- Your Snowflake account identifier (looks like: `mycompany-prod.us-east-1`)\n\n### Step 1: Install igloo-mcp (1 minute)\n\n```bash\n# Install from PyPI\nuv pip install igloo-mcp\n\n# Verify installation\npython -c \"import igloo_mcp; print('igloo-mcp installed successfully')\"\n# Expected: igloo-mcp installed successfully\n```\n\n> **Note**: igloo-mcp automatically installs `snowflake-cli-labs` as a dependency\n\n### Step 2: Create Snowflake Profile (2 minutes)\n\nRecommended: use your organization's SSO (Okta) via external browser.\n\n```bash\n# Create a profile with SSO (Okta) via external browser\nsnow connection add \\\n  --connection-name \"quickstart\" \\\n  --account \"<your-account>.<region>\" \\\n  --user \"<your-username>\" \\\n  --authenticator externalbrowser \\\n  --warehouse \"<your-warehouse>\"\n\n# A browser window opens to your Snowflake/Okta login\n# Expected: \"Connection 'quickstart' added successfully\"\n```\n\nNotes:\n- If your org requires an explicit Okta URL, use: `--authenticator https://<your_okta_domain>.okta.com`\n- If your org doesn\u2019t use SSO, see the password fallback below\n\n**Finding your account identifier**:\n- Your Snowflake URL: `https://abc12345.us-east-1.snowflakecomputing.com`\n- Your account identifier: `abc12345.us-east-1` (remove `.snowflakecomputing.com`)\n\n**Finding your warehouse**:\n- Trial accounts: Usually `COMPUTE_WH` (default warehouse)\n- Enterprise: Check Snowflake UI \u2192 Admin \u2192 Warehouses, or ask your admin\n- Common names: `COMPUTE_WH`, `WH_DEV`, `ANALYTICS_WH`\n\n**Don't have these?** Ask your Snowflake admin for:\n- Account identifier\n- Username & password\n- Warehouse name\n\nFallback (no SSO): password authentication\n\n```bash\nsnow connection add \\\n  --connection-name \"quickstart\" \\\n  --account \"<your-account>.<region>\" \\\n  --user \"<your-username>\" \\\n  --password \\\n  --warehouse \"<your-warehouse>\"\n\n# Enter password when prompted\n```\n\n### Step 3: Configure Cursor MCP (1 minute)\n\nEdit `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"igloo-mcp\": {\n      \"command\": \"igloo-mcp\",\n      \"args\": [\n        \"--profile\",\n        \"quickstart\"\n      ],\n      \"env\": {\n        \"SNOWFLAKE_PROFILE\": \"quickstart\"\n      }\n    }\n  }\n}\n```\n\n> **Note**: No `service_config.yml` needed! igloo-mcp uses Snowflake CLI profiles directly.\n\n**Restart Cursor** after configuring.\n\n### Step 4: Test Your Setup (30 seconds)\n\n#### Verify Snowflake Connection\n```bash\n# Test your profile\nsnow sql -q \"SELECT CURRENT_VERSION()\" --connection quickstart\n```\n\n#### Verify MCP Server\n```bash\n# Start MCP server (should show help without errors)\nigloo-mcp --profile quickstart --help\n```\n\n### Step 5: Test It! (30 seconds)\n\nIn Cursor, try these prompts:\n\n```\n\"Test my Snowflake connection\"\n```\n\nExpected: \u2705 Connection successful message\n\n```\n\"Show me my Snowflake databases\"\n```\n\nExpected: List of your databases\n\n```\n\"What tables are in my database?\"\n```\n\nExpected: List of tables (if you have access)\n\n## Success! \ud83c\udf89\n\nYou've successfully:\n- \u2705 Installed igloo-mcp\n- \u2705 Configured Snowflake connection\n- \u2705 Connected Cursor to igloo-mcp\n- \u2705 Ran your first Snowflake queries via AI\n\n**Time taken**: ~5 minutes\n\n### What's Next?\n\n#### Explore MCP Tools\n\nTry these prompts in Cursor:\n\n```\n\"Build a catalog for MY_DATABASE\"\n\u2192 Explores all tables, columns, views, functions, procedures, and metadata\n\u2192 Only includes user-defined functions (excludes built-in Snowflake functions)\n\n\"Show me lineage for USERS table\"\n\u2192 Visualizes data dependencies\n\n\"Preview the CUSTOMERS table with 10 rows\"\n\u2192 Shows sample data from tables\n\n\"Execute: SELECT COUNT(*) FROM orders WHERE created_at > CURRENT_DATE - 7\"\n\u2192 Runs custom SQL queries\n```\n\n#### Alternate: Key\u2011Pair (advanced)\n\nUse RSA key\u2011pair auth when required by security policy or for headless automation:\n\n1. **Generate keys**:\n```bash\nmkdir -p ~/.snowflake\nopenssl genrsa -out ~/.snowflake/key.pem 2048\nopenssl rsa -in ~/.snowflake/key.pem -pubout -out ~/.snowflake/key.pub\nchmod 400 ~/.snowflake/key.pem\n```\n\n2. **Upload public key to Snowflake**:\n```bash\n# Format key for Snowflake\ncat ~/.snowflake/key.pub | grep -v \"BEGIN\\|END\" | tr -d '\\n'\n\n# In Snowflake, run:\nALTER USER <your_username> SET RSA_PUBLIC_KEY='<paste_key_here>';\n```\n\n3. **Update your profile**:\n```bash\nsnow connection add \\\n  --connection-name \"quickstart\" \\\n  --account \"mycompany-prod.us-east-1\" \\\n  --user \"your-username\" \\\n  --private-key-file \"~/.snowflake/key.pem\" \\\n  --warehouse \"COMPUTE_WH\"\n```\n\n### Troubleshooting\n\n#### \"Profile not found\"\n**Fix**:\n```bash\n# List profiles\nsnow connection list\n\n# Use exact name from list in your MCP config\n```\n\n#### \"Connection failed\"\n**Fix**:\n- Verify account format: `org-account.region` (not `https://...`)\n- Check username/password are correct\n- Ensure warehouse exists and you have access\n- Try: `snow sql -q \"SELECT 1\" --connection quickstart`\n\n#### \"MCP tools not showing up\"\n**Fix**:\n1. Verify igloo-mcp is installed: `which igloo-mcp`\n2. Check MCP config JSON syntax is valid\n3. **Restart Cursor completely**\n4. Check Cursor logs for errors\n\n#### \"Permission denied\"\n**Fix**:\n- Ensure you have `USAGE` on warehouse\n- Check database/schema access: `SHOW GRANTS TO USER <your_username>`\n- Contact your Snowflake admin for permissions\n\n#### \"SQL statement type 'Union' is not permitted\"\n**Fix**:\n- Upgrade to the latest igloo-mcp; UNION/INTERSECT/EXCEPT now inherit SELECT permissions\n- If you override SQL permissions, ensure `select` remains enabled in your configuration\n\n#### Still stuck?\n\n- \ud83d\udcac [GitHub Discussions](https://github.com/Evan-Kim2028/igloo-mcp/discussions) - Community help\n- \ud83d\udc1b [GitHub Issues](https://github.com/Evan-Kim2028/igloo-mcp/issues) - Report bugs\n- \ud83d\udcd6 [Full Documentation](docs/getting-started.md) - Comprehensive guides\n- \ud83d\udd10 [Authentication Options](docs/authentication.md) - SSO/Okta, password, key\u2011pair\n\n---\n\n## Complete Setup Guide\n\n### For Cursor Users\n\n```bash\n# 1. Set up your Snowflake profile\nsnow connection add --connection-name \"my-profile\" \\\n  --account \"your-account.region\" --user \"your-username\" \\\n  --authenticator externalbrowser --database \"DB\" --warehouse \"WH\"\n\n# 2. Configure Cursor MCP\n# Edit ~/.cursor/mcp.json:\n{\n  \"mcpServers\": {\n    \"igloo-mcp\": {\n      \"command\": \"igloo-mcp\",\n      \"args\": [\n        \"--profile\",\n        \"my-profile\"\n      ],\n      \"env\": {\n        \"SNOWFLAKE_PROFILE\": \"my-profile\"\n      }\n    }\n  }\n}\n\n# 3. Restart Cursor and test\n# Ask: \"Test my Snowflake connection\"\n```\n\nSee [Getting Started Guide](docs/getting-started.md) for detailed setup instructions.\n\n### MCP Server (MCP-Only Interface)\n\n| Task | Command | Notes |\n|------|---------|-------|\n| Start MCP server | `igloo-mcp` | For AI assistant integration |\n| Start with profile | `igloo-mcp --profile PROF` | Specify profile explicitly |\n| Configure | `igloo-mcp --configure` | Interactive setup |\n\n> \ud83d\udc3b\u200d\u2744\ufe0f **MCP-Only Architecture**\n> Igloo MCP is MCP-only. All functionality is available through MCP tools.\n\n**Profile Selection Options**:\n- **Command flag**: `igloo-mcp --profile PROFILE_NAME` (explicit)\n- **Environment variable**: `export SNOWFLAKE_PROFILE=PROFILE_NAME` (session)\n- **Default profile**: Set with `snow connection set-default PROFILE_NAME` (implicit)\n\n## Python API\n\n```python\nfrom igloo_mcp import QueryService, CatalogService\n\n# Execute query\nquery_service = QueryService(profile=\"my-profile\")\nresult = query_service.execute(\"SELECT * FROM users LIMIT 10\")\n\n# Build catalog\ncatalog_service = CatalogService(profile=\"my-profile\")\ncatalog = catalog_service.build_catalog(database=\"MY_DB\")\n```\n\n## Documentation\n\n- [Getting Started Guide](docs/getting-started.md) - **Recommended for all users**\n- [MCP Server User Guide](docs/mcp/mcp_server_user_guide.md) - Advanced MCP configuration\n- [Architecture Overview](docs/architecture.md)\n- [API Reference](docs/api/README.md) - All available MCP tools\n- [Migration Guide (CLI to MCP)](docs/migration-guide.md)\n- [Contributing Guide](CONTRIBUTING.md)\n\n## Examples\n\n### Query Execution via MCP\n\n```python\n# AI assistant sends query via MCP\n{\n  \"tool\": \"execute_query\",\n  \"arguments\": {\n    \"statement\": \"SELECT COUNT(*) FROM users WHERE created_at > CURRENT_DATE - 30\",\n    \"timeout_seconds\": 60\n  }\n}\n```\n\n### Data Catalog Building\n\n```python\n# Build comprehensive metadata catalog\n{\n  \"tool\": \"build_catalog\",\n  \"arguments\": {\n    \"database\": \"MY_DATABASE\",\n    \"output_dir\": \"./catalog\",\n    \"account\": false,\n    \"format\": \"json\"\n  }\n}\n# Returns: databases, schemas, tables, views, functions, procedures, columns, etc.\n# Note: Only includes user-defined functions (excludes built-in Snowflake functions)\n```\n\n### Data Lineage\n\n```python\n# Query lineage for impact analysis\n{\n  \"tool\": \"query_lineage\",\n  \"arguments\": {\n    \"object_name\": \"MY_TABLE\",\n    \"direction\": \"both\",\n    \"depth\": 3\n  }\n}\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Igloo MCP - Snowflake MCP Server for agentic native workflows",
    "version": "0.1.1",
    "project_urls": {
        "Documentation": "https://github.com/Evan-Kim2028/igloo-mcp#readme",
        "Homepage": "https://github.com/Evan-Kim2028/igloo-mcp",
        "Repository": "https://github.com/Evan-Kim2028/igloo-mcp"
    },
    "split_keywords": [
        "snowflake",
        " mcp",
        " ai",
        " data",
        " analytics",
        " model-context-protocol"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1b40b87704ccd2e17eeea540dfb3b8ae6245a3a93010d1768a6337811e70de15",
                "md5": "1b959bcf9bed6b47497d19291ae05f4a",
                "sha256": "7456229fecc57fd398174b720f067f7107efea934676c253b47aaf8670443a56"
            },
            "downloads": -1,
            "filename": "igloo_mcp-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1b959bcf9bed6b47497d19291ae05f4a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 66927,
            "upload_time": "2025-10-20T23:17:46",
            "upload_time_iso_8601": "2025-10-20T23:17:46.248229Z",
            "url": "https://files.pythonhosted.org/packages/1b/40/b87704ccd2e17eeea540dfb3b8ae6245a3a93010d1768a6337811e70de15/igloo_mcp-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6bb7e359a8969b515fc04af5dce2e5222e355dbdf2fd71b83662984cf582fc98",
                "md5": "6e46e92b1a74b71f091d2f5c2a5244dd",
                "sha256": "0055a74f2e87b48f94a2d67d7a2161d2b4aed75ddeb605e0afd9d3c61fa92d76"
            },
            "downloads": -1,
            "filename": "igloo_mcp-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6e46e92b1a74b71f091d2f5c2a5244dd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 49022,
            "upload_time": "2025-10-20T23:17:47",
            "upload_time_iso_8601": "2025-10-20T23:17:47.584919Z",
            "url": "https://files.pythonhosted.org/packages/6b/b7/e359a8969b515fc04af5dce2e5222e355dbdf2fd71b83662984cf582fc98/igloo_mcp-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-20 23:17:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Evan-Kim2028",
    "github_project": "igloo-mcp#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "igloo-mcp"
}
        
Elapsed time: 2.06286s