@mastra/mcp-docs-server 1.2.17-alpha.5 → 1.2.17-alpha.9

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.
@@ -35,6 +35,8 @@ console.log(summary.failedCount) // number of items that failed
35
35
 
36
36
  You can also run experiments in [Studio](https://mastra.ai/docs/studio/overview). After you've added a dataset item, open it and select **Run Experiment** and configure the target, scorers, and options.
37
37
 
38
+ To configure scorers for one item, edit the item and enable **Override dataset scorers**. Select one or more scorers, or leave the selection empty to run no scorers for that item.
39
+
38
40
  After running an experiment, the **Experiments** tab shows all runs for that dataset (with status, counts, and timestamps). Select an experiment to see per-item results, scores, and execution traces.
39
41
 
40
42
  In the **Experiments** tab, select **Compare** and choose two or more experiments to compare their scores and results side by side.
@@ -149,6 +151,50 @@ for (const item of summary.results) {
149
151
 
150
152
  Visit the [Scorers overview](https://mastra.ai/docs/evals/overview) for details on available and custom scorers.
151
153
 
154
+ ## Select scorers per item
155
+
156
+ Add registered scorer IDs to a dataset item to override the scorers attached to its dataset:
157
+
158
+ ```typescript
159
+ await dataset.addItem({
160
+ input: 'Translate "hello" to French.',
161
+ scorerIds: ['accuracy', 'fluency'],
162
+ })
163
+ ```
164
+
165
+ An experiment uses exactly one scorer source for each item, in this order:
166
+
167
+ 1. The experiment's `scorers` option, when provided
168
+ 2. The item's `scorerIds` field, when provided
169
+ 3. The dataset's `scorerIds` field
170
+ 4. No scorers
171
+
172
+ Mastra doesn't merge these sources. An explicit empty array at the run or item level selects no scorers and prevents fallback to the next source. An empty categorized run-level configuration has the same effect. Duplicate item or dataset IDs run once, in the order of their first occurrence.
173
+
174
+ The following updates switch between an explicit empty override and dataset inheritance:
175
+
176
+ ```typescript
177
+ // Run no scorers for this item
178
+ await dataset.updateItem({
179
+ itemId: 'translation-item-id',
180
+ scorerIds: [],
181
+ })
182
+
183
+ // Remove the item override and inherit the dataset's scorers
184
+ await dataset.updateItem({
185
+ itemId: 'translation-item-id',
186
+ scorerIds: null,
187
+ })
188
+ ```
189
+
190
+ Omitting `scorerIds` from an update preserves its current value. Each item version stores its scorer ID list, including an empty list. Scorer definitions aren't copied into the item version and continue to use their existing registry or Editor behavior.
191
+
192
+ Mastra resolves each item's scorer IDs before running its target. It checks registered scorers first, then asks the Editor to hydrate a stored scorer. A stale item-level ID produces the `EXPERIMENT_ITEM_SCORER_NOT_FOUND` code for that item. Mastra skips target execution without retrying that item, while the rest of the experiment continues.
193
+
194
+ A missing ID in the selected run-level or dataset-level source fails experiment setup. Mastra doesn't resolve IDs from lower-priority sources that the precedence rules ignore.
195
+
196
+ Workflow step scorers are available only through a run-level categorized `scorers` configuration. Item-level IDs apply to the flat agent, workflow, and trajectory scorer dispatch.
197
+
152
198
  ## Control persistence per run
153
199
 
154
200
  Use `persistence` to skip storage writes for a specific run. Experiment records and score records can be disabled independently:
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![OpenRouter logo](https://models.dev/logos/openrouter.svg)OpenRouter
4
4
 
5
- OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 349 models through Mastra's model router.
5
+ OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 351 models through Mastra's model router.
6
6
 
7
7
  Learn more in the [OpenRouter documentation](https://openrouter.ai/models).
8
8
 
@@ -106,6 +106,7 @@ ANTHROPIC_API_KEY=ant-...
106
106
  | `deepseek/deepseek-v4-flash-0731` |
107
107
  | `deepseek/deepseek-v4-pro` |
108
108
  | `deepseek/deepseek-v4-pro-0813` |
109
+ | `dots-studio/dots-3-note-preview:free` |
109
110
  | `google/gemini-2.5-flash` |
110
111
  | `google/gemini-2.5-flash-image` |
111
112
  | `google/gemini-2.5-flash-lite` |
@@ -340,6 +341,7 @@ ANTHROPIC_API_KEY=ant-...
340
341
  | `qwen/qwen3.7-max` |
341
342
  | `qwen/qwen3.7-plus` |
342
343
  | `qwen/qwen3.8-2.4t-a95b` |
344
+ | `qwen/qwen3.8-27b` |
343
345
  | `qwen/qwen3.8-max` |
344
346
  | `rekaai/reka-edge` |
345
347
  | `rekaai/reka-flash-3` |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Model Providers
4
4
 
5
- Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 5742 models from 172 providers through a single API.
5
+ Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 5960 models from 172 providers through a single API.
6
6
 
7
7
  ## Features
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Cloudflare Workers AI logo](https://models.dev/logos/cloudflare-workers-ai.svg)Cloudflare Workers AI
4
4
 
5
- Access 22 Cloudflare Workers AI models through Mastra's model router. Authentication is handled automatically using the `CLOUDFLARE_API_KEY` environment variable. Configure `CLOUDFLARE_ACCOUNT_ID` as well.
5
+ Access 24 Cloudflare Workers AI models through Mastra's model router. Authentication is handled automatically using the `CLOUDFLARE_API_KEY` environment variable. Configure `CLOUDFLARE_ACCOUNT_ID` as well.
6
6
 
7
7
  Learn more in the [Cloudflare Workers AI documentation](https://developers.cloudflare.com/workers-ai/models/).
8
8
 
@@ -39,6 +39,8 @@ for await (const chunk of stream) {
39
39
  | -------------------------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
40
40
  | `cloudflare-workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it` | 128K | | | | | | $0.35 | $0.56 |
41
41
  | `cloudflare-workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b` | 80K | | | | | | $0.50 | $5 |
42
+ | `cloudflare-workers-ai/@cf/deepseek-ai/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.44 | $1 |
43
+ | `cloudflare-workers-ai/@cf/deepseek-ai/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
42
44
  | `cloudflare-workers-ai/@cf/google/gemma-4-26b-a4b-it` | 256K | | | | | | $0.10 | $0.30 |
43
45
  | `cloudflare-workers-ai/@cf/ibm-granite/granite-4.0-h-micro` | 131K | | | | | | $0.02 | $0.11 |
44
46
  | `cloudflare-workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8` | 32K | | | | | | $0.15 | $0.29 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Deep Infra logo](https://models.dev/logos/deepinfra.svg)Deep Infra
4
4
 
5
- Access 54 Deep Infra models through Mastra's model router. Authentication is handled automatically using the `DEEPINFRA_API_KEY` environment variable.
5
+ Access 56 Deep Infra models through Mastra's model router. Authentication is handled automatically using the `DEEPINFRA_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Deep Infra documentation](https://deepinfra.com/models).
8
8
 
@@ -35,6 +35,8 @@ for await (const chunk of stream) {
35
35
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
36
36
  | ------------------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
37
37
  | `deepinfra/ByteDance/Seed-2.0-code` | 256K | | | | | | $0.50 | $3 |
38
+ | `deepinfra/ByteDance/Seed-2.0-mini` | 256K | | | | | | $0.10 | $0.40 |
39
+ | `deepinfra/ByteDance/Seed-2.0-pro` | 256K | | | | | | $0.50 | $3 |
38
40
  | `deepinfra/deepseek-ai/DeepSeek-R1-0528` | 164K | | | | | | $0.50 | $2 |
39
41
  | `deepinfra/deepseek-ai/DeepSeek-V3` | 164K | | | | | | $0.32 | $0.89 |
40
42
  | `deepinfra/deepseek-ai/DeepSeek-V3-0324` | 164K | | | | | | $0.24 | $0.90 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Eden AI logo](https://models.dev/logos/edenai.svg)Eden AI
4
4
 
5
- Access 16 Eden AI models through Mastra's model router. Authentication is handled automatically using the `EDENAI_API_KEY` environment variable.
5
+ Access 220 Eden AI models through Mastra's model router. Authentication is handled automatically using the `EDENAI_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Eden AI documentation](https://docs.edenai.co).
8
8
 
@@ -17,7 +17,7 @@ const agent = new Agent({
17
17
  id: "my-agent",
18
18
  name: "My Agent",
19
19
  instructions: "You are a helpful assistant",
20
- model: "edenai/anthropic/claude-opus-5"
20
+ model: "edenai/amazon/moonshot.kimi-k2-thinking"
21
21
  });
22
22
 
23
23
  // Generate a response
@@ -34,24 +34,228 @@ 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
- | `edenai/anthropic/claude-opus-5` | 1.0M | | | | | | $5 | $25 |
40
- | `edenai/anthropic/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
41
- | `edenai/anthropic/claude-sonnet-latest` | 1.0M | | | | | | $2 | $10 |
42
- | `edenai/deepinfra/openai/gpt-oss-120b` | 131K | | | | | | $0.04 | $0.17 |
43
- | `edenai/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $0.43 | $0.87 |
44
- | `edenai/google/gemini-3.6-flash` | 1.0M | | | | | | $2 | $8 |
45
- | `edenai/mistral/mistral-large-2512` | 262K | | | | | | $0.50 | $2 |
46
- | `edenai/moonshot/kimi-k3` | 1.0M | | | | | | $3 | $15 |
47
- | `edenai/openai/gpt-4o-mini` | 128K | | | | | | $0.15 | $0.60 |
48
- | `edenai/openai/gpt-5.6-luna` | 1.1M | | | | | | $0.20 | $1 |
49
- | `edenai/openai/gpt-5.6-sol` | 1.1M | | | | | | $5 | $30 |
50
- | `edenai/openai/gpt-5.6-terra` | 1.1M | | | | | | $2 | $12 |
51
- | `edenai/vertex/gemini-3.6-flash` | 1.0M | | | | | | $2 | $8 |
52
- | `edenai/vertex/gemini-3.6-flash@eu` | 1.0M | | | | | | $2 | $8 |
53
- | `edenai/xai/grok-4.5` | 500K | | | | | | $2 | $6 |
54
- | `edenai/zai/glm-5.2` | 1.0M | | | | | | $1 | $4 |
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | ---------------------------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `edenai/amazon/moonshot.kimi-k2-thinking` | 128K | | | | | | $0.60 | $3 |
40
+ | `edenai/amazon/moonshotai.kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
41
+ | `edenai/amazon/nvidia.nemotron-nano-9b-v2` | 128K | | | | | | $0.06 | $0.23 |
42
+ | `edenai/amazon/nvidia.nemotron-nano-9b-v2@us` | 128K | | | | | | $0.06 | $0.23 |
43
+ | `edenai/amazon/zai.glm-4.7-flash` | 200K | | | | | | $0.07 | $0.40 |
44
+ | `edenai/amazon/zai.glm-4.7-flash@us` | 200K | | | | | | $0.07 | $0.40 |
45
+ | `edenai/anthropic/claude-fable-5` | 1.0M | | | | | | $10 | $50 |
46
+ | `edenai/anthropic/claude-fable-latest` | 1.0M | | | | | | $10 | $50 |
47
+ | `edenai/anthropic/claude-opus-4-5` | 200K | | | | | | $5 | $25 |
48
+ | `edenai/anthropic/claude-opus-4-5-20251101` | 200K | | | | | | $5 | $25 |
49
+ | `edenai/anthropic/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
50
+ | `edenai/anthropic/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
51
+ | `edenai/anthropic/claude-opus-4-8` | 1.0M | | | | | | $5 | $25 |
52
+ | `edenai/anthropic/claude-opus-5` | 1.0M | | | | | | $5 | $25 |
53
+ | `edenai/anthropic/claude-opus-latest` | 1.0M | | | | | | $5 | $25 |
54
+ | `edenai/anthropic/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
55
+ | `edenai/anthropic/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
56
+ | `edenai/anthropic/claude-sonnet-latest` | 1.0M | | | | | | $2 | $10 |
57
+ | `edenai/azure/gpt-5.1-codex` | 272K | | | | | | $1 | $10 |
58
+ | `edenai/azure/gpt-5.1-codex-max` | 272K | | | | | | $1 | $10 |
59
+ | `edenai/azure/gpt-5.1-codex-mini` | 272K | | | | | | $0.25 | $2 |
60
+ | `edenai/azure/gpt-5.2-codex` | 272K | | | | | | $2 | $14 |
61
+ | `edenai/cerebras/gpt-oss-120b` | 131K | | | | | | $0.35 | $0.75 |
62
+ | `edenai/cloudflare/@cf/aisingapore/gemma-sea-lion-v4-27b-it` | 128K | | | | | | $0.35 | $0.56 |
63
+ | `edenai/cloudflare/@cf/meta/llama-guard-3-8b` | 131K | | | | | | $0.48 | $0.03 |
64
+ | `edenai/cloudflare/@cf/openai/gpt-oss-120b` | 128K | | | | | | $0.35 | $0.75 |
65
+ | `edenai/cloudflare/@cf/openai/gpt-oss-20b` | 128K | | | | | | $0.20 | $0.30 |
66
+ | `edenai/cloudflare/@cf/qwen/qwen2.5-coder-32b-instruct` | 33K | | | | | | $0.66 | $1 |
67
+ | `edenai/cloudflare/@cf/zai-org/glm-4.7-flash` | 131K | | | | | | $0.06 | $0.40 |
68
+ | `edenai/cohere/command-a-03-2025` | 288K | | | | | | $3 | $10 |
69
+ | `edenai/cohere/command-r-08-2024` | 128K | | | | | | $0.15 | $0.60 |
70
+ | `edenai/cohere/command-r-plus-08-2024` | 128K | | | | | | $3 | $10 |
71
+ | `edenai/cohere/command-r7b-12-2024` | 132K | | | | | | $0.04 | $0.15 |
72
+ | `edenai/databricks/databricks-gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
73
+ | `edenai/databricks/databricks-gpt-oss-20b` | 131K | | | | | | $0.07 | $0.30 |
74
+ | `edenai/deepinfra/ByteDance/Seed-2.0-code` | 256K | | | | | | $0.50 | $3 |
75
+ | `edenai/deepinfra/ByteDance/Seed-2.0-mini` | 256K | | | | | | $0.10 | $0.40 |
76
+ | `edenai/deepinfra/deepseek-ai/DeepSeek-R1` | 164K | | | | | | $0.70 | $2 |
77
+ | `edenai/deepinfra/deepseek-ai/DeepSeek-V3` | 164K | | | | | | $0.32 | $0.89 |
78
+ | `edenai/deepinfra/deepseek-ai/DeepSeek-V3-0324` | 164K | | | | | | $0.24 | $0.90 |
79
+ | `edenai/deepinfra/deepseek-ai/DeepSeek-V4-Flash-0731` | 1.0M | | | | | | $0.08 | $0.18 |
80
+ | `edenai/deepinfra/meta-llama/Llama-3.2-11B-Vision-Instruct` | 131K | | | | | | $0.34 | $0.34 |
81
+ | `edenai/deepinfra/meta-llama/Llama-3.3-70B-Instruct` | 131K | | | | | | $0.10 | $0.32 |
82
+ | `edenai/deepinfra/meta-llama/Llama-Guard-3-8B` | 131K | | | | | | $0.06 | $0.06 |
83
+ | `edenai/deepinfra/meta-models/Muse-Glimmer-30B` | 131K | | | | | | $0.30 | $1 |
84
+ | `edenai/deepinfra/moonshotai/Kimi-K2.5` | 262K | | | | | | $0.45 | $2 |
85
+ | `edenai/deepinfra/nemotron-3-ultra-550b-a55b` | 262K | | | | | | $0.50 | $2 |
86
+ | `edenai/deepinfra/nvidia/Llama-3.1-Nemotron-70B-Instruct` | 131K | | | | | | $0.60 | $0.60 |
87
+ | `edenai/deepinfra/nvidia/Nemotron-3-Nano-30B-A3B` | 262K | | | | | | $0.05 | $0.20 |
88
+ | `edenai/deepinfra/openai/gpt-oss-120b` | 131K | | | | | | $0.04 | $0.17 |
89
+ | `edenai/deepinfra/openai/gpt-oss-20b` | 131K | | | | | | $0.03 | $0.14 |
90
+ | `edenai/deepinfra/stepfun-ai/Step-3.5-Flash` | 262K | | | | | | $0.09 | $0.30 |
91
+ | `edenai/deepinfra/stepfun-ai/Step-3.7-Flash` | 262K | | | | | | $0.20 | $1 |
92
+ | `edenai/deepinfra/tencent/Hy3` | 262K | | | | | | $0.14 | $0.58 |
93
+ | `edenai/deepinfra/thinkingmachines/Inkling` | 524K | | | | | | $0.95 | $4 |
94
+ | `edenai/deepinfra/thinkingmachines/Inkling-Small` | 524K | | | | | | $0.45 | $1 |
95
+ | `edenai/deepinfra/zai-org/GLM-4.7-Flash` | 203K | | | | | | $0.06 | $0.40 |
96
+ | `edenai/deepseek/deepseek-chat` | 131K | | | | | | $0.28 | $0.42 |
97
+ | `edenai/deepseek/deepseek-reasoner` | 131K | | | | | | $0.28 | $0.42 |
98
+ | `edenai/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
99
+ | `edenai/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $0.43 | $0.87 |
100
+ | `edenai/fireworks_ai/accounts/fireworks/models/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
101
+ | `edenai/fireworks_ai/accounts/fireworks/models/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
102
+ | `edenai/fireworks_ai/accounts/fireworks/models/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
103
+ | `edenai/fireworks_ai/accounts/fireworks/models/gpt-oss-20b` | 131K | | | | | | $0.07 | $0.30 |
104
+ | `edenai/fireworks_ai/accounts/fireworks/models/muse-glimmer-30b` | 131K | | | | | | $0.35 | $2 |
105
+ | `edenai/fireworks_ai/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
106
+ | `edenai/fireworks_ai/gpt-oss-20b` | 131K | | | | | | $0.07 | $0.30 |
107
+ | `edenai/flexai/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.08 | $0.18 |
108
+ | `edenai/flexai/DeepSeek-V4-Flash-0731` | 1.0M | | | | | | $0.08 | $0.18 |
109
+ | `edenai/flexai/gpt-oss-120b` | 131K | | | | | | $0.04 | $0.10 |
110
+ | `edenai/flexai/gpt-oss-20b` | 131K | | | | | | $0.03 | $0.13 |
111
+ | `edenai/flexai/Muse-Glimmer-30B` | 131K | | | | | | $0.30 | $1 |
112
+ | `edenai/flexai/Nemotron-3-Super-120B-A12B` | 262K | | | | | | $0.09 | $0.40 |
113
+ | `edenai/google/gemini-2.5-flash-image` | 33K | | | | | | $0.30 | $3 |
114
+ | `edenai/google/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
115
+ | `edenai/google/gemini-3-pro-image` | 66K | | | | | | $2 | $12 |
116
+ | `edenai/google/gemini-3-pro-image-preview` | 66K | | | | | | $2 | $12 |
117
+ | `edenai/google/gemini-3.1-flash-image` | 66K | | | | | | $0.50 | $3 |
118
+ | `edenai/google/gemini-3.1-flash-image-preview` | 66K | | | | | | $0.50 | $3 |
119
+ | `edenai/google/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
120
+ | `edenai/google/gemini-3.1-flash-lite-image` | 66K | | | | | | $0.25 | $2 |
121
+ | `edenai/google/gemini-3.1-flash-lite-preview` | 1.0M | | | | | | $0.25 | $2 |
122
+ | `edenai/google/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
123
+ | `edenai/google/gemini-3.1-pro-preview-customtools` | 1.0M | | | | | | $2 | $12 |
124
+ | `edenai/google/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
125
+ | `edenai/google/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.30 | $3 |
126
+ | `edenai/google/gemini-3.6-flash` | 1.0M | | | | | | $0.75 | $4 |
127
+ | `edenai/google/gemini-3.7-flash` | 1.0M | | | | | | $0.75 | $4 |
128
+ | `edenai/google/gemini-flash-latest` | 1.0M | | | | | | $0.75 | $4 |
129
+ | `edenai/google/gemini-pro-latest` | 1.0M | | | | | | $2 | $12 |
130
+ | `edenai/google/lyria-3-clip-preview` | 1.0M | | | | | | — | — |
131
+ | `edenai/groq/openai/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
132
+ | `edenai/groq/openai/gpt-oss-20b` | 131K | | | | | | $0.07 | $0.30 |
133
+ | `edenai/ionos/meta-llama/Llama-3.3-70B-Instruct` | 128K | | | | | | $0.75 | $0.75 |
134
+ | `edenai/ionos/openai/gpt-oss-120b` | 131K | | | | | | $0.17 | $0.75 |
135
+ | `edenai/minimax/MiniMax-M2` | 205K | | | | | | $0.30 | $1 |
136
+ | `edenai/minimax/MiniMax-M2.1` | 205K | | | | | | $0.30 | $1 |
137
+ | `edenai/minimax/MiniMax-M2.5` | 205K | | | | | | $0.30 | $1 |
138
+ | `edenai/minimax/MiniMax-M2.7` | 205K | | | | | | $0.30 | $1 |
139
+ | `edenai/minimax/MiniMax-M3` | 524K | | | | | | $0.30 | $1 |
140
+ | `edenai/mistral/codestral-latest` | 256K | | | | | | $1 | $3 |
141
+ | `edenai/mistral/devstral-2512` | 262K | | | | | | $0.40 | $2 |
142
+ | `edenai/mistral/devstral-medium-latest` | 262K | | | | | | $0.40 | $2 |
143
+ | `edenai/mistral/magistral-medium-latest` | 131K | | | | | | $2 | $5 |
144
+ | `edenai/mistral/mistral-large-2512` | 262K | | | | | | $0.50 | $2 |
145
+ | `edenai/mistral/mistral-large-latest` | 262K | | | | | | $2 | $6 |
146
+ | `edenai/mistral/mistral-medium-2505` | 131K | | | | | | $0.40 | $2 |
147
+ | `edenai/mistral/mistral-medium-2604` | 262K | | | | | | $2 | $8 |
148
+ | `edenai/mistral/mistral-medium-latest` | 262K | | | | | | $2 | $8 |
149
+ | `edenai/mistral/mistral-small-2603` | 262K | | | | | | $0.15 | $0.60 |
150
+ | `edenai/mistral/mistral-small-latest` | 262K | | | | | | $0.06 | $0.18 |
151
+ | `edenai/moonshot/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
152
+ | `edenai/moonshot/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
153
+ | `edenai/moonshot/kimi-k3` | 1.0M | | | | | | $3 | $15 |
154
+ | `edenai/nebius/meta-llama/Llama-3.3-70B-Instruct` | 131K | | | | | | $0.13 | $0.40 |
155
+ | `edenai/nebius/nvidia/nemotron-3-super-120b-a12b` | 8K | | | | | | $0.30 | $0.90 |
156
+ | `edenai/nebius/nvidia/Nemotron-3-Ultra-550b-a55b` | 8K | | | | | | $1 | $3 |
157
+ | `edenai/nebius/openai/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
158
+ | `edenai/openai/gpt-3.5-turbo` | 16K | | | | | | $0.50 | $2 |
159
+ | `edenai/openai/gpt-4` | 8K | | | | | | $30 | $60 |
160
+ | `edenai/openai/gpt-4-turbo` | 128K | | | | | | $10 | $30 |
161
+ | `edenai/openai/gpt-4.1` | 1.0M | | | | | | $2 | $8 |
162
+ | `edenai/openai/gpt-4.1-mini` | 1.0M | | | | | | $0.40 | $2 |
163
+ | `edenai/openai/gpt-4.1-nano` | 1.0M | | | | | | $0.10 | $0.40 |
164
+ | `edenai/openai/gpt-4o` | 128K | | | | | | $3 | $10 |
165
+ | `edenai/openai/gpt-4o-2024-08-06` | 128K | | | | | | $3 | $10 |
166
+ | `edenai/openai/gpt-4o-2024-11-20` | 128K | | | | | | $3 | $10 |
167
+ | `edenai/openai/gpt-4o-mini` | 128K | | | | | | $0.15 | $0.60 |
168
+ | `edenai/openai/gpt-5` | 400K | | | | | | $1 | $10 |
169
+ | `edenai/openai/gpt-5-mini` | 400K | | | | | | $0.25 | $2 |
170
+ | `edenai/openai/gpt-5-nano` | 400K | | | | | | $0.05 | $0.40 |
171
+ | `edenai/openai/gpt-5-pro` | 400K | | | | | | $15 | $120 |
172
+ | `edenai/openai/gpt-5.1` | 400K | | | | | | $1 | $10 |
173
+ | `edenai/openai/gpt-5.2` | 400K | | | | | | $2 | $14 |
174
+ | `edenai/openai/gpt-5.2-pro` | 400K | | | | | | $21 | $168 |
175
+ | `edenai/openai/gpt-5.3-codex` | 400K | | | | | | $2 | $14 |
176
+ | `edenai/openai/gpt-5.4` | 1.1M | | | | | | $3 | $15 |
177
+ | `edenai/openai/gpt-5.4-mini` | 400K | | | | | | $0.75 | $5 |
178
+ | `edenai/openai/gpt-5.4-nano` | 400K | | | | | | $0.20 | $1 |
179
+ | `edenai/openai/gpt-5.4-pro` | 1.1M | | | | | | $30 | $180 |
180
+ | `edenai/openai/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
181
+ | `edenai/openai/gpt-5.5-pro` | 1.1M | | | | | | $30 | $180 |
182
+ | `edenai/openai/gpt-5.6-luna` | 1.1M | | | | | | $0.20 | $1 |
183
+ | `edenai/openai/gpt-5.6-sol` | 1.1M | | | | | | $5 | $30 |
184
+ | `edenai/openai/gpt-5.6-terra` | 1.1M | | | | | | $2 | $12 |
185
+ | `edenai/openai/gpt-latest` | 1.1M | | | | | | $5 | $30 |
186
+ | `edenai/openai/gpt-mini-latest` | 400K | | | | | | $0.75 | $5 |
187
+ | `edenai/openai/gpt-pro-latest` | 1.1M | | | | | | $30 | $180 |
188
+ | `edenai/openai/o1` | 200K | | | | | | $15 | $60 |
189
+ | `edenai/openai/o1-pro` | 200K | | | | | | $150 | $600 |
190
+ | `edenai/openai/o3` | 200K | | | | | | $2 | $8 |
191
+ | `edenai/openai/o3-mini` | 200K | | | | | | $1 | $4 |
192
+ | `edenai/openai/o3-pro` | 200K | | | | | | $20 | $80 |
193
+ | `edenai/openai/o4-mini` | 200K | | | | | | $1 | $4 |
194
+ | `edenai/ovhcloud/gpt-oss-120b` | 131K | | | | | | $0.09 | $0.47 |
195
+ | `edenai/ovhcloud/gpt-oss-20b` | 131K | | | | | | $0.05 | $0.18 |
196
+ | `edenai/perplexityai/sonar` | 127K | | | | | | $1 | $1 |
197
+ | `edenai/perplexityai/sonar-pro` | 200K | | | | | | $3 | $15 |
198
+ | `edenai/perplexityai/sonar-reasoning-pro` | 128K | | | | | | $2 | $8 |
199
+ | `edenai/qwen/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.20 | $0.40 |
200
+ | `edenai/qwen/qwen-max` | 33K | | | | | | $2 | $6 |
201
+ | `edenai/qwen/qwen-vl-max` | 131K | | | | | | $0.80 | $3 |
202
+ | `edenai/qwen/qwen-vl-plus` | 131K | | | | | | $0.21 | $0.63 |
203
+ | `edenai/qwen/qwen3-235b-a22b-instruct-2507` | 131K | | | | | | $0.23 | $0.92 |
204
+ | `edenai/qwen/qwen3-coder-30b-a3b-instruct` | 262K | | | | | | $0.45 | $2 |
205
+ | `edenai/qwen/qwen3-coder-480b-a35b-instruct` | 262K | | | | | | $2 | $8 |
206
+ | `edenai/qwen/qwen3-coder-flash` | 1.0M | | | | | | $0.30 | $2 |
207
+ | `edenai/qwen/qwen3-coder-next` | 262K | | | | | | $0.30 | $2 |
208
+ | `edenai/qwen/qwen3-coder-plus` | 1.0M | | | | | | $1 | $5 |
209
+ | `edenai/qwen/qwen3-max` | 262K | | | | | | $1 | $6 |
210
+ | `edenai/qwen/qwen3-next-80b-a3b-instruct` | 131K | | | | | | $0.15 | $1 |
211
+ | `edenai/qwen/qwen3-next-80b-a3b-thinking` | 131K | | | | | | $0.15 | $1 |
212
+ | `edenai/qwen/qwen3.8-max` | 1.0M | | | | | | $2 | $6 |
213
+ | `edenai/qwen/qwq-plus` | 131K | | | | | | $0.80 | $2 |
214
+ | `edenai/scaleway/deepseek-v4-flash-0731` | 256K | | | | | | $0.46 | $0.92 |
215
+ | `edenai/scaleway/gpt-oss-120b` | 128K | | | | | | $0.17 | $0.69 |
216
+ | `edenai/scaleway/llama-3.3-70b-instruct` | 128K | | | | | | $1 | $1 |
217
+ | `edenai/together_ai/deepseek-ai/DeepSeek-V4-Flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
218
+ | `edenai/together_ai/meta-models/Muse-Glimmer-30B` | 131K | | | | | | $0.35 | $2 |
219
+ | `edenai/together_ai/nvidia/nemotron-3-ultra-550b-a55b` | 512K | | | | | | $0.60 | $4 |
220
+ | `edenai/together_ai/openai/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
221
+ | `edenai/together_ai/openai/gpt-oss-20b` | 131K | | | | | | $0.05 | $0.20 |
222
+ | `edenai/together_ai/thinkingmachines/Inkling` | 524K | | | | | | $1 | $4 |
223
+ | `edenai/together_ai/thinkingmachines/Inkling-Small` | 524K | | | | | | $0.50 | $1 |
224
+ | `edenai/vertex/gemini-2.5-flash-image` | 33K | | | | | | $0.30 | $3 |
225
+ | `edenai/vertex/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
226
+ | `edenai/vertex/gemini-3-pro-image` | 66K | | | | | | $2 | $12 |
227
+ | `edenai/vertex/gemini-3.1-flash-image` | 131K | | | | | | $0.50 | $3 |
228
+ | `edenai/vertex/gemini-3.1-flash-lite-image` | 66K | | | | | | $0.25 | $2 |
229
+ | `edenai/vertex/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
230
+ | `edenai/vertex/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
231
+ | `edenai/vertex/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.30 | $3 |
232
+ | `edenai/vertex/gemini-3.5-flash-lite@eu` | 1.0M | | | | | | $0.30 | $3 |
233
+ | `edenai/vertex/gemini-3.5-flash-lite@us` | 1.0M | | | | | | $0.30 | $3 |
234
+ | `edenai/vertex/gemini-3.5-flash@eu` | 1.0M | | | | | | $2 | $9 |
235
+ | `edenai/vertex/gemini-3.5-flash@us` | 1.0M | | | | | | $2 | $9 |
236
+ | `edenai/vertex/gemini-3.6-flash` | 1.0M | | | | | | $0.75 | $4 |
237
+ | `edenai/vertex/gemini-3.6-flash@eu` | 1.0M | | | | | | $0.75 | $4 |
238
+ | `edenai/vertex/gemini-3.6-flash@us` | 1.0M | | | | | | $0.75 | $4 |
239
+ | `edenai/vertex/gemini-3.7-flash` | 1.0M | | | | | | $0.75 | $4 |
240
+ | `edenai/vertex/gemini-3.7-flash@eu` | 1.0M | | | | | | $0.75 | $4 |
241
+ | `edenai/vertex/gemini-3.7-flash@us` | 1.0M | | | | | | $0.75 | $4 |
242
+ | `edenai/vertex/gemini-flash-latest` | 1.0M | | | | | | $0.75 | $4 |
243
+ | `edenai/vertex/gemini-pro-latest` | 1.0M | | | | | | $2 | $12 |
244
+ | `edenai/xai/grok-4.20-0309-non-reasoning` | 1.0M | | | | | | $1 | $3 |
245
+ | `edenai/xai/grok-4.20-0309-reasoning` | 1.0M | | | | | | $1 | $3 |
246
+ | `edenai/xai/grok-4.3` | 1.0M | | | | | | $1 | $3 |
247
+ | `edenai/xai/grok-4.5` | 500K | | | | | | $2 | $6 |
248
+ | `edenai/xai/grok-4.6` | 500K | | | | | | $2 | $6 |
249
+ | `edenai/xai/grok-build-0.1` | 256K | | | | | | $1 | $2 |
250
+ | `edenai/xai/grok-latest` | 500K | | | | | | $2 | $6 |
251
+ | `edenai/zai/glm-4.6` | 203K | | | | | | $0.60 | $2 |
252
+ | `edenai/zai/glm-4.6v` | 131K | | | | | | $0.30 | $0.90 |
253
+ | `edenai/zai/glm-4.7` | 203K | | | | | | $0.60 | $2 |
254
+ | `edenai/zai/glm-5` | 203K | | | | | | $1 | $3 |
255
+ | `edenai/zai/glm-5-turbo` | 203K | | | | | | $1 | $4 |
256
+ | `edenai/zai/glm-5.1` | 203K | | | | | | $1 | $4 |
257
+ | `edenai/zai/glm-5.2` | 1.0M | | | | | | $1 | $4 |
258
+ | `edenai/zai/glm-5v-turbo` | 203K | | | | | | $1 | $4 |
55
259
 
56
260
  ## Advanced configuration
57
261
 
@@ -63,7 +267,7 @@ const agent = new Agent({
63
267
  name: "custom-agent",
64
268
  model: {
65
269
  url: "https://api.edenai.run/v3",
66
- id: "edenai/anthropic/claude-opus-5",
270
+ id: "edenai/amazon/moonshot.kimi-k2-thinking",
67
271
  apiKey: process.env.EDENAI_API_KEY,
68
272
  headers: {
69
273
  "X-Custom-Header": "value"
@@ -81,8 +285,8 @@ const agent = new Agent({
81
285
  model: ({ requestContext }) => {
82
286
  const useAdvanced = requestContext.task === "complex";
83
287
  return useAdvanced
84
- ? "edenai/zai/glm-5.2"
85
- : "edenai/anthropic/claude-opus-5";
288
+ ? "edenai/zai/glm-5v-turbo"
289
+ : "edenai/amazon/moonshot.kimi-k2-thinking";
86
290
  }
87
291
  });
88
292
  ```
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![EmpirioLabs AI logo](https://models.dev/logos/empiriolabs.svg)EmpirioLabs AI
4
4
 
5
- Access 43 EmpirioLabs AI models through Mastra's model router. Authentication is handled automatically using the `EMPIRIOLABS_API_KEY` environment variable.
5
+ Access 44 EmpirioLabs AI models through Mastra's model router. Authentication is handled automatically using the `EMPIRIOLABS_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [EmpirioLabs AI documentation](https://docs.empiriolabs.ai).
8
8
 
@@ -40,6 +40,7 @@ for await (const chunk of stream) {
40
40
  | `empiriolabs/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
41
41
  | `empiriolabs/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
42
42
  | `empiriolabs/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
43
+ | `empiriolabs/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
43
44
  | `empiriolabs/gemma-4-26b-a4b` | 262K | | | | | | $0.05 | $0.29 |
44
45
  | `empiriolabs/glm-4-5-flash` | 200K | | | | | | — | — |
45
46
  | `empiriolabs/glm-4-7-flash` | 200K | | | | | | — | — |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Charm Hyper logo](https://models.dev/logos/hyper.svg)Charm Hyper
4
4
 
5
- Access 24 Charm Hyper models through Mastra's model router. Authentication is handled automatically using the `HYPER_API_KEY` environment variable.
5
+ Access 25 Charm Hyper models through Mastra's model router. Authentication is handled automatically using the `HYPER_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Charm Hyper documentation](https://hyper.charm.land).
8
8
 
@@ -39,6 +39,7 @@ for await (const chunk of stream) {
39
39
  | `hyper/deepseek-v4-flash` | 1.0M | | | | | | $0.20 | $0.40 |
40
40
  | `hyper/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.20 | $0.40 |
41
41
  | `hyper/deepseek-v4-pro` | 1.0M | | | | | | $2 | $5 |
42
+ | `hyper/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
42
43
  | `hyper/gemma-4-26b-a4b-it` | 256K | | | | | | $0.12 | $0.42 |
43
44
  | `hyper/glm-5.1` | 203K | | | | | | $2 | $5 |
44
45
  | `hyper/glm-5.2` | 1.0M | | | | | | $1 | $4 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Kilo Gateway logo](https://models.dev/logos/kilo.svg)Kilo Gateway
4
4
 
5
- Access 357 Kilo Gateway models through Mastra's model router. Authentication is handled automatically using the `KILO_API_KEY` environment variable.
5
+ Access 359 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
 
@@ -40,7 +40,7 @@ for await (const chunk of stream) {
40
40
  | `kilo/~anthropic/claude-haiku-latest` | 200K | | | | | | $1 | $5 |
41
41
  | `kilo/~anthropic/claude-opus-latest` | 1.0M | | | | | | $5 | $25 |
42
42
  | `kilo/~anthropic/claude-sonnet-latest` | 1.0M | | | | | | $2 | $10 |
43
- | `kilo/~deepseek/deepseek-v4-flash-latest` | 1.0M | | | | | | $0.08 | $0.16 |
43
+ | `kilo/~deepseek/deepseek-v4-flash-latest` | 1.0M | | | | | | $0.07 | $0.14 |
44
44
  | `kilo/~google/gemini-flash-latest` | 1.0M | | | | | | $0.38 | $2 |
45
45
  | `kilo/~google/gemini-pro-latest` | 1.0M | | | | | | $2 | $12 |
46
46
  | `kilo/~moonshotai/kimi-latest` | 1.0M | | | | | | $3 | $14 |
@@ -108,6 +108,7 @@ for await (const chunk of stream) {
108
108
  | `kilo/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
109
109
  | `kilo/deepseek/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
110
110
  | `kilo/deepseek/deepseek-v4-pro:discounted` | 1.0M | | | | | | $0.43 | $0.87 |
111
+ | `kilo/dots-studio/dots-3-note-preview:free` | 512K | | | | | | — | — |
111
112
  | `kilo/google/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
112
113
  | `kilo/google/gemini-2.5-flash-image` | 33K | | | | | | $0.30 | $3 |
113
114
  | `kilo/google/gemini-2.5-flash-lite` | 1.0M | | | | | | $0.10 | $0.40 |
@@ -161,7 +162,7 @@ for await (const chunk of stream) {
161
162
  | `kilo/meta-llama/llama-3.2-1b-instruct` | 60K | | | | | | $0.03 | $0.20 |
162
163
  | `kilo/meta-llama/llama-3.2-3b-instruct` | 131K | | | | | | $0.05 | $0.33 |
163
164
  | `kilo/meta-llama/llama-3.3-70b-instruct` | 131K | | | | | | $0.10 | $0.32 |
164
- | `kilo/meta-llama/llama-4-maverick` | 128K | | | | | | $0.20 | $0.70 |
165
+ | `kilo/meta-llama/llama-4-maverick` | 1.0M | | | | | | $0.20 | $0.70 |
165
166
  | `kilo/meta-llama/llama-4-scout` | 328K | | | | | | $0.10 | $0.30 |
166
167
  | `kilo/meta-llama/llama-guard-4-12b` | 164K | | | | | | $0.18 | $0.18 |
167
168
  | `kilo/meta/muse-glimmer-30b` | 131K | | | | | | $0.30 | $1 |
@@ -340,6 +341,7 @@ for await (const chunk of stream) {
340
341
  | `kilo/qwen/qwen3.7-max` | 1.0M | | | | | | $1 | $4 |
341
342
  | `kilo/qwen/qwen3.7-plus` | 1.0M | | | | | | $0.32 | $1 |
342
343
  | `kilo/qwen/qwen3.8-2.4t-a95b` | 1.0M | | | | | | $2 | $6 |
344
+ | `kilo/qwen/qwen3.8-27b` | 262K | | | | | | $0.45 | $3 |
343
345
  | `kilo/qwen/qwen3.8-max` | 1.0M | | | | | | $2 | $6 |
344
346
  | `kilo/rekaai/reka-edge` | 16K | | | | | | $0.10 | $0.10 |
345
347
  | `kilo/rekaai/reka-flash-3` | 66K | | | | | | $0.10 | $0.20 |
@@ -380,17 +382,17 @@ for await (const chunk of stream) {
380
382
  | `kilo/x-ai/grok-4.6` | 500K | | | | | | $2 | $6 |
381
383
  | `kilo/x-ai/grok-build-0.1` | 256K | | | | | | $1 | $2 |
382
384
  | `kilo/xiaomi/mimo-v2.5` | 1.0M | | | | | | $0.14 | $0.28 |
383
- | `kilo/xiaomi/mimo-v2.5-pro` | 1.0M | | | | | | $0.40 | $2 |
385
+ | `kilo/xiaomi/mimo-v2.5-pro` | 1.0M | | | | | | $0.43 | $0.87 |
384
386
  | `kilo/z-ai/glm-4.5` | 131K | | | | | | $0.60 | $2 |
385
387
  | `kilo/z-ai/glm-4.5-air` | 131K | | | | | | $0.13 | $0.85 |
386
388
  | `kilo/z-ai/glm-4.5v` | 66K | | | | | | $0.60 | $2 |
387
- | `kilo/z-ai/glm-4.6` | 203K | | | | | | $0.50 | $2 |
389
+ | `kilo/z-ai/glm-4.6` | 205K | | | | | | $0.55 | $2 |
388
390
  | `kilo/z-ai/glm-4.6v` | 131K | | | | | | $0.30 | $0.90 |
389
391
  | `kilo/z-ai/glm-4.7` | 203K | | | | | | $0.40 | $2 |
390
392
  | `kilo/z-ai/glm-4.7-flash` | 203K | | | | | | $0.06 | $0.40 |
391
- | `kilo/z-ai/glm-5` | 205K | | | | | | $0.95 | $3 |
393
+ | `kilo/z-ai/glm-5` | 198K | | | | | | $0.60 | $2 |
392
394
  | `kilo/z-ai/glm-5-turbo` | 203K | | | | | | $1 | $4 |
393
- | `kilo/z-ai/glm-5.1` | 203K | | | | | | $1 | $4 |
395
+ | `kilo/z-ai/glm-5.1` | 200K | | | | | | $1 | $4 |
394
396
  | `kilo/z-ai/glm-5.2` | 1.0M | | | | | | $1 | $4 |
395
397
  | `kilo/z-ai/glm-5v-turbo` | 203K | | | | | | $1 | $4 |
396
398
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![NanoGPT logo](https://models.dev/logos/nano-gpt.svg)NanoGPT
4
4
 
5
- Access 596 NanoGPT models through Mastra's model router. Authentication is handled automatically using the `NANO_GPT_API_KEY` environment variable.
5
+ Access 597 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
 
@@ -144,20 +144,20 @@ for await (const chunk of stream) {
144
144
  | `nano-gpt/deepseek-reasoner` | 64K | | | | | | $0.40 | $2 |
145
145
  | `nano-gpt/deepseek-reasoner-cheaper` | 128K | | | | | | $0.40 | $2 |
146
146
  | `nano-gpt/deepseek-v3-0324` | 128K | | | | | | $0.20 | $0.77 |
147
- | `nano-gpt/deepseek/deepseek-latest` | 1.0M | | | | | | $1 | $4 |
147
+ | `nano-gpt/deepseek/deepseek-latest` | 1.0M | | | | | | $1 | $3 |
148
148
  | `nano-gpt/deepseek/deepseek-prover-v2-671b` | 160K | | | | | | $1 | $3 |
149
149
  | `nano-gpt/deepseek/deepseek-v3.2` | 163K | | | | | | $0.28 | $0.42 |
150
150
  | `nano-gpt/deepseek/deepseek-v3.2:thinking` | 163K | | | | | | $0.28 | $0.42 |
151
- | `nano-gpt/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.07 | $0.14 |
151
+ | `nano-gpt/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
152
152
  | `nano-gpt/deepseek/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
153
153
  | `nano-gpt/deepseek/deepseek-v4-flash-0731-cheaper` | 1.0M | | | | | | $0.14 | $0.28 |
154
154
  | `nano-gpt/deepseek/deepseek-v4-flash-0731-cheaper:thinking` | 1.0M | | | | | | $0.14 | $0.28 |
155
155
  | `nano-gpt/deepseek/deepseek-v4-flash-0731:thinking` | 1.0M | | | | | | $0.14 | $0.28 |
156
156
  | `nano-gpt/deepseek/deepseek-v4-flash-latest` | 1.0M | | | | | | $0.14 | $0.28 |
157
- | `nano-gpt/deepseek/deepseek-v4-flash:thinking` | 1.0M | | | | | | $0.07 | $0.14 |
157
+ | `nano-gpt/deepseek/deepseek-v4-flash:thinking` | 1.0M | | | | | | $0.14 | $0.28 |
158
158
  | `nano-gpt/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $1 | $2 |
159
- | `nano-gpt/deepseek/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
160
- | `nano-gpt/deepseek/deepseek-v4-pro-0813:thinking` | 1.0M | | | | | | $1 | $4 |
159
+ | `nano-gpt/deepseek/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $3 |
160
+ | `nano-gpt/deepseek/deepseek-v4-pro-0813:thinking` | 1.0M | | | | | | $1 | $3 |
161
161
  | `nano-gpt/deepseek/deepseek-v4-pro-cheaper` | 1.0M | | | | | | $0.43 | $0.87 |
162
162
  | `nano-gpt/deepseek/deepseek-v4-pro-cheaper:thinking` | 1.0M | | | | | | $0.43 | $0.87 |
163
163
  | `nano-gpt/deepseek/deepseek-v4-pro:thinking` | 1.0M | | | | | | $1 | $2 |
@@ -542,6 +542,7 @@ for await (const chunk of stream) {
542
542
  | `nano-gpt/TEE/gpt-oss-120b` | 131K | | | | | | $2 | $2 |
543
543
  | `nano-gpt/TEE/gpt-oss-20b` | 131K | | | | | | $0.20 | $0.80 |
544
544
  | `nano-gpt/TEE/kimi-k2.6` | 262K | | | | | | $2 | $5 |
545
+ | `nano-gpt/TEE/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
545
546
  | `nano-gpt/TEE/kimi-k3` | 1.0M | | | | | | $3 | $15 |
546
547
  | `nano-gpt/TEE/llama3-3-70b` | 128K | | | | | | $2 | $3 |
547
548
  | `nano-gpt/TEE/muse-glimmer-30b` | 131K | | | | | | $0.35 | $2 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Nvidia logo](https://models.dev/logos/nvidia.svg)Nvidia
4
4
 
5
- Access 99 Nvidia models through Mastra's model router. Authentication is handled automatically using the `NVIDIA_API_KEY` environment variable.
5
+ Access 100 Nvidia models through Mastra's model router. Authentication is handled automatically using the `NVIDIA_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Nvidia documentation](https://docs.api.nvidia.com/nim/).
8
8
 
@@ -63,6 +63,7 @@ for await (const chunk of stream) {
63
63
  | `nvidia/meta/llama-3.3-70b-instruct` | 128K | | | | | | — | — |
64
64
  | `nvidia/meta/llama-4-maverick-17b-128e-instruct` | 128K | | | | | | — | — |
65
65
  | `nvidia/meta/llama-guard-4-12b` | 128K | | | | | | — | — |
66
+ | `nvidia/meta/muse-glimmer-30b` | 131K | | | | | | — | — |
66
67
  | `nvidia/microsoft/phi-4-mini-instruct` | 131K | | | | | | — | — |
67
68
  | `nvidia/microsoft/phi-4-multimodal-instruct` | 128K | | | | | | — | — |
68
69
  | `nvidia/minimaxai/minimax-m2.7` | 205K | | | | | | — | — |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Perplexity Agent logo](https://models.dev/logos/perplexity-agent.svg)Perplexity Agent
4
4
 
5
- Access 20 Perplexity Agent models through Mastra's model router. Authentication is handled automatically using the `PERPLEXITY_API_KEY` environment variable.
5
+ Access 22 Perplexity Agent models through Mastra's model router. Authentication is handled automatically using the `PERPLEXITY_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Perplexity Agent documentation](https://docs.perplexity.ai/docs/agent-api/models).
8
8
 
@@ -42,6 +42,7 @@ for await (const chunk of stream) {
42
42
  | `perplexity-agent/anthropic/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
43
43
  | `perplexity-agent/anthropic/claude-sonnet-4-5` | 200K | | | | | | $3 | $15 |
44
44
  | `perplexity-agent/anthropic/claude-sonnet-4-6` | 200K | | | | | | $3 | $15 |
45
+ | `perplexity-agent/deepseek/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.13 | $0.26 |
45
46
  | `perplexity-agent/google/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
46
47
  | `perplexity-agent/google/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
47
48
  | `perplexity-agent/google/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
@@ -56,6 +57,7 @@ for await (const chunk of stream) {
56
57
  | `perplexity-agent/openai/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
57
58
  | `perplexity-agent/perplexity/sonar` | 128K | | | | | | $0.25 | $3 |
58
59
  | `perplexity-agent/xai/grok-4-1-fast-non-reasoning` | 2.0M | | | | | | $0.20 | $0.50 |
60
+ | `perplexity-agent/xai/grok-4.6` | 500K | | | | | | $2 | $6 |
59
61
 
60
62
  ## Advanced configuration
61
63
 
@@ -85,7 +87,7 @@ const agent = new Agent({
85
87
  model: ({ requestContext }) => {
86
88
  const useAdvanced = requestContext.task === "complex";
87
89
  return useAdvanced
88
- ? "perplexity-agent/xai/grok-4-1-fast-non-reasoning"
90
+ ? "perplexity-agent/xai/grok-4.6"
89
91
  : "perplexity-agent/anthropic/claude-haiku-4-5";
90
92
  }
91
93
  });
@@ -0,0 +1,35 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # ![QVAC logo](https://models.dev/logos/qvac.svg)QVAC
4
+
5
+ QVAC is available through the AI SDK. Install the provider package to use their models with Mastra.
6
+
7
+ For detailed provider-specific documentation, see the [AI SDK QVAC provider docs](https://ai-sdk.dev/providers/community-providers/qvac).
8
+
9
+ To use this provider with Mastra agents, see the [Agent Overview documentation](https://mastra.ai/docs/agents/overview).
10
+
11
+ ## Installation
12
+
13
+ **npm**:
14
+
15
+ ```bash
16
+ npm install @qvac/ai-sdk-provider
17
+ ```
18
+
19
+ **pnpm**:
20
+
21
+ ```bash
22
+ pnpm add @qvac/ai-sdk-provider
23
+ ```
24
+
25
+ **Yarn**:
26
+
27
+ ```bash
28
+ yarn add @qvac/ai-sdk-provider
29
+ ```
30
+
31
+ **Bun**:
32
+
33
+ ```bash
34
+ bun add @qvac/ai-sdk-provider
35
+ ```
@@ -18,6 +18,7 @@ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
18
18
  const item = await dataset.addItem({
19
19
  input: { question: 'What is TypeScript?' },
20
20
  groundTruth: { answer: 'A typed superset of JavaScript' },
21
+ scorerIds: ['accuracy', 'relevancy'],
21
22
  metadata: { source: 'manual' },
22
23
  })
23
24
 
@@ -30,6 +31,8 @@ console.log(item.id)
30
31
 
31
32
  **groundTruth** (`unknown`): Expected output or ground truth for scoring.
32
33
 
34
+ **scorerIds** (`string[]`): Scorer IDs that override dataset-attached scorers for this item. An empty array runs no scorers for the item. Omit this field to inherit the dataset scorer IDs.
35
+
33
36
  **metadata** (`Record<string, unknown>`): Arbitrary metadata for the item.
34
37
 
35
38
  ## Returns
@@ -46,6 +49,8 @@ console.log(item.id)
46
49
 
47
50
  **result.groundTruth** (`unknown`): Ground truth data.
48
51
 
52
+ **result.scorerIds** (`string[]`): Scorer IDs selected for this item. An empty array is an explicit override that runs no scorers.
53
+
49
54
  **result.metadata** (`Record<string, unknown>`): Item metadata.
50
55
 
51
56
  **result.createdAt** (`Date`): When the item was created.
@@ -17,8 +17,16 @@ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
17
17
 
18
18
  const items = await dataset.addItems({
19
19
  items: [
20
- { input: { question: 'What is AI?' }, groundTruth: { answer: 'Artificial Intelligence' } },
21
- { input: { question: 'What is ML?' }, groundTruth: { answer: 'Machine Learning' } },
20
+ {
21
+ input: { question: 'What is AI?' },
22
+ groundTruth: { answer: 'Artificial Intelligence' },
23
+ scorerIds: ['accuracy'],
24
+ },
25
+ {
26
+ input: { question: 'What is ML?' },
27
+ groundTruth: { answer: 'Machine Learning' },
28
+ scorerIds: [],
29
+ },
22
30
  { input: { question: 'What is DL?' }, metadata: { category: 'deep-learning' } },
23
31
  ],
24
32
  })
@@ -34,6 +42,8 @@ console.log(`Added ${items.length} items`)
34
42
 
35
43
  **items.groundTruth** (`unknown`): Expected output or ground truth.
36
44
 
45
+ **items.scorerIds** (`string[]`): Scorer IDs that override dataset-attached scorers for this item. An empty array runs no scorers for the item.
46
+
37
47
  **items.metadata** (`Record<string, unknown>`): Arbitrary metadata.
38
48
 
39
49
  ## Returns
@@ -59,7 +59,7 @@ console.log(`Status: ${summary2.status}`)
59
59
 
60
60
  **targetId** (`string`): ID of the registered target. Use with targetType.
61
61
 
62
- **scorers** (`(MastraScorer | string)[] | AgentScorerConfig | WorkflowScorerConfig`): Scorers to evaluate each result. Accepts a flat array of MastraScorer instances or registered scorer IDs, or the same categorised config shape used by runEvals (AgentScorerConfig / WorkflowScorerConfig). Trajectory scorers (type: "trajectory") automatically receive a pre-extracted Trajectory as their output regardless of which form is used. For workflow targets, per-step scorers can be passed via scorers: { steps: { stepId: \[...] } } and run against each step's output; their results carry the originating stepId and keep targetScope: "span" (matching runEvals).
62
+ **scorers** (`(MastraScorer | string)[] | AgentScorerConfig | WorkflowScorerConfig`): Scorers to evaluate each result. Accepts a flat array of MastraScorer instances or registered scorer IDs, or the same categorised config shape used by runEvals (AgentScorerConfig / WorkflowScorerConfig). When this option is provided, including as \[] or an empty categorized config, it overrides item-level and dataset-level scorer IDs for every item. When omitted, each item uses its own scorerIds when present, then falls back to the dataset scorer IDs. Sources aren't merged. Trajectory scorers (type: "trajectory") automatically receive a pre-extracted Trajectory as their output regardless of which form is used. Workflow step scorers are supported only through this run-level categorized configuration. Their results carry the originating stepId and keep targetScope: "span" (matching runEvals).
63
63
 
64
64
  **name** (`string`): Display name for the experiment.
65
65
 
@@ -19,6 +19,7 @@ const updated = await dataset.updateItem({
19
19
  itemId: 'item-id',
20
20
  input: { question: 'What is TypeScript?' },
21
21
  groundTruth: { answer: 'A typed superset of JavaScript' },
22
+ scorerIds: null,
22
23
  metadata: { reviewed: true },
23
24
  })
24
25
  ```
@@ -31,6 +32,8 @@ const updated = await dataset.updateItem({
31
32
 
32
33
  **groundTruth** (`unknown`): Updated ground truth.
33
34
 
35
+ **scorerIds** (`string[] | null`): Scorer IDs that override dataset-attached scorers for this item. Use \[] to run no scorers, null to remove the override and restore dataset inheritance, or omit the field to preserve the current value.
36
+
34
37
  **metadata** (`Record<string, unknown>`): Updated metadata.
35
38
 
36
39
  ## Returns
@@ -57,6 +57,8 @@ OM performs thresholding with fast local token estimation. Text uses `tokenx`, a
57
57
 
58
58
  **observation.instruction** (`string`): Custom instruction appended to the Observer's system prompt. Use this to customize what the Observer focuses on, such as domain-specific preferences or priorities.
59
59
 
60
+ **observation.continuationHints** (`boolean | { currentTask?: boolean; suggestedResponse?: boolean }`): Which continuation-hint sections the Observer emits. Pass false to disable both, or an object to disable them individually. Agents that drive their own control flow generally want { suggestedResponse: false } so memory does not compete for what the agent says next. A previously stored hint stops being injected into context once both observation and reflection disable its section.
61
+
60
62
  **observation.threadTitle** (`boolean`): When true, the Observer suggests short thread titles and updates the thread title when the conversation topic meaningfully changes. This is opt-in and defaults to disabled.
61
63
 
62
64
  **observation.extract** (`Extractor[]`): Custom values to extract after observation. Schema-less extractors are requested inline in the Observer output. Schema-backed extractors run as a follow-up structured output call and are stored in thread OM metadata.
@@ -97,6 +99,8 @@ OM performs thresholding with fast local token estimation. Text uses `tokenx`, a
97
99
 
98
100
  **reflection.instruction** (`string`): Custom instruction appended to the Reflector's system prompt. Use this to customize how the Reflector consolidates observations, such as prioritizing certain types of information.
99
101
 
102
+ **reflection.continuationHints** (`boolean | { currentTask?: boolean; suggestedResponse?: boolean }`): Which continuation-hint sections the Reflector emits. Pass false to disable both, or an object to disable them individually. A previously stored hint stops being injected into context once both observation and reflection disable its section.
103
+
100
104
  **reflection.extract** (`Extractor[]`): Custom values to extract after reflection. Schema-less extractors are requested inline in the Reflector output. Schema-backed extractors run as a follow-up structured output call and are stored in thread OM metadata.
101
105
 
102
106
  **reflection.observationTokens** (`number`): Token count of observations that triggers reflection. When observation tokens exceed this threshold, the Reflector agent is called to condense them.
@@ -223,17 +223,23 @@ Retrieves all tools from all configured servers, with tool names namespaced by t
223
223
  new Agent({ id: 'agent', tools: await mcp.listTools() })
224
224
  ```
225
225
 
226
- ### `listToolsWithErrors()`
226
+ ### `listToolsWithErrors(options?)`
227
227
 
228
228
  Retrieves all tools from all configured servers, with tool names namespaced by their server name. Also returns per-server errors for servers that failed to connect or list tools.
229
229
 
230
+ Set `perServerTimeoutMs` to limit how long discovery waits for each server. Servers that finish within the limit remain in `tools`. Timed-out servers appear in `errors`, and `durations` reports each server's discovery time in milliseconds.
231
+
230
232
  ```typescript
231
- const { tools, errors } = await mcp.listToolsWithErrors()
233
+ const { tools, errors, durations } = await mcp.listToolsWithErrors({
234
+ perServerTimeoutMs: 3_000,
235
+ })
232
236
 
233
237
  new Agent({ id: 'agent', tools })
234
- console.log(errors)
238
+ console.log(errors, durations)
235
239
  ```
236
240
 
241
+ When called without options, the method returns only `tools` and `errors`.
242
+
237
243
  ### `listToolsets()`
238
244
 
239
245
  Returns an object mapping namespaced tool names (in the format `serverName.toolName`) to their tool implementations. Intended to be passed at runtime into the generate or stream method.
@@ -244,6 +250,21 @@ const res = await agent.stream(prompt, {
244
250
  })
245
251
  ```
246
252
 
253
+ ### `listToolsetsWithErrors(options?)`
254
+
255
+ Returns toolsets grouped by server name, along with per-server discovery errors. Set `perServerTimeoutMs` to limit each server independently and include per-server `durations` in milliseconds.
256
+
257
+ ```typescript
258
+ const { toolsets, errors, durations } = await mcp.listToolsetsWithErrors({
259
+ perServerTimeoutMs: 3_000,
260
+ })
261
+
262
+ const res = await agent.stream(prompt, { toolsets })
263
+ console.log(errors, durations)
264
+ ```
265
+
266
+ When called without options, the method returns only `toolsets` and `errors`.
267
+
247
268
  ### `listToolDefinitions()`
248
269
 
249
270
  Returns every server's tools as plain, serializable definitions, grouped by server name and keyed by the server's own tool name (without the `serverName_toolName` namespacing that `listTools()` applies).
@@ -256,18 +277,26 @@ const definitions = await mcp.listToolDefinitions()
256
277
  await cache.set('mcp-tools', JSON.stringify(definitions))
257
278
  ```
258
279
 
259
- ### `listToolDefinitionsWithErrors()`
280
+ ### `listToolDefinitionsWithErrors(options?)`
260
281
 
261
282
  Like `listToolDefinitions()`, but also returns per-server errors for servers that failed to connect. Use this when caching a catalog, so you don't persist a partial manifest that omits a server that was down at discovery time.
262
283
 
284
+ Set `perServerTimeoutMs` to limit each server independently. When options are provided, `durations` reports each server's discovery time in milliseconds.
285
+
263
286
  ```typescript
264
- const { definitions, errors } = await mcp.listToolDefinitionsWithErrors()
287
+ const { definitions, errors, durations } = await mcp.listToolDefinitionsWithErrors({
288
+ perServerTimeoutMs: 3_000,
289
+ })
265
290
 
266
291
  if (Object.keys(errors).length === 0) {
267
292
  await cache.set('mcp-tools', JSON.stringify(definitions))
268
293
  }
294
+
295
+ console.log(durations)
269
296
  ```
270
297
 
298
+ When called without options, the method returns only `definitions` and `errors`.
299
+
271
300
  ### `toolFromDefinition()`
272
301
 
273
302
  Rebuilds a single executable tool from a cached definition. No connection is opened here. The client connects lazily, the first time the tool is executed.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @mastra/mcp-docs-server
2
2
 
3
+ ## 1.2.17-alpha.8
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`74e5bd3`](https://github.com/mastra-ai/mastra/commit/74e5bd315b8b3a1e04cb6cf480bb0f5fc4951dc8)]:
8
+ - @mastra/core@1.60.0-alpha.5
9
+
10
+ ## 1.2.17-alpha.6
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [[`d7e6745`](https://github.com/mastra-ai/mastra/commit/d7e67456954863c55440ea9c49bc6ceb9949972d), [`9acb50f`](https://github.com/mastra-ai/mastra/commit/9acb50f71cec9c362f06820033f90ae6b1f8282f), [`46e9e3f`](https://github.com/mastra-ai/mastra/commit/46e9e3f73babe1bc70080a596cf2ac0b9da48519), [`3f9a190`](https://github.com/mastra-ai/mastra/commit/3f9a19057c027155867b9317294ee4ca7bd0581a), [`e8808e3`](https://github.com/mastra-ai/mastra/commit/e8808e3d8eb585a2565be53e56a7e0e1477352a4), [`d4be8c1`](https://github.com/mastra-ai/mastra/commit/d4be8c1739d22d621e3f78790e1dd5eb5ecc3589), [`a5d2eb1`](https://github.com/mastra-ai/mastra/commit/a5d2eb10347eade1ae2816d88f466c25186c54a5), [`13d49d8`](https://github.com/mastra-ai/mastra/commit/13d49d82f434f319d4bd9a4234369d8186f8e102), [`e81744c`](https://github.com/mastra-ai/mastra/commit/e81744cd13c46619c142dc521dc0baac47607a84)]:
15
+ - @mastra/core@1.60.0-alpha.4
16
+ - @mastra/mcp@1.17.0-alpha.0
17
+
3
18
  ## 1.2.17-alpha.5
4
19
 
5
20
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/mcp-docs-server",
3
- "version": "1.2.17-alpha.5",
3
+ "version": "1.2.17-alpha.9",
4
4
  "description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -28,8 +28,8 @@
28
28
  "jsdom": "^26.1.0",
29
29
  "local-pkg": "^1.1.2",
30
30
  "zod": "^4.4.3",
31
- "@mastra/core": "1.60.0-alpha.3",
32
- "@mastra/mcp": "^1.16.0"
31
+ "@mastra/mcp": "^1.17.0-alpha.0",
32
+ "@mastra/core": "1.60.0-alpha.5"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@hono/node-server": "^2.0.0",
@@ -46,8 +46,8 @@
46
46
  "typescript": "^6.0.3",
47
47
  "vitest": "4.1.10",
48
48
  "@internal/lint": "0.0.123",
49
- "@internal/types-builder": "0.0.98",
50
- "@mastra/core": "1.60.0-alpha.3"
49
+ "@mastra/core": "1.60.0-alpha.5",
50
+ "@internal/types-builder": "0.0.98"
51
51
  },
52
52
  "homepage": "https://mastra.ai",
53
53
  "repository": {