ClaudeCloudflare Developer Platform2026/02/25 0:00

Agents, Workers - Agents SDK v0.6.0: RPC transport for MCP, optional OAuth, hardened schema conversion, and @cloudflare/ai-chat fixes

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

claudejamodel: claude-sonnet-4-20250514

Agents SDK v0.6.0: MCP用RPCトランスポート、OAuth任意化、スキーマ変換強化

Key Points

  • 同一Worker内でのRPC接続によりネットワークオーバーヘッド削減
  • OAuth認証が任意となりシンプルなMCP接続が可能
  • 本番環境向けスキーマコンバーター強化と信頼性向上

Summary

Agents SDK v0.6.0では、同一Worker内でAgentとMcpAgentをRPC接続する機能、OAuth認証の任意化、本番環境向けスキーマコンバーター強化、@cloudflare/ai-chatの信頼性修正が実装されました。

Key Points

  • MCP用RPCトランスポート: Durable Object bindingを使用してHTTPオーバーヘッドなしで接続可能
  • OAuth任意化: 認証不要なMCPサーバーに対してシンプルな接続が可能
  • スキーマ変換強化: 循環参照ガード、$ref解決、タプルサポートなど本番環境対応
  • ai-chat修正: ツール拒否フロー、中断/キャンセルサポート、重複メッセージ処理改善
  • 休止状態サポート: RPC接続がDurable Object休止状態を自動的に生き残る
  • 型安全性: TypeScriptオーバーロードによりHTTPとRPCパスが型安全

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

claudejamodel: claude-sonnet-4-20250514

Agents SDK v0.6.0: MCP用RPCトランスポート、オプションのOAuth、強化されたスキーマ変換、@cloudflare/ai-chatの修正

Agents SDK v0.6.0: MCP用RPCトランスポート、オプションのOAuth、強化されたスキーマ変換、@cloudflare/ai-chatの修正

2026年2月25日

Agents SDKの最新リリースでは、同一Worker内でAgentとMcpAgentを定義し、RPC経由で接続できるようになりました。HTTPやネットワークオーバーヘッドは不要です。また、シンプルなMCP接続でOAuthをオプトインにし、本番ワークロード向けにスキーマコンバーターを強化し、@cloudflare/ai-chatの信頼性修正を多数提供します。

MCP用RPCトランスポート

HTTP URLの代わりにDurable Objectバインディングを使用して、同一Worker内でAgentをMcpAgentに接続できるようになりました。接続はCloudflareランタイム内で完全に処理され、ネットワークラウンドトリップやシリアライゼーションオーバーヘッドはありません。

Durable Objectネームスペースを直接addMcpServerに渡します:

import { Agent } from "agents";

export class MyAgent extends Agent {
  async onStart() {
    // DOバインディング経由で接続 — HTTP不要、ネットワークオーバーヘッドなし
    await this.addMcpServer("counter", env.MY_MCP);
    
    // ユーザーごとのコンテキスト用のprops付き
    await this.addMcpServer("counter", env.MY_MCP, {
      props: { userId: "user-123", role: "admin" },
    });
  }
}

addMcpServerメソッドは、完全なTypeScriptオーバーロードを持つstring | DurableObjectNamespaceを第2パラメータとして受け入れるため、HTTPとRPCパスはタイプセーフで混在できません。

主要機能:

  • ハイバネーションサポート — RPC接続はDurable Objectハイバネーションを自動的に生き残ります。バインディング名とpropsはストレージに永続化され、ウェイクアップ時に復元されます。これはHTTP MCP接続の動作と一致します。
  • 重複排除 — 同じサーバー名でaddMcpServerを呼び出すと、重複を作成する代わりに既存の接続を返します。接続IDはハイバネーション復元を通じて安定しています。
  • より小さな表面積 — RPCトランスポートの内部が書き直され、609行から245行に削減されました。RPCServerTransportは手書きのチェックの代わりに、MCP SDKのJSONRPCMessageSchemaを検証に使用するようになりました。

注意: RPCトランスポートは実験的です。フィードバックに基づいてAPIが変更される可能性があります。更新についてはトラッキングissueを参照してください。

MCP接続のオプションOAuth

addMcpServer()は、すべての接続に対してOAuthプロバイダーを積極的に作成しなくなりました。認証を必要としないサーバーの場合、シンプルな呼び出しだけで十分です:

// callbackHostなし、OAuth設定なし — そのまま動作
await this.addMcpServer("my-server", "https://mcp.example.com");

サーバーが401で応答した場合、SDKは明確なエラーを投げます:「このMCPサーバーはOAuth認証を必要とします。OAuthフローを有効にするには、addMcpServerオプションでcallbackHostを提供してください。」

ストレージからの復元フローも、コールバックURLの欠落を適切に処理し、非OAuthサーバーの認証プロバイダー作成をスキップします。

強化されたJSON SchemaからTypeScriptへのコンバーター

generateTypes()getAITools()で使用されるスキーマコンバーターは、以前本番環境でクラッシュを引き起こしていたエッジケースを処理するようになりました:

  • 深度と循環参照ガード — 再帰的または深くネストされたスキーマでのスタックオーバーフローを防止
  • $ref解決 — 内部JSONポインター(#/definitions/...#/$defs/...#)をサポート
  • タプルサポートprefixItems(JSON Schema 2020-12)と配列items(draft-07)
  • OpenAPI 3.0 nullable: true — すべてのスキーマブランチでサポート
  • ツールごとのエラー分離 — 1つの不正なスキーマがgenerateTypes()getAITools()の完全なパイプラインをクラッシュさせることができません
  • inputSchemaフォールバックの欠落getAITools()は例外を投げる代わりに{ type: "object" }にフォールバック

@cloudflare/ai-chatの修正

  • ツール拒否フロー — 拒否されたツール承認(approved: false)は、tool_resultを持つoutput-deniedに遷移し、Anthropicプロバイダーの互換性を修正します。カスタム拒否メッセージはstate: "output-error"errorTextでサポートされます。
  • 中止/キャンセルサポート — ストリーミング応答は、中止シグナルが発火したときにリーダーループを適切にキャンセルし、クライアントにdoneシグナルを送信します。
  • 重複メッセージ永続化persistMessages()は、コンテンツと順序でアシスタントメッセージを調整し、クライアントが完全な履歴を再送信したときの重複行を防止します。
  • OnChatMessageOptionsのrequestId — ハンドラーは、ストリーム前の失敗に対して適切にタグ付けされたエラー応答を送信できます。
  • redacted_thinking保持 — メッセージサニタイザーはAnthropic redacted_thinkingブロックを削除しなくなりました。
  • /get-messages信頼性 — エンドポイント処理がプロトタイプのonRequest()オーバーライドからコンストラクターラッパーに移動され、ユーザーがsuper.onRequest()を呼び出さずにonRequestをオーバーライドしても動作します。
  • クライアントツールAPIの非推奨解除createToolsFromClientSchemasclientToolsAIToolextractClientToolSchemas、およびuseAgentChattoolsオプションは、ツールが実行時に動的に定義されるSDKユースケース用に復元されました。
  • jsonSchema初期化onChatMessagegetAITools()を呼び出すときのjsonSchema not initializedエラーを修正。

アップグレード

最新バージョンに更新するには:

npm i agents@latest @cloudflare/ai-chat@latest
Agents、Workers - Agents SDK v0.6.0:MCP向けRPCトランスポート、オプションのOAuth、強化されたスキーマ変換、@cloudflare/ai-chatの修正 | Cloudflare Developer Platform | DocsDigest