@mastra/mcp-docs-server 1.2.14 → 1.2.15-alpha.3

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 (39) hide show
  1. package/.docs/docs/agents/a2a.md +36 -2
  2. package/.docs/docs/agents/processors.md +2 -0
  3. package/.docs/docs/capabilities/subagents.md +23 -5
  4. package/.docs/docs/connections/overview.md +94 -0
  5. package/.docs/docs/datasets/running-experiments.md +18 -0
  6. package/.docs/docs/harness/agent-controller.md +6 -0
  7. package/.docs/docs/harness/overview.md +26 -0
  8. package/.docs/docs/mcp/overview.md +10 -0
  9. package/.docs/guides/build-your-ui/ai-sdk-ui.md +25 -14
  10. package/.docs/models/gateways/neon.md +17 -14
  11. package/.docs/models/gateways/openrouter.md +3 -1
  12. package/.docs/models/gateways/vercel.md +3 -2
  13. package/.docs/models/index.md +1 -1
  14. package/.docs/models/providers/anthropic.md +2 -2
  15. package/.docs/models/providers/deepinfra.md +4 -1
  16. package/.docs/models/providers/digitalocean.md +1 -1
  17. package/.docs/models/providers/friendli.md +8 -9
  18. package/.docs/models/providers/huggingface.md +4 -1
  19. package/.docs/models/providers/hyper.md +7 -7
  20. package/.docs/models/providers/kilo.md +7 -5
  21. package/.docs/models/providers/llmgateway.md +1 -1
  22. package/.docs/models/providers/meta.md +7 -5
  23. package/.docs/models/providers/minimax.md +25 -23
  24. package/.docs/models/providers/nano-gpt.md +5 -3
  25. package/.docs/models/providers/openai.md +28 -26
  26. package/.docs/models/providers/opencode.md +0 -1
  27. package/.docs/models/providers/perplexity-agent.md +24 -24
  28. package/.docs/models/providers/pioneer.md +27 -1
  29. package/.docs/models/providers/upstage.md +3 -2
  30. package/.docs/reference/agents/generate.md +1 -1
  31. package/.docs/reference/ai-sdk/chat-route.md +2 -0
  32. package/.docs/reference/client-js/observability.md +22 -0
  33. package/.docs/reference/file-based-agents/schedules.md +232 -0
  34. package/.docs/reference/index.md +1 -0
  35. package/.docs/reference/streaming/agents/stream.md +1 -1
  36. package/.docs/reference/tools/mcp-client.md +54 -0
  37. package/.docs/reference/workspace/workspace-class.md +2 -0
  38. package/CHANGELOG.md +15 -0
  39. package/package.json +6 -6
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Hugging Face logo](https://models.dev/logos/huggingface.svg)Hugging Face
4
4
 
5
- Access 57 Hugging Face models through Mastra's model router. Authentication is handled automatically using the `HF_TOKEN` environment variable.
5
+ Access 60 Hugging Face models through Mastra's model router. Authentication is handled automatically using the `HF_TOKEN` environment variable.
6
6
 
7
7
  Learn more in the [Hugging Face documentation](https://huggingface.co).
8
8
 
@@ -38,6 +38,8 @@ for await (const chunk of stream) {
38
38
  | ------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
39
  | `huggingface/deepseek-ai/DeepSeek-R1` | 64K | | | | | | $0.70 | $3 |
40
40
  | `huggingface/deepseek-ai/DeepSeek-R1-0528` | 164K | | | | | | $3 | $5 |
41
+ | `huggingface/deepseek-ai/DeepSeek-V3` | 64K | | | | | | $0.40 | $1 |
42
+ | `huggingface/deepseek-ai/DeepSeek-V3.1` | 131K | | | | | | $0.27 | $1 |
41
43
  | `huggingface/deepseek-ai/DeepSeek-V3.2` | 164K | | | | | | $0.28 | $0.40 |
42
44
  | `huggingface/deepseek-ai/DeepSeek-V4-Flash` | 1.0M | | | | | | $0.14 | $0.28 |
43
45
  | `huggingface/deepseek-ai/DeepSeek-V4-Flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
@@ -60,6 +62,7 @@ for await (const chunk of stream) {
60
62
  | `huggingface/openai/gpt-oss-120b` | 131K | | | | | | $0.25 | $0.69 |
61
63
  | `huggingface/openai/gpt-oss-20b` | 131K | | | | | | $0.10 | $0.50 |
62
64
  | `huggingface/Qwen/Qwen3-235B-A22B` | 41K | | | | | | $0.20 | $0.80 |
65
+ | `huggingface/Qwen/Qwen3-235B-A22B-Instruct-2507` | 262K | | | | | | $0.85 | $3 |
63
66
  | `huggingface/Qwen/Qwen3-235B-A22B-Thinking-2507` | 262K | | | | | | $0.30 | $3 |
64
67
  | `huggingface/Qwen/Qwen3-32B` | 131K | | | | | | $0.29 | $0.59 |
65
68
  | `huggingface/Qwen/Qwen3-Coder-30B-A3B-Instruct` | 262K | | | | | | $0.07 | $0.26 |
@@ -37,20 +37,20 @@ for await (const chunk of stream) {
37
37
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
38
  | ---------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
39
  | `hyper/deepseek-v4-flash` | 1.0M | | | | | | $0.20 | $0.40 |
40
- | `hyper/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.15 | $0.30 |
40
+ | `hyper/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.20 | $0.40 |
41
41
  | `hyper/deepseek-v4-pro` | 1.0M | | | | | | $2 | $5 |
42
- | `hyper/gemma-4-26b-a4b-it` | 256K | | | | | | $0.12 | $0.40 |
43
- | `hyper/glm-5` | 203K | | | | | | $0.82 | $3 |
42
+ | `hyper/gemma-4-26b-a4b-it` | 256K | | | | | | $0.12 | $0.42 |
43
+ | `hyper/glm-5` | 203K | | | | | | $0.85 | $3 |
44
44
  | `hyper/glm-5.1` | 203K | | | | | | $2 | $5 |
45
45
  | `hyper/glm-5.2` | 1.0M | | | | | | $1 | $4 |
46
- | `hyper/gpt-oss-120b` | 131K | | | | | | $0.17 | $0.63 |
47
- | `hyper/kimi-k2.5` | 262K | | | | | | $0.56 | $3 |
46
+ | `hyper/gpt-oss-120b` | 131K | | | | | | $0.19 | $0.73 |
47
+ | `hyper/kimi-k2.5` | 262K | | | | | | $0.55 | $3 |
48
48
  | `hyper/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
49
49
  | `hyper/kimi-k2.7-code` | 256K | | | | | | $0.95 | $4 |
50
50
  | `hyper/kimi-k3` | 1.0M | | | | | | $3 | $16 |
51
51
  | `hyper/llama-3.3-70b-instruct` | 128K | | | | | | $0.61 | $1 |
52
- | `hyper/llama-4-maverick-17b-128e-instruct-fp8` | 430K | | | | | | $0.28 | $0.93 |
53
- | `hyper/minimax-m2.7` | 262K | | | | | | $0.44 | $2 |
52
+ | `hyper/llama-4-maverick-17b-128e-instruct-fp8` | 430K | | | | | | $0.27 | $0.90 |
53
+ | `hyper/minimax-m2.7` | 262K | | | | | | $0.41 | $2 |
54
54
  | `hyper/minimax-m3` | 512K | | | | | | $0.33 | $1 |
55
55
  | `hyper/qwen3-coder-480b-a35b-instruct-int4-mixed-ar` | 106K | | | | | | $0.57 | $2 |
56
56
  | `hyper/qwen3-next-80b-a3b-instruct` | 262K | | | | | | $0.12 | $1 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Kilo Gateway logo](https://models.dev/logos/kilo.svg)Kilo Gateway
4
4
 
5
- Access 345 Kilo Gateway models through Mastra's model router. Authentication is handled automatically using the `KILO_API_KEY` environment variable.
5
+ Access 347 Kilo Gateway models through Mastra's model router. Authentication is handled automatically using the `KILO_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Kilo Gateway documentation](https://kilo.ai).
8
8
 
@@ -139,6 +139,7 @@ for await (const chunk of stream) {
139
139
  | `kilo/inception/mercury-2` | 128K | | | | | | $0.25 | $0.75 |
140
140
  | `kilo/inclusionai/ling-2.6-1t` | 262K | | | | | | $0.30 | $3 |
141
141
  | `kilo/inclusionai/ling-2.6-flash` | 262K | | | | | | $0.10 | $0.30 |
142
+ | `kilo/inclusionai/ling-3.0-flash` | 131K | | | | | | $0.07 | $0.22 |
142
143
  | `kilo/inclusionai/ling-3.0-flash:free` | 262K | | | | | | — | — |
143
144
  | `kilo/inclusionai/ring-2.6-1t` | 262K | | | | | | $0.30 | $3 |
144
145
  | `kilo/kilo-auto/balanced` | 1.0M | | | | | | $0.33 | $2 |
@@ -160,6 +161,7 @@ for await (const chunk of stream) {
160
161
  | `kilo/meta-llama/llama-4-scout` | 328K | | | | | | $0.10 | $0.30 |
161
162
  | `kilo/meta-llama/llama-guard-4-12b` | 164K | | | | | | $0.18 | $0.18 |
162
163
  | `kilo/meta/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
164
+ | `kilo/meta/muse-spark-1.2` | 1.0M | | | | | | $1 | $4 |
163
165
  | `kilo/microsoft/phi-4` | 16K | | | | | | $0.07 | $0.14 |
164
166
  | `kilo/microsoft/wizardlm-2-8x22b` | 66K | | | | | | $0.62 | $0.62 |
165
167
  | `kilo/minimax/minimax-01` | 1.0M | | | | | | $0.20 | $1 |
@@ -292,7 +294,7 @@ for await (const chunk of stream) {
292
294
  | `kilo/qwen/qwen2.5-vl-72b-instruct` | 32K | | | | | | $0.25 | $0.75 |
293
295
  | `kilo/qwen/qwen3-14b` | 131K | | | | | | $0.23 | $0.91 |
294
296
  | `kilo/qwen/qwen3-235b-a22b` | 131K | | | | | | $0.46 | $2 |
295
- | `kilo/qwen/qwen3-235b-a22b-2507` | 131K | | | | | | $0.15 | $0.60 |
297
+ | `kilo/qwen/qwen3-235b-a22b-2507` | 262K | | | | | | $0.15 | $0.60 |
296
298
  | `kilo/qwen/qwen3-235b-a22b-thinking-2507` | 131K | | | | | | $0.23 | $2 |
297
299
  | `kilo/qwen/qwen3-30b-a3b` | 41K | | | | | | $0.13 | $0.52 |
298
300
  | `kilo/qwen/qwen3-30b-a3b-instruct-2507` | 128K | | | | | | $0.13 | $0.52 |
@@ -323,7 +325,7 @@ for await (const chunk of stream) {
323
325
  | `kilo/qwen/qwen3.5-flash-02-23` | 1.0M | | | | | | $0.07 | $0.26 |
324
326
  | `kilo/qwen/qwen3.5-plus-02-15` | 1.0M | | | | | | $0.26 | $2 |
325
327
  | `kilo/qwen/qwen3.5-plus-20260420` | 1.0M | | | | | | $0.30 | $2 |
326
- | `kilo/qwen/qwen3.6-27b` | 131K | | | | | | $0.45 | $3 |
328
+ | `kilo/qwen/qwen3.6-27b` | 262K | | | | | | $0.45 | $3 |
327
329
  | `kilo/qwen/qwen3.6-35b-a3b` | 262K | | | | | | $0.14 | $1 |
328
330
  | `kilo/qwen/qwen3.6-flash` | 1.0M | | | | | | $0.19 | $1 |
329
331
  | `kilo/qwen/qwen3.6-max-preview` | 262K | | | | | | $1 | $6 |
@@ -378,8 +380,8 @@ for await (const chunk of stream) {
378
380
  | `kilo/z-ai/glm-4.7-flash` | 203K | | | | | | $0.07 | $0.40 |
379
381
  | `kilo/z-ai/glm-5` | 205K | | | | | | $1 | $3 |
380
382
  | `kilo/z-ai/glm-5-turbo` | 203K | | | | | | $1 | $4 |
381
- | `kilo/z-ai/glm-5.1` | 200K | | | | | | $1 | $4 |
382
- | `kilo/z-ai/glm-5.2` | 262K | | | | | | $1 | $4 |
383
+ | `kilo/z-ai/glm-5.1` | 203K | | | | | | $1 | $4 |
384
+ | `kilo/z-ai/glm-5.2` | 1.0M | | | | | | $1 | $4 |
383
385
  | `kilo/z-ai/glm-5v-turbo` | 203K | | | | | | $1 | $4 |
384
386
 
385
387
  ## Advanced configuration
@@ -215,7 +215,7 @@ for await (const chunk of stream) {
215
215
  | `llmgateway/qwen3.7-flash` | 1.0M | | | | | | $0.03 | $0.13 |
216
216
  | `llmgateway/qwen3.7-max` | 1.0M | | | | | | $1 | $4 |
217
217
  | `llmgateway/qwen3.7-plus` | 1.0M | | | | | | $0.40 | $2 |
218
- | `llmgateway/qwen3.8-max` | 1.0M | | | | | | $2 | $6 |
218
+ | `llmgateway/qwen3.8-max` | 1.0M | | | | | | $2 | $5 |
219
219
  | `llmgateway/qwen35-397b-a17b` | 262K | | | | | | $0.60 | $4 |
220
220
  | `llmgateway/seed-1-6-250615` | 256K | | | | | | $0.25 | $2 |
221
221
  | `llmgateway/seed-1-6-250915` | 256K | | | | | | $0.25 | $2 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Meta logo](https://models.dev/logos/meta.svg)Meta
4
4
 
5
- Access 1 Meta model through Mastra's model router. Authentication is handled automatically using the `META_MODEL_API_KEY` environment variable.
5
+ Access 3 Meta models through Mastra's model router. Authentication is handled automatically using the `META_MODEL_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Meta documentation](https://dev.meta.ai/docs).
8
8
 
@@ -34,9 +34,11 @@ for await (const chunk of stream) {
34
34
 
35
35
  ## Models
36
36
 
37
- | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
- | --------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
- | `meta/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | --------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `meta/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
40
+ | `meta/muse-spark-1.2` | 1.0M | | | | | | $1 | $4 |
41
+ | `meta/muse-spark-1.2-contributor` | 1.0M | | | | | | $0.10 | $0.20 |
40
42
 
41
43
  ## Advanced configuration
42
44
 
@@ -66,7 +68,7 @@ const agent = new Agent({
66
68
  model: ({ requestContext }) => {
67
69
  const useAdvanced = requestContext.task === "complex";
68
70
  return useAdvanced
69
- ? "meta/muse-spark-1.1"
71
+ ? "meta/muse-spark-1.2-contributor"
70
72
  : "meta/muse-spark-1.1";
71
73
  }
72
74
  });
@@ -11,22 +11,22 @@ MINIMAX_API_KEY=your-api-key
11
11
  ```
12
12
 
13
13
  ```typescript
14
- import { Agent } from '@mastra/core/agent'
14
+ import { Agent } from "@mastra/core/agent";
15
15
 
16
16
  const agent = new Agent({
17
- id: 'my-agent',
18
- name: 'My Agent',
19
- instructions: 'You are a helpful assistant',
20
- model: 'minimax/MiniMax-M2',
21
- })
17
+ id: "my-agent",
18
+ name: "My Agent",
19
+ instructions: "You are a helpful assistant",
20
+ model: "minimax/MiniMax-M2"
21
+ });
22
22
 
23
23
  // Generate a response
24
- const response = await agent.generate('Hello!')
24
+ const response = await agent.generate("Hello!");
25
25
 
26
26
  // Stream a response
27
- const stream = await agent.stream('Tell me a story')
27
+ const stream = await agent.stream("Tell me a story");
28
28
  for await (const chunk of stream) {
29
- console.log(chunk)
29
+ console.log(chunk);
30
30
  }
31
31
  ```
32
32
 
@@ -50,30 +50,32 @@ for await (const chunk of stream) {
50
50
 
51
51
  ```typescript
52
52
  const agent = new Agent({
53
- id: 'custom-agent',
54
- name: 'custom-agent',
53
+ id: "custom-agent",
54
+ name: "custom-agent",
55
55
  model: {
56
- url: 'https://api.minimax.io/anthropic/v1',
57
- id: 'minimax/MiniMax-M2',
56
+ url: "https://api.minimax.io/anthropic/v1",
57
+ id: "minimax/MiniMax-M2",
58
58
  apiKey: process.env.MINIMAX_API_KEY,
59
59
  headers: {
60
- 'X-Custom-Header': 'value',
61
- },
62
- },
63
- })
60
+ "X-Custom-Header": "value"
61
+ }
62
+ }
63
+ });
64
64
  ```
65
65
 
66
66
  ### Dynamic model selection
67
67
 
68
68
  ```typescript
69
69
  const agent = new Agent({
70
- id: 'dynamic-agent',
71
- name: 'Dynamic Agent',
70
+ id: "dynamic-agent",
71
+ name: "Dynamic Agent",
72
72
  model: ({ requestContext }) => {
73
- const useAdvanced = requestContext.task === 'complex'
74
- return useAdvanced ? 'minimax/MiniMax-M3' : 'minimax/MiniMax-M2'
75
- },
76
- })
73
+ const useAdvanced = requestContext.task === "complex";
74
+ return useAdvanced
75
+ ? "minimax/MiniMax-M3"
76
+ : "minimax/MiniMax-M2";
77
+ }
78
+ });
77
79
  ```
78
80
 
79
81
  ## Direct provider installation
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![NanoGPT logo](https://models.dev/logos/nano-gpt.svg)NanoGPT
4
4
 
5
- Access 615 NanoGPT models through Mastra's model router. Authentication is handled automatically using the `NANO_GPT_API_KEY` environment variable.
5
+ Access 617 NanoGPT models through Mastra's model router. Authentication is handled automatically using the `NANO_GPT_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [NanoGPT documentation](https://docs.nano-gpt.com).
8
8
 
@@ -262,8 +262,8 @@ for await (const chunk of stream) {
262
262
  | `nano-gpt/ibm-granite/granite-4.1-8b` | 131K | | | | | | $0.05 | $0.10 |
263
263
  | `nano-gpt/inclusionai/ling-2.6-1t` | 262K | | | | | | $0.30 | $3 |
264
264
  | `nano-gpt/inclusionai/ling-2.6-flash` | 262K | | | | | | $0.10 | $0.30 |
265
- | `nano-gpt/inclusionai/ling-3.0-flash` | 262K | | | | | | $0.06 | $0.18 |
266
- | `nano-gpt/inclusionai/ling-3.0-flash:thinking` | 262K | | | | | | $0.06 | $0.18 |
265
+ | `nano-gpt/inclusionai/ling-3.0-flash` | 262K | | | | | | $0.07 | $0.22 |
266
+ | `nano-gpt/inclusionai/ling-3.0-flash:thinking` | 262K | | | | | | $0.07 | $0.22 |
267
267
  | `nano-gpt/inclusionai/ring-2.6-1t` | 262K | | | | | | $0.30 | $3 |
268
268
  | `nano-gpt/inflatebot/MN-12B-Mag-Mell-R1` | 16K | | | | | | $0.49 | $0.49 |
269
269
  | `nano-gpt/inflection/inflection-3-pi` | 8K | | | | | | $2 | $10 |
@@ -296,6 +296,8 @@ for await (const chunk of stream) {
296
296
  | `nano-gpt/meta-llama/llama-4-maverick` | 1.0M | | | | | | $0.15 | $0.60 |
297
297
  | `nano-gpt/meta-llama/llama-4-scout` | 328K | | | | | | $0.09 | $0.46 |
298
298
  | `nano-gpt/meta/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
299
+ | `nano-gpt/meta/muse-spark-1.2` | 1.0M | | | | | | $1 | $4 |
300
+ | `nano-gpt/meta/muse-spark-1.2-contributor` | 1.0M | | | | | | $0.10 | $0.20 |
299
301
  | `nano-gpt/microsoft/wizardlm-2-8x22b` | 66K | | | | | | $0.49 | $0.49 |
300
302
  | `nano-gpt/MiniMax-M1` | 1.0M | | | | | | $0.14 | $1 |
301
303
  | `nano-gpt/MiniMax-M2` | 200K | | | | | | $0.17 | $2 |
@@ -11,22 +11,22 @@ OPENAI_API_KEY=your-api-key
11
11
  ```
12
12
 
13
13
  ```typescript
14
- import { Agent } from '@mastra/core/agent'
14
+ import { Agent } from "@mastra/core/agent";
15
15
 
16
16
  const agent = new Agent({
17
- id: 'my-agent',
18
- name: 'My Agent',
19
- instructions: 'You are a helpful assistant',
20
- model: 'openai/chatgpt-image-latest',
21
- })
17
+ id: "my-agent",
18
+ name: "My Agent",
19
+ instructions: "You are a helpful assistant",
20
+ model: "openai/chatgpt-image-latest"
21
+ });
22
22
 
23
23
  // Generate a response
24
- const response = await agent.generate('Hello!')
24
+ const response = await agent.generate("Hello!");
25
25
 
26
26
  // Stream a response
27
- const stream = await agent.stream('Tell me a story')
27
+ const stream = await agent.stream("Tell me a story");
28
28
  for await (const chunk of stream) {
29
- console.log(chunk)
29
+ console.log(chunk);
30
30
  }
31
31
  ```
32
32
 
@@ -78,29 +78,31 @@ for await (const chunk of stream) {
78
78
 
79
79
  ```typescript
80
80
  const agent = new Agent({
81
- id: 'custom-agent',
82
- name: 'custom-agent',
81
+ id: "custom-agent",
82
+ name: "custom-agent",
83
83
  model: {
84
- id: 'openai/chatgpt-image-latest',
84
+ id: "openai/chatgpt-image-latest",
85
85
  apiKey: process.env.OPENAI_API_KEY,
86
86
  headers: {
87
- 'X-Custom-Header': 'value',
88
- },
89
- },
90
- })
87
+ "X-Custom-Header": "value"
88
+ }
89
+ }
90
+ });
91
91
  ```
92
92
 
93
93
  ### Dynamic model selection
94
94
 
95
95
  ```typescript
96
96
  const agent = new Agent({
97
- id: 'dynamic-agent',
98
- name: 'Dynamic Agent',
97
+ id: "dynamic-agent",
98
+ name: "Dynamic Agent",
99
99
  model: ({ requestContext }) => {
100
- const useAdvanced = requestContext.task === 'complex'
101
- return useAdvanced ? 'openai/text-embedding-ada-002' : 'openai/chatgpt-image-latest'
102
- },
103
- })
100
+ const useAdvanced = requestContext.task === "complex";
101
+ return useAdvanced
102
+ ? "openai/text-embedding-ada-002"
103
+ : "openai/chatgpt-image-latest";
104
+ }
105
+ });
104
106
  ```
105
107
 
106
108
  ## Provider Options
@@ -108,13 +110,13 @@ const agent = new Agent({
108
110
  OpenAI supports the following provider-specific options via the `providerOptions` parameter:
109
111
 
110
112
  ```typescript
111
- const response = await agent.generate('Hello!', {
113
+ const response = await agent.generate("Hello!", {
112
114
  providerOptions: {
113
115
  openai: {
114
116
  // See available options in the table below
115
- },
116
- },
117
- })
117
+ }
118
+ }
119
+ });
118
120
  ```
119
121
 
120
122
  ### Available Options
@@ -39,7 +39,6 @@ for await (const chunk of stream) {
39
39
  | `opencode/big-pickle` | 200K | | | | | | — | — |
40
40
  | `opencode/claude-fable-5` | 1.0M | | | | | | $10 | $50 |
41
41
  | `opencode/claude-haiku-4-5` | 200K | | | | | | $1 | $5 |
42
- | `opencode/claude-opus-4-1` | 200K | | | | | | $15 | $75 |
43
42
  | `opencode/claude-opus-4-5` | 200K | | | | | | $5 | $25 |
44
43
  | `opencode/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
45
44
  | `opencode/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
@@ -11,22 +11,22 @@ PERPLEXITY_API_KEY=your-api-key
11
11
  ```
12
12
 
13
13
  ```typescript
14
- import { Agent } from '@mastra/core/agent'
14
+ import { Agent } from "@mastra/core/agent";
15
15
 
16
16
  const agent = new Agent({
17
- id: 'my-agent',
18
- name: 'My Agent',
19
- instructions: 'You are a helpful assistant',
20
- model: 'perplexity-agent/anthropic/claude-haiku-4-5',
21
- })
17
+ id: "my-agent",
18
+ name: "My Agent",
19
+ instructions: "You are a helpful assistant",
20
+ model: "perplexity-agent/anthropic/claude-haiku-4-5"
21
+ });
22
22
 
23
23
  // Generate a response
24
- const response = await agent.generate('Hello!')
24
+ const response = await agent.generate("Hello!");
25
25
 
26
26
  // Stream a response
27
- const stream = await agent.stream('Tell me a story')
27
+ const stream = await agent.stream("Tell me a story");
28
28
  for await (const chunk of stream) {
29
- console.log(chunk)
29
+ console.log(chunk);
30
30
  }
31
31
  ```
32
32
 
@@ -63,32 +63,32 @@ for await (const chunk of stream) {
63
63
 
64
64
  ```typescript
65
65
  const agent = new Agent({
66
- id: 'custom-agent',
67
- name: 'custom-agent',
66
+ id: "custom-agent",
67
+ name: "custom-agent",
68
68
  model: {
69
- url: 'https://api.perplexity.ai/v1',
70
- id: 'perplexity-agent/anthropic/claude-haiku-4-5',
69
+ url: "https://api.perplexity.ai/v1",
70
+ id: "perplexity-agent/anthropic/claude-haiku-4-5",
71
71
  apiKey: process.env.PERPLEXITY_API_KEY,
72
72
  headers: {
73
- 'X-Custom-Header': 'value',
74
- },
75
- },
76
- })
73
+ "X-Custom-Header": "value"
74
+ }
75
+ }
76
+ });
77
77
  ```
78
78
 
79
79
  ### Dynamic model selection
80
80
 
81
81
  ```typescript
82
82
  const agent = new Agent({
83
- id: 'dynamic-agent',
84
- name: 'Dynamic Agent',
83
+ id: "dynamic-agent",
84
+ name: "Dynamic Agent",
85
85
  model: ({ requestContext }) => {
86
- const useAdvanced = requestContext.task === 'complex'
86
+ const useAdvanced = requestContext.task === "complex";
87
87
  return useAdvanced
88
- ? 'perplexity-agent/xai/grok-4-1-fast-non-reasoning'
89
- : 'perplexity-agent/anthropic/claude-haiku-4-5'
90
- },
91
- })
88
+ ? "perplexity-agent/xai/grok-4-1-fast-non-reasoning"
89
+ : "perplexity-agent/anthropic/claude-haiku-4-5";
90
+ }
91
+ });
92
92
  ```
93
93
 
94
94
  ## Direct provider installation
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Pioneer logo](https://models.dev/logos/pioneer.svg)Pioneer
4
4
 
5
- Access 76 Pioneer models through Mastra's model router. Authentication is handled automatically using the `PIONEER_API_KEY` environment variable.
5
+ Access 102 Pioneer models through Mastra's model router. Authentication is handled automatically using the `PIONEER_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Pioneer documentation](https://agent.pioneer.ai/llms.txt).
8
8
 
@@ -36,16 +36,23 @@ for await (const chunk of stream) {
36
36
 
37
37
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
38
  | ------------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `pioneer/claude-3-7-sonnet-latest` | 1.0M | | | | | | $3 | $15 |
40
+ | `pioneer/claude-fable-5` | 1.0M | | | | | | $11 | $55 |
39
41
  | `pioneer/claude-haiku-4-5` | 200K | | | | | | $1 | $5 |
40
42
  | `pioneer/claude-opus-4-1` | 200K | | | | | | $15 | $75 |
41
43
  | `pioneer/claude-opus-4-5` | 200K | | | | | | $5 | $25 |
42
44
  | `pioneer/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
43
45
  | `pioneer/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
44
46
  | `pioneer/claude-opus-4-8` | 1.0M | | | | | | $5 | $25 |
47
+ | `pioneer/claude-opus-5` | 1.0M | | | | | | $5 | $25 |
45
48
  | `pioneer/claude-sonnet-4-5` | 1.0M | | | | | | $3 | $15 |
46
49
  | `pioneer/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
50
+ | `pioneer/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
51
+ | `pioneer/deepseek-ai/DeepSeek-V3` | 164K | | | | | | $0.27 | $1 |
52
+ | `pioneer/deepseek-ai/DeepSeek-V3.1` | 164K | | | | | | $0.56 | $2 |
47
53
  | `pioneer/deepseek-ai/DeepSeek-V4-Flash` | 1.0M | | | | | | $0.10 | $0.20 |
48
54
  | `pioneer/deepseek-ai/DeepSeek-V4-Pro` | 1.0M | | | | | | $0.43 | $0.87 |
55
+ | `pioneer/devstral-2` | 256K | | | | | | $0.40 | $2 |
49
56
  | `pioneer/fastino/gliguard-LLMGuardrails-300M` | 8K | | | | | | $0.15 | $0.15 |
50
57
  | `pioneer/fastino/gliner2-base-v1` | 8K | | | | | | $0.15 | $0.15 |
51
58
  | `pioneer/fastino/gliner2-large-v1` | 8K | | | | | | $0.15 | $0.15 |
@@ -53,8 +60,11 @@ for await (const chunk of stream) {
53
60
  | `pioneer/fastino/gliner2-multi-v1` | 8K | | | | | | $0.15 | $0.15 |
54
61
  | `pioneer/fastino/gliner2-privacy-filter-PII-multi` | 8K | | | | | | $0.15 | $0.15 |
55
62
  | `pioneer/gemini-3-flash` | 1.0M | | | | | | $0.50 | $3 |
63
+ | `pioneer/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
56
64
  | `pioneer/gemini-3.1-pro` | 1.0M | | | | | | $2 | $12 |
57
65
  | `pioneer/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
66
+ | `pioneer/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.30 | $3 |
67
+ | `pioneer/gemini-3.6-flash` | 1.0M | | | | | | $2 | $8 |
58
68
  | `pioneer/google/diffusiongemma-26B-A4B-it` | 262K | | | | | | $0.50 | $0.50 |
59
69
  | `pioneer/google/gemma-3-4b-pt` | 33K | | | | | | $0.15 | $0.15 |
60
70
  | `pioneer/google/gemma-4-12B-it` | 33K | | | | | | $0.25 | $0.25 |
@@ -74,27 +84,43 @@ for await (const chunk of stream) {
74
84
  | `pioneer/gpt-5.4-mini` | 400K | | | | | | $0.75 | $5 |
75
85
  | `pioneer/gpt-5.4-nano` | 1.0M | | | | | | $0.20 | $1 |
76
86
  | `pioneer/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
87
+ | `pioneer/gpt-5.6-luna` | 1.1M | | | | | | $1 | $6 |
88
+ | `pioneer/gpt-5.6-sol` | 1.1M | | | | | | $5 | $30 |
89
+ | `pioneer/gpt-5.6-terra` | 1.1M | | | | | | $3 | $15 |
90
+ | `pioneer/grok-4.5` | 500K | | | | | | $2 | $6 |
77
91
  | `pioneer/HuggingFaceTB/SmolLM3-3B-Base` | 33K | | | | | | $0.15 | $0.15 |
78
92
  | `pioneer/LiquidAI/LFM2-24B-A2B` | 33K | | | | | | $0.03 | $0.12 |
79
93
  | `pioneer/meta-llama/Llama-3.1-8B-Instruct` | 131K | | | | | | $0.20 | $0.20 |
94
+ | `pioneer/meta-llama/Llama-3.2-1B` | 131K | | | | | | $0.10 | $0.10 |
80
95
  | `pioneer/meta-llama/Llama-3.2-1B-Instruct` | 131K | | | | | | $0.10 | $0.20 |
96
+ | `pioneer/meta-llama/Llama-3.2-3B` | 131K | | | | | | $0.10 | $0.10 |
81
97
  | `pioneer/meta-llama/Llama-3.2-3B-Instruct` | 131K | | | | | | $0.10 | $0.34 |
82
98
  | `pioneer/meta-llama/Llama-3.3-70B-Instruct` | 131K | | | | | | $0.90 | $0.90 |
99
+ | `pioneer/meta/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
83
100
  | `pioneer/MiniMaxAI/MiniMax-M2.7` | 205K | | | | | | $0.28 | $1 |
84
101
  | `pioneer/MiniMaxAI/MiniMax-M3` | 1.0M | | | | | | $0.30 | $1 |
102
+ | `pioneer/mistral-large-3` | 256K | | | | | | $0.50 | $2 |
85
103
  | `pioneer/mistral-medium-3.5` | 262K | | | | | | $2 | $8 |
104
+ | `pioneer/mistralai/Codestral-22B-v0.1` | 128K | | | | | | $0.30 | $0.90 |
105
+ | `pioneer/mistralai/Magistral-Small-2506` | 128K | | | | | | $0.50 | $2 |
106
+ | `pioneer/mistralai/Ministral-8B-Instruct-2410` | 128K | | | | | | $0.15 | $0.15 |
86
107
  | `pioneer/mistralai/Mistral-7B-Instruct-v0.3` | 33K | | | | | | $0.20 | $0.20 |
87
108
  | `pioneer/mistralai/Mistral-Nemo-Instruct-2407` | 131K | | | | | | $0.02 | $0.03 |
88
109
  | `pioneer/mistralai/Mistral-Small-4-119B-2603` | 262K | | | | | | $0.15 | $0.60 |
110
+ | `pioneer/mistralai/Pixtral-12B-2409` | 128K | | | | | | $0.15 | $0.15 |
89
111
  | `pioneer/moonshotai/Kimi-K2.6` | 262K | | | | | | $0.95 | $4 |
90
112
  | `pioneer/moonshotai/Kimi-K2.7-Code` | 262K | | | | | | $0.95 | $4 |
113
+ | `pioneer/moonshotai/Kimi-K3` | 1.0M | | | | | | $3 | $15 |
91
114
  | `pioneer/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16` | 262K | | | | | | $0.05 | $0.20 |
92
115
  | `pioneer/nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8` | 1.0M | | | | | | $0.09 | $0.45 |
93
116
  | `pioneer/nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16` | 1.0M | | | | | | $0.50 | $3 |
94
117
  | `pioneer/openai/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
95
118
  | `pioneer/openai/gpt-oss-20b` | 131K | | | | | | $0.07 | $0.30 |
96
119
  | `pioneer/pioneer/auto` | 1.0M | | | | | | — | — |
120
+ | `pioneer/poolside/laguna-s-2.1` | 1.0M | | | | | | $0.10 | $0.20 |
121
+ | `pioneer/Qwen/Qwen2.5-Coder-0.5B` | 33K | | | | | | $0.10 | $0.10 |
97
122
  | `pioneer/Qwen/Qwen3-1.7B-Base` | 33K | | | | | | $0.10 | $0.10 |
123
+ | `pioneer/Qwen/Qwen3-235B-A22B-Instruct-2507` | 262K | | | | | | $1 | $1 |
98
124
  | `pioneer/Qwen/Qwen3-32B` | 131K | | | | | | $0.90 | $0.90 |
99
125
  | `pioneer/Qwen/Qwen3-4B-Base` | 33K | | | | | | $0.15 | $0.15 |
100
126
  | `pioneer/Qwen/Qwen3-4B-Instruct-2507` | 262K | | | | | | $0.20 | $0.20 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Upstage logo](https://models.dev/logos/upstage.svg)Upstage
4
4
 
5
- Access 3 Upstage models through Mastra's model router. Authentication is handled automatically using the `UPSTAGE_API_KEY` environment variable.
5
+ Access 4 Upstage models through Mastra's model router. Authentication is handled automatically using the `UPSTAGE_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Upstage documentation](https://developers.upstage.ai).
8
8
 
@@ -39,6 +39,7 @@ for await (const chunk of stream) {
39
39
  | `upstage/solar-mini` | 33K | | | | | | $0.15 | $0.15 |
40
40
  | `upstage/solar-pro2` | 66K | | | | | | $0.25 | $0.25 |
41
41
  | `upstage/solar-pro3` | 131K | | | | | | $0.25 | $0.25 |
42
+ | `upstage/solar-pro4` | 524K | | | | | | $0.30 | $1 |
42
43
 
43
44
  ## Advanced configuration
44
45
 
@@ -68,7 +69,7 @@ const agent = new Agent({
68
69
  model: ({ requestContext }) => {
69
70
  const useAdvanced = requestContext.task === "complex";
70
71
  return useAdvanced
71
- ? "upstage/solar-pro3"
72
+ ? "upstage/solar-pro4"
72
73
  : "upstage/solar-mini";
73
74
  }
74
75
  });
@@ -56,7 +56,7 @@ const result = await agent.generate('message for agent')
56
56
 
57
57
  **options.delegation** (`DelegationConfig`): Configuration for subagent delegation. Use this to control and monitor when the agent delegates tasks to other agents, including the ability to modify, reject delegations, and provide feedback to guide the supervisor.
58
58
 
59
- **options.delegation.onDelegationStart** (`(context: DelegationStartContext) => DelegationStartResult | void | Promise<DelegationStartResult | void>`): Called before delegating to a subagent. Use this to modify the delegation parameters or reject the delegation entirely.
59
+ **options.delegation.onDelegationStart** (`(context: DelegationStartContext) => DelegationStartResult | void | Promise<DelegationStartResult | void>`): Called before delegating to a subagent. Use this to modify the delegation parameters, reject the delegation entirely, or mutate context.requestContext to add entries to the subagent run's request context.
60
60
 
61
61
  **options.delegation.onDelegationComplete** (`(context: DelegationCompleteContext) => { feedback?: string } | void | Promise<{ feedback?: string } | void>`): Called after a subagent delegation completes. The context includes a bail() method to stop further execution, and you can return { feedback } to guide the supervisor's next action. Feedback is saved to supervisor memory as an assistant message.
62
62
 
@@ -69,6 +69,8 @@ export const mastra = new Mastra({
69
69
 
70
70
  **sendSources** (`boolean`): Whether to include source citations in the stream. (Default: `false`)
71
71
 
72
+ **heartbeatMs** (`number`): Interval in milliseconds for SSE heartbeats that keep connections active through infrastructure with idle timeouts.
73
+
72
74
  ## Additional configuration
73
75
 
74
76
  You can use [`prepareSendMessagesRequest`](https://ai-sdk.dev/docs/reference/ai-sdk-ui/use-chat#transport.default-chat-transport.prepare-send-messages-request) to customize the request sent to the chat route, for example to pass additional configuration to the agent:
@@ -41,6 +41,28 @@ console.log(`Total pages: ${traces.pagination.totalPages}`)
41
41
  const completeTrace = await mastraClient.getTrace(traces.spans[0].traceId)
42
42
  ```
43
43
 
44
+ ## Listing traces for a list view
45
+
46
+ `listTracesLight()` returns the same rows as a trace list, without the `input`, `output` and `attributes` payloads. Each row carries a short `inputPreview` string instead, so a list can render a preview column without transferring the whole prompt.
47
+
48
+ Prefer it whenever you are rendering many traces at once, and fetch the full record only when a row is opened:
49
+
50
+ ```typescript
51
+ const list = await mastraClient.listTracesLight({
52
+ pagination: { page: 0, perPage: 25 },
53
+ filters: { entityType: 'agent' },
54
+ })
55
+
56
+ for (const span of list.spans) {
57
+ console.log(span.name, span.inputPreview)
58
+ }
59
+
60
+ // Fetch the full payload only for the trace the user selects
61
+ const selected = await mastraClient.getTrace(list.spans[0].traceId)
62
+ ```
63
+
64
+ It accepts the same filtering, ordering and delta-polling arguments as `listTraces()`. Use `listTraces()` when you actually need the full span payloads.
65
+
44
66
  ## Scoring traces
45
67
 
46
68
  Score specific traces using registered scorers for evaluation: