mcp-snowflake-server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides database interaction with Snowflake, enabling SQL query execution, table management, and schema exploration. Includes tools for reading data, modifying data (with appropriate permissions), creating tables, listing available tables, and describing table structures.

スノーフレークMCPサーバー


概要

Snowflakeとのデータベース連携を可能にするモデルコンテキストプロトコル(MCP)サーバー実装。このサーバーは、ツール経由でSQLクエリを実行し、データの洞察とスキーマコンテキストをリソースとして公開することを可能にします。


コンポーネント

リソース

  • memo://insights
    発見されたデータの洞察を集約した継続的に更新されるメモ。
    append_insightツールを使用して新しいインサイトが追加されると、自動的に更新されます。
  • context://table/{table_name}
    (プリフェッチが有効な場合) 列やコメントを含むテーブルごとのスキーマの概要が個別のリソースとして公開されます。

ツール

サーバーは次のツールを公開します。

クエリツール

  • read_query
    SELECTクエリを実行してデータベースからデータを読み取ります。
    入力:
    • query (文字列): 実行するSELECT SQLクエリ
      **戻り値:**クエリ結果をオブジェクトの配列として返します
  • write_query ( --allow-writeでのみ有効)
    INSERTUPDATE 、またはDELETEクエリを実行します。
    入力:
    • query (文字列): SQL変更クエリ
      **戻り値:**影響を受けた行数または確認
  • create_table ( --allow-writeでのみ有効)
    データベースに新しいテーブルを作成します。
    入力:
    • query (文字列): CREATE TABLE SQL文
      **戻り値:**テーブル作成の確認

スキーマツール

  • list_databases
    Snowflake インスタンス内のすべてのデータベースを一覧表示します。
    **戻り値:**データベース名の配列
  • list_schemas
    特定のデータベース内のすべてのスキーマを一覧表示します。
    入力:
    • database (文字列): データベースの名前
      **戻り値:**スキーマ名の配列
  • list_tables
    特定のデータベースとスキーマ内のすべてのテーブルを一覧表示します。
    入力:
    • database (文字列): データベースの名前
    • schema (文字列): スキーマの名前
      **戻り値:**テーブルメタデータの配列
  • describe_table
    特定のテーブルの列情報を表示します。
    入力:
    • table_name (文字列): 完全修飾テーブル名 ( database.schema.table )
      **戻り値:**名前、型、NULL 値、デフォルト、コメントを含む列定義の配列

分析ツール

  • append_insight
    メモ リソースに新しいデータ インサイトを追加します。
    入力:
    • insight (文字列):分析から発見されたデータの洞察
      **戻り値:**洞察力追加の確認
      効果: memo://insightsリソースの更新をトリガーします

Claude Desktopでの使用

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Snowflake Server を自動的にインストールするには:

npx -y @smithery/cli install mcp_snowflake_server --client claude

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}"] ] } }

ローカルにインストールする

  1. Claude AIデスクトップアプリをインストールする
  2. uvをインストールします:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Snowflake の認証情報を使用して.envファイルを作成します。
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. [オプション] データベース、スキーマ、またはテーブルの除外パターンを設定するには、 runtime_config.json変更します。
  2. ローカルでテストする:
uv --directory /absolute/path/to/mcp_snowflake_server run mcp_snowflake_server
  1. claude_desktop_config.jsonにサーバーを追加します。
"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}"] ] } }

注記

  • デフォルトでは書き込み操作は無効になっています。-- --allow-writeで明示的に有効にしてください。
  • サーバーは、除外パターンを使用して特定のデータベース、スキーマ、またはテーブルをフィルター処理することをサポートしています。
  • プリフェッチが有効になっている場合、サーバーはテーブルごとの追加のコンテキスト リソースを公開します。
  • append_insightツールはmemo://insightsリソースを動的に更新します。

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

読み取りおよび(オプション)書き込み操作とインサイトトラッキングを実装するSnowflake統合

  1. Overview
    1. Components
      1. Resources
      2. Tools
    2. Usage with Claude Desktop
      1. Installing via Smithery
      2. Installing via UVX
      3. Installing Locally
    3. Notes
      1. License
        ID: 1z9lezliya