agents 0.19.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +24 -19
  2. package/dist/{agent-tool-types-BNUGGBzQ.d.ts → agent-tool-types-BC-WFlsz.d.ts} +1026 -400
  3. package/dist/agent-tool-types.d.ts +1 -1
  4. package/dist/{agent-tools-BFbzVLFc.d.ts → agent-tools-DeHe9Xov.d.ts} +2 -2
  5. package/dist/agent-tools.d.ts +1 -1
  6. package/dist/browser/ai.js +1 -1
  7. package/dist/browser/index.js +1 -1
  8. package/dist/chat/index.d.ts +2 -2
  9. package/dist/chat-sdk/index.d.ts +1 -1
  10. package/dist/client-invoker-BNSZxAkv.d.ts +20 -0
  11. package/dist/client-invoker-VNZ7X0nn.js +57 -0
  12. package/dist/client-invoker-VNZ7X0nn.js.map +1 -0
  13. package/dist/{client-CcjiFpTf.js → client-zqKcsyFa.js} +434 -168
  14. package/dist/client-zqKcsyFa.js.map +1 -0
  15. package/dist/client.d.ts +1 -1
  16. package/dist/cloudflare-BduZwmYK.js +204 -0
  17. package/dist/cloudflare-BduZwmYK.js.map +1 -0
  18. package/dist/{connector-CdldGF3h.js → connector-KEJnl6e5.js} +2 -2
  19. package/dist/connector-KEJnl6e5.js.map +1 -0
  20. package/dist/{do-oauth-client-provider-D4ZwyBDu.d.ts → do-oauth-client-provider-VTZj2VtM.d.ts} +23 -11
  21. package/dist/experimental/webmcp.js +1 -1
  22. package/dist/handler-stateless-CIkKPETH.js +318 -0
  23. package/dist/handler-stateless-CIkKPETH.js.map +1 -0
  24. package/dist/handler-stateless-C_bo-Ytq.d.ts +107 -0
  25. package/dist/index.d.ts +14 -12
  26. package/dist/index.js +30 -20
  27. package/dist/index.js.map +1 -1
  28. package/dist/mcp/client.d.ts +22 -18
  29. package/dist/mcp/client.js +1 -1
  30. package/dist/mcp/do-oauth-client-provider.d.ts +1 -1
  31. package/dist/mcp/do-oauth-client-provider.js +25 -12
  32. package/dist/mcp/do-oauth-client-provider.js.map +1 -1
  33. package/dist/mcp/index.d.ts +48 -34
  34. package/dist/mcp/index.js +95 -156
  35. package/dist/mcp/index.js.map +1 -1
  36. package/dist/mcp/server.d.ts +17 -0
  37. package/dist/mcp/server.js +2 -0
  38. package/dist/mcp/x402.d.ts +21 -9
  39. package/dist/mcp/x402.js +8 -7
  40. package/dist/mcp/x402.js.map +1 -1
  41. package/dist/observability/ai/index.d.ts +9 -1
  42. package/dist/observability/ai/index.js +188 -63
  43. package/dist/observability/ai/index.js.map +1 -1
  44. package/dist/react.d.ts +1 -1
  45. package/dist/serializable.d.ts +1 -1
  46. package/dist/sub-routing.d.ts +6 -6
  47. package/dist/workflows.d.ts +1 -1
  48. package/docs/human-in-the-loop.md +63 -82
  49. package/docs/mcp-client.md +31 -7
  50. package/docs/mcp-servers.md +125 -88
  51. package/docs/observability.md +2 -1
  52. package/docs/securing-mcp-servers.md +9 -6
  53. package/package.json +28 -7
  54. package/dist/client-CcjiFpTf.js.map +0 -1
  55. package/dist/cloudflare-BldFV0Pa.js +0 -117
  56. package/dist/cloudflare-BldFV0Pa.js.map +0 -1
  57. package/dist/connector-CdldGF3h.js.map +0 -1
package/README.md CHANGED
@@ -427,30 +427,35 @@ Features:
427
427
 
428
428
  Agents integrate with MCP to act as servers (providing tools to AI assistants) or clients (using tools from other services).
429
429
 
430
- ### Creating an MCP Server
430
+ ### Creating a Stateless MCP server
431
431
 
432
432
  ```typescript
433
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
434
- import { McpAgent } from "agents/mcp";
435
-
436
- export class MyMCP extends McpAgent<Env, State, {}> {
437
- server = new McpServer({ name: "my-tools", version: "1.0.0" });
438
-
439
- async init() {
440
- this.server.registerTool(
441
- "lookup",
442
- { description: "Look up data", inputSchema: { query: z.string() } },
443
- async ({ query }) => {
444
- const result = await this.search(query);
445
- return { content: [{ type: "text", text: result }] };
446
- }
447
- );
448
- }
433
+ import { McpServer } from "@modelcontextprotocol/server";
434
+ import { createMcpHandler } from "agents/mcp/server";
435
+ import { z } from "zod";
436
+
437
+ function createServer() {
438
+ const server = new McpServer({ name: "my-tools", version: "1.0.0" });
439
+ server.registerTool(
440
+ "lookup",
441
+ { description: "Look up data", inputSchema: { query: z.string() } },
442
+ async ({ query }) => ({
443
+ content: [{ type: "text", text: await lookup(query) }]
444
+ })
445
+ );
446
+ return server;
449
447
  }
450
448
 
451
- export default MyMCP.serve("/mcp", { binding: "MyMCP" });
449
+ export default {
450
+ fetch(request, env, ctx) {
451
+ return createMcpHandler(createServer)(request, env, ctx);
452
+ }
453
+ } satisfies ExportedHandler;
452
454
  ```
453
455
 
456
+ Use `McpAgent`, `createLegacyMcpHandler`, and `WorkerTransport` from
457
+ `agents/mcp` only when retaining Legacy session behavior.
458
+
454
459
  ### Using MCP Tools
455
460
 
456
461
  ```typescript
@@ -466,7 +471,7 @@ await this.addMcpServer(
466
471
  // Use with AI SDK
467
472
  const result = await generateText({
468
473
  model: openai("gpt-4o"),
469
- tools: this.mcp.getTools(),
474
+ tools: this.mcp.getAITools(),
470
475
  prompt: "What's the weather in Tokyo?"
471
476
  });
472
477
  ```