Skip to main content
Glama
isaacwasserman

mcp-snowflake-server

Snowflake MCP-Server

Schmiedeabzeichen PyPI - Version


Ü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 Tool append_insight angehä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 Sie SELECT -Abfragen aus, um Daten aus der Datenbank zu lesen.
    Eingang:

    • query (Zeichenfolge): Die auszuführende SELECT SQL-Abfrage
      Gibt zurück: Abfrageergebnisse als Array von Objekten

  • write_query (nur aktiviert mit --allow-write )
    Führen Sie INSERT , UPDATE oder DELETE -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 TABLE SQL-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 Datenbanknamen

  • list_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 Datenbank

    • schema (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 Ressource memo://insights aus


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 claude

Installation ü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

  1. Installieren Sie die Claude AI Desktop App

  2. Installieren Sie uv :

curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Erstellen Sie eine .env Datei 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"
  1. [Optional] Ändern Sie runtime_config.json , um Ausschlussmuster für Datenbanken, Schemas oder Tabellen festzulegen.

  2. Lokal testen:

uv --directory /absolute/path/to/mcp_snowflake_server run mcp_snowflake_server
  1. Fügen Sie den Server zu Ihrer claude_desktop_config.json hinzu:

"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_insight aktualisiert die Ressource memo://insights dynamisch.


Lizenz

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/isaacwasserman/mcp-snowflake-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server