Agents SDK v0.6.0:MCP向けRPC(同一Worker内)、OAuthオプトイン、スキーマ変換の強化、@cloudflare/ai-chat修正
Key Points
- 同一Worker内でDO経由のRPC接続
- OAuthはオプトイン化
- スキーマ変換が堅牢化
Summary
Agents SDK v0.6.0 は、同一 Worker 内で Durable Object バインディングを使った RPC 経路(HTTP を介さない低オーバーヘッド接続)を導入し、MCP 接続で OAuth をオプトイン化、JSON Schema→TypeScript 変換器を堅牢化、さらに @cloudflare/ai-chat の複数の信頼性問題を修正しました。開発者は接続コスト削減と運用安定化が得られます。RPC 実装は実験的で、API 変更の可能性があります。
Key Points
-
DO バインディング経由の RPC 接続
addMcpServer(name, namespaceOrUrl, opts?)は第2引数にstring | DurableObjectNamespaceを許容し、HTTP と RPC を型安全に区別します。- RPC 接続は Durable Object のハイバネーションを越えて復元され、接続 ID は安定しています。重複呼び出しは既存接続を返します。
- 実装は簡素化され検証スキーマ(JSONRPCMessageSchema)を利用。実験的なため追跡イシューを確認してください。
-
OAuth はオプトイン化
addMcpServer()は既定で OAuth プロバイダを作成しません(認証不要なサーバには追加設定不要)。- サーバが 401 を返した場合は明確なエラーメッセージが投げられます(コールバックホストを指定して OAuth を有効化)。
- ストレージからの復元フローはコールバック URL がなくても安全にスキップします。
-
JSON Schema → TypeScript 変換器の強化
- 深さ・循環参照ガード、内部
$ref解決(JSON Pointer)、tuple(prefixItems/items)対応、OpenAPI nullable 対応。 - 単一の不正スキーマで全体を壊さないエラー分離、
getAITools()の入力スキーマ欠如時は{ type: "object" }にフォールバック。
- 深さ・循環参照ガード、内部
-
@cloudflare/ai-chat の修正(主な項目)
- ツール拒否フローの正常化(approved: false → output-denied)とカスタム拒否メッセージ対応。
- ストリーミング応答の中断/キャンセル処理改善、リーダーループの終了通知。
- persistMessages() の重複登録防止、requestId のハンドラ利用、Anthropic の
redacted_thinkingを保持。 /get-messagesエンドポイントの信頼性向上、動的ツール利用の API 復活、onChatMessage 時の jsonSchema 初期化不具合修正。
-
アップグレード
- パッケージ更新:
npm i agents@latest @cloudflare/ai-chat@latest
- パッケージ更新:
Practical notes
- 同一 Worker 内で DO を使う場合は
addMcpServerに Durable Object Namespace を渡してネットワーク往復を避けてください。 - OAuth が必要なサーバと不要なサーバが混在する環境では明示的に
callbackHostを設定する運用を推奨します。 - スキーマ変換の堅牢化により大規模/再帰スキーマでの生成が安定しますが、既存生成フローはテストしてから本番に反映してください。
- RPC は実験的です。破壊的変更の可能性があるため依存する場合は追跡イシューとリリースノートを継続確認してください。