@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.
- package/.docs/docs/datasets/running-experiments.md +46 -0
- package/.docs/models/gateways/openrouter.md +3 -1
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/cloudflare-workers-ai.md +3 -1
- package/.docs/models/providers/deepinfra.md +3 -1
- package/.docs/models/providers/edenai.md +227 -23
- package/.docs/models/providers/empiriolabs.md +2 -1
- package/.docs/models/providers/hyper.md +2 -1
- package/.docs/models/providers/kilo.md +9 -7
- package/.docs/models/providers/nano-gpt.md +7 -6
- package/.docs/models/providers/nvidia.md +2 -1
- package/.docs/models/providers/perplexity-agent.md +4 -2
- package/.docs/models/providers/qvac.md +35 -0
- package/.docs/reference/datasets/addItem.md +5 -0
- package/.docs/reference/datasets/addItems.md +12 -2
- package/.docs/reference/datasets/startExperiment.md +1 -1
- package/.docs/reference/datasets/updateItem.md +3 -0
- package/.docs/reference/memory/observational-memory.md +4 -0
- package/.docs/reference/tools/mcp-client.md +34 -5
- package/CHANGELOG.md +15 -0
- package/package.json +5 -5
|
@@ -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
|
|
4
4
|
|
|
5
|
-
OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access
|
|
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` |
|
package/.docs/models/index.md
CHANGED
|
@@ -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
|
|
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
|
|
4
4
|
|
|
5
|
-
Access
|
|
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
|
|
4
4
|
|
|
5
|
-
Access
|
|
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
|
|
4
4
|
|
|
5
|
-
Access
|
|
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/
|
|
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
|
|
38
|
-
|
|
|
39
|
-
| `edenai/
|
|
40
|
-
| `edenai/
|
|
41
|
-
| `edenai/
|
|
42
|
-
| `edenai/
|
|
43
|
-
| `edenai/
|
|
44
|
-
| `edenai/
|
|
45
|
-
| `edenai/
|
|
46
|
-
| `edenai/
|
|
47
|
-
| `edenai/
|
|
48
|
-
| `edenai/
|
|
49
|
-
| `edenai/
|
|
50
|
-
| `edenai/
|
|
51
|
-
| `edenai/
|
|
52
|
-
| `edenai/
|
|
53
|
-
| `edenai/
|
|
54
|
-
| `edenai/
|
|
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/
|
|
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-
|
|
85
|
-
: "edenai/
|
|
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
|
|
4
4
|
|
|
5
|
-
Access
|
|
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
|
|
4
4
|
|
|
5
|
-
Access
|
|
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
|
|
4
4
|
|
|
5
|
-
Access
|
|
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.
|
|
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` |
|
|
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.
|
|
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` |
|
|
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` |
|
|
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` |
|
|
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
|
|
4
4
|
|
|
5
|
-
Access
|
|
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 | $
|
|
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.
|
|
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.
|
|
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 | $
|
|
160
|
-
| `nano-gpt/deepseek/deepseek-v4-pro-0813:thinking` | 1.0M | | | | | | $1 | $
|
|
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
|
|
4
4
|
|
|
5
|
-
Access
|
|
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
|
|
4
4
|
|
|
5
|
-
Access
|
|
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
|
|
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
|
|
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
|
-
{
|
|
21
|
-
|
|
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.
|
|
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.
|
|
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/
|
|
32
|
-
"@mastra/
|
|
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
|
-
"@
|
|
50
|
-
"@
|
|
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": {
|