Snowflake Managed MCP Server経由でClaude DesktopからCortex Agentに繋いでみた

Snowflake Managed MCP Server経由でClaude DesktopからCortex Agentに繋いでみた

2026.04.07

さがらです。

先日、クラスメソッドの財務データや会社説明の資料に対して、Snowflake Cortex Agentでマルチモーダルに分析する記事を書きました。

https://dev.classmethod.jp/articles/snowflake-multi-modal-analytics-with-cortex-agent/

このエージェントに対して、Snowflake Managed MCP Serverを使うことでClaude Desktopから直接繋いで問い合わせすることを試してみました。

Snowflake Managed MCP Serverは、MCP(Model Context Protocol)に対応したサーバーをSnowflakeが管理する形でホストしてくれる機能です。自前でMCPサーバーのインフラを用意することなく、Snowflake上のCortex AgentやCortex Searchなどのリソースをそのままツールとして公開できます。

https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp

試してみた手順と結果について、本記事でまとめてみます。

機能概要

Snowflake Managed MCP Serverは、SnowflakeアカウントのリソースをMCPツールとして外部のAIエージェント・クライアントに公開できる機能です。サーバーのインフラ管理は不要で、CREATE MCP SERVER 文でYAML形式のSpecificationを記述するだけで作成できます。

対応しているツールタイプ

MCPサーバーに登録できるツールのタイプは以下の5種類です。今回はこの中の CORTEX_AGENT_RUN を使います。

タイプ 用途
CORTEX_SEARCH_SERVICE_QUERY Cortex Searchサービスへの非構造化データ検索
CORTEX_ANALYST_MESSAGE Semantic ViewベースのText-to-SQL
SYSTEM_EXECUTE_SQL 直接のSQL実行
CORTEX_AGENT_RUN Cortex Agentの呼び出し
GENERIC UDF・ストアドプロシージャのツール

前提条件

  • Snowflake:AWS東京リージョン、Enterpriseエディション
  • 対象のCortex Agent: POC_CM.SAGARA_TEST.AGENT_CM_FINANCIAL_ANALYST前述の記事で作成したものを使用します)

事前準備

Snowflake側:OAuth Security Integrationの作成

Claude DesktopのSnowflakeコネクタはOAuth 2.0で認証を行うため、Snowflake側でCustom OAuth用のSecurity Integrationを作成する必要があります。

OAUTH_REDIRECT_URI の値は、こちらのClaudeのサポートページより引用

USE ROLE ACCOUNTADMIN;

CREATE OR REPLACE SECURITY INTEGRATION CLAUDE_DESKTOP_MCP_OAUTH
  TYPE = OAUTH
  OAUTH_CLIENT = CUSTOM
  ENABLED = TRUE
  OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'
  OAUTH_REDIRECT_URI = 'https://claude.ai/api/mcp/auth_callback';

作成後、クライアントIDとクライアントシークレットを取得します。

SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('CLAUDE_DESKTOP_MCP_OAUTH');

2026-04-07_16h07_48

表示された OAUTH_CLIENT_IDOAUTH_CLIENT_SECRET をメモしておきます(後ほどClaude Desktopの設定画面に入力します)。

試してみた

1. Snowflake Managed MCP Serverの作成

先日の記事で作成したCortex Agent(AGENT_CM_FINANCIAL_ANALYST)をツールとして公開するMCPサーバーを作成します。

USE ROLE SYSADMIN;
USE DATABASE POC_CM;
USE SCHEMA SAGARA_TEST;

CREATE OR REPLACE MCP SERVER MCP_FINANCIAL_ANALYST
  FROM SPECIFICATION $$
    tools:
      - name: "financial-analyst"
        type: "CORTEX_AGENT_RUN"
        identifier: "POC_CM.SAGARA_TEST.AGENT_CM_FINANCIAL_ANALYST"
        description: "クラスメソッドの財務データ・PDF資料(決算報告書・会社紹介資料)に対してマルチモーダルな分析を行うエージェント。売上データの集計や財務PDFへの質問に対応しています。"
        title: "Financial Analyst"
  $$;

作成されたMCPサーバーの内容は DESCRIBE で確認できます。

DESCRIBE MCP SERVER MCP_FINANCIAL_ANALYST;

2026-04-07_16h10_31

2. 権限付与

OAuthでサインインするSnowflakeユーザーのロールに対して、MCPサーバーとCortex Agentへのアクセス権を付与します。(SECURITY INTEGRATIONではデフォルトで ACCOUNTADMIN でのアクセスができないようになっていますのでご注意ください。)

USE ROLE ACCOUNTADMIN;

-- MCPサーバーへのアクセス権
GRANT USAGE ON MCP SERVER POC_CM.SAGARA_TEST.MCP_FINANCIAL_ANALYST
  TO ROLE <OAuthでサインインするユーザーのロール>;

-- Cortex Agentへのアクセス権
GRANT USAGE ON AGENT POC_CM.SAGARA_TEST.AGENT_CM_FINANCIAL_ANALYST
  TO ROLE <OAuthでサインインするユーザーのロール>;

3. MCPサーバーのURLを確認する

Claude Desktopへの接続設定で必要なURLは以下の形式です。

https://<org>-<account>.snowflakecomputing.com/api/v2/databases/POC_CM/schemas/SAGARA_TEST/mcp-servers/MCP_FINANCIAL_ANALYST

<org>-<account> の部分はSnowflakeのアカウント識別子です。Snowsightの Connect a tool to Snowflake から確認できます。(こちらの確認方法は以下の記事が参考になると思います。)

https://dev.classmethod.jp/articles/snowflake-snowsight-can-check-account-details/

4. Claude DesktopのコネクタUIでSnowflakeを設定

Claude Desktopの設定のコネクタ検索画面からSnowflakeのコネクタを検索し、選択します。

2026-04-07_16h13_16

すると、設定以下の3項目を入力する画面が表示されます。

それぞれ以下のように入力し、続けるを押します。

項目 入力値
サーバーURL https://<org>-<account>.snowflakecomputing.com/api/v2/databases/POC_CM/schemas/SAGARA_TEST/mcp-servers/MCP_FINANCIAL_ANALYST
OAuth クライアントID SYSTEM$SHOW_OAUTH_CLIENT_SECRETS で取得した OAUTH_CLIENT_ID
OAuth クライアントシークレット SYSTEM$SHOW_OAUTH_CLIENT_SECRETS で取得した OAUTH_CLIENT_SECRET

2026-04-07_16h15_58

その後、ブラウザが起動してSnowflakeのログイン画面が表示されるので、MCPサーバーへのアクセス権を持つユーザーでサインインします。

2026-04-07_16h17_32

2026-04-07_16h18_02

この後、Claudeの画面に戻り、下図のように表示されれば準備OKです。

2026-04-07_16h33_55

5. 実際に問い合わせてみた

Claude Desktopのチャットから、前述の記事で検証していた内容と同じ質問を投げてみます。

まず、Cortex Analystツール(月次売上)への質問を試してみます。

2021年度のサービスラインごとの売上を教えてください

すると、Claudeから作成したMCP Serverで定義したツールへのアクセスが発生するため、許可を行います。

2026-04-07_16h36_37

一定時間経過後、下図のように回答が返ってきました!

2026-04-07_16h39_45

次にPDFツール(決算報告書)への質問も試してみます。

クラスメソッドの直近の決算報告書の売上について教えてください

こちらも正しく結果が返ってきました。

2026-04-07_16h42_25

最後に

Snowflake Managed MCP Server経由でClaude Desktopから既存のCortex Agentに繋いでみました。

ClaudeからSnowflakeのCortex Agentに接続できることで、取得したデータを元に資料作成を行ったり、ClaudeをハブとしてSnowflakeのデータを別の成果物につなげやすくなると思います。

Snowflake上にCortex Agentを作っている方はぜひ試してみてください!

この記事をシェアする

関連記事