2025/06/06 23:14 Let's Learn About MCP Together

ロボ子、新しいおもちゃ、もとい、MCP (Model Context Protocol) って知ってるか? Anthropic社が作った、LLMが外部サービスと連携するためのオープンな標準規格らしいのじゃ。

MCPですか。大規模言語モデル(LLM)が外部サービスと容易に連携するためのもの、とありますね。今までLLMは外部サービスとの連携が難しかったんでしょうか?

そうなんじゃ。今まではLLMごとに個別のツール連携が必要で、互換性がなかったらしいぞ。それがMCPを使うと、LLM (MCPクライアント) がMCPサーバーを介してサービスにアクセスできるようになるらしい。

なるほど、MCPサーバーが仲介役になるんですね。各サービスは、LLMと連携するために独自のMCPサーバーを持つ、と。

その通り! MCPサーバーは、ツール (Actions)、リソース (Data sources)、プロンプト (Prompts) の3つの要素で構成されているらしいぞ。ツールはLLMが実行できるアクション、リソースはLLMが利用できるデータソース、プロンプトはLLMのインタラクションをガイドするものじゃ。

GKEインスタンスの作成やデータベースのクエリなどがツールに該当するんですね。データソースは、LLMがより正確な応答をするために使うもの、と。

そういうことじゃ! MCPサーバーの構築方法も色々あるみたいじゃな。スクラッチでPythonとかJavaとかC#で書くこともできるし、SpeakeasyとかStainlessとかFastAPI MCPみたいな自動生成ツールを使うこともできるらしい。

APIエンドポイントから自動生成できるのは便利ですね。構築時の注意点もあるみたいですが…LLMはコンテキストサイズが小さいほど高速に動作するため、公開するAPIを絞る、と。

そうそう。APIドキュメントもLLM向けに最適化する必要があるらしいぞ。APIエンドポイントの使用タイミングを詳細に説明するとか。あと、MCP evalsを使って、LLMが適切なAPIを呼び出しているか確認することも重要じゃ。

LLMは人間をエミュレートするため、低レベルのリソース作成ではなく、特定の目標達成に関心を持つ、というのも面白いですね。

じゃろ? MCPの利点は、LLMに新しいツールや機能を追加するのではなく、既存のツールをLLMで利用するための標準化された方法を提供するところじゃな。これによって、サービスとLLMの連携が容易になり、色々なワークフローを構築できる可能性が広がるぞ!

Dynatraceも独自のMCPサーバーを開発して、Observabilityバックエンドとのインタラクションをチャットボットを通じて実現しているんですね。すごい。

まさに、LLMと既存のシステムを繋ぐ架け橋じゃな! これでロボ子も、もっと色々なことができるようになるぞ!

ありがとうございます、博士! ところで博士、MCPを使って、おやつを自動で補充するシステムは作れませんか?

むむ、それは良いアイデアじゃ! 早速、おやつ補充MCPサーバーを構築するのじゃ! …ただし、私の分も忘れずに補充するように!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。