FinはSnowflakeアカウント内で稼働するMCPサーバーに直接接続できます。接続後、Finはテーブルに対して読み取り専用のSQL照会を実行し、設定によりSnowflake Cortex Search、Cortex Analyst、および独自のカスタムツールを使用できます。すべては選択したSnowflakeロールの下で実行されるため、既存の権限、マスキング、行アクセスポリシーがFinのすべての操作に適用されます。
注意:この機能は現在クローズドベータ版です。この設定には、Intercom(データコネクタの設定用)とSnowflake(ACCOUNTADMINまたはSYSADMINロール、または同等の権限)の両方で管理者アクセスが必要です。Snowflake管理者が最初にSnowflake側の手順を完了する必要があります。ベータアクセスを希望する場合は、Intercomのアカウントチームにお問い合わせください。
開始前に:SnowflakeでMCPサーバーを設定する
この部分は完全にSnowflakeアカウント内で行われ、通常はSnowflakeの十分なアクセス権を持つ技術ユーザー(通常はACCOUNTADMINまたはSYSADMIN)のサポートが必要です。
Finが参照すべき範囲に限定したロールを作成し、Finが照会できるテーブルに対して
USAGE/SELECT権限を付与します。任意で、テーブルを横断して照会するUDF(ユーザー定義関数)を作成し、入力パラメータ付きのツールとして公開します。これは、顧客のメールアドレスを受け取り、該当する注文、ticket、その他のデータを返す照会関数などが考えられます。
公開したい各関数に対してロールに
USAGE権限を付与します。MCPサーバーオブジェクト(
CREATE MCP SERVER)を作成し、そのロールに対してUSAGE権限を付与します。Snowflake OAuth(Open Authorization)セキュリティ統合(
CREATE SECURITY INTEGRATION ... TYPE = OAUTH)をOAUTH_CLIENT = CUSTOM、OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'で作成し、OAUTH_REDIRECT_URIを以下のIntercomリージョンに対応する値に設定します。クライアントID(
DESCRIBE SECURITY INTEGRATION <name>)とクライアントシークレット(SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('<name>'))を取得します。
注意: CREATE OR REPLACE MCP SERVERを実行すると、サーバーオブジェクト上のすべての既存の権限がリセットされます。MCPサーバーを再展開する場合は、新しいオブジェクトに対してGRANT USAGE文を再実行してください。
以下の表は、Snowflake OAuthセキュリティ統合(ステップ5)作成時に入力するOAUTH_REDIRECT_URIの値を示しています。Intercomアカウントのリージョンに合ったURIを使用してください。
あなたのIntercomリージョン | Snowflakeに設定するリダイレクトURI |
US |
|
EU |
|
AU |
|
正確なSQLおよびオブジェクトモデルについては、Snowflakeの公式ドキュメントを参照してください。
注意: Finを本番アカウントから完全に分離するには、MCPサーバーをSnowflake Reader Accountにホストし、Secure Data Sharingを介して共有したいデータのみを共有することができます。
ステップ6でクライアントIDとシークレットを取得したら、Intercomでの接続完了の準備が整います。
FinをSnowflake MCPサーバーに接続する
設定 → 統合 → データコネクタに移動します。
データコネクタギャラリーで、Snowflakeタイルをクリックします。
Snowflake管理者からの値を使ってセットアップフォームに入力します。
名前 — Fin内でコネクタを呼ぶ名称。
アカウントURL - Snowflakeアカウントのウェブアドレス、例:
https://xy12345.snowflakecomputing.com。標準の*.snowflakecomputing.comアドレスのみがSnowflakeとして認識されます。MCPエンドポイントパス — アカウント内のMCPサーバーオブジェクトのアドレス、例:
/api/v2/databases/<DB>/schemas/<SCHEMA>/mcp-servers/<SERVER_NAME>。クライアントIDとクライアントシークレット — Snowflake管理者が作成したOAuthセキュリティ統合から取得。
ロール — 接続が動作するSnowflakeロール。これにより、Finがアクセスできるデータとツールが決まります。
接続をクリックします。Snowflakeのサインイン承認に進みます。
成功すると、Finはサーバーが提供するツールを問い合わせて表示します。
Finが使用できるツールを選択する
Finは明示的に追加していないツールを取得しません。
検出されたツールリストから、使用したいものにチェックを入れます(例:SQL実行、Cortex Search、カスタムツール)。
有効にした各ツールは独自のデータコネクタとして追加され、他のコネクタと同様に設定できます。詳細はデータコネクタの設定方法を参照してください。
技術的な制限と動作
Snowflake側の管理はあなた次第です
ツールが表示されない、または接続が完了しない場合は、通常、Snowflakeのロール、権限、サーバーオブジェクトを再確認してください。MCPサーバーの設定はSnowflakeアカウント内にあります。
回答サイズの制限
Snowflakeからの各応答は250 KB(数百行程度)に制限されています。
よくある質問
FinにSnowflakeアカウントへの完全アクセスを許可する必要がありますか?
FinにSnowflakeアカウントへの完全アクセスを許可する必要がありますか?
いいえ。接続は割り当てた単一のSnowflakeロールとしてのみ動作し、明示的に有効にしたツールのみを使用します。
自分でサーバーを展開せずにFinをSnowflakeに接続できますか?
自分でサーバーを展開せずにFinをSnowflakeに接続できますか?
はい。Snowflake Cortexは完全カスタムMCPサーバー構築の代替として管理されたオプションを提供します。MCPサーバーオブジェクトとOAuth統合は作成しますが、AI機能はCortexが担当します。
ツールリストが空、またはツール呼び出しが失敗します。何を確認すべきですか?
ツールリストが空、またはツール呼び出しが失敗します。何を確認すべきですか?
ほぼ常にSnowflakeの設定問題です:MCPサーバーオブジェクトが存在し、接続に使用したロールにUSAGE権限が付与されていることを確認してください。CREATE OR REPLACE MCP SERVERは既存の権限を破棄するため、再展開後はGRANT USAGE文を再実行してください。
