【ITニュース解説】Deploying Snowflake Cortex Agent and Knowledge Graph with ServiceNow MCP Server
2026年09月22日に「Dev.to」が公開したITニュース「Deploying Snowflake Cortex Agent and Knowledge Graph with ServiceNow MCP Server」について初心者にもわかりやすく解説しています。
ITニュース概要
ServiceNow MCP Serverを活用し、AIエージェントがSnowflakeに保管されたハードウェア資産データとServiceNow内のソフトウェア資産データを、異なるデータ源を意識せず自然言語で横断的に検索できる仕組みを構築する。ユーザーはデータの保存場所を気にする必要がない。
ITニュース解説
この記事では、ServiceNow MCP Serverという仕組みを使って、AIが複数の異なる場所に保存された情報に、自然な言葉でスムーズにアクセスできるようにする方法を解説している。最終的な目標は、ユーザーが「Timが管理している資産は何?」といった質問をAIに投げかけるだけで、その情報がハードウェアであれソフトウェアであれ、どこに保存されているかを意識することなく、一つのAIから包括的な回答を得られるようにすることだ。
この仕組みの登場人物は主に三つある。まず、ユーザーからの質問を受け付ける窓口となるAIエージェントとして、Claude Codeが挙げられる。次に、様々なデータを管理・提供するシステムとして、ServiceNowとSnowflakeがある。ServiceNowはITサービス管理などで使われるプラットフォームで、ここではソフトウェア資産の情報を管理する。一方、Snowflakeは大量のデータを高速に処理するクラウドデータウェアハウスで、ここではハードウェア資産の情報を管理する。
これらの異なるシステムとAIをつなぐ接着剤となるのが、ServiceNowの持つMCP Serverという機能である。MCPはModel Context Protocolの略で、AIエージェントが外部のツールやデータ源を呼び出すための標準的な約束事だ。MCP Serverは、AIエージェントに対して「こんな情報を提供できるツールがありますよ」と提示する役割を担い、Claude CodeのようなAI(MCPクライアント)はその情報を受け取って利用する。例えるなら、MCP ServerはAIと様々な専門家(データ源)をつなぐ秘書のような存在で、AIは秘書に依頼するだけで、どの専門家がどの情報を持っているかを知る必要がない。
このアーキテクチャでは、ハードウェア資産データはSnowflakeに、ソフトウェア資産データはServiceNowにそれぞれ独立して保存されている。MCP Serverは、これら二つのデータ源に対する問い合わせを処理するための「ツール」を内部に持っている。一つはSnowflakeに問い合わせるツール、もう一つはServiceNow内のデータを検索するツールだ。Claude Codeはユーザーの質問をMCP Serverに送り、MCP Serverが質問内容に応じて適切なツールを選び、データを取りに行く。
Snowflake側のデータ活用では、「Cortex Agent」と「Semantic View」という機能が重要だ。Cortex AgentはSnowflakeが提供するAIエージェントで、自然言語の質問を受け取ると、その質問をデータベースが理解できるSQLという命令文に変換し、データを検索して回答を返す。このCortex Agentが正しくSQLを生成するために、「Semantic View」が使われる。Semantic Viewは、データベースのテーブル(表)のどの列が「管理者名」や「資産名」といったビジネス上の意味を持つかを定義するものだ。これにより、Cortex Agentはテーブルの物理的な構造を直接知らなくても、ビジネス上の意味に基づいて質問を理解し、適切なデータを引き出せるようになる。記事では、ハードウェア資産と管理者の情報をSnowflakeにロードし、それらをSemantic Viewで結びつけ、Cortex Agentで自然言語検索を可能にする手順が示されている。
一方、ServiceNow側のソフトウェア資産データに対しては、「Knowledge Graph」という機能が活用される。ServiceNow Knowledge Graphは、ServiceNow内の複数のテーブル(表)間の関係性を「エッジ」という線で結びつけてグラフ構造として定義し、そのグラフに対して自然言語で検索できるようにする機能だ。これは、SnowflakeにおけるSemantic ViewとCortex Agentの組み合わせと似た役割を果たす。記事では、ソフトウェア資産と管理者の情報をServiceNowにインポートし、それらのテーブル間にエッジを設定してKnowledge Graphを作成する手順が示されている。
これらの機能を使って、AIからSnowflake Cortex Agentを呼び出すためには、ServiceNowとSnowflakeの間で安全な通信を設定する必要がある。これは「OAuth認証」という仕組みを使って行われる。OAuth認証は、パスワードを直接渡すことなく、サービス間で安全にアクセス権をやり取りするための方法だ。ServiceNowでは、Snowflakeを外部の認証プロバイダーとして登録し、認証情報を取得・管理する設定を行う。
認証が確立されたら、ServiceNow内でSnowflake Cortex Agentを呼び出す具体的な処理を実装する。「アクション」と呼ばれる機能で、SnowflakeのCortex Agentに対して質問を投げるためのHTTPリクエストを構築する。このアクションは「サブフロー」という、ServiceNow内で再利用可能な処理のまとまりに組み込まれる。サブフローを使うことで、MCP Serverから呼び出す際のユーザーの権限などを適切に管理できるようになる。特に、AIエージェントからの呼び出しを通常の人間による操作と区別してアクセス制御できる点が重要だ。
最後に、Claude CodeをMCPクライアントとしてServiceNow MCP Serverに接続する。これは、Claude Codeのコマンドラインインターフェース(CLI)を使って、ServiceNow MCP Serverの情報を登録し、OAuth認証フローを実行することで行われる。認証が成功すれば、Claude CodeはServiceNow MCP Serverに「接続済み」と表示され、そこから「Timが管理するハードウェア資産は何?」や「Timが管理するソフトウェア資産は何?」といった質問、あるいは「Timが管理する資産は何?」というように、ハードウェアとソフトウェアの両方を含むような質問を一度に投げかけられるようになる。
この一連の仕組みの最大のメリットは、エンドユーザーがデータの保存場所(SnowflakeかServiceNowか)や、それぞれのデータにアクセスするための複雑な方法(SQLやグラフクエリなど)を知る必要がない点にある。ユーザーは、ただ自然な言葉でAIに質問するだけで、AIが裏側でMCP Serverを介して適切なツールを選び、複数のデータソースから情報を集めて、統一された回答を返してくれるのだ。これにより、情報検索の効率が向上し、より直感的で便利な情報アクセスが実現する。