@mastra/mcp-docs-server 1.2.17-alpha.4 → 1.2.17-alpha.7

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.
@@ -391,6 +391,8 @@ const agent = new Agent({
391
391
 
392
392
  When enabled, the agent detects suspended tools from message history on the next user message. It extracts `resumeData` based on the tool's `resumeSchema`, then automatically resumes the tool.
393
393
 
394
+ Automatic resumption applies to data-bearing `suspend()` flows. It doesn't approve tools that use `requireApproval`; those tools remain suspended until an explicit approval or decline is submitted through `approveToolCall()`, `declineToolCall()`, `resumeStream({ approved: boolean })`, or an equivalent UI or API action.
395
+
394
396
  The following example shows a complete conversational flow:
395
397
 
396
398
  ```typescript
@@ -152,7 +152,7 @@ export const deleteFile = createTool({
152
152
 
153
153
  When the agent calls this tool, users see a card with the tool name, arguments, and Approve and Deny actions. The tool only executes after approval.
154
154
 
155
- Set `toolDisplay: 'text'` on an adapter to render tool calls as plain text instead of interactive cards. In `'hidden'` mode, `autoResumeSuspendedTools` can resume suspended tools when a later user message arrives on the same thread. This requires memory. Hidden mode only suppresses the approval buttons.
155
+ Set `toolDisplay: 'text'` on an adapter to render tool calls as plain text instead of interactive cards. In `'hidden'` mode, `autoResumeSuspendedTools` can resume data-bearing `suspend()` flows when a later user message arrives on the same thread. This requires memory. Hidden mode only suppresses approval buttons. It doesn't turn a message into consent. Tools that require approval remain suspended until an explicit approval or decline is submitted through a UI or API action.
156
156
 
157
157
  ## Reply formatting
158
158
 
@@ -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:
@@ -6,13 +6,13 @@ Mastra supports OpenTelemetry (OTEL) through an exporter for sending traces and
6
6
 
7
7
  ## Exporter
8
8
 
9
- The OpenTelemetry exporter sends your traces and logs using standardized [OpenTelemetry Semantic Conventions for GenAI](https://opentelemetry.io/docs/specs/semconv/gen-ai/). This ensures broad compatibility with platforms like Datadog, New Relic, SigNoz, MLflow, Latitude, Dash0, Traceloop, Laminar, telemetry.dev, and more.
9
+ The OpenTelemetry exporter sends your traces and logs using standardized [OpenTelemetry Semantic Conventions for GenAI](https://opentelemetry.io/docs/specs/semconv/gen-ai/). This ensures broad compatibility with platforms like Datadog, New Relic, Sentry, SigNoz, MLflow, Latitude, Dash0, Traceloop, Laminar, telemetry.dev, and more.
10
10
 
11
11
  ### Installation
12
12
 
13
13
  Each provider requires specific protocol packages. Install the base exporter plus the protocol package for your provider:
14
14
 
15
- #### For HTTP/Protobuf Providers (SigNoz, New Relic, Laminar, MLflow, Latitude, telemetry.dev)
15
+ #### For HTTP/Protobuf Providers (SigNoz, New Relic, Sentry, Laminar, MLflow, Latitude, telemetry.dev)
16
16
 
17
17
  **npm**:
18
18
 
@@ -104,6 +104,38 @@ All providers support zero-config setup via environment variables. Set the appro
104
104
 
105
105
  ### Provider configurations
106
106
 
107
+ #### Sentry
108
+
109
+ [Sentry](https://sentry.io/) accepts OpenTelemetry traces and logs through its OTLP endpoints. In Sentry, open [**Project Settings** > **Client Keys (DSN)**](https://sentry.io/settings/projects/) and copy the OTLP traces endpoint and authentication header. Add both values to your environment:
110
+
111
+ ```bash
112
+ SENTRY_OTLP_ENDPOINT=https://o000000.ingest.sentry.io/api/0000000/integration/otlp/v1/traces
113
+ SENTRY_OTLP_AUTH_HEADER="sentry sentry_key=..."
114
+ ```
115
+
116
+ Use the `custom` provider with HTTP/Protobuf:
117
+
118
+ ```typescript
119
+ new OtelExporter({
120
+ provider: {
121
+ custom: {
122
+ endpoint: process.env.SENTRY_OTLP_ENDPOINT!,
123
+ protocol: 'http/protobuf',
124
+ headers: {
125
+ 'x-sentry-auth': process.env.SENTRY_OTLP_AUTH_HEADER!,
126
+ },
127
+ },
128
+ },
129
+ })
130
+ ```
131
+
132
+ See [Sentry's OTLP documentation](https://docs.sentry.io/concepts/otlp/) for endpoint setup, supported signals, and current ingestion limits.
133
+
134
+ Choose an exporter based on your setup:
135
+
136
+ - `OtelExporter`: Sends vendor-neutral traces and logs over OTLP. Use it with an existing OpenTelemetry pipeline or when you want backend portability.
137
+ - [`SentryExporter`](https://mastra.ai/integrations/observability/sentry): Uses the Sentry SDK to map Mastra span types to Sentry operations, add AI monitoring attributes, and capture span errors as Sentry issues.
138
+
107
139
  #### MLflow
108
140
 
109
141
  [MLflow](https://mlflow.org/docs/latest/genai/tracing/integrations/listing/mastra) supports native Mastra tracing through its OTLP endpoint at `/v1/traces`. Use the `custom` provider with HTTP/Protobuf and include the experiment header so traces are routed to the correct MLflow experiment:
@@ -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 5955 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 |
@@ -161,7 +161,7 @@ for await (const chunk of stream) {
161
161
  | `kilo/meta-llama/llama-3.2-1b-instruct` | 60K | | | | | | $0.03 | $0.20 |
162
162
  | `kilo/meta-llama/llama-3.2-3b-instruct` | 131K | | | | | | $0.05 | $0.33 |
163
163
  | `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 |
164
+ | `kilo/meta-llama/llama-4-maverick` | 1.0M | | | | | | $0.20 | $0.70 |
165
165
  | `kilo/meta-llama/llama-4-scout` | 328K | | | | | | $0.10 | $0.30 |
166
166
  | `kilo/meta-llama/llama-guard-4-12b` | 164K | | | | | | $0.18 | $0.18 |
167
167
  | `kilo/meta/muse-glimmer-30b` | 131K | | | | | | $0.30 | $1 |
@@ -384,11 +384,11 @@ for await (const chunk of stream) {
384
384
  | `kilo/z-ai/glm-4.5` | 131K | | | | | | $0.60 | $2 |
385
385
  | `kilo/z-ai/glm-4.5-air` | 131K | | | | | | $0.13 | $0.85 |
386
386
  | `kilo/z-ai/glm-4.5v` | 66K | | | | | | $0.60 | $2 |
387
- | `kilo/z-ai/glm-4.6` | 203K | | | | | | $0.50 | $2 |
387
+ | `kilo/z-ai/glm-4.6` | 205K | | | | | | $0.55 | $2 |
388
388
  | `kilo/z-ai/glm-4.6v` | 131K | | | | | | $0.30 | $0.90 |
389
389
  | `kilo/z-ai/glm-4.7` | 203K | | | | | | $0.40 | $2 |
390
390
  | `kilo/z-ai/glm-4.7-flash` | 203K | | | | | | $0.06 | $0.40 |
391
- | `kilo/z-ai/glm-5` | 205K | | | | | | $0.95 | $3 |
391
+ | `kilo/z-ai/glm-5` | 198K | | | | | | $0.60 | $2 |
392
392
  | `kilo/z-ai/glm-5-turbo` | 203K | | | | | | $1 | $4 |
393
393
  | `kilo/z-ai/glm-5.1` | 203K | | | | | | $1 | $4 |
394
394
  | `kilo/z-ai/glm-5.2` | 1.0M | | | | | | $1 | $4 |
@@ -144,7 +144,7 @@ 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 |
@@ -156,8 +156,8 @@ for await (const chunk of stream) {
156
156
  | `nano-gpt/deepseek/deepseek-v4-flash-latest` | 1.0M | | | | | | $0.14 | $0.28 |
157
157
  | `nano-gpt/deepseek/deepseek-v4-flash:thinking` | 1.0M | | | | | | $0.07 | $0.14 |
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 |
@@ -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.
@@ -79,10 +79,16 @@ Registers a callback to receive events published to a topic. When `options.group
79
79
 
80
80
  Pass `options.batch` to opt in to batched delivery. The callback signature is unchanged: a batch of N events is delivered as N consecutive `cb(event, ack, nack)` calls in publish order. Batching is honored only when the backend's [`supportsNativeBatching`](#properties) is `true`. Other backends ignore the option and deliver events one at a time.
81
81
 
82
+ Set `options.startFrom` to `"latest"` to receive only events published after a new consumer group is created. The default, `"earliest"`, includes retained events. Existing consumer groups keep their current checkpoint.
83
+
82
84
  ```typescript
83
- await pubsub.subscribe('my-topic', (event, ack, nack) => {
84
- console.log(event)
85
- })
85
+ await pubsub.subscribe(
86
+ 'my-topic',
87
+ (event, ack, nack) => {
88
+ console.log(event)
89
+ },
90
+ { startFrom: 'latest' },
91
+ )
86
92
  ```
87
93
 
88
94
  #### `unsubscribe(topic, cb)`
@@ -151,6 +157,8 @@ await pubsub.subscribeFromOffset('my-topic', 42, event => {
151
157
 
152
158
  **supportsNativeBatching** (`boolean`): Whether the implementation honors options.batch on subscribe(). Defaults to false. Backends that integrate batching internally override this and return true.
153
159
 
160
+ **supportsOffsets** (`boolean`): Whether subscribeFromOffset() honors numeric offsets. Defaults to false. A non-zero offset on an unsupported implementation falls back to replay subscription and emits a diagnostic warning when a logger is configured.
161
+
154
162
  ## Types
155
163
 
156
164
  ### `Event`
@@ -175,6 +183,8 @@ await pubsub.subscribeFromOffset('my-topic', 42, event => {
175
183
 
176
184
  **batch** (`SubscribeBatchOptions`): Opt in to batched delivery for this subscription. When omitted, events are delivered one at a time. Honored only by backends where supportsNativeBatching is true.
177
185
 
186
+ **startFrom** (`"earliest" | "latest"`): Starting position used when a backend creates a new consumer group. "earliest" includes retained events. "latest" receives only events published after group creation. Existing groups keep their checkpoint. (Default: `"earliest"`)
187
+
178
188
  ### `SubscribeBatchOptions`
179
189
 
180
190
  Per-subscription batching policy. The callback signature doesn't change. A batch of N events becomes N consecutive callback invocations in publish order.
@@ -46,6 +46,8 @@ const pubsub = withCaching(new EventEmitterPubSub(), new InMemoryServerCache())
46
46
 
47
47
  **supportsNativeBatching** (`boolean`): Mirrors the inner pub/sub. Returns true only when the wrapped implementation supports batching.
48
48
 
49
+ **supportsOffsets** (`boolean`): Returns true. Cached events have sequential indexes that support numeric offset replay.
50
+
49
51
  ## Methods
50
52
 
51
53
  `CachingPubSub` implements the [`PubSub`](https://mastra.ai/reference/pubsub/base) contract. It overrides the replay methods to read cached events. The methods below describe the caching behavior.
@@ -51,6 +51,8 @@ const pubsub = new EventEmitterPubSub(undefined, { logger })
51
51
 
52
52
  **supportsNativeBatching** (`boolean`): Returns true. Subscribers can opt in to batched delivery with options.batch.
53
53
 
54
+ **supportsOffsets** (`boolean`): Returns false. The in-memory emitter does not retain indexed event history.
55
+
54
56
  ## Methods
55
57
 
56
58
  `EventEmitterPubSub` implements the [`PubSub`](https://mastra.ai/reference/pubsub/base) contract. The methods below have behavior specific to this implementation.
@@ -77,6 +77,8 @@ export const mastra = new Mastra({
77
77
 
78
78
  **supportedModes** (`ReadonlyArray<"pull" | "push">`): Returns \["pull"].
79
79
 
80
+ **supportsOffsets** (`boolean`): Returns false. Redis stream anchors support start positions, but not the numeric indexes used by subscribeFromOffset().
81
+
80
82
  ## Methods
81
83
 
82
84
  `RedisStreamsPubSub` implements the [`PubSub`](https://mastra.ai/reference/pubsub/base) contract. The methods below have behavior specific to this implementation.
@@ -85,10 +87,16 @@ export const mastra = new Mastra({
85
87
 
86
88
  Subscribes to a topic. With `options.group`, members of the group share events through a Redis consumer group. Without a group, the subscriber receives every event through a private consumer group.
87
89
 
90
+ Set `options.startFrom` to `"latest"` to skip retained entries when Redis creates the consumer group. The default, `"earliest"`, reads retained entries first. This option doesn't reset an existing group's checkpoint.
91
+
88
92
  ```typescript
89
- await pubsub.subscribe('workflow.events', (event, ack, nack) => {
90
- console.log(event)
91
- })
93
+ await pubsub.subscribe(
94
+ 'workflow.events',
95
+ (event, ack, nack) => {
96
+ console.log(event)
97
+ },
98
+ { group: 'live-workers', startFrom: 'latest' },
99
+ )
92
100
  ```
93
101
 
94
102
  ### `flush()`
@@ -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.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 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)]:
8
+ - @mastra/core@1.60.0-alpha.4
9
+ - @mastra/mcp@1.17.0-alpha.0
10
+
11
+ ## 1.2.17-alpha.5
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [[`d8308a2`](https://github.com/mastra-ai/mastra/commit/d8308a2be3c07e777393d1017a381dcae3890d30), [`7aad631`](https://github.com/mastra-ai/mastra/commit/7aad631b43bc10db77d5b8c66b200d7a49d18bf2), [`1794a79`](https://github.com/mastra-ai/mastra/commit/1794a79178c418004a7261b1ad9114066f7ef01d)]:
16
+ - @mastra/core@1.60.0-alpha.3
17
+
3
18
  ## 1.2.17-alpha.4
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.4",
3
+ "version": "1.2.17-alpha.7",
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.2",
32
- "@mastra/mcp": "^1.16.0"
31
+ "@mastra/mcp": "^1.17.0-alpha.0",
32
+ "@mastra/core": "1.60.0-alpha.4"
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.2"
49
+ "@mastra/core": "1.60.0-alpha.4",
50
+ "@internal/types-builder": "0.0.98"
51
51
  },
52
52
  "homepage": "https://mastra.ai",
53
53
  "repository": {