概要
MCPサーバーが気になったので、調べてみた。
AIに聞いた。
MCPサーバーの自作は、alexaのスキル開発に似てる。
その感覚は非常に鋭く、本質を突いています。
MCP(Model Context Protocol)サーバーの自作と、Alexaスキル開発は、どちらも「LLM(または音声アシスタント)の頭脳と、外部のツール・データをつなぐインターフェースを作る」という点でアーキテクチャが酷似しています。
共通しているポイント
- ツール定義(スキーマの記述)
• Alexa: ユーザーの意図を受け取る「インテント(Intent)」と、引数にあたる「スロット(Slot)」の型をJSONで定義します。
• MCP: AIに提供したい機能である「ツール(Tool)」の名前、説明文、引数の型(JSON Schema)を定義します。 - リクエストとレスポンスの仕組み
• どちらも、メインのAI(Alexa本体 / ClaudeなどのLLM)が「今この機能を使うべきだ」と判断したとき、開発者が作ったサーバーへリクエスト(JSON)を飛ばし、処理結果を受け取って自然な言葉に直してユーザーに返します。 - 自然言語の解釈をAIに任せられる
• 開発者は「ユーザーの曖昧な発言をどうパースするか」という難しい処理を書く必要がありません。定義したスキーマに沿ってAI側が適切なパラメータを抽出して渡してくれるため、開発者は「受け取ったパラメータを使ってAPIを叩く・DBを検索する」といったバックエンドのロジック実装だけに集中できます。
異なるポイント(進化した点)
- 自律性と連携の柔軟さ
• Alexa: 基本的に「1つの発言=1つのインテント」という単発のやり取りが中心で、対話の流れもある程度ルールベースで制御する必要がありました。
• MCP: LLMの推論能力が高いため、「ツールAで検索し、その結果をもとにツールBを実行してまとめる」といった複数のツールの自律的な連続呼び出し(エージェント的な動き)が、サーバー側で特別な制御を書かなくても自然に実現できます。 - ローカル環境での手軽さ
• Alexa: クラウド(AWS Lambdaなど)にデプロイしてHTTPSのエンドポイントを用意するのが基本でした。
• MCP: クラウドだけでなく、自分のPC(Windowsなど)のローカル環境でプロセスを立ち上げ、標準入出力(stdio)経由でローカルファイルや社内ツールと直接つなぐ使い方が非常に簡単です。
Alexaスキル開発の経験があれば、「AIにどうツールの説明(Description)を書けば正しく呼び出してもらえるか」というプロンプト設計の勘所もすでに身についているため、MCPサーバーの自作もかなりスムーズに進められるはずです。
以上。