Agents, Workers – Agents SDK v0.2.24 with resumable streaming, MCP improvements, and schedule fixes

Agents, Workers – Agents SDK v0.2.24 with resumable streaming, MCP improvements, and schedule fixes

The latest release of @cloudflare/agents brings resumable streaming, significant MCP client improvements, and critical fixes for schedules and Durable Object lifecycle management.

Resumable streaming

AIChatAgent now supports resumable streaming, allowing clients to reconnect and continue receiving streamed responses without losing data. This is useful for:

  • Long-running AI responses
  • Users on unreliable networks
  • Users switching between devices mid-conversation
  • Background tasks where users navigate away and return
  • Real-time collaboration where multiple clients need to stay in sync

Streams are maintained across page refreshes, broken connections, and syncing across open tabs and devices.

Other improvements

  • Default JSON schema validator added to MCP client
  • Schedules can now safely destroy the agent

MCP client API improvements

The MCPClientManager API has been redesigned for better clarity and control:

  • New registerServer() method: Register MCP servers without immediately connecting
  • New connectToServer() method: Establish connections to registered servers
  • Improved reconnect logic: restoreConnectionsFromStorage() now properly handles failed connections
// Register a server to Agent
const { id } = await this.mcp.registerServer({
name: "my-server",
url: "https://my-mcp-server.example.com",
});
// Connect when ready
await this.mcp.connectToServer(id);
// Discover tools, prompts and resources
await this.mcp.discoverIfConnected(id);

The SDK now includes a formalized MCPConnectionState enum with states: idle, connecting, authenticating, connected, discovering, and ready.

Enhanced MCP discovery

MCP discovery fetches the available tools, prompts, and resources from an MCP server so your agent knows what capabilities are available. The MCPClientConnection class now includes a dedicated discover() method with improved reliability:

  • Supports cancellation via AbortController
  • Configurable timeout (default 15s)
  • Discovery failures now throw errors immediately instead of silently continuing

Bug fixes

  • Fixed a bug where schedules meant to fire immediately with this.schedule(0, …) or this.schedule(new Date(), ...) would not fire
  • Fixed an issue where schedules that took longer than 30 seconds would occasionally time out
  • Fixed SSE transport now properly forwards session IDs and request headers
  • Fixed AI SDK stream events convertion to UIMessageStreamPart

Upgrade

To update to the latest version:

npm i agents@latest

Source: Cloudflare



Latest Posts

Pass It On
Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply