ENF News Bot
Automated News Bot
- Joined
- Apr 15, 2022
- Messages
- 2,591
The latest release of @cloudflare/agents ↗︎ brings resumable streaming, significant MCP client improvements, and critical fixes for schedules and Durable Object lifecycle management.
Streams are maintained across page refreshes, broken connections, and syncing across open tabs and devices.
The
The SDK now includes a formalized
MCP discovery fetches the available tools, prompts, and resources from an MCP server so your agent knows what capabilities are available. The
To update to the latest version:
Continue reading...
Resumable streaming
https://developers.cloudflare.com/changelog/rss/#resumable-streamingAIChatAgent 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
https://developers.cloudflare.com/changelog/rss/#other-improvements- Default JSON schema validator added to MCP client
- Schedules can now safely destroy the agent
MCP client API improvements
https://developers.cloudflare.com/changelog/rss/#mcp-client-api-improvementsThe
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
Code:
// 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
https://developers.cloudflare.com/changelog/rss/#enhanced-mcp-discoveryMCP 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
https://developers.cloudflare.com/changelog/rss/#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 conversion to UIMessageStreamPart
Upgrade
https://developers.cloudflare.com/changelog/rss/#upgradeTo update to the latest version:
npm i agents@latestContinue reading...