Simple Snowflake MCP
S

Simple Snowflake MCP

2.5ポイント
7.5K

インストール

以下のコマンドをクライアントにコピーして設定
注意:あなたのキーは機密情報です。誰とも共有しないでください。

🚀 シンプルなSnowflake MCPサーバー

企業プロキシの背後で動作するシンプルなSnowflake MCPサーバーです(既存のサーバーでは数分で設定できなかったので、自分でサーバーを作りました)。まだ良いか悪いかはわかりませんが、現時点では十分です。

🚀 クイックスタート

✨ 主要特性

サーバーは、Snowflakeとやり取りするための以下のMCPツールを公開しています。

  • execute-snowflake-sql:SnowflakeでSQLクエリを実行し、結果(辞書のリスト)を返します。
  • list-snowflake-warehouses:Snowflake上の利用可能なデータウェアハウス(DWH)を一覧表示します。
  • list-databases:アクセス可能なすべてのSnowflakeデータベースを一覧表示します。
  • list-views:データベースとスキーマ内のすべてのビューを一覧表示します。
  • describe-view:ビューの詳細(列、SQL)を提供します。
  • query-view:オプションの行制限でビューをクエリし(マークダウン形式の結果)、結果を返します。
  • execute-query:読み取り専用モード(SELECT、SHOW、DESCRIBE、EXPLAIN、WITH)またはそうでない場合(read_onlyがfalseの場合)でSQLクエリを実行し、結果をマークダウン形式で返します。

📦 インストール

Claude Desktop

  • MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
開発/未公開サーバーの設定
"mcpServers": {
  "simple_snowflake_mcp": {
    "command": "uv",
    "args": [
      "--directory",
      ".", // GitHubでは現在のディレクトリを使用
      "run",
      "simple_snowflake_mcp"
    ]
  }
}
公開サーバーの設定
"mcpServers": {
  "simple_snowflake_mcp": {
    "command": "uvx",
    "args": [
      "simple_snowflake_mcp"
    ]
  }
}

Dockerセットアップ

前提条件

  • システムにDockerとDocker Composeがインストールされていること
  • Snowflakeの資格情報

Dockerでのクイックスタート

  1. リポジトリをクローンする
    git clone <your-repo>
    cd simple_snowflake_mcp
    
  2. 環境変数を設定する
    cp .env.example .env
    # .envを編集してSnowflakeの資格情報を入力する
    
  3. Docker Composeでビルドして実行する
    # Dockerイメージをビルドする
    docker-compose build
    
    # サービスを起動する
    docker-compose up -d
    
    # ログを表示する
    docker-compose logs -f
    

Dockerコマンド

  • Docker Composeを直接使用する場合:
# イメージをビルドする
docker-compose build

# 本番モードで起動する
docker-compose up -d

# 開発モードで起動する(ソースコードをマウントしてライブコード変更を可能にする)
docker-compose --profile dev up simple-snowflake-mcp-dev -d

# ログを表示する
docker-compose logs -f

# サービスを停止する
docker-compose down

# クリーンアップ(コンテナ、イメージ、ボリュームを削除する)
docker-compose down --rmi all --volumes --remove-orphans
  • 提供されているMakefileを使用する場合(WindowsユーザーはWSLでmakeを使用するか、Windows用のmakeをインストールしてください):
# 利用可能なすべてのコマンドを表示する
make help

# ビルドして起動する
make build
make up

# 開発モードで起動する
make dev-up

# ログを表示する
make logs

# クリーンアップする
make clean

Docker設定

Dockerセットアップには以下が含まれています。

  • Dockerfile:Python 3.11 slimベースイメージを使用したマルチステージビルド
  • docker-compose.yml:環境変数をサポートするサービス定義
  • .dockerignore:最適化されたビルドコンテキスト
  • Makefile:Docker操作のための便利なコマンド
環境変数

すべてのSnowflake設定は環境変数を介して設定できます。

  • SNOWFLAKE_USER:Snowflakeのユーザー名(必須)
  • SNOWFLAKE_PASSWORD:Snowflakeのパスワード(必須)
  • SNOWFLAKE_ACCOUNT:Snowflakeのアカウント識別子(必須)
  • SNOWFLAKE_WAREHOUSE:ウェアハウス名(オプション)
  • SNOWFLAKE_DATABASE:デフォルトのデータベース(オプション)
  • SNOWFLAKE_SCHEMA:デフォルトのスキーマ(オプション)
  • MCP_READ_ONLY:読み取り専用モードに設定する場合は「TRUE」(デフォルト: TRUE)
開発モード

開発用には、ソースコードをマウントする開発プロファイルを使用します。

docker-compose --profile dev up simple-snowflake-mcp-dev -d

これにより、Dockerイメージを再ビルドすることなくコードを変更できます。

💻 使用例

新機能: Snowflake SQL実行

サーバーは、SnowflakeでSQLクエリを実行して結果を返すMCPツールexecute-snowflake-sqlを公開しています。

使い方

execute-snowflake-sql MCPツールを、実行するSQLクエリを含むsql引数とともに呼び出します。結果は辞書のリスト(行ごとに1つ)として返されます。

基本的な使用法

{
  "name": "execute-snowflake-sql",
  "arguments": { "sql": "SELECT CURRENT_TIMESTAMP;" }
}

結果はMCP応答で返されます。

VS Codeでのインストールと設定

  1. プロジェクトをクローンし、依存関係をインストールする
    git clone <your-repo>
    cd simple_snowflake_mcp
    python -m venv .venv
    .venv/Scripts/activate  # Windows
    pip install -r requirements.txt  # 利用可能な場合は `uv sync --dev --all-extras`
    
  2. Snowflakeアクセスを設定する
    • .env.example.envにコピーする(またはルートに.envを作成する)し、資格情報を入力する:
      SNOWFLAKE_USER=...
      SNOWFLAKE_PASSWORD=...
      SNOWFLAKE_ACCOUNT=...
      # SNOWFLAKE_WAREHOUSE   オプション: Snowflakeウェアハウス名
      # SNOWFLAKE_DATABASE    オプション: デフォルトのデータベース名
      # SNOWFLAKE_SCHEMA      オプション: デフォルトのスキーマ名
      # MCP_READ_ONLY=true|false   オプション: 読み取り専用モードを強制する場合はtrue/false
      
  3. VS CodeをMCPデバッグ用に設定する
    • .vscode/mcp.jsonファイルがすでに存在します:
      {
        "servers": {
          "simple-snowflake-mcp": {
            "type": "stdio",
            "command": ".venv/Scripts/python.exe",
            "args": ["-m", "simple_snowflake_mcp"]
          }
        }
      }
      
    • コマンドパレットを開き(Ctrl+Shift+P)、MCP: Start Serverと入力してsimple-snowflake-mcpを選択します。
  4. 使用法
    • 公開されているMCPツールを使用してSnowflakeをクエリできます(list-databases、list-views、describe-view、query-view、execute-queryなど)。
    • 詳細な例については、MCPプロトコルのドキュメントを参照してください:https://github.com/modelcontextprotocol/create-python-server

サポートされているMCP関数

サーバーは、Snowflakeとやり取りするための以下のMCPツールを公開しています。

  • execute-snowflake-sql:SnowflakeでSQLクエリを実行し、結果(辞書のリスト)を返します。
  • list-snowflake-warehouses:Snowflake上の利用可能なデータウェアハウス(DWH)を一覧表示します。
  • list-databases:アクセス可能なすべてのSnowflakeデータベースを一覧表示します。
  • list-views:データベースとスキーマ内のすべてのビューを一覧表示します。
  • describe-view:ビューの詳細(列、SQL)を提供します。
  • query-view:オプションの行制限でビューをクエリし(マークダウン形式の結果)、結果を返します。
  • execute-query:読み取り専用モード(SELECT、SHOW、DESCRIBE、EXPLAIN、WITH)またはそうでない場合(read_onlyがfalseの場合)でSQLクエリを実行し、結果をマークダウン形式で返します。

各ツールの呼び出し形式については、「使い方」セクションまたはMCPドキュメントを参照してください。

開発

ビルドと公開

パッケージを配布用に準備するには、以下の手順を実行します。

  1. 依存関係を同期し、ロックファイルを更新する:
uv sync
  1. パッケージの配布物をビルドする:
uv build

これにより、dist/ディレクトリにソースとホイールの配布物が作成されます。 3. PyPIに公開する:

uv publish

注: PyPIの資格情報は環境変数またはコマンドフラグを介して設定する必要があります。

  • トークン: --token または UV_PUBLISH_TOKEN
  • またはユーザー名/パスワード: --username/UV_PUBLISH_USERNAME および --password/UV_PUBLISH_PASSWORD

デバッグ

MCPサーバーは標準入出力を介して実行されるため、デバッグは困難な場合があります。最高のデバッグ体験を得るために、MCP Inspectorの使用を強くお勧めします。

以下のコマンドを使用して、npmを介してMCP Inspectorを起動できます。

npx @modelcontextprotocol/inspector uv --directory . run simple-snowflake-mcp

起動すると、Inspectorはブラウザでアクセスしてデバッグを開始できるURLを表示します。

代替品

M
MCP
Microsoft公式のMCPサーバーで、AIアシスタントに最新のMicrosoft技術ドキュメントの検索と取得機能を提供します。
10.4K
5ポイント
A
Aderyn
アデリンは、Rustで書かれたオープンソースのSolidityスマートコントラクト静的分析ツールで、開発者やセキュリティ研究者がSolidityコードの脆弱性を発見するのを支援します。FoundryとHardhatプロジェクトをサポートし、複数の形式のレポートを生成でき、VSCode拡張機能も提供します。
Rust
5.1K
5ポイント
D
Devtools Debugger MCP
Node.jsデバッガーMCPサーバーは、Chrome DevToolsプロトコルに基づく完全なデバッグ機能を提供します。ブレークポイントの設定、ステップ実行、変数のチェック、式の評価などが含まれます。
TypeScript
6.5K
4ポイント
S
Scrapling
Scraplingは適応型ウェブページのスクレイピングライブラリで、ウェブサイトの変化を自動的に学習し、要素を再配置します。複数のスクレイピング方法とAI統合をサポートし、高性能な解析と開発者に優しい体験を提供します。
Python
8.1K
5ポイント
M
Mcpjungle
MCPJungleは自ホスト型のMCPゲートウェイで、複数のMCPサーバーを集中的に管理および代理し、AIエージェントに統一されたツールアクセスインターフェースを提供します。
Go
0
4.5ポイント
C
Cipher
Cipherは、プログラミングAIエージェント向けに設計されたオープンソースのメモリ層フレームワークです。MCPプロトコルを通じてさまざまなIDEとAIコーディングアシスタントと統合し、自動記憶生成、チーム記憶共有、デュアルシステム記憶管理などの核心機能を提供します。
TypeScript
0
5ポイント
N
Nexus
NexusはAIツール集約ゲートウェイで、複数のMCPサーバーとLLMプロバイダーの接続をサポートし、統一されたエンドポイントを通じてツール検索、実行、およびモデルルーティング機能を提供し、セキュリティ認証とレート制限をサポートします。
Rust
0
4ポイント
S
Shadcn Ui MCP Server
AIワークフローにshadcn/uiコンポーネントの統合を提供するMCPサーバーで、React、Svelte、Vueフレームワークをサポートし、コンポーネントのソースコード、使用例、メタデータへのアクセス機能を備えています。
TypeScript
9.1K
5ポイント
G
Gmail MCP Server
Claude Desktop用に設計されたGmail自動認証MCPサーバーで、自然言語でのやり取りによるGmailの管理をサポートし、メール送信、ラベル管理、一括操作などの完全な機能を備えています。
TypeScript
13.4K
4.5ポイント
E
Edgeone Pages MCP Server
EdgeOne Pages MCPは、MCPプロトコルを通じてHTMLコンテンツをEdgeOne Pagesに迅速にデプロイし、公開URLを取得するサービスです。
TypeScript
16.4K
4.8ポイント
C
Context7
Context7 MCPは、AIプログラミングアシスタントにリアルタイムのバージョン固有のドキュメントとコード例を提供するサービスで、Model Context Protocolを通じてプロンプトに直接統合され、LLMが古い情報を使用する問題を解決します。
TypeScript
44.5K
4.7ポイント
B
Baidu Map
認証済み
百度マップMCPサーバーは国内初のMCPプロトコルに対応した地図サービスで、地理コーディング、ルート計画など10個の標準化されたAPIインターフェースを提供し、PythonとTypescriptでの迅速な接続をサポートし、エージェントに地図関連の機能を実現させます。
Python
23.9K
4.5ポイント
G
Gitlab MCP Server
認証済み
GitLab MCPサーバーは、Model Context Protocolに基づくプロジェクトで、GitLabアカウントとのやり取りに必要な包括的なツールセットを提供します。コードレビュー、マージリクエスト管理、CI/CD設定などの機能が含まれます。
TypeScript
13.3K
4.3ポイント
U
Unity
認証済み
UnityMCPはUnityエディターのプラグインで、モデルコンテキストプロトコル (MCP) を実装し、UnityとAIアシスタントのシームレスな統合を提供します。リアルタイムの状態監視、リモートコマンドの実行、ログ機能が含まれます。
C#
15.0K
5ポイント
M
Magic MCP
Magic Component Platform (MCP) はAI駆動のUIコンポーネント生成ツールで、自然言語での記述を通じて、開発者が迅速に現代的なUIコンポーネントを作成するのを支援し、複数のIDEとの統合をサポートします。
JavaScript
15.7K
5ポイント
S
Sequential Thinking MCP Server
MCPプロトコルに基づく構造化思考サーバーで、思考段階を定義することで複雑な問題を分解し要約を生成するのに役立ちます。
Python
20.7K
4.5ポイント
AIBase
智啓未来、あなたの人工知能ソリューションシンクタンク
© 2025AIBase