SNOWFLAKE WORLD TOUR TOKYO 2025
2025/9/11 – 12の2日間、Snowflake の国内最大のイベント『SNOWFLAKE WORLD TOUR TOKYO 2025』が開催されます!データ活用の最前線を是非体感しに来てください!是非会場でお会いしましょう!
はじめに
最近、AI エージェントによる開発支援がますます注目を集めていますね。その中でも Model Context Protocol (MCP) という標準化されたプロトコルが Anthropic 社から発表され、様々なツールや API と LLM をより簡単に接続できるようになりました。そして先日、Snowflake からも公式の MCP Server が OSS として公開されています!
これまでも Cortex Search や Cortex Analyst といった個別の機能は利用可能でしたが、直近のアップデートで SQL の実行機能 が追加されたことで、MCPクライアント (Cursor、Claude Desktop など) から Snowflake の分析環境に直接アクセスし、AI Agent に自然言語で指示するだけでデータ分析が完結 できるようになりました。これは開発者にとってかなり嬉しいアップデートなのではないでしょうか?
今回は実際に Cursor から Snowflake-Labs の MCP Server を設定・利用してみて、どのような分析が可能になるのか、そして Snowflake Intelligence との使い分けについてもご紹介していきます。エンジニアの方で Snowflake のデータを手軽に分析したい方は、ぜひ最後までお読みいただければ幸いです!
Snowflake MCP Server とは
Snowflake MCP Server は、Snowflake の各種機能を MCP エコシステムに統合するための 公式 OSS ツール です。MCP Client (Cursor、Claude Desktop、fast-agent など) と接続することで、Snowflake の強力なデータ分析機能を AI Agent から操作できるようになります。
主な機能
現在、Snowflake MCP Server では以下の機能がサポートされています:
機能カテゴリ | 説明 |
---|---|
Cortex Search | 非構造化データの検索 |
Cortex Analyst | セマンティックモデル (Semantic View にも対応) による構造化データの分析 |
SQL 実行 | LLM が生成した SQL の実行 |
オブジェクト管理 | データベース、スキーマ、テーブル、ビュー、ウェアハウスなどの作成・削除・更新 |
技術的な特徴
- ローカル実行型: 現在のバージョンは MCP クライアントによってローカルで起動される形式
- 柔軟な権限管理: 例えば SELECT 文のみ許可するなど、SQL 実行時の権限を細かく制御可能
- マルチサービス対応: 複数の Cortex Search / Cortex Analyst サービスを同時に設定可能
Snowflake Intelligence との使い分け
ここで Snowflake 通の方は「既に Snowflake Intelligence があるけど、それとの使い分けはどう考えればいいのか?」という疑問が出てくるのではないでしょうか?それに対して私は以下のように考えています:
Snowflake Intelligence が適している場合
項目 | 詳細 |
---|---|
対象ユーザー | ビジネスユーザー、アナリスト |
利用環境 | Web ブラウザベースの GUI |
主な用途 | 社内向けデータ分析アプリの展開、レポート作成 |
メリット | セットアップが簡単、GUI で直感的に操作可能。環境全てが Snowflake で管理されているため、セキュリティの観点からも安全 |
展開方法 | 組織全体への横展開が容易 |
Snowflake MCP Server が適している場合
項目 | 詳細 |
---|---|
対象ユーザー | エンジニア、開発者 |
利用環境 | Cursor、Claude Desktop などの開発ツール |
主な用途 | 開発中のデータ確認、アドホックな分析、CI/CD への組み込み |
メリット | 開発フローに統合、コードと並行して分析可能 |
展開方法 | 個人やチーム単位での利用 |
つまり、社内の自然言語分析アプリを手軽に展開したい場合は Intelligence、エンジニアが使う MCP クライアント向けに Snowflake の分析環境を展開したい場合は MCP Server という使い分け (あるいは併用) になってくるのかなと考えます。迷う場合には最初に導入が容易である Snowflake Intelligence を試してみて、ビジネス上の期待値がクリアになってから必要に応じて Snowflake MCP Server を試してみるのがオススメです。
Cursor での設定方法
それでは実際に Cursor で Snowflake MCP Server を設定してみましょう。今回は手軽な方法として、PAT (Programmatic Access Token) を使用した設定 をご紹介します。
1. 事前準備
uvx のインストール
Snowflake MCP Server を実行するには、Python パッケージ管理ツール uv の実行コマンド uvx が必要です。まだインストールしていない場合は、以下のコマンドでインストールしてください:
curl -LsSf https://astral.sh/uv/install.sh | sh
pipx install uv
インストール後、uvx --version
でインストールが成功したことを確認してください。
PAT の生成
まず Snowsight にログインして PAT を生成します。以下の手順で進めてください:
- Snowsight の左下のプロフィールアイコンから「設定」を選択
- 「認証」セクションに移動
- 「新しいトークンを生成」ボタンをクリック
- トークンの名前と有効期限を設定
- 必要な権限 (ロール) を選択
- 生成されたトークンをコピー
Cortex Search / Cortex Analyst の事前準備
Snowflake MCP Server で Cortex Search や Cortex Analyst を利用する場合、事前に以下の準備しておく必要があります:
Cortex Search を利用する場合
Cortex Search Service を事前に作成しておく必要があります。Cortex Search Service は非構造化データ (ドキュメント、ログ、テキストデータなど) を検索可能にするサービスです。
作成方法については Cortex Search の公式ドキュメント をご参照ください。
また過去の記事「Snowflake Cortex Search の管理 UI が便利になった」では、Cortex Search の管理 UI の使い方について解説しておりますので併せてご確認ください。
Cortex Analyst を利用する場合
セマンティックモデル または セマンティックビュー (Semantic View) を事前に作成しておく必要があります。これらは構造化データに対してビジネスコンテキストを付与し、自然言語からのクエリ生成 (Text2SQL) を可能にします。
サービス設定ファイルの作成
次に、利用する Cortex サービスと SQL 権限を定義する設定ファイル tools_config.yaml
を作成します。GitHub にテンプレートが用意されているので、こちらを参考にしてください。
以下は設定例です:
search_services:
- service_name: ""
description: >
""
database_name: ""
schema_name: ""
columns: []
limit: 10
analyst_services:
- service_name: ""
semantic_model: ""
description: >
""
sql_statement_permissions:
- Alter: False
- Command: False
- Comment: False
- Commit: False
- Create: False
- Delete: False
- Describe: True
- Drop: False
- Insert: False
- Merge: False
- Rollback: False
- Select: True
- Transaction: False
- TruncateTable: False
- Unknown: False
- Update: False
- Use: True
Cursor では、この設定ファイルを解釈して各種ツールを利用します。そのため、description には可能な限り詳細に記述することで、AI Agent が適切に各種ツールを呼び出してくれるようになります。
2. Cursor の MCP 設定
Cursor の MCP 設定を行います。Cursor の設定画面から MCP&Integrations の設定を開き、「New MCP Server」をクリックすると mcp.json
の編集画面となります:
または、設定ファイル(~/.cursor/mcp.json
)を直接編集することも可能です:
{
"mcpServers": {
"mcp-server-snowflake": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/Snowflake-Labs/mcp",
"mcp-server-snowflake",
"--service-config-file",
"",
"--account",
"" ,
"--user",
"" ,
"--password",
""
]
}
}
}
3. 接続確認
設定後、先ほどの Cursor のMCP Server の設定画面で、作成した MCP Server のボタンをクリックすると MCP Server が起動します。接続が成功すると、MCP Server のアイコンに緑色のランプが点灯し、Cursor のチャット画面から Snowflake の機能が利用可能になります。
実際の使用例
それでは、実際に Cursor から Snowflake MCP Server を使ってデータ分析をしてみましょう!
例1: 自然言語でのデータ探索
Cursor のチャットに以下のように入力してみます:
Snowflakeのデータベースの一覧を出力して。
MCP Server が自動的に適切な SQL を生成・実行し、結果を返してくれます:
SNOWFLAKEデータベース一覧
1. SALES
顧客の売上に関するデータを管理するデータベース
2. CUSTOMER
顧客情報を管理するデータベース
...
このように Snowflake のロールの権限範囲で、かつ先ほど定義した tools_config.yaml
で許可された SQL 文を用いて AI Agent が適切な SQL を生成・実行し、結果を返してくれます。
例2: Cortex Search での非構造化データ検索
社内ドキュメントから特定の情報を検索したい場合:
運用マニュアルの要約をして。
以下の通り設定された Cortex Search Service が自動的に呼び出され、関連する情報が返されます。
📚 SnowRetail 運用マニュアル要約
🏢 会社の基本理念
企業理念:「食と暮らしの豊かさを創造し、地域社会に貢献する」
基本方針:
顧客満足を最優先
食の安全は妥協しない
地域社会との共生
...
例3: 複雑な分析クエリの実行
「2024年下半期の月別売上推移を調査し、変動要因を分析して。」
Cortex Analyst がセマンティックモデルまたはセマンティックビューを解釈し、適切な SQL クエリを生成し、CURSOR の AI Agent がそのSQLを実行し、結果を返してくれます:
📊 2024年下半期 売上分析レポート
📈 月別売上推移
月 売上高(円) 前月比 特徴
7月 10,129,060 - 下半期スタート
8月 16,493,740 +62.8% 最高売上月
9月 13,400,820 -18.8% 高水準維持
10月 9,944,960 -25.8% 売上低下
11月 9,657,880 -2.9% 最低売上月
12月 19,443,520 +101.3% 年末商戦で急増
合計 79,069,980 - 下半期合計
🔍 主要な変動要素
1. 季節性要因
8月:夏季商戦のピーク
高額商品(デジタルカメラ等)の大量販売
製品xxが各500万円の売上
12月:年末商戦
売上が前月比2倍以上に急増
12月16日(7,117,020円)、24日(7,056,200円)が突出
...
活用のポイント
権限設定のベストプラクティス
開発環境と本番環境で異なる権限設定を行うことで、セキュアな運用が可能です:
-
開発環境:
Select
、Describe
、Use
、Create
、Insert
などを許可 -
本番環境:
Select
、Describe
、Use
のみ許可 -
管理者用: 必要に応じて
All: True
を設定
最後に
Snowflake MCP Server は、エンジニアの開発体験を大きく向上させる画期的なツール だと感じています。特に以下の点で価値を提供してくれます:
- 開発フローとの統合: Cursor から離れることなくデータ分析が可能
- 自然言語での操作: SQL を書かなくても AI Agent への自然言語での指示で複雑な分析タスクを実行可能
- セキュアな実行環境: 細かい権限制御により安全に利用可能
私も実際に使ってみて、「このテーブルの構造どうだっけ?」「この期間の売上推移を確認したい」といった場面で、ツールを切り替えずに Cursor 内で完結できるのは本当に便利だと感じました。
Snowflake Intelligence は組織全体でのデータ活用を推進するための強力なツールですが、エンジニアやデータサイエンティストが日常的に使う開発ツールと統合された MCP Server もまた、異なる価値を提供してくれます。用途に応じて使い分けることで、より効率的なデータ活用が実現できるのではないでしょうか。
ぜひ皆さんも Snowflake MCP Server を試してみてください!
宣伝
SNOWFLAKE DISCOVER で登壇しました!
2025/4/24-25に開催されました Snowflake のエンジニア向け大規模ウェビナー『SNOWFLAKE DISCOVER』において『ゼロから始めるSnowflake:モダンなデータ&AIプラットフォームの構築』という一番最初のセッションで登壇しました。Snowflake の概要から最新状況まで可能な限り分かりやすく説明しておりますので是非キャッチアップにご活用いただければ嬉しいです!
以下リンクでご登録いただけるとオンデマンドですぐにご視聴いただくことが可能です。
生成AI Conf 様の Webinar で登壇しました!
『生成AI時代を支えるプラットフォーム』というテーマの Webinar で NVIDIA 様、古巣の AWS 様と共に Snowflake 社員としてデータ*AI をテーマに LTをしました!以下が動画アーカイブとなりますので是非ご視聴いただければ幸いです!
X で Snowflake の What’s new の配信してます
X で Snowflake の What’s new の更新情報を配信しておりますので、是非お気軽にフォローしていただければ嬉しいです。
日本語版
Snowflake の What’s New Bot (日本語版)
English Version
Snowflake What’s New Bot (English Version)
変更履歴
(20250901) 新規投稿
(20250901) PAT の利用要件の注意事項を追記 (コメントいただきありがとうございます!)
Views: 0