Model Context ProtocolのVersion 2025-06-18が出て、Toolからstructured content(構造化されたJSON)を返せるようになった!output schemaとして、どういった構造の情報が返ってくるかを事前に指定もできる。これはアツそうだ… https://modelcontextprotocol.i...
これまでtextのcontentとしてJSON文字列に変換して返していたデータを、structuredContentフィールドに直接JSONオブジェクトのまま突っ込んで返せる。ただ、後方互換性維持のために、textのcontentとしても返してねという話らしい
ぶっちゃけtextのcontentとして構造化データを返すのは既に普通に行われていたと思うので、LLM側の解釈にどう影響するのかは気になる。 LLM以外のクライアントも考慮すると、output schemaがあれば、機械的な処理も行えるようになる(実質、普通のAPIと同等になる)ので、そっちの方がでかいか?
モチベーション見ると、信頼できないMCPサーバーに対して、出力結果のバリデーションを行うのに構造化データとschemaを使いたいって話が書いてあった。コーディング環境でのMCP toolの利用についても触れられてるのでやっぱりそっちの文脈もあるな #issue-3006197251 class="text-blue-500 hover:underline" target="_blank" rel="noopener noreferrer">https://github.com/modelcontex...
MCP toolの出力の構造に誤りがあったら、それを突き返してもう一回tool呼び出しをするみたいな使い方になりそう。その部分はLLMに処理をさせるものではなくて、tool呼び出しの一連の流れの中に、機械的なバリデーションと再試行が入ってくる(誤った構造の結果はLLMに渡らない)という話っぽいな
ちょうど昨日use-mcpというReact向けのライブラリが出ていて、これと組み合わせて、Reactコンポーネント上でMCP toolの呼び出し結果を構造化データとして扱うことができそう。toolの呼び出し結果にTSの型を付けてもよさそうで、ただのAPIクライアントの体験に近づいてきた https://x.com/glenmaddern/stat...




