Snowflake MCP-Server
Überblick
Eine Model Context Protocol (MCP)-Serverimplementierung, die die Datenbankinteraktion mit Snowflake ermöglicht. Dieser Server ermöglicht die Ausführung von SQL-Abfragen über Tools und stellt Dateneinblicke und Schemakontext als Ressourcen bereit.
Related MCP server: Datadog MCP Server
Komponenten
Ressourcen
memo://insights
Ein ständig aktualisiertes Memo, das die gewonnenen Datenerkenntnisse zusammenfasst.
Wird automatisch aktualisiert, wenn neue Erkenntnisse über das Toolappend_insightangehängt werden.context://table/{table_name}
(Wenn Prefetch aktiviert ist) Schemazusammenfassungen pro Tabelle, einschließlich Spalten und Kommentaren, werden als einzelne Ressourcen angezeigt.
Werkzeuge
Der Server stellt die folgenden Tools bereit:
Abfragetools
read_query
Führen SieSELECT-Abfragen aus, um Daten aus der Datenbank zu lesen.
Eingang:query(Zeichenfolge): Die auszuführendeSELECTSQL-Abfrage
Gibt zurück: Abfrageergebnisse als Array von Objekten
write_query(nur aktiviert mit--allow-write)
Führen SieINSERT,UPDATEoderDELETE-Abfragen aus.
Eingang:query(Zeichenfolge): Die SQL-Änderungsabfrage
Rückgabe: Anzahl der betroffenen Zeilen oder Bestätigung
create_table(nur aktiviert mit--allow-write)
Erstellen Sie neue Tabellen in der Datenbank.
Eingang:query(Zeichenfolge):CREATE TABLESQL-Anweisung
Rückgabe: Bestätigung der Tabellenerstellung
Schema-Tools
list_databases
Listen Sie alle Datenbanken in der Snowflake-Instanz auf.
Gibt zurück: Array von Datenbanknamenlist_schemas
Listet alle Schemata innerhalb einer bestimmten Datenbank auf.
Eingang:database(Zeichenfolge): Name der Datenbank
Gibt zurück: Array von Schemanamen
list_tables
Listet alle Tabellen innerhalb einer bestimmten Datenbank und eines bestimmten Schemas auf.
Eingang:database(Zeichenfolge): Name der Datenbankschema(Zeichenfolge): Name des Schemas
Gibt zurück: Array von Tabellenmetadaten
describe_table
Zeigen Sie Spalteninformationen für eine bestimmte Tabelle an.
Eingang:table_name(Zeichenfolge): Vollqualifizierter Tabellenname (database.schema.table)
Rückgabe: Array von Spaltendefinitionen mit Namen, Typen, Nullbarkeit, Standardwerten und Kommentaren
Analysetools
append_insight
Fügen Sie der Memoressource neue Dateneinblicke hinzu.
Eingang:insight(Zeichenfolge): Durch Analyse gewonnene Dateneinblicke
Rücksendungen: Bestätigung der Erkenntnisaufnahme
Effekt: Löst eine Aktualisierung der Ressourcememo://insightsaus
Verwendung mit Claude Desktop
Installation über Smithery
So installieren Sie Snowflake Server für Claude Desktop automatisch über Smithery :
npx -y @smithery/cli install mcp_snowflake_server --client claudeInstallation über UVX
"mcpServers": {
"snowflake_pip": {
"command": "uvx",
"args": [
"--python=3.12", // Optional: specify Python version <=3.12
"mcp_snowflake_server",
"--account", "your_account",
"--warehouse", "your_warehouse",
"--user", "your_user",
"--password", "your_password",
"--role", "your_role",
"--database", "your_database",
"--schema", "your_schema"
// Optionally: "--allow_write"
// Optionally: "--log_dir", "/absolute/path/to/logs"
// Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL"
// Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"]
]
}
}Lokale Installation
Installieren Sie die Claude AI Desktop App
Installieren Sie
uv:
curl -LsSf https://astral.sh/uv/install.sh | shErstellen Sie eine
.envDatei mit Ihren Snowflake-Anmeldeinformationen:
SNOWFLAKE_USER="xxx@your_email.com"
SNOWFLAKE_ACCOUNT="xxx"
SNOWFLAKE_ROLE="xxx"
SNOWFLAKE_DATABASE="xxx"
SNOWFLAKE_SCHEMA="xxx"
SNOWFLAKE_WAREHOUSE="xxx"
SNOWFLAKE_PASSWORD="xxx"
# Alternatively, use external browser authentication:
# SNOWFLAKE_AUTHENTICATOR="externalbrowser"[Optional] Ändern Sie
runtime_config.json, um Ausschlussmuster für Datenbanken, Schemas oder Tabellen festzulegen.Lokal testen:
uv --directory /absolute/path/to/mcp_snowflake_server run mcp_snowflake_serverFügen Sie den Server zu Ihrer
claude_desktop_config.jsonhinzu:
"mcpServers": {
"snowflake_local": {
"command": "/absolute/path/to/uv",
"args": [
"--python=3.12", // Optional
"--directory", "/absolute/path/to/mcp_snowflake_server",
"run", "mcp_snowflake_server"
// Optionally: "--allow_write"
// Optionally: "--log_dir", "/absolute/path/to/logs"
// Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL"
// Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"]
]
}
}Hinweise
Schreibvorgänge sind standardmäßig deaktiviert . Aktivieren Sie sie explizit mit
--allow-write.Der Server unterstützt das Herausfiltern bestimmter Datenbanken, Schemata oder Tabellen über Ausschlussmuster.
Wenn das Vorablesen aktiviert ist, stellt der Server zusätzliche Kontextressourcen pro Tabelle bereit.
Das Tool
append_insightaktualisiert die Ressourcememo://insightsdynamisch.
Lizenz
MIT