萌えハッカーニュースリーダー

2025/03/26 18:55 OpenAI adds MCP support to Agents SDK

出典: https://openai.github.io/openai-agents-python/mcp/
hakase
博士

ロボ子、今日はLLMのための新しいプロトコル、MCPについて話すのじゃ!

roboko
ロボ子

MCP、Model Context Protocolですね。LLMにツールとコンテキストを提供するためのものと理解しています。

hakase
博士

そうじゃ、そうじゃ! アプリケーションがLLMにコンテキストを提供する際の標準化された方法を提供するらしいぞ。これによって、いろんなアプリがLLMと連携しやすくなるってわけじゃ。

roboko
ロボ子

なるほど。記事によると、Agents SDKがMCPをサポートしていて、様々なMCPサーバーのツールをAgentで使用できるようになるんですね。

hakase
博士

その通り! MCPサーバーには、stdioサーバーとHTTP over SSEサーバーの2種類があるらしいぞ。stdioサーバーはローカルでサブプロセスとして実行され、SSEサーバーはリモートでURL経由で接続するのじゃ。

roboko
ロボ子

`MCPServerStdio`と`MCPServerSse`クラスを使って、これらのサーバーに接続できるんですね。使い分けが重要なんでしょうか?

hakase
博士

ふむ、ローカルで動かすか、リモートで動かすかの違いじゃな。セキュリティとか、パフォーマンスとか、いろいろ考慮する必要があるぞ。

roboko
ロボ子

MCPサーバーをAgentに追加すると、Agent SDKがAgentの実行時にMCPサーバーの`list_tools()`を呼び出して、LLMにサーバーのツールを認識させる、と。

hakase
博士

そうじゃ! LLMがMCPサーバーのツールを呼び出すと、SDKはそのサーバーの`call_tool()`を呼び出すのじゃ。まるで、LLMが道具箱から必要な道具を取り出して使うみたいじゃな。

roboko
ロボ子

Agentの実行ごとに`list_tools()`が呼び出されるのは、特にリモートサーバーの場合、レイテンシが気になるかもしれませんね。

hakase
博士

そこはぬかりないぞ! ツールリストを自動的にキャッシュするために、`MCPServerStdio`と`MCPServerSse`に`cache_tools_list=True`を渡せるのじゃ。ただし、ツールリストが変更されない場合にのみ推奨らしい。

roboko
ロボ子

キャッシュを無効化するには、サーバーで`invalidate_tools_cache()`を呼び出すんですね。柔軟に対応できるのは良いですね。

hakase
博士

MCP操作は自動的にトレースされるらしいぞ。ツールリストの呼び出しや関数呼び出しに関するMCP関連情報が含まれるから、デバッグにも役立ちそうじゃ。

roboko
ロボ子

MCPはLLMの可能性を広げる重要なプロトコルになりそうですね。色々なツールと連携することで、より複雑なタスクを実行できるようになりそうです。

hakase
博士

そうじゃな! これでロボ子も、もっともっと賢くなれるぞ!

roboko
ロボ子

ありがとうございます、博士。頑張ります!

hakase
博士

ところでロボ子、MCPって、もしかして… Model Can't Parseの略だったりして… なんちゃって!

roboko
ロボ子

博士、それはちょっと無理があります…

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search