AIエージェント時代の基盤技術を学び、試す

そもそもMCPってなに? MCPサーバーをリリースしたCDataに基礎から教えてもらった

大谷イビサ 編集●ASCII 写真●曽根田元

提供: CData Software Japan

  • この記事をはてなブックマークに追加
  • 本文印刷

 AIエージェントを現実的にする基盤技術として注目を集めているMCP(Model Context Protocol)。その目的やメリットとはなにか? 実際のMCPのやりとりはどのように行なわれているのか? 400以上のサービスと利用できるMCPサーバーを先日リリースしたCData Software Japanの杉本和也氏に教えてもらった。

CData Software Japanの杉本和也氏

LLMがサービスを理解するためのやりとりを標準化した「MCP」

 MCPとはModel Context Protocolの略。AIプラットフォーム「Cluade」を提供しているAnthropicが開発し、オープンソースとして公開している。AIエージェントが外部サービスを活用するために必要となるプロトコルとして注目されている。

 MCPはアプリケーションがLLM(大規模言語モデル)にコンテキストを提供する方法を標準化したものだ。よく言われるAIエージェントはこのコンテキストを理解することで、ユーザーのリクエストに応じた複数の処理をある程度自律的に行なえる。では、コンテキストとはなにか? 具体的な例で説明してもらった。

 たとえば、ユーザーがAIエージェントに対して、「私の来週の予定をサマリーして教えて」と依頼するとしよう。AIエージェントは自らのLLMやWebサイトなどのナレッジを検索して、ユーザーのリクエストに応えようとする。しかし、ナレッジにない情報は当然回答できない。ナレッジがないから答えられないという回答に加え、予定を知るための方法を教えてくれるというのが、今までの限界だった。

 しかし、AIエージェントがサービスを利用するために「自分のカレンダーに予定があるよ」とか、「こうやればカレンダーから情報を引き出せるよ」とか、「このカレンダーにはこんな機能があるよ」といったサービスの情報(=コンテキスト)を利用・補完できれば、それらも元に回答を生成するナレッジの一部として利用できる。

 MCPが登場する以前、このやり取りは「Function Calling」と呼ばれており、一部のベンダーや開発者で個別に実装されていた。しかし、カレンダー一つとってもグーグルやアップルなど様々なベンダーが提供しており、それぞれに対してAIプラットフォーム側ですべてに対応するのは難しい。そこで連携プロセス・コンテキストの取得を容易にするために実現されたのが、標準化されたMCPというわけだ。「たとえば、CopilotからOffice 365を使ったり、GeminiからGoogle Sheetsを使うことは今までも可能だったが、ベンダーをまたぐと、使いたいサービスとの組み合わせが難しかった。MCP対応すると、この組み合わせが自由に行なえる」と杉本氏は語る。

 このMCPはよく「USB Type-Cのようなもの」と例えられる。USB Type-Cと言えば、汎用インターフェイスとして、スマホやPC、プリンターなど幅広いデバイスで利用できる。MCPも同じ汎用インターフェイスの側面を持つ。AIエージェントからすると、サービスがいくつあっても、MCPという標準的な問い合わせ手段を使えば、対応するツールの情報を得られるわけだ。

けっこう複雑なMCPのやりとり AIエージェント時代の標準化に期待

 MCPの「登場人物」はけっこう多い。ユーザー向けのインターフェイスにあたるMCPクライアントとサービス情報を提供するMCPサーバーに加え、OpenAIやClaudeなどのAIプラットフォームと大規模言語モデル(LLM)、そしてSaaSやツールなどを含めた各種サービスなどがある。昨今のAIエージェントブームもあってMCPクライアントやMCPサーバーは数多く公開されている。

 実際のやりとりを見ていこう。ユーザーが「来週の空いている予定を教えて」という質問を行なうと、MCPクライアントはMCPサーバーに利用できるサービスを聞く。こうすると、MCPサーバーがサービス名や説明、パラメーターなどを返答してくれる。これでMCPクライアントがサービスのコンテキストを理解できたため、ユーザーから「来週の空いている予定を教えて」という質問が来たときでも、カレンダーが利用できることをAIプラットフォーム側に提供できるわけだ。

MCPのやりとりはまずMCPクライアントとサーバーとのやりとりから始まる

 ただ、どのサービスを利用すれば予定がわかるかを知っていても、直接サービスを使うのはLLMではない。MCPクライアントからリクエストを受けたMCPサーバーの方だ。APIを経由して得られた予定は、AIプラットフォーム側に戻され、LLMはここで初めてカレンダーに登録された予定を知る。この情報を元にLLMは回答を生成し、MCPクライアントに回答を戻し、さらにユーザーにメッセージを戻すという流れだ。

続いて、AIプラットフォームに問い合わせ

LLMが指示を出して、MCPクライアントから調べる

MCPサーバーがサービスからデータを取得する

MCPクライアントが取得したデータをAIプラットフォームへ

 見ればわかるとおり、MCPのやりとりは複雑だ。コンテキストを取得するための手順があるため、生成AIを活用して、社内データの検索を容易にするRAGよりも、やりとりは多い。ただ、RAG ではナレッジデータベースを事前に用意しておく、LLM側のチューニングするなどの敷居もある。業界としては、このやりとりが標準化されている点とそれに伴うエコシステムの広がりに高い期待が寄せられている。今後、AIエージェントを実装するにあたって、自律的にサービスを利用できる環境を構築するためにも、このMCPの仕組みは必要になるからだ。

LLMが回答を生成し、ユーザーに戻す

MCP経由でサービスを教えると、Claudeは社内データ分析でも無双に

 こうした市場背景を受けて、先日リリースされたのがCData Softwareの「CData MCP Servers」の無償ベータ版だ。400種類を超えるAPIに対応し、ClaudeやChatGPT、Copilotなどの各種AIサービスとのやりとりを仲立ちする。

CData Softwareから先日リリースされたCData MCP Servers

 CData MCP Serverはインストールも容易で、接続もGUIで使いやすいという。さっそく杉本氏にデモをお願いした。

 無償公開されているCData MCP Server For GoogleSheetsの場合、まずはダウンロードとインストールを行なう。続いてGUIの設定画面を開き、認証情報を登録すれば、ClaudeからGoogleSheetsにアクセスできるようになる。

 この状態で、顧客と案件のGoogleSheetsを用意し、Claudeから「顧客一覧を10件くらい持ってきて」と入力すると、前述したMCPのやりとりが発生して、まずは顧客シートを特定。MCPから項目も知らされているので、あとはMCPサーバーがAPI経由でGoogleSheetsの顧客10件を取得している。

 いったんサービスやデータのありかを教えてしまえば、LLMはまさに無双だ。業界ごとの傾向を見るのであれば、案件データから成約済みの案件を引っ張り、案件と顧客のテーブルを結合して集計し、ステージ別の分析や成約時期まで分析してくれる。分析はテキストでのレポートも可能だが、Artifactから視覚的なダッシュボードを生成することも可能。元データの更新も行なえるので、AIエージェントの動きがかなり具体的になってくる。

データを得られれば、Claudeはまさに無双の状態に

CData SoftwareがMCPサーバーをリリースした意義とは?

 CData MCP Serversの企画がスタートしたのは、今年の2~3月くらい。これだけスピーディに公開に至ったのは、CData Softwareが以前から培ってきたAPIの実績が大きい。「もともと400種類以上のAPIに向けたドライバーやライブラリを持っており、これをMCPという規格に合わせてパッケージ化することで、このスピードを実現できました」(杉本氏)。

 前述したとおり、MCPサーバーはすごい数が公開されている。こうした中、CData SoftwareがMCPサーバーをリリースしたのは、まさに業務で利用できる商用製品としての価値が大きい。「他はほとんどがアンオフィシャルで、個人ユーザーが作って公開したもの。Dockerをインストールして、コマンドからスタートみたいな製品も多いんですよ。でも、私たちがターゲットにしているのは、あくまでビジネスユーザーなので、シンプルに使えるようにしています」と杉本氏は語る。

 もう1つのメリットはCData製品共通のAPIの扱いやすさだ。多くのMCPサーバーはAPIをそのまま内包した形でサービスを提供する形になるが、APIはサービスごとに特性も仕様もばらばらだ。たとえば、認証方法やデータ構造の違い、データ分析でよく用いられるフィルターやジョインなどの機能サポートの違いが、利用のしづらさにつながる。つまり、APIの課題がそのままMCPサーバーを利用するための課題となり、その課題解決のためのフォローやLLMのオーバーヘッドが発生してしまう。

 こうなると、「生成AIにリクエストしたデータの件数と、実際に取得した件数が違う」ということが起こる。対象テーブルには3000件あるのに、1回のAPIリクエストで取得できる件数が300件だと、LLMは対象を300件だと思い込んでしまうからだ。でも、LLMは全件が3000件あることを知らないので、わざわざ教える手間が出てきてしまう。

 その点、CData製品はAPIの違いを吸収すべく、SQLという共通の方式でデータアクセスを行なう。このSQLにデータを説明するメタデータを付与することで、LLMもコンテキストを理解した上で、データと会話することが可能になる。「LLMとコミュニケーションしやすいMCPサーバーを実現すべく、CDataが得意とするSQLとメタデータを活用しているんです」と杉本氏は語る。

 CData MCP Serversは年内まで無償利用可能。GoogleがA2Aのような新しいプロトコルを出してきたり、MCP周りの動向はまだまだ変化しそうだが、理解のためには1度利用してみることをお勧めする。以下の通り、CData Softwareによるローンチセミナーも開催される。


開催決定!CData MCP Servers ローンチセミナー・LLM における重要トピックMCPを徹底解説」

MCPサーバーローンチセミナーが開催

過去記事アーカイブ

2025年
01月
02月
03月
04月
05月
06月
2024年
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2023年
04月
07月
08月
09月
10月
11月
12月