Mcp Snowflake Service について
Mcp Snowflake Service は、Claude から Snowflake データベースにアクセスし、SQL クエリを実行できるようにする MCP サーバーです。接続の作成、タイムアウト時の再接続、切断を自動で管理します。Claude を使って Snowflake のデータを照会したい利用者に向いています。
主な機能
- 01Snowflake への SQL クエリ実行
- 02接続ライフサイクルの自動管理
- 03タイムアウト後の自動再接続
- 04クエリ結果とエラーの処理
- 05.env ファイルによる接続設定
活用シーン
- 01Claude から Snowflake データウェアハウスを照会
- 02読み取り専用のデータベースユーザーによるアクセス制限
MCP 対応
Claude Desktop などの MCP クライアントに Snowflake への照会機能を提供する MCP サーバーです。起動と停止はクライアントの設定に基づいて行われます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
A Model Context Protocol(MCP)サーバーで、Claude から Snowflake データベースにアクセスできます。/Claude から Snowflake データベースにアクセスできる Model Context Protocol(MCP)サーバーです。
このサーバーは Model Context Protocol を実装しており、Claude で次の操作を行えます。
- Snowflake データベースに対する SQL クエリの実行
- データベース接続ライフサイクル(接続、タイムアウト時の再接続、切断)の自動管理
- クエリ結果とエラーの処理
- 安全なデータベース操作
このサーバーは Model Context Protocol を実装しており、Claude で次の操作を行えます。
- Snowflake データベースに対する SQL クエリの実行
- データベース接続ライフサイクル(接続の作成、タイムアウト時の再接続、接続の切断)の自動管理
- クエリ結果とエラーの処理
- データベース操作の安全な実行
インストール/インストール
Smithery 経由でのインストール
Smithery 経由で、Claude Desktop 用の mcp-service-snowflake を自動的にインストールするには、次を実行します。
npx -y @smithery/cli install @datawiz168/mcp-service-snowflake --client claude
手動インストール
- このリポジトリをクローンします/このリポジトリをクローンします
git clone https://github.com/datawiz168/mcp-snowflake-service.git
- 依存関係をインストールします/依存関係をインストールします
pip install -r requirements.txt
設定/設定の説明
MCP クライアントの設定例/MCP クライアントの設定例
次の設定を claude_desktop_config.json に追加します/claude_desktop_config.json に次の設定を追加します。
{
"mcpServers": {
"snowflake": {
"command": "C:\\Users\\K\\anaconda3\\envs\\regular310\\python.exe",
"args": ["D:\\tools\\mcp-snowflake\\server.py"]
}
}
}
設定パラメーター/設定パラメーターの説明:
command:Python インタープリターのフルパスです。Python のインストール先に合わせて変更してください。/Python インタープリターのフルパスです。Python のインストール先に合わせて変更してください。args:サーバースクリプトのフルパスです。リポジトリをクローンした場所に合わせて変更してください。/サーバースクリプトのフルパスです。リポジトリをクローンした場所に合わせて変更してください。
各オペレーティングシステムでのパスの例/各オペレーティングシステムでのパスの例:
Windows:
{
"mcpServers": {
"snowflake": {
"command": "C:\\Users\\YourUsername\\anaconda3\\python.exe",
"args": ["C:\\Path\\To\\mcp-snowflake\\server.py"]
}
}
}
MacOS/Linux:
{
"mcpServers": {
"snowflake": {
"command": "/usr/bin/python3",
"args": ["/path/to/mcp-snowflake/server.py"]
}
}
}
Snowflake の設定/Snowflake の設定
プロジェクトのルートディレクトリに .env ファイルを作成し、次の設定を追加します/プロジェクトのルートディレクトリに .env ファイルを作成し、次の設定を追加します。
SNOWFLAKE_USER=your_username # Your username / 您的用户名
SNOWFLAKE_PASSWORD=your_password # Your password / 您的密码
SNOWFLAKE_ACCOUNT=NRB18479.US-WEST-2 # Example: NRB18479.US-WEST-2 / 示例: NRB18479.US-WEST-2
SNOWFLAKE_DATABASE=your_database # Your database / 您的数据库
SNOWFLAKE_WAREHOUSE=your_warehouse # Your warehouse / 您的数据仓库
接続管理/接続管理
サーバーは次の自動接続管理機能を備えています/サーバーは次の自動接続管理機能を備えています。
-
接続の自動初期化/接続の自動初期化
- 最初のクエリを受信したときに接続を作成します/最初のクエリを受信したときに接続を自動作成します
- 接続パラメーターを検証します/接続パラメーターを検証します
-
接続の維持/接続の維持
- 接続状態を追跡します/接続状態を追跡します
- 接続タイムアウトに対処します/接続タイムアウトに対処します
- 接続が失われた場合は自動的に再接続します/接続が切断された場合は自動的に再接続します
-
接続のクリーンアップ/接続のクリーンアップ
- サーバー停止時に接続を適切に閉じます/サーバー停止時に接続を適切に閉じます
- リソースを適切に解放します/リソースを適切に解放します
使用方法/使用方法
サーバーは Claude Desktop クライアントとともに自動的に起動するため、手動で起動する必要はありません。サーバーの起動後、Claude で Snowflake クエリを実行できます。/サーバーは Claude Desktop クライアントとともに自動的に起動するため、手動で実行する必要はありません。サーバーの起動後、Claude で Snowflake クエリを実行できます。
開発時のテストでは、次のコマンドを使ってサーバーを手動で起動できます/テストのためにサーバーを個別に起動する場合は、次のコマンドを使用できます。
python server.py
注:通常の使用では、サーバーを手動で起動する必要はありません。Claude Desktop クライアントが設定に基づいてサーバーの起動と停止を自動的に管理します。/注:通常の使用では、サーバーを手動で起動する必要はありません。Claude Desktop クライアントが設定に基づいてサーバーの起動と停止を自動的に管理します。
機能/機能
- Snowflake データベースへの安全なアクセス/Snowflake データベースへの安全なアクセス
- 堅牢なエラー処理と報告/堅牢なエラー処理と報告の仕組み
- 接続の自動管理/接続の自動管理
- クエリの実行と結果の処理/クエリの実行と結果の処理
開発/開発
コードのコントリビュートや問題の報告を行うには/コードのコントリビュートや問題の報告を行うには、次の手順に従ってください。
- このリポジトリをフォークします/このリポジトリをフォークします
- 機能ブランチを作成します/機能ブランチを作成します(
git checkout -b feature/AmazingFeature) - 変更をコミットします/変更をコミットします(
git commit -m 'Add some AmazingFeature') - ブランチにプッシュします/ブランチにプッシュします(
git push origin feature/AmazingFeature) - Pull Request を作成します/Pull Request を作成します
注/備考
mcp‑server‑snowflake は、データベースユーザーを通じてデータベースへのアクセス権限を正確に管理します。データの読み取りだけが必要な場合は、読み取り専用のデータベース権限を持つユーザーを割り当ててください。/ mcp-server-snowflake は、データベースユーザーを通じてデータベースへのアクセス権限を正確に管理します。データの読み取りだけが必要な場合は、読み取り専用のデータベース権限を持つユーザーを割り当ててください。
ライセンス / ライセンス
このプロジェクトは、MIT ライセンスのもとでライセンスされています。
このプロジェクトは MIT ライセンスを採用しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。