@mastra/mcp-docs-server 1.2.26-alpha.11 → 1.2.26-alpha.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/.docs/docs/agents/guardrails.md +3 -0
  2. package/.docs/docs/guides/context-engineering.md +1 -1
  3. package/.docs/docs/harness/durable-agents.md +1 -1
  4. package/.docs/docs/memory/observational-memory.md +2 -2
  5. package/.docs/docs/studio/overview.md +4 -0
  6. package/.docs/integrations/sandboxes/cloudflare-sandbox.md +26 -1
  7. package/.docs/integrations/voice/openai.md +19 -7
  8. package/.docs/models/environment-variables.md +4 -0
  9. package/.docs/models/gateways/netlify.md +3 -1
  10. package/.docs/models/gateways/openrouter.md +2 -2
  11. package/.docs/models/gateways/vercel.md +6 -2
  12. package/.docs/models/index.md +1 -1
  13. package/.docs/models/providers/302ai.md +2 -1
  14. package/.docs/models/providers/aki-io.md +1 -1
  15. package/.docs/models/providers/alibaba-token-plan-cn.md +2 -1
  16. package/.docs/models/providers/amd.md +4 -2
  17. package/.docs/models/providers/coralbricks.md +10 -9
  18. package/.docs/models/providers/cortecs.md +10 -9
  19. package/.docs/models/providers/deepinfra.md +1 -1
  20. package/.docs/models/providers/digitalocean.md +2 -1
  21. package/.docs/models/providers/edenai.md +9 -9
  22. package/.docs/models/providers/empiriolabs.md +2 -1
  23. package/.docs/models/providers/friendli.md +3 -2
  24. package/.docs/models/providers/hyper.md +7 -7
  25. package/.docs/models/providers/infer.md +78 -0
  26. package/.docs/models/providers/kilo.md +7 -7
  27. package/.docs/models/providers/kimi-for-coding.md +1 -1
  28. package/.docs/models/providers/llmgateway-providers.md +4 -5
  29. package/.docs/models/providers/llmgateway.md +2 -1
  30. package/.docs/models/providers/melious.md +91 -0
  31. package/.docs/models/providers/nano-gpt.md +83 -97
  32. package/.docs/models/providers/ollama-cloud.md +22 -22
  33. package/.docs/models/providers/tinfoil.md +5 -4
  34. package/.docs/models/providers/vancine.md +11 -13
  35. package/.docs/models/providers/vispark.md +79 -0
  36. package/.docs/models/providers/wallaby.md +77 -0
  37. package/.docs/models/providers/wandb.md +2 -2
  38. package/.docs/models/providers.md +4 -0
  39. package/.docs/reference/agents/inngest-agent.md +1 -1
  40. package/.docs/reference/cli/mastra.md +24 -0
  41. package/.docs/reference/memory/observational-memory.md +3 -2
  42. package/.docs/reference/observability/tracing/interfaces.md +27 -5
  43. package/.docs/reference/processors/language-detector.md +2 -0
  44. package/.docs/reference/processors/moderation-processor.md +2 -0
  45. package/.docs/reference/processors/pii-detector.md +2 -0
  46. package/.docs/reference/processors/processor-interface.md +2 -0
  47. package/.docs/reference/processors/prompt-injection-detector.md +2 -0
  48. package/.docs/reference/processors/provider-history-compat.md +7 -6
  49. package/.docs/reference/processors/system-prompt-scrubber.md +2 -0
  50. package/package.json +4 -4
@@ -48,12 +48,15 @@ export const secureAgent = new Agent({
48
48
  model: 'openrouter/openai/gpt-oss-safeguard-20b',
49
49
  threshold: 0.8,
50
50
  strategy: 'rewrite',
51
+ errorStrategy: 'strict',
51
52
  detectionTypes: ['injection', 'jailbreak', 'system-override'],
52
53
  }),
53
54
  ],
54
55
  })
55
56
  ```
56
57
 
58
+ Model-backed guardrail processors default to `errorStrategy: 'warn'`, which logs internal model failures and continues with the processor's fallback. Use `errorStrategy: 'strict'` when unchecked content must not proceed if the guardrail model is unavailable or returns invalid output. Strict mode stops processing with a tripwire.
59
+
57
60
  Visit [`PromptInjectionDetector()`](https://mastra.ai/reference/processors/prompt-injection-detector) reference for a full list of configuration options.
58
61
 
59
62
  ### Detect and translate language
@@ -204,7 +204,7 @@ export const assistant = new Agent({
204
204
  })
205
205
  ```
206
206
 
207
- After messages are observed, the model receives the observation log, recent messages that haven't been observed, and a continuation reminder. The raw messages remain stored but no longer occupy the active model context.
207
+ After messages are observed, the model receives the observation log, recent messages that haven't been observed, and a continuation reminder. Because delayed hints may be stale by the time a buffered chunk activates, async buffered observations don't generate continuation hints (`currentTask` or `suggestedResponse`). The raw messages remain stored but no longer occupy the active model context.
208
208
 
209
209
  Observations are added in stable chunks, which helps providers reuse the existing prompt prefix. Observational Memory can also activate buffered observations after a prompt cache is likely to expire or before the agent changes providers.
210
210
 
@@ -84,7 +84,7 @@ Mastra provides three factory functions that produce durable agents. They differ
84
84
  | `createEventedAgent()` | `@mastra/core` | Background execution. The workflow starts without blocking, and you consume chunks through PubSub. |
85
85
  | `createInngestAgent()` | `@mastra/inngest` | Production deployments. Inngest adds step memoization, retries, and a monitoring dashboard. |
86
86
 
87
- All three return an object you register with `Mastra` the same way as a regular agent. `createDurableAgent()` and `createEventedAgent()` return class instances that extend `Agent`. `createInngestAgent()` returns a Proxy-backed object that forwards `Agent` methods to the underlying agent.
87
+ All three return an object you register with `Mastra` the same way as a regular agent. `createDurableAgent()` and `createEventedAgent()` return class instances that extend `Agent`. `createInngestAgent()` returns a Proxy-backed object that forwards `Agent` methods to the underlying agent. When a signal wakes an idle thread, all three start that run with the durable `stream()`. `sendSignal()` and `sendNotificationSignal()` both work this way.
88
88
 
89
89
  ### In-process with `createDurableAgent()`
90
90
 
@@ -391,7 +391,7 @@ Date: 2026-01-15
391
391
  - 🔴 12:15 User stated the app name is "Acme Dashboard"
392
392
  ```
393
393
 
394
- The compression is typically between 5x and 40x. The Observer also tracks a **current task** and **suggested response** so the agent picks up where it left off.
394
+ The compression is typically between 5x and 40x. During synchronous observation, the Observer can also track a **current task** and **suggested response** so the agent picks up where it left off.
395
395
 
396
396
  If you enable `observation.threadTitle`, the Observer can also suggest a short thread title when the conversation topic meaningfully changes. Thread title generation is opt-in and updates the thread metadata, so apps like Mastra Code can show the latest title in thread lists and status UI.
397
397
 
@@ -714,7 +714,7 @@ As the agent converses, message tokens accumulate. At regular intervals (`buffer
714
714
 
715
715
  When message tokens reach the `messageTokens` threshold, buffered chunks activate: their observations move into the active observation log, and the corresponding raw messages are removed from the context window. The agent never pauses.
716
716
 
717
- Buffered observations also include continuation hints, a suggested next response and the current task, so the main agent maintains conversational continuity after activation shrinks the context window.
717
+ Async buffered Observer calls don't generate continuation hints because delayed hints can be stale by activation time. When buffered chunks activate, any previously stored suggested response and current task are cleared. The main agent receives the compressed observations without those hints.
718
718
 
719
719
  When message production outpaces the Observer, the `blockAfter` safety threshold allows activation to overshoot the retention target instead of using fewer chunks. Activation still uses no more chunks than needed to reach the target, and the default settings remain unaffected. A synchronous observation runs when the `messageTokens` threshold is reached and buffered activation didn't happen. Buffered activation usually preserves a minimum remaining context (the smaller of \~1k tokens or the configured retention floor), but a single buffered chunk that covers the whole pending window still activates and can leave less.
720
720
 
@@ -55,6 +55,10 @@ Chat with your agent directly, switch [models](https://mastra.ai/models), and tw
55
55
 
56
56
  When you interact with your agent, you can follow its reasoning and view tool call outputs. You can also [observe](#observability) traces and logs to see how responses are generated.
57
57
 
58
+ For a markdown table in a response, select **Copy table as markdown** above the table to copy it without the surrounding message. The copied table preserves markdown formatting and includes any link and footnote definitions it uses. To download the table as CSV, open the arrow beside the copy button and select **Download CSV**. Both actions become available once the text segment containing the table finishes streaming and displaying. The agent may still be running tools or writing later segments.
59
+
60
+ CSV exports contain plain cell text, including link labels rather than URLs. Footnote markers are preserved, but their definitions aren't included in the CSV. Values that could be interpreted as spreadsheet formulas receive a leading apostrophe so spreadsheet apps treat them as text. Ordinary signed numbers are preserved.
61
+
58
62
  You can also attach [scorers](#scorers) to measure and compare response quality over time.
59
63
 
60
64
  You can send a follow-up message in the same thread during an agent response stream. Studio shows the message as pending until the stream confirms it, then continues the response below that follow-up. Other Studio tabs that have the same thread open can observe the active stream.
@@ -91,6 +91,31 @@ await workspace.sandbox?.writeFiles?.([
91
91
  ])
92
92
  ```
93
93
 
94
+ ## Read files
95
+
96
+ Read a single file back from `/workspace` as raw bytes. Relative paths resolve under `/workspace`, and absolute paths must also resolve within it.
97
+
98
+ ```typescript
99
+ const bytes = await workspace.sandbox?.readFile?.('src/index.ts')
100
+ const source = new TextDecoder().decode(bytes)
101
+ ```
102
+
103
+ ## Persist and restore the workspace
104
+
105
+ `persistWorkspace()` archives `/workspace` and returns the raw tar bytes; `hydrateWorkspace()` restores it from those bytes. Store the archive between sessions to resume work after a container sleeps or is recreated.
106
+
107
+ ```typescript
108
+ // Back up before the container can sleep
109
+ const archive = await workspace.sandbox?.persistWorkspace?.({ excludes: ['node_modules'] })
110
+ await myStorage.put('workspace-backup', archive)
111
+
112
+ // Later, on a fresh or reconnected sandbox
113
+ const archive = await myStorage.get('workspace-backup')
114
+ await workspace.sandbox?.hydrateWorkspace?.(archive)
115
+ ```
116
+
117
+ For bucket mounts and execution sessions, use the corresponding `CloudflareSandboxBridgeClient` methods (`mountBucket`, `unmountBucket`, `createSession`, `deleteSession`) directly.
118
+
94
119
  ## Constructor parameters
95
120
 
96
121
  **baseUrl** (`string`): URL of the deployed Cloudflare Sandbox Bridge Worker.
@@ -119,4 +144,4 @@ await workspace.sandbox?.writeFiles?.([
119
144
 
120
145
  ## Limitations
121
146
 
122
- The provider supports command execution, streamed output, and file writes. It doesn't currently expose the bridge's bucket mounts, sessions, PTY terminals, or workspace persistence routes, and it doesn't support background process management, stdin, snapshots, or port URLs.
147
+ The provider surfaces command execution, streamed output, file reads and writes, and workspace persistence directly on the sandbox. Bucket mounts and sessions are available on the bridge client (`CloudflareSandboxBridgeClient`) but not on the `CloudflareSandbox` surface. PTY terminals are not exposed, and the provider doesn't support background process management, stdin, snapshots, or port URLs.
@@ -232,6 +232,16 @@ Disconnects from the OpenAI Realtime session and cleans up resources. Should be
232
232
 
233
233
  Returns: `void`
234
234
 
235
+ #### `sendEvent()`
236
+
237
+ Sends a raw client event to the OpenAI Realtime session. Use this for session control that has no dedicated method, such as adding conversation items. Events sent before the session is created are queued and sent once it is.
238
+
239
+ **type** (`string`): OpenAI Realtime client event type, such as conversation.item.create.
240
+
241
+ **data** (`Record<string, unknown>`): Event payload sent alongside the type. (Default: `{}`)
242
+
243
+ Returns: `void`
244
+
235
245
  #### `getSpeakers()`
236
246
 
237
247
  Returns a list of available voice speakers.
@@ -270,17 +280,19 @@ The OpenAIRealtimeVoice class emits the following events:
270
280
 
271
281
  #### OpenAI Realtime Events
272
282
 
273
- You can also listen to [OpenAI Realtime utility events](https://github.com/openai/openai-realtime-api-beta#reference-client-utility-events) by prefixing with 'openAIRealtime:':
274
-
275
- **openAIRealtime:conversation.created** (`event`): Emitted when a new conversation is created.
283
+ Every server event received from the OpenAI Realtime API is also emitted with the `openAIRealtime:` prefix, using the [OpenAI server event type](https://platform.openai.com/docs/api-reference/realtime-server-events) as the suffix. The callback receives the complete event payload.
276
284
 
277
- **openAIRealtime:conversation.interrupted** (`event`): Emitted when a conversation is interrupted.
285
+ ```typescript
286
+ voice.on('openAIRealtime:rate_limits.updated', event => {
287
+ console.log(event.rate_limits)
288
+ })
289
+ ```
278
290
 
279
- **openAIRealtime:conversation.updated** (`event`): Emitted when a conversation is updated.
291
+ #### Socket Events
280
292
 
281
- **openAIRealtime:conversation.item.appended** (`event`): Emitted when an item is appended to the conversation.
293
+ **open** (`event`): Emitted when the WebSocket connection to OpenAI opens.
282
294
 
283
- **openAIRealtime:conversation.item.completed** (`event`): Emitted when an item in the conversation is completed.
295
+ **close** (`event`): Emitted when the WebSocket connection closes, including when OpenAI closes it. Callback receives { code: number, reason: string }.
284
296
 
285
297
  ### Available voices
286
298
 
@@ -79,6 +79,7 @@ List of required environment variables for each model provider and gateway suppo
79
79
  | [Impossibl](https://mastra.ai/models/providers/impossibl) | `impossibl/*` | `IMPOSSIBL_API_KEY` |
80
80
  | [Inception](https://mastra.ai/models/providers/inception) | `inception/*` | `INCEPTION_API_KEY` |
81
81
  | [Inceptron](https://mastra.ai/models/providers/inceptron) | `inceptron/*` | `INCEPTRON_API_KEY` |
82
+ | [Infer by Flow7](https://mastra.ai/models/providers/infer) | `infer/*` | `INFER_API_KEY` |
82
83
  | [Inference](https://mastra.ai/models/providers/inference) | `inference/*` | `INFERENCE_API_KEY` |
83
84
  | [InferX](https://mastra.ai/models/providers/inferx) | `inferx/*` | `INFERX_API_KEY` |
84
85
  | [Infomaniak](https://mastra.ai/models/providers/infomaniak) | `infomaniak/*` | `INFOMANIAK_PRODUCT_ID`, `INFOMANIAK_API_KEY` |
@@ -102,6 +103,7 @@ List of required environment variables for each model provider and gateway suppo
102
103
  | [LucidQuery](https://mastra.ai/models/providers/lucidquery) | `lucidquery/*` | `LUCIDQUERY_API_KEY` |
103
104
  | [Lynkr](https://mastra.ai/models/providers/lynkr) | `lynkr/*` | `LYNKR_API_KEY` |
104
105
  | [Meganova](https://mastra.ai/models/providers/meganova) | `meganova/*` | `MEGANOVA_API_KEY` |
106
+ | [Melious](https://mastra.ai/models/providers/melious) | `melious/*` | `MELIOUS_API_KEY` |
105
107
  | [Meta](https://mastra.ai/models/providers/meta) | `meta/*` | `META_MODEL_API_KEY` |
106
108
  | [MiniMax (minimax.io)](https://mastra.ai/models/providers/minimax) | `minimax/*` | `MINIMAX_API_KEY` |
107
109
  | [MiniMax (minimaxi.com)](https://mastra.ai/models/providers/minimax-cn) | `minimax-cn/*` | `MINIMAX_API_KEY` |
@@ -182,11 +184,13 @@ List of required environment variables for each model provider and gateway suppo
182
184
  | [UnoRouter](https://mastra.ai/models/providers/unorouter) | `unorouter/*` | `UNOROUTER_API_KEY` |
183
185
  | [Upstage](https://mastra.ai/models/providers/upstage) | `upstage/*` | `UPSTAGE_API_KEY` |
184
186
  | [Vancine](https://mastra.ai/models/providers/vancine) | `vancine/*` | `VANCINE_API_KEY` |
187
+ | [Vispark](https://mastra.ai/models/providers/vispark) | `vispark/*` | `VISPARK_LAB_API_KEY` |
185
188
  | [Vivgrid](https://mastra.ai/models/providers/vivgrid) | `vivgrid/*` | `VIVGRID_API_KEY` |
186
189
  | [Volcengine Ark](https://mastra.ai/models/providers/volcengine) | `volcengine/*` | `ARK_API_KEY` |
187
190
  | [Volcengine Ark Coding Plan](https://mastra.ai/models/providers/volcengine-coding-plan) | `volcengine-coding-plan/*` | `ARK_CODING_PLAN_API_KEY` |
188
191
  | [Vultr](https://mastra.ai/models/providers/vultr) | `vultr/*` | `VULTR_API_KEY` |
189
192
  | [Wafer](https://mastra.ai/models/providers/wafer.ai) | `wafer.ai/*` | `WAFER_API_KEY` |
193
+ | [Wallaby](https://mastra.ai/models/providers/wallaby) | `wallaby/*` | `WALLABY_API_KEY` |
190
194
  | [Weights & Biases](https://mastra.ai/models/providers/wandb) | `wandb/*` | `WANDB_API_KEY` |
191
195
  | [xAI](https://mastra.ai/models/providers/xai) | `xai/*` | `XAI_API_KEY` |
192
196
  | [Xiaomi](https://mastra.ai/models/providers/xiaomi) | `xiaomi/*` | `XIAOMI_API_KEY` |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # Netlify
6
6
 
7
- Netlify AI Gateway provides unified access to multiple providers with built-in caching and observability. Access 255 models through Mastra's model router.
7
+ Netlify AI Gateway provides unified access to multiple providers with built-in caching and observability. Access 257 models through Mastra's model router.
8
8
 
9
9
  Learn more in the [Netlify documentation](https://docs.netlify.com/build/ai-gateway/overview/).
10
10
 
@@ -117,6 +117,8 @@ ANTHROPIC_API_KEY=ant-...
117
117
  | `openai/o3` |
118
118
  | `openai/o3-mini` |
119
119
  | `openai/o4-mini` |
120
+ | `openrouter/~deepseek/deepseek-flash-latest` |
121
+ | `openrouter/~deepseek/deepseek-pro-latest` |
120
122
  | `openrouter/~deepseek/deepseek-v4-flash-latest` |
121
123
  | `openrouter/~moonshotai/kimi-latest` |
122
124
  | `openrouter/~x-ai/grok-latest` |
@@ -42,6 +42,8 @@ ANTHROPIC_API_KEY=ant-...
42
42
  | `~anthropic/claude-haiku-latest` |
43
43
  | `~anthropic/claude-opus-latest` |
44
44
  | `~anthropic/claude-sonnet-latest` |
45
+ | `~deepseek/deepseek-flash-latest` |
46
+ | `~deepseek/deepseek-pro-latest` |
45
47
  | `~deepseek/deepseek-v4-flash-latest` |
46
48
  | `~google/gemini-flash-latest` |
47
49
  | `~google/gemini-pro-latest` |
@@ -115,7 +117,6 @@ ANTHROPIC_API_KEY=ant-...
115
117
  | `google/gemini-2.5-flash-lite` |
116
118
  | `google/gemini-2.5-pro` |
117
119
  | `google/gemini-2.5-pro-preview` |
118
- | `google/gemini-2.5-pro-preview-05-06` |
119
120
  | `google/gemini-3-flash-preview` |
120
121
  | `google/gemini-3-pro-image` |
121
122
  | `google/gemini-3-pro-image-preview` |
@@ -232,7 +233,6 @@ ANTHROPIC_API_KEY=ant-...
232
233
  | `openai/gpt-3.5-turbo-instruct` |
233
234
  | `openai/gpt-4` |
234
235
  | `openai/gpt-4-turbo` |
235
- | `openai/gpt-4-turbo-preview` |
236
236
  | `openai/gpt-4.1` |
237
237
  | `openai/gpt-4.1-mini` |
238
238
  | `openai/gpt-4.1-nano` |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![Vercel logo](https://models.dev/logos/vercel.svg)Vercel
6
6
 
7
- Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 372 models through Mastra's model router.
7
+ Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 376 models through Mastra's model router.
8
8
 
9
9
  Learn more in the [Vercel documentation](https://ai-sdk.dev/providers/ai-sdk-providers).
10
10
 
@@ -69,7 +69,6 @@ ANTHROPIC_API_KEY=ant-...
69
69
  | `alibaba/qwen3.8-2.4t-a95b` |
70
70
  | `alibaba/qwen3.8-27b` |
71
71
  | `alibaba/qwen3.8-flash` |
72
- | `alibaba/qwen3.8-flash-next` |
73
72
  | `alibaba/qwen3.8-max` |
74
73
  | `alibaba/qwen3.8-max-0902` |
75
74
  | `alibaba/wan-v2.5-t2v-preview` |
@@ -117,6 +116,7 @@ ANTHROPIC_API_KEY=ant-...
117
116
  | `bfl/flux-pro-1.1-ultra` |
118
117
  | `bytedance/seed-1.6` |
119
118
  | `bytedance/seed-1.8` |
119
+ | `bytedance/seed-2.1-turbo` |
120
120
  | `bytedance/seedance-2.0` |
121
121
  | `bytedance/seedance-2.0-fast` |
122
122
  | `bytedance/seedance-2.0-mini` |
@@ -190,6 +190,8 @@ ANTHROPIC_API_KEY=ant-...
190
190
  | `inclusionai/ling-3.0-flash-fin-free` |
191
191
  | `inclusionai/ling-3.0-flash-sante` |
192
192
  | `inclusionai/ling-3.0-flash-sante-free` |
193
+ | `inclusionai/ling-3.0-flash-vl` |
194
+ | `inclusionai/ling-3.0-flash-vl-free` |
193
195
  | `interfaze/interfaze-beta` |
194
196
  | `klingai/kling-v2.5-turbo-i2v` |
195
197
  | `klingai/kling-v2.5-turbo-t2v` |
@@ -349,7 +351,9 @@ ANTHROPIC_API_KEY=ant-...
349
351
  | `recraft/recraft-v4.1-pro` |
350
352
  | `recraft/recraft-v4.1-utility` |
351
353
  | `recraft/recraft-v4.1-utility-pro` |
354
+ | `sakana/fugu-max` |
352
355
  | `sakana/fugu-ultra` |
356
+ | `sakana/fugu-ultra-v2` |
353
357
  | `sakana/namazu` |
354
358
  | `spacexai/grok-4.1-fast-non-reasoning` |
355
359
  | `spacexai/grok-4.1-fast-reasoning` |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # Model Providers
6
6
 
7
- Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 7294 models from 200 providers through a single API.
7
+ Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 7315 models from 204 providers through a single API.
8
8
 
9
9
  ## Features
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![302.AI logo](https://models.dev/logos/302ai.svg)302.AI
6
6
 
7
- Access 116 302.AI models through Mastra's model router. Authentication is handled automatically using the `302AI_API_KEY` environment variable.
7
+ Access 117 302.AI models through Mastra's model router. Authentication is handled automatically using the `302AI_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [302.AI documentation](https://doc.302.ai).
10
10
 
@@ -55,6 +55,7 @@ for await (const chunk of stream) {
55
55
  | `302ai/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
56
56
  | `302ai/claude-sonnet-4-6-thinking` | 1.0M | | | | | | $3 | $15 |
57
57
  | `302ai/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
58
+ | `302ai/deepseek-flash` | 1.0M | | | | | | $0.15 | $0.60 |
58
59
  | `302ai/deepseek-v3.2` | 128K | | | | | | $0.29 | $0.43 |
59
60
  | `302ai/deepseek-v3.2-thinking` | 128K | | | | | | $0.29 | $0.43 |
60
61
  | `302ai/doubao-seed-1-6-thinking-250715` | 256K | | | | | | $0.12 | $1 |
@@ -40,8 +40,8 @@ for await (const chunk of stream) {
40
40
  | ------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
41
41
  | `aki-io/deepseek-v4-flash-0731-284b` | 1.0M | | | | | | $0.20 | $0.50 |
42
42
  | `aki-io/gemma4-26b` | 256K | | | | | | $0.10 | $0.50 |
43
+ | `aki-io/glm5.3-754b` | 524K | | | | | | $1 | $4 |
43
44
  | `aki-io/gpt-oss-120b` | 128K | | | | | | $0.15 | $0.55 |
44
- | `aki-io/kimi-k2.7-code-1100b` | 262K | | | | | | $0.86 | $3 |
45
45
  | `aki-io/mistral4-119b` | 262K | | | | | | $0.20 | $0.60 |
46
46
  | `aki-io/qwen3.6-35b` | 256K | | | | | | $0.15 | $0.50 |
47
47
  | `aki-io/qwen3.8-27b` | 262K | | | | | | $0.30 | $2 |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![Alibaba Token Plan (China) logo](https://models.dev/logos/alibaba-token-plan-cn.svg)Alibaba Token Plan (China)
6
6
 
7
- Access 26 Alibaba Token Plan (China) models through Mastra's model router. Authentication is handled automatically using the `ALIBABA_TOKEN_PLAN_API_KEY` environment variable.
7
+ Access 27 Alibaba Token Plan (China) models through Mastra's model router. Authentication is handled automatically using the `ALIBABA_TOKEN_PLAN_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [Alibaba Token Plan (China) documentation](https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview).
10
10
 
@@ -43,6 +43,7 @@ for await (const chunk of stream) {
43
43
  | `alibaba-token-plan-cn/deepseek-v4-flash-0731` | 1.0M | | | | | | — | — |
44
44
  | `alibaba-token-plan-cn/deepseek-v4-pro` | 1.0M | | | | | | — | — |
45
45
  | `alibaba-token-plan-cn/deepseek-v4-pro-0813` | 1.0M | | | | | | — | — |
46
+ | `alibaba-token-plan-cn/deepseek-v4.1-flash` | 1.0M | | | | | | — | — |
46
47
  | `alibaba-token-plan-cn/glm-5` | 203K | | | | | | — | — |
47
48
  | `alibaba-token-plan-cn/glm-5.1` | 203K | | | | | | — | — |
48
49
  | `alibaba-token-plan-cn/glm-5.2` | 1.0M | | | | | | — | — |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![AMD logo](https://models.dev/logos/amd.svg)AMD
6
6
 
7
- Access 4 AMD models through Mastra's model router. Authentication is handled automatically using the `AMD_API_KEY` environment variable.
7
+ Access 6 AMD models through Mastra's model router. Authentication is handled automatically using the `AMD_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [AMD documentation](https://developer.amd.com.cn/radeon/tokenfactory).
10
10
 
@@ -40,7 +40,9 @@ for await (const chunk of stream) {
40
40
  | ---------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
41
41
  | `amd/DeepSeek-V4-Flash` | 1.0M | | | | | | $0.14 | $0.28 |
42
42
  | `amd/DeepSeek-V4-Flash-Vision-Exp` | 1.0M | | | | | | $0.14 | $0.28 |
43
- | `amd/MiniCPM5-1B` | 131K | | | | | | $0.12 | $0.74 |
43
+ | `amd/DeepSeek-V4.1-Flash` | 1.0M | | | | | | $0.14 | $0.28 |
44
+ | `amd/MiniCPM5-2B` | 131K | | | | | | $0.12 | $0.74 |
45
+ | `amd/Qwen3.8-27B` | 131K | | | | | | — | — |
44
46
  | `amd/Qwen3.8-Flash-Next` | 262K | | | | | | $0.15 | $0.47 |
45
47
 
46
48
  Model availability, capabilities, context windows, and pricing are sourced from [models.dev](https://models.dev) and may change.
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![CoralBricks logo](https://models.dev/logos/coralbricks.svg)CoralBricks
6
6
 
7
- Access 3 CoralBricks models through Mastra's model router. Authentication is handled automatically using the `CORAL_API_KEY` environment variable.
7
+ Access 4 CoralBricks models through Mastra's model router. Authentication is handled automatically using the `CORAL_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [CoralBricks documentation](https://www.coralbricks.ai/docs).
10
10
 
@@ -19,7 +19,7 @@ const agent = new Agent({
19
19
  id: "my-agent",
20
20
  name: "My Agent",
21
21
  instructions: "You are a helpful assistant",
22
- model: "coralbricks/glm-5.3-fp4"
22
+ model: "coralbricks/glm-5.3-flash-fp4"
23
23
  });
24
24
 
25
25
  // Generate a response
@@ -36,11 +36,12 @@ for await (const chunk of stream) {
36
36
 
37
37
  ## Models
38
38
 
39
- | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
40
- | -------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
41
- | `coralbricks/glm-5.3-fp4` | 1.0M | | | | | | $1 | $4 |
42
- | `coralbricks/gpt-oss-120b` | 131K | | | | | | $0.12 | $0.60 |
43
- | `coralbricks/kimi-k3` | 1.0M | | | | | | $3 | $15 |
39
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
40
+ | ------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
41
+ | `coralbricks/glm-5.3-flash-fp4` | 1.0M | | | | | | $0.15 | $0.50 |
42
+ | `coralbricks/glm-5.3-fp4` | 1.0M | | | | | | $1 | $4 |
43
+ | `coralbricks/gpt-oss-120b` | 131K | | | | | | $0.12 | $0.60 |
44
+ | `coralbricks/kimi-k3` | 1.0M | | | | | | $3 | $15 |
44
45
 
45
46
  Model availability, capabilities, context windows, and pricing are sourced from [models.dev](https://models.dev) and may change.
46
47
 
@@ -54,7 +55,7 @@ const agent = new Agent({
54
55
  name: "custom-agent",
55
56
  model: {
56
57
  url: "https://inference.coralbricks.ai/v1",
57
- id: "coralbricks/glm-5.3-fp4",
58
+ id: "coralbricks/glm-5.3-flash-fp4",
58
59
  apiKey: process.env.CORAL_API_KEY,
59
60
  headers: {
60
61
  "X-Custom-Header": "value"
@@ -73,7 +74,7 @@ const agent = new Agent({
73
74
  const useAdvanced = requestContext.task === "complex";
74
75
  return useAdvanced
75
76
  ? "coralbricks/kimi-k3"
76
- : "coralbricks/glm-5.3-fp4";
77
+ : "coralbricks/glm-5.3-flash-fp4";
77
78
  }
78
79
  });
79
80
  ```
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![Cortecs logo](https://models.dev/logos/cortecs.svg)Cortecs
6
6
 
7
- Access 106 Cortecs models through Mastra's model router. Authentication is handled automatically using the `CORTECS_API_KEY` environment variable.
7
+ Access 107 Cortecs models through Mastra's model router. Authentication is handled automatically using the `CORTECS_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [Cortecs documentation](https://cortecs.ai).
10
10
 
@@ -49,12 +49,13 @@ for await (const chunk of stream) {
49
49
  | `cortecs/claude-opus4-8` | 1.0M | | | | | | $5 | $27 |
50
50
  | `cortecs/claude-sonnet-4` | 200K | | | | | | $3 | $14 |
51
51
  | `cortecs/claude-sonnet-5` | 1.0M | | | | | | $2 | $11 |
52
- | `cortecs/codestral-2508` | 256K | | | | | | $0.33 | $1 |
52
+ | `cortecs/codestral-2508` | 256K | | | | | | $0.37 | $1 |
53
53
  | `cortecs/deepseek-r1-0528` | 164K | | | | | | $0.65 | $3 |
54
54
  | `cortecs/deepseek-v3.2` | 164K | | | | | | $0.30 | $0.49 |
55
55
  | `cortecs/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.09 | $0.17 |
56
56
  | `cortecs/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
57
57
  | `cortecs/deepseek-v4-pro-0813` | 1.0M | | | | | | $2 | $4 |
58
+ | `cortecs/deepseek-v4.1-flash` | 1.0M | | | | | | $0.50 | $1 |
58
59
  | `cortecs/devstral-2512` | 256K | | | | | | $0.48 | $2 |
59
60
  | `cortecs/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $2 |
60
61
  | `cortecs/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
@@ -105,17 +106,17 @@ for await (const chunk of stream) {
105
106
  | `cortecs/minimax-m2.5` | 196K | | | | | | $0.30 | $1 |
106
107
  | `cortecs/minimax-m2.7` | 197K | | | | | | $0.67 | $3 |
107
108
  | `cortecs/minimax-m3` | 1.0M | | | | | | $0.40 | $2 |
108
- | `cortecs/ministral-14b-2512` | 256K | | | | | | $0.22 | $0.22 |
109
- | `cortecs/ministral-3b-2512` | 256K | | | | | | $0.11 | $0.11 |
110
- | `cortecs/ministral-8b-2512` | 256K | | | | | | $0.17 | $0.17 |
109
+ | `cortecs/ministral-14b-2512` | 256K | | | | | | $0.24 | $0.24 |
110
+ | `cortecs/ministral-3b-2512` | 256K | | | | | | $0.12 | $0.12 |
111
+ | `cortecs/ministral-8b-2512` | 256K | | | | | | $0.18 | $0.18 |
111
112
  | `cortecs/mistral-7b-instruct-v0.2` | 32K | | | | | | $0.16 | $0.22 |
112
113
  | `cortecs/mistral-7b-instruct-v0.3` | 127K | | | | | | $0.11 | $0.11 |
113
114
  | `cortecs/mistral-large-2402` | 32K | | | | | | $4 | $13 |
114
- | `cortecs/mistral-large-2512` | 256K | | | | | | $0.56 | $2 |
115
- | `cortecs/mistral-medium-3.5` | 256K | | | | | | $1 | $7 |
115
+ | `cortecs/mistral-large-2512` | 256K | | | | | | $0.61 | $2 |
116
+ | `cortecs/mistral-medium-3.5` | 256K | | | | | | $2 | $8 |
116
117
  | `cortecs/mistral-nemo-instruct-2407` | 128K | | | | | | $0.14 | $0.14 |
117
118
  | `cortecs/mistral-small-2503` | 128K | | | | | | $0.11 | $0.33 |
118
- | `cortecs/mistral-small-2603` | 262K | | | | | | $0.14 | $0.57 |
119
+ | `cortecs/mistral-small-2603` | 262K | | | | | | $0.16 | $0.63 |
119
120
  | `cortecs/mistral-small-3.2-24b-instruct-2506` | 131K | | | | | | $0.10 | $0.31 |
120
121
  | `cortecs/mixtral-8x7B-instruct-v0.1` | 32K | | | | | | $0.49 | $0.76 |
121
122
  | `cortecs/nemotron-nano-v2-12b` | 128K | | | | | | $0.24 | $0.71 |
@@ -143,7 +144,7 @@ for await (const chunk of stream) {
143
144
  | `cortecs/qwen3.8-flash-next` | 262K | | | | | | $0.20 | $0.50 |
144
145
  | `cortecs/qwen3guard-gen-0.6b` | 32K | | | | | | — | — |
145
146
  | `cortecs/qwen3guard-gen-8b` | 32K | | | | | | — | — |
146
- | `cortecs/voxtral-small-2507` | 32K | | | | | | $0.11 | $0.33 |
147
+ | `cortecs/voxtral-small-2507` | 32K | | | | | | $0.12 | $0.37 |
147
148
 
148
149
  Model availability, capabilities, context windows, and pricing are sourced from [models.dev](https://models.dev) and may change.
149
150
 
@@ -82,7 +82,7 @@ for await (const chunk of stream) {
82
82
  | `deepinfra/Qwen/Qwen3.6-35B-A3B` | 262K | | | | | | $0.10 | $0.95 |
83
83
  | `deepinfra/Qwen/Qwen3.7-Max` | 256K | | | | | | $3 | $8 |
84
84
  | `deepinfra/Qwen/Qwen3.8-2.4T-A95B` | 262K | | | | | | $2 | $6 |
85
- | `deepinfra/Qwen/Qwen3.8-27B` | 262K | | | | | | $0.40 | $3 |
85
+ | `deepinfra/Qwen/Qwen3.8-27B` | 262K | | | | | | $0.20 | $3 |
86
86
  | `deepinfra/Qwen/Qwen3.8-Flash` | 1.0M | | | | | | $0.11 | $0.38 |
87
87
  | `deepinfra/Qwen/Qwen3.8-Max` | 256K | | | | | | $2 | $5 |
88
88
  | `deepinfra/stepfun-ai/Step-3.7-Flash` | 262K | | | | | | $0.20 | $1 |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![DigitalOcean logo](https://models.dev/logos/digitalocean.svg)DigitalOcean
6
6
 
7
- Access 96 DigitalOcean models through Mastra's model router. Authentication is handled automatically using the `DIGITALOCEAN_ACCESS_TOKEN` environment variable.
7
+ Access 97 DigitalOcean models through Mastra's model router. Authentication is handled automatically using the `DIGITALOCEAN_ACCESS_TOKEN` environment variable.
8
8
 
9
9
  Learn more in the [DigitalOcean documentation](https://docs.digitalocean.com/products/gradient-ai-platform/details/models/).
10
10
 
@@ -65,6 +65,7 @@ for await (const chunk of stream) {
65
65
  | `digitalocean/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.08 | $0.25 |
66
66
  | `digitalocean/deepseek-v4-pro` | 1.0M | | | | | | $0.87 | $2 |
67
67
  | `digitalocean/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
68
+ | `digitalocean/deepseek-v4.1-flash` | 1.0M | | | | | | $0.30 | $1 |
68
69
  | `digitalocean/e5-large-v2` | 512 | | | | | | $0.02 | — |
69
70
  | `digitalocean/fal-ai/elevenlabs/tts/multilingual-v2` | — | | | | | | — | — |
70
71
  | `digitalocean/fal-ai/fast-sdxl` | — | | | | | | — | — |
@@ -126,10 +126,10 @@ for await (const chunk of stream) {
126
126
  | `edenai/deepinfra/thinkingmachines/Inkling` | 524K | | | | | | $0.95 | $4 |
127
127
  | `edenai/deepinfra/thinkingmachines/Inkling-Small` | 524K | | | | | | $0.45 | $1 |
128
128
  | `edenai/deepinfra/zai-org/GLM-4.7-Flash` | 203K | | | | | | $0.06 | $0.40 |
129
- | `edenai/deepseek/deepseek-chat` | 131K | | | | | | $0.28 | $0.42 |
130
- | `edenai/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.44 | $1 |
131
- | `edenai/deepseek/deepseek-v4-flash-vision-exp` | 1.0M | | | | | | $0.22 | $0.66 |
132
- | `edenai/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $1 | $4 |
129
+ | `edenai/deepseek/deepseek-chat` | 131K | | | | | | $0.15 | $0.60 |
130
+ | `edenai/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.15 | $0.60 |
131
+ | `edenai/deepseek/deepseek-v4-flash-vision-exp` | 1.0M | | | | | | $0.15 | $0.60 |
132
+ | `edenai/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $0.66 | $2 |
133
133
  | `edenai/fireworks_ai/accounts/fireworks/models/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.22 | $0.66 |
134
134
  | `edenai/fireworks_ai/accounts/fireworks/models/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
135
135
  | `edenai/fireworks_ai/accounts/fireworks/models/inkling` | 1.0M | | | | | | $1 | $4 |
@@ -236,9 +236,9 @@ for await (const chunk of stream) {
236
236
  | `edenai/perplexityai/sonar-deep-research` | 128K | | | | | | $2 | $8 |
237
237
  | `edenai/perplexityai/sonar-pro` | 200K | | | | | | $3 | $15 |
238
238
  | `edenai/perplexityai/sonar-reasoning-pro` | 128K | | | | | | $2 | $8 |
239
- | `edenai/qwen/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.35 | $1 |
240
- | `edenai/qwen/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $3 |
241
- | `edenai/qwen/deepseek-v4.1-flash` | 1.0M | | | | | | $0.30 | $1 |
239
+ | `edenai/qwen/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.22 | $0.66 |
240
+ | `edenai/qwen/deepseek-v4-pro-0813` | 1.0M | | | | | | $0.66 | $2 |
241
+ | `edenai/qwen/deepseek-v4.1-flash` | 1.0M | | | | | | $0.15 | $0.60 |
242
242
  | `edenai/qwen/qwen-max` | 33K | | | | | | $2 | $6 |
243
243
  | `edenai/qwen/qwen-vl-max` | 131K | | | | | | $0.80 | $3 |
244
244
  | `edenai/qwen/qwen-vl-plus` | 131K | | | | | | $0.21 | $0.63 |
@@ -261,9 +261,9 @@ for await (const chunk of stream) {
261
261
  | `edenai/qwen/qwen3.8-max` | 1.0M | | | | | | $2 | $6 |
262
262
  | `edenai/qwen/qwen3.8-max-0902` | 1.0M | | | | | | $2 | $6 |
263
263
  | `edenai/qwen/qwq-plus` | 131K | | | | | | $0.80 | $2 |
264
- | `edenai/scaleway/deepseek-v4-flash-0731` | 256K | | | | | | $0.46 | $0.93 |
264
+ | `edenai/scaleway/deepseek-v4-flash-0731` | 256K | | | | | | $0.46 | $0.92 |
265
265
  | `edenai/scaleway/gemma-3-27b-it` | 40K | | | | | | $0.29 | $0.57 |
266
- | `edenai/scaleway/gpt-oss-120b` | 128K | | | | | | $0.17 | $0.70 |
266
+ | `edenai/scaleway/gpt-oss-120b` | 128K | | | | | | $0.17 | $0.69 |
267
267
  | `edenai/scaleway/llama-3.3-70b-instruct` | 128K | | | | | | $1 | $1 |
268
268
  | `edenai/tensorx/deepseek/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.25 | $0.30 |
269
269
  | `edenai/tensorx/deepseek/deepseek-v4-pro-0813` | 1.0M | | | | | | $2 | $4 |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![EmpirioLabs AI logo](https://models.dev/logos/empiriolabs.svg)EmpirioLabs AI
6
6
 
7
- Access 60 EmpirioLabs AI models through Mastra's model router. Authentication is handled automatically using the `EMPIRIOLABS_API_KEY` environment variable.
7
+ Access 61 EmpirioLabs AI models through Mastra's model router. Authentication is handled automatically using the `EMPIRIOLABS_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [EmpirioLabs AI documentation](https://docs.empiriolabs.ai).
10
10
 
@@ -39,6 +39,7 @@ for await (const chunk of stream) {
39
39
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
40
40
  | -------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
41
41
  | `empiriolabs/deepseek-v3-2` | 128K | | | | | | $0.57 | $2 |
42
+ | `empiriolabs/deepseek-v4-1-flash` | 1.0M | | | | | | $0.30 | $1 |
42
43
  | `empiriolabs/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
43
44
  | `empiriolabs/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.42 | $1 |
44
45
  | `empiriolabs/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![Friendli logo](https://models.dev/logos/friendli.svg)Friendli
6
6
 
7
- Access 6 Friendli models through Mastra's model router. Authentication is handled automatically using the `FRIENDLI_TOKEN` environment variable.
7
+ Access 7 Friendli models through Mastra's model router. Authentication is handled automatically using the `FRIENDLI_TOKEN` environment variable.
8
8
 
9
9
  Learn more in the [Friendli documentation](https://friendli.ai/docs/guides/serverless_endpoints/introduction).
10
10
 
@@ -44,6 +44,7 @@ for await (const chunk of stream) {
44
44
  | `friendli/zai-org/GLM-5.1` | 203K | | | | | | $1 | $4 |
45
45
  | `friendli/zai-org/GLM-5.2` | 1.0M | | | | | | $1 | $4 |
46
46
  | `friendli/zai-org/GLM-5.3` | 1.0M | | | | | | $1 | $4 |
47
+ | `friendli/zai-org/GLM-5.3-Flash` | 1.0M | | | | | | $0.15 | $0.50 |
47
48
 
48
49
  Model availability, capabilities, context windows, and pricing are sourced from [models.dev](https://models.dev) and may change.
49
50
 
@@ -75,7 +76,7 @@ const agent = new Agent({
75
76
  model: ({ requestContext }) => {
76
77
  const useAdvanced = requestContext.task === "complex";
77
78
  return useAdvanced
78
- ? "friendli/zai-org/GLM-5.3"
79
+ ? "friendli/zai-org/GLM-5.3-Flash"
79
80
  : "friendli/MiniMaxAI/MiniMax-M2.5";
80
81
  }
81
82
  });