MCP Server: Snowflake β
De Snowflake MCP Server geeft je AI-Agent direct read-only toegang tot Snowflake databases. Verken schema's, voer queries uit en vraag data op zonder handmatig in te loggen.
Standaard read-only: Agent kan SELECT queries uitvoeren, maar geen data wijzigen of verwijderen.
Zonneplan-specifiek
Deze MCP server is geconfigureerd voor intern gebruik bij Zonneplan en vereist toegang tot Zonneplan's Snowflake omgeving via 1Password.
Prerequisites β
Installeer deze tools:
- 1Password CLI - Veilig credential management
- direnv - Automatisch laden van environment variabelen
- uv - Python package manager en tool runner
- Repository toegang - Clone https://github.com/zonneplan/snowflake-mcp
Installatie β
Stap 1: Repository setup β
Clone de repository:
git clone https://github.com/zonneplan/snowflake-mcp.git
cd snowflake-mcpStap 2: Direnv toestaan β
Sta het .envrc bestand toe om credentials automatisch te laden:
direnv allowStap 3: MCP server starten β
Start de server met 1Password CLI:
op run -- ./run.shServer draait op: http://localhost:9001/snowflake-mcp
Credentials: Geladen via 1Password
Configuratie: Gebruikt config.yaml
Stap 4: Configureer je AI-Agent β
Voeg de Snowflake MCP server toe aan je AI-Agent configuratie:
# Schrijf dit naar ~/.claude/mcp-configs/snowflake.json
{
"mcpServers": {
"snowflake": {
"type": "http",
"url": "http://localhost:9001/snowflake-mcp"
}
}
}{
"mcpServers": {
"snowflake": {
"url": "http://localhost:9001/snowflake-mcp"
}
}
}claude mcp add --transport http snowflake http://localhost:9001/snowflake-mcpClaude Code alias
Voor Claude Code kun je een handige alias toevoegen aan je .zshrc. Zo laad je Snowflake alleen in wanneer je het nodig hebt:
echo 'alias claudes="claude --mcp-config ~/.claude/mcp-configs/snowflake.json"' >> ~/.zshrcDan start je Claude Code met Snowflake MCP via:
claudesGebruik β
Stel database-gerelateerde vragen direct aan je agent. Deze herkent automatisch wanneer Snowflake nodig is.
Schema's en tabellen verkennen β
Welke schemas zijn er beschikbaar in de TRADING_AND_OPTIMIZATION database?Laat me de structuur zien van de tabel IMBALANCE_PRICE_FORECAST.DATASET_IMBALANCE_FORECASTSData opvragen β
Hoeveel records zitten er in TRADING_AND_OPTIMIZATION.IMBALANCE_PRICE_FORECAST.DATASET_IMBALANCE_FORECASTS?Geef me de laatste 10 forecasts uit de DATASET_IMBALANCE_FORECASTS tabelVoorbeeld
Wanneer je vraagt: "Hoeveel records zijn er in de imbalance forecasts tabel?"
De agent zal:
- De Snowflake MCP gebruiken om de query uit te voeren
- Het resultaat formatteren en presenteren
- Eventueel follow-up vragen stellen voor meer context
Expliciet Snowflake gebruiken β
Forceer Snowflake gebruik door het expliciet te noemen:
Query Snowflake to find all tables in the RAW schema that contain 'price' in their nameVeiligheid en Permissies β
Standaard read-only om onbedoelde wijzigingen te voorkomen.
Toegestaan: β
SELECT, DESCRIBE, COMMAND, COMMENT, USE
Geblokkeerd: β
- Write operaties:
INSERT,UPDATE,DELETE,TRUNCATE - Schema wijzigingen:
CREATE,DROP,ALTER - Transacties:
COMMIT,ROLLBACK,TRANSACTION
Troubleshooting β
MCP server start niet β
Controleer:
- 1Password CLI geΓ―nstalleerd en ingelogd
direnv allowuitgevoerd- Poort 9001 vrij
Credentials niet gevonden β
Verifieer:
- Snowflake credentials correct opgeslagen in 1Password (setup guide)
- Credential namen kloppen
direnv allowuitgevoerd
Agent bereikt Snowflake niet β
Check:
- MCP server draait:
op run -- ./run.sh - Agent configuratie correct (URL en poort)
- Netwerk/VPN/firewall issues