ClaudeCloudflare Developer PlatformFeb 25, 2026, 12:00 AM

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

A condensed section focused on the key takeaways first.

Original Post

Quick Digest

Summary

A condensed section focused on the key takeaways first.

claudeenmodel: claude-sonnet-4-20250514

Agents SDK v0.6.0: RPC Transport, Optional OAuth, and Enhanced Reliability

Key Points

  • RPC transport eliminates network overhead for MCP connections
  • OAuth authentication now optional for simple MCP servers
  • Enhanced schema converter with production-ready error handling

Summary

Agents SDK v0.6.0 introduces RPC transport for MCP connections, optional OAuth authentication, hardened schema conversion, and multiple reliability fixes for @cloudflare/ai-chat.

Key Points

  • RPC Transport for MCP: Connect Agent to McpAgent within the same Worker using Durable Object bindings instead of HTTP, eliminating network overhead and serialization costs
  • Optional OAuth: MCP connections no longer require OAuth configuration by default - authentication is only enforced when servers return 401 responses
  • Hardened Schema Converter: Enhanced generateTypes() and getAITools() with depth guards, circular reference protection, $ref resolution, and per-tool error isolation
  • @cloudflare/ai-chat Fixes: Improved tool denial flow for Anthropic compatibility, proper abort/cancel support for streaming, and duplicate message prevention in persistMessages()
  • Enhanced Reliability: Fixed hibernation support, connection deduplication, and various edge cases in message handling and client tool APIs

Breaking Changes

  • RPC transport API is experimental and may change
  • addMcpServer() method signature updated to accept string | DurableObjectNamespace

Full Translation

Translations

A translation section that keeps the flow of the original article.

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