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

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 (38) hide show
  1. package/.docs/docs/agents/a2a.md +39 -0
  2. package/.docs/docs/agents/skills.md +15 -1
  3. package/.docs/docs/evals/overview.md +16 -4
  4. package/.docs/docs/index.md +1 -1
  5. package/.docs/docs/observability/feedback.md +16 -0
  6. package/.docs/guides/getting-started/quickstart.md +1 -1
  7. package/.docs/models/gateways/neon.md +4 -1
  8. package/.docs/models/gateways/netlify.md +1 -2
  9. package/.docs/models/gateways/openrouter.md +1 -1
  10. package/.docs/models/gateways/vercel.md +8 -2
  11. package/.docs/models/index.md +1 -1
  12. package/.docs/models/providers/cortecs.md +2 -1
  13. package/.docs/models/providers/deepinfra.md +2 -2
  14. package/.docs/models/providers/digitalocean.md +3 -2
  15. package/.docs/models/providers/empiriolabs.md +6 -4
  16. package/.docs/models/providers/hyper.md +4 -5
  17. package/.docs/models/providers/kilo.md +3 -3
  18. package/.docs/models/providers/llmgateway.md +2 -2
  19. package/.docs/models/providers/nano-gpt.md +3 -2
  20. package/.docs/models/providers/neuralwatt.md +2 -1
  21. package/.docs/models/providers/ofox.md +74 -16
  22. package/.docs/models/providers/opencode-go.md +1 -1
  23. package/.docs/models/providers/opencode.md +2 -2
  24. package/.docs/models/providers/vivgrid.md +4 -2
  25. package/.docs/models/providers/wandb.md +1 -1
  26. package/.docs/reference/agents/channels.md +20 -1
  27. package/.docs/reference/client-js/workflows.md +13 -0
  28. package/.docs/reference/file-based-agents/config.md +22 -21
  29. package/.docs/reference/file-based-agents/instructions.md +42 -17
  30. package/.docs/reference/index.md +1 -0
  31. package/.docs/reference/observability/metrics/automatic-metrics.md +10 -8
  32. package/.docs/reference/server/routes.md +25 -11
  33. package/.docs/reference/storage/composite.md +58 -0
  34. package/.docs/reference/tools/bedrock-kb-tool.md +117 -0
  35. package/.docs/reference/voice/google.md +19 -3
  36. package/.docs/reference/workflows/step.md +40 -0
  37. package/CHANGELOG.md +15 -0
  38. package/package.json +5 -5
@@ -57,6 +57,18 @@ A2A represents work as messages and tasks. Messages carry text, file, or structu
57
57
 
58
58
  Tasks are stateful units of work with IDs and lifecycle states. Clients can follow long-running work and send follow-up turns. They can also cancel work or resubscribe after a disconnect.
59
59
 
60
+ ## Protocol versions
61
+
62
+ Mastra supports A2A Protocol v0.3 and v1.0 on the same agent card and execution URLs. The `A2A-Version` request header selects the wire protocol:
63
+
64
+ - Missing, empty, or `0.3`: Uses the existing v0.3 API.
65
+ - `1.0`: Uses the v1.0 API.
66
+ - Any other value: Returns a `VersionNotSupported` protocol error.
67
+
68
+ Existing `A2AAgent` and `MastraClient.getA2A()` integrations continue to use v0.3. Use `MastraClient.getA2AV1()` for v1.0 requests. The v1 client sends `A2A-Version: 1.0` automatically and adds the `tasks/list` operation.
69
+
70
+ Import v1.0 protocol types and codecs from `@mastra/core/a2a/v1`. The existing `@mastra/core/a2a/client` export remains on v0.3.
71
+
60
72
  ## Get started
61
73
 
62
74
  A2A has two common paths in Mastra:
@@ -155,6 +167,33 @@ for await (const event of updates) {
155
167
  }
156
168
  ```
157
169
 
170
+ ### Use the v1.0 client
171
+
172
+ Use `getA2AV1()` to opt into the A2A v1.0 wire protocol. The protocol package provides codecs for creating v1 request values from JSON-shaped input:
173
+
174
+ ```typescript
175
+ import { ListTasksRequest } from '@mastra/core/a2a/v1'
176
+ import { MastraClient } from '@mastra/client-js'
177
+
178
+ const client = new MastraClient({
179
+ baseUrl: 'https://agent.example.com',
180
+ })
181
+
182
+ const a2a = client.getA2AV1('weather-agent')
183
+ const response = await a2a.listTasks(
184
+ ListTasksRequest.fromJSON({
185
+ contextId: 'customer-support',
186
+ pageSize: 20,
187
+ }),
188
+ )
189
+
190
+ for (const task of response.tasks) {
191
+ console.log(task.id, task.status)
192
+ }
193
+ ```
194
+
195
+ The v1.0 client supports `getAgentCard()`, `sendMessage()`, `sendMessageStream()`, `getTask()`, `listTasks()`, `cancelTask()`, and `resubscribeTask()`.
196
+
158
197
  ## Configure subagent calls
159
198
 
160
199
  `A2AAgent` accepts request options for authenticated or constrained environments:
@@ -123,7 +123,21 @@ export const agent = new Agent({
123
123
  })
124
124
  ```
125
125
 
126
- The resolver function receives `{ requestContext }` and returns a `SkillInput[]` array or a `Promise<SkillInput[]>`.
126
+ The resolver function receives `{ requestContext, tracingContext }` and returns a `SkillInput[]` array or a `Promise<SkillInput[]>`.
127
+
128
+ The resolver runs once per `RequestContext`. During an agent execution it runs inside a `resolve-skills` span, and `tracingContext.currentSpan` lets you create child spans for your own work, the same way tools do. The resolver also runs on metadata reads such as `agent.listSkills()` and the server's agent endpoints, where no span exists and `tracingContext.currentSpan` is `undefined`, so keep it fast and guard any span usage:
129
+
130
+ ```typescript
131
+ skills: async ({ requestContext, tracingContext }) => {
132
+ const span = tracingContext?.currentSpan?.createChildSpan({
133
+ type: 'generic',
134
+ name: 'entitlements-lookup',
135
+ })
136
+ const skills = await fetchSkillsFor(requestContext.get('userId'))
137
+ span?.end()
138
+ return skills
139
+ }
140
+ ```
127
141
 
128
142
  See [Request Context](https://mastra.ai/docs/server/request-context) for more on using request context with agents and workflows.
129
143
 
@@ -75,7 +75,7 @@ export const evaluatedAgent = new Agent({
75
75
 
76
76
  ### Adding scorers to workflow steps
77
77
 
78
- You can also add scorers to individual workflow steps to evaluate outputs at specific points in your process:
78
+ You can also add scorers to individual workflow steps to evaluate outputs at specific points in your process. Each scorer receives that step's own input and output, so you can measure quality at each step instead of only scoring the final answer:
79
79
 
80
80
  ```typescript
81
81
  import { createWorkflow, createStep } from "@mastra/core/workflows";
@@ -83,22 +83,34 @@ import { z } from "zod";
83
83
  import { customStepScorer } from "../scorers/custom-step-scorer";
84
84
 
85
85
  const contentStep = createStep({
86
+ id: "content-step",
87
+ inputSchema: z.object({ topic: z.string() }),
88
+ outputSchema: z.object({ content: z.string() }),
86
89
  scorers: {
87
90
  customStepScorer: {
88
91
  scorer: customStepScorer(),
89
92
  sampling: {
90
93
  type: "ratio",
91
94
  rate: 1, // Score every step execution
92
- }
93
- }
95
+ },
96
+ },
97
+ },
98
+ execute: async ({ inputData }) => {
99
+ return { content: await generateContent(inputData.topic) };
94
100
  },
95
101
  });
96
102
 
97
- export const contentWorkflow = createWorkflow({ ... })
103
+ export const contentWorkflow = createWorkflow({
104
+ id: "content-workflow",
105
+ inputSchema: z.object({ topic: z.string() }),
106
+ outputSchema: z.object({ content: z.string() }),
107
+ })
98
108
  .then(contentStep)
99
109
  .commit();
100
110
  ```
101
111
 
112
+ For the step-level `scorers` API, see the [Step class reference](https://mastra.ai/reference/workflows/step).
113
+
102
114
  ### How live evaluations work
103
115
 
104
116
  **Asynchronous execution**: Live evaluations run in the background without blocking your agent responses or workflow execution. This ensures your AI systems maintain their performance while still being monitored.
@@ -132,7 +132,7 @@ npm create mastra@latest
132
132
  **pnpm**:
133
133
 
134
134
  ```bash
135
- pnpm create mastra
135
+ pnpm create mastra@latest
136
136
  ```
137
137
 
138
138
  **Yarn**:
@@ -33,6 +33,22 @@ await mastra.observability.addFeedback({
33
33
  })
34
34
  ```
35
35
 
36
+ ## Find the trace for a message
37
+
38
+ Feedback is usually collected against a message a user has already read, so you need the `traceId` for that message. Assistant messages carry it in `content.metadata`, both in the stream result and when the message is recalled later from memory:
39
+
40
+ ```typescript
41
+ const agent = mastra.getAgent('weatherAgent')
42
+ const memory = await agent.getMemory()
43
+
44
+ const { messages } = await memory!.recall({ threadId, perPage: false })
45
+
46
+ const message = messages.find(m => m.id === messageId)
47
+ const traceId = message?.content.metadata?.traceId
48
+ ```
49
+
50
+ The value is the same trace the run reports as `traceId` on its result, so feedback collected at generation time and feedback collected later against a stored message anchor to the same trace. Messages produced while tracing is disabled have no `traceId`.
51
+
36
52
  ## Create feedback
37
53
 
38
54
  Every `createFeedback()` requires `feedbackType` and `value`. Add `traceId` or `spanId` when the feedback should be anchored to a trace or a specific span. Use `feedbackSource` as optional string metadata, such as `user`, `qa`, `studio`, or `system`.
@@ -27,7 +27,7 @@ npm create mastra@latest
27
27
  **pnpm**:
28
28
 
29
29
  ```bash
30
- pnpm create mastra
30
+ pnpm create mastra@latest
31
31
  ```
32
32
 
33
33
  **Yarn**:
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Neon logo](https://models.dev/logos/neon.svg)Neon
4
4
 
5
- Neon aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 39 models through Mastra's model router.
5
+ Neon aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 42 models through Mastra's model router.
6
6
 
7
7
  Learn more in the [Neon documentation](https://neon.com/docs).
8
8
 
@@ -47,6 +47,8 @@ NEON_AI_GATEWAY_TOKEN=your-gateway-key
47
47
  | `gemini-3-1-flash-lite` |
48
48
  | `gemini-3-1-pro` |
49
49
  | `gemini-3-5-flash` |
50
+ | `gemini-3-5-flash-lite` |
51
+ | `gemini-3-6-flash` |
50
52
  | `gemini-3-flash` |
51
53
  | `gemma-3-12b` |
52
54
  | `glm-5-2` |
@@ -67,6 +69,7 @@ NEON_AI_GATEWAY_TOKEN=your-gateway-key
67
69
  | `gpt-oss-120b` |
68
70
  | `gpt-oss-20b` |
69
71
  | `inkling` |
72
+ | `kimi-k3` |
70
73
  | `llama-4-maverick` |
71
74
  | `meta-llama-3-1-8b-instruct` |
72
75
  | `meta-llama-3-3-70b-instruct` |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Netlify
4
4
 
5
- Netlify AI Gateway provides unified access to multiple providers with built-in caching and observability. Access 67 models through Mastra's model router.
5
+ Netlify AI Gateway provides unified access to multiple providers with built-in caching and observability. Access 66 models through Mastra's model router.
6
6
 
7
7
  Learn more in the [Netlify documentation](https://docs.netlify.com/build/ai-gateway/overview/).
8
8
 
@@ -84,7 +84,6 @@ ANTHROPIC_API_KEY=ant-...
84
84
  | `openai/gpt-5.2-2025-12-11` |
85
85
  | `openai/gpt-5.2-pro` |
86
86
  | `openai/gpt-5.2-pro-2025-12-11` |
87
- | `openai/gpt-5.3-chat-latest` |
88
87
  | `openai/gpt-5.3-codex` |
89
88
  | `openai/gpt-5.4` |
90
89
  | `openai/gpt-5.4-2026-03-05` |
@@ -140,7 +140,7 @@ ANTHROPIC_API_KEY=ant-...
140
140
  | `inclusionai/ling-2.6-1t` |
141
141
  | `inclusionai/ling-2.6-flash` |
142
142
  | `inclusionai/ling-3.0-flash` |
143
- | `inclusionai/ling-3.0-flash:free` |
143
+ | `inclusionai/ling-3.0-tiny:free` |
144
144
  | `inclusionai/ring-2.6-1t` |
145
145
  | `kwaipilot/kat-coder-air-v2.5` |
146
146
  | `kwaipilot/kat-coder-pro-v2` |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Vercel logo](https://models.dev/logos/vercel.svg)Vercel
4
4
 
5
- Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 316 models through Mastra's model router.
5
+ Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 322 models through Mastra's model router.
6
6
 
7
7
  Learn more in the [Vercel documentation](https://ai-sdk.dev/providers/ai-sdk-providers).
8
8
 
@@ -109,6 +109,7 @@ ANTHROPIC_API_KEY=ant-...
109
109
  | `bytedance/seed-1.8` |
110
110
  | `bytedance/seedance-2.0` |
111
111
  | `bytedance/seedance-2.0-fast` |
112
+ | `bytedance/seedance-2.5` |
112
113
  | `bytedance/seedance-v1.0-pro` |
113
114
  | `bytedance/seedance-v1.0-pro-fast` |
114
115
  | `bytedance/seedance-v1.5-pro` |
@@ -130,6 +131,10 @@ ANTHROPIC_API_KEY=ant-...
130
131
  | `deepseek/deepseek-v4-flash` |
131
132
  | `deepseek/deepseek-v4-flash-0731` |
132
133
  | `deepseek/deepseek-v4-pro` |
134
+ | `fish-audio/s1` |
135
+ | `fish-audio/s2-pro` |
136
+ | `fish-audio/s2.1-pro` |
137
+ | `fish-audio/transcribe-1` |
133
138
  | `google/gemini-2.5-flash` |
134
139
  | `google/gemini-2.5-flash-image` |
135
140
  | `google/gemini-2.5-flash-lite` |
@@ -161,7 +166,8 @@ ANTHROPIC_API_KEY=ant-...
161
166
  | `google/veo-3.1-lite-generate-001` |
162
167
  | `inception/mercury-2` |
163
168
  | `inception/mercury-coder-small` |
164
- | `inclusionai/ling-3.0-flash-free` |
169
+ | `inclusionai/ling-3.0-flash` |
170
+ | `inclusionai/ling-3.0-tiny-free` |
165
171
  | `interfaze/interfaze-beta` |
166
172
  | `klingai/kling-v2.5-turbo-i2v` |
167
173
  | `klingai/kling-v2.5-turbo-t2v` |
@@ -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 5378 models from 168 providers through a single API.
5
+ Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 5452 models from 168 providers through a single API.
6
6
 
7
7
  ## Features
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Cortecs logo](https://models.dev/logos/cortecs.svg)Cortecs
4
4
 
5
- Access 105 Cortecs models through Mastra's model router. Authentication is handled automatically using the `CORTECS_API_KEY` environment variable.
5
+ Access 106 Cortecs models through Mastra's model router. Authentication is handled automatically using the `CORTECS_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Cortecs documentation](https://cortecs.ai).
8
8
 
@@ -59,6 +59,7 @@ for await (const chunk of stream) {
59
59
  | `cortecs/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
60
60
  | `cortecs/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.27 | $2 |
61
61
  | `cortecs/gemini-3.5-flash` | 1.0M | | | | | | $1 | $9 |
62
+ | `cortecs/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.33 | $3 |
62
63
  | `cortecs/gemma-3-27b-it` | 131K | | | | | | $0.10 | $0.30 |
63
64
  | `cortecs/gemma-4-26b-a4b-it` | 262K | | | | | | $0.11 | $0.56 |
64
65
  | `cortecs/gemma-4-31b-it` | 262K | | | | | | $0.22 | $0.39 |
@@ -48,10 +48,10 @@ for await (const chunk of stream) {
48
48
  | `deepinfra/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8` | 1.0M | | | | | | $0.20 | $0.80 |
49
49
  | `deepinfra/meta-llama/Llama-4-Scout-17B-16E-Instruct` | 328K | | | | | | $0.10 | $0.30 |
50
50
  | `deepinfra/MiniMaxAI/MiniMax-M2.7` | 197K | | | | | | $0.25 | $1 |
51
- | `deepinfra/MiniMaxAI/MiniMax-M3` | 524K | | | | | | $0.30 | $1 |
51
+ | `deepinfra/MiniMaxAI/MiniMax-M3` | 524K | | | | | | $0.28 | $1 |
52
52
  | `deepinfra/moonshotai/Kimi-K2.5` | 262K | | | | | | $0.45 | $2 |
53
53
  | `deepinfra/moonshotai/Kimi-K2.6` | 262K | | | | | | $0.75 | $4 |
54
- | `deepinfra/moonshotai/Kimi-K2.7-Code` | 262K | | | | | | $0.74 | $4 |
54
+ | `deepinfra/moonshotai/Kimi-K2.7-Code` | 262K | | | | | | $0.68 | $3 |
55
55
  | `deepinfra/moonshotai/Kimi-K3` | 1.0M | | | | | | $3 | $14 |
56
56
  | `deepinfra/nvidia/Nemotron-3-Nano-30B-A3B` | 262K | | | | | | $0.05 | $0.20 |
57
57
  | `deepinfra/openai/gpt-oss-120b` | 131K | | | | | | $0.04 | $0.17 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![DigitalOcean logo](https://models.dev/logos/digitalocean.svg)DigitalOcean
4
4
 
5
- Access 89 DigitalOcean models through Mastra's model router. Authentication is handled automatically using the `DIGITALOCEAN_ACCESS_TOKEN` environment variable.
5
+ Access 90 DigitalOcean models through Mastra's model router. Authentication is handled automatically using the `DIGITALOCEAN_ACCESS_TOKEN` environment variable.
6
6
 
7
7
  Learn more in the [DigitalOcean documentation](https://docs.digitalocean.com/products/gradient-ai-platform/details/models/).
8
8
 
@@ -59,7 +59,8 @@ for await (const chunk of stream) {
59
59
  | `digitalocean/deepseek-4-flash` | 1.0M | | | | | | $0.08 | $0.17 |
60
60
  | `digitalocean/deepseek-r1-distill-llama-70b` | 33K | | | | | | $0.99 | $0.99 |
61
61
  | `digitalocean/deepseek-v3` | 164K | | | | | | — | — |
62
- | `digitalocean/deepseek-v4-pro` | 262K | | | | | | $0.87 | $2 |
62
+ | `digitalocean/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
63
+ | `digitalocean/deepseek-v4-pro` | 1.0M | | | | | | $0.87 | $2 |
63
64
  | `digitalocean/e5-large-v2` | 512 | | | | | | $0.02 | — |
64
65
  | `digitalocean/fal-ai/elevenlabs/tts/multilingual-v2` | — | | | | | | — | — |
65
66
  | `digitalocean/fal-ai/fast-sdxl` | — | | | | | | — | — |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![EmpirioLabs AI logo](https://models.dev/logos/empiriolabs.svg)EmpirioLabs AI
4
4
 
5
- Access 40 EmpirioLabs AI models through Mastra's model router. Authentication is handled automatically using the `EMPIRIOLABS_API_KEY` environment variable.
5
+ Access 42 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
 
@@ -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: "empiriolabs/deepseek-v4-flash"
20
+ model: "empiriolabs/deepseek-v3-2"
21
21
  });
22
22
 
23
23
  // Generate a response
@@ -36,6 +36,7 @@ for await (const chunk of stream) {
36
36
 
37
37
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
38
  | -------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `empiriolabs/deepseek-v3-2` | 128K | | | | | | $0.57 | $2 |
39
40
  | `empiriolabs/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
40
41
  | `empiriolabs/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
41
42
  | `empiriolabs/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
@@ -62,6 +63,7 @@ for await (const chunk of stream) {
62
63
  | `empiriolabs/qwen3-5-397b-a17b` | 256K | | | | | | $0.17 | $1 |
63
64
  | `empiriolabs/qwen3-5-4b` | 262K | | | | | | $0.04 | $0.07 |
64
65
  | `empiriolabs/qwen3-5-9b` | 262K | | | | | | $0.09 | $0.13 |
66
+ | `empiriolabs/qwen3-5-flash` | 1.0M | | | | | | $0.09 | $0.37 |
65
67
  | `empiriolabs/qwen3-5-plus` | 1.0M | | | | | | $0.36 | $2 |
66
68
  | `empiriolabs/qwen3-6-27b` | 256K | | | | | | $0.41 | $2 |
67
69
  | `empiriolabs/qwen3-6-35b-a3b` | 131K | | | | | | $0.07 | $0.42 |
@@ -87,7 +89,7 @@ const agent = new Agent({
87
89
  name: "custom-agent",
88
90
  model: {
89
91
  url: "https://api.empiriolabs.ai/v1",
90
- id: "empiriolabs/deepseek-v4-flash",
92
+ id: "empiriolabs/deepseek-v3-2",
91
93
  apiKey: process.env.EMPIRIOLABS_API_KEY,
92
94
  headers: {
93
95
  "X-Custom-Header": "value"
@@ -106,7 +108,7 @@ const agent = new Agent({
106
108
  const useAdvanced = requestContext.task === "complex";
107
109
  return useAdvanced
108
110
  ? "empiriolabs/step-3-7-flash"
109
- : "empiriolabs/deepseek-v4-flash";
111
+ : "empiriolabs/deepseek-v3-2";
110
112
  }
111
113
  });
112
114
  ```
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Charm Hyper logo](https://models.dev/logos/hyper.svg)Charm Hyper
4
4
 
5
- Access 25 Charm Hyper models through Mastra's model router. Authentication is handled automatically using the `HYPER_API_KEY` environment variable.
5
+ Access 24 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
 
@@ -37,20 +37,19 @@ for await (const chunk of stream) {
37
37
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
38
  | ---------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
39
  | `hyper/deepseek-v4-flash` | 1.0M | | | | | | $0.20 | $0.40 |
40
- | `hyper/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.20 | $0.40 |
40
+ | `hyper/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.15 | $0.30 |
41
41
  | `hyper/deepseek-v4-pro` | 1.0M | | | | | | $2 | $5 |
42
42
  | `hyper/gemma-4-26b-a4b-it` | 256K | | | | | | $0.12 | $0.42 |
43
- | `hyper/glm-5` | 203K | | | | | | $0.85 | $3 |
44
43
  | `hyper/glm-5.1` | 203K | | | | | | $2 | $5 |
45
44
  | `hyper/glm-5.2` | 1.0M | | | | | | $1 | $4 |
46
- | `hyper/gpt-oss-120b` | 131K | | | | | | $0.19 | $0.73 |
45
+ | `hyper/gpt-oss-120b` | 131K | | | | | | $0.18 | $0.71 |
47
46
  | `hyper/kimi-k2.5` | 262K | | | | | | $0.55 | $3 |
48
47
  | `hyper/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
49
48
  | `hyper/kimi-k2.7-code` | 256K | | | | | | $0.95 | $4 |
50
49
  | `hyper/kimi-k3` | 1.0M | | | | | | $3 | $16 |
51
50
  | `hyper/llama-3.3-70b-instruct` | 128K | | | | | | $0.61 | $1 |
52
51
  | `hyper/llama-4-maverick-17b-128e-instruct-fp8` | 430K | | | | | | $0.27 | $0.90 |
53
- | `hyper/minimax-m2.7` | 262K | | | | | | $0.41 | $2 |
52
+ | `hyper/minimax-m2.7` | 262K | | | | | | $0.44 | $2 |
54
53
  | `hyper/minimax-m3` | 512K | | | | | | $0.33 | $1 |
55
54
  | `hyper/qwen3-coder-480b-a35b-instruct-int4-mixed-ar` | 106K | | | | | | $0.57 | $2 |
56
55
  | `hyper/qwen3-next-80b-a3b-instruct` | 262K | | | | | | $0.12 | $1 |
@@ -139,8 +139,8 @@ for await (const chunk of stream) {
139
139
  | `kilo/inception/mercury-2` | 128K | | | | | | $0.25 | $0.75 |
140
140
  | `kilo/inclusionai/ling-2.6-1t` | 262K | | | | | | $0.30 | $3 |
141
141
  | `kilo/inclusionai/ling-2.6-flash` | 262K | | | | | | $0.10 | $0.30 |
142
- | `kilo/inclusionai/ling-3.0-flash` | 131K | | | | | | $0.07 | $0.22 |
143
- | `kilo/inclusionai/ling-3.0-flash:free` | 262K | | | | | | — | — |
142
+ | `kilo/inclusionai/ling-3.0-flash` | 262K | | | | | | $0.06 | $0.18 |
143
+ | `kilo/inclusionai/ling-3.0-tiny:free` | 262K | | | | | | — | — |
144
144
  | `kilo/inclusionai/ring-2.6-1t` | 262K | | | | | | $0.30 | $3 |
145
145
  | `kilo/kilo-auto/balanced` | 1.0M | | | | | | $0.33 | $2 |
146
146
  | `kilo/kilo-auto/efficient` | 1.0M | | | | | | $0.33 | $2 |
@@ -309,7 +309,7 @@ for await (const chunk of stream) {
309
309
  | `kilo/qwen/qwen3-max` | 262K | | | | | | $0.78 | $4 |
310
310
  | `kilo/qwen/qwen3-max-thinking` | 262K | | | | | | $0.78 | $4 |
311
311
  | `kilo/qwen/qwen3-next-80b-a3b-instruct` | 262K | | | | | | $0.10 | $0.78 |
312
- | `kilo/qwen/qwen3-next-80b-a3b-thinking` | 128K | | | | | | $0.15 | $1 |
312
+ | `kilo/qwen/qwen3-next-80b-a3b-thinking` | 262K | | | | | | $0.15 | $1 |
313
313
  | `kilo/qwen/qwen3-vl-235b-a22b-instruct` | 131K | | | | | | $0.26 | $1 |
314
314
  | `kilo/qwen/qwen3-vl-235b-a22b-thinking` | 131K | | | | | | $0.40 | $4 |
315
315
  | `kilo/qwen/qwen3-vl-30b-a3b-instruct` | 262K | | | | | | $0.13 | $0.52 |
@@ -86,7 +86,7 @@ for await (const chunk of stream) {
86
86
  | `llmgateway/glm-4.7-flashx` | 200K | | | | | | $0.07 | $0.40 |
87
87
  | `llmgateway/glm-5` | 203K | | | | | | $0.72 | $2 |
88
88
  | `llmgateway/glm-5.1` | 205K | | | | | | $0.93 | $3 |
89
- | `llmgateway/glm-5.2` | 1.0M | | | | | | $0.80 | $3 |
89
+ | `llmgateway/glm-5.2` | 1.0M | | | | | | $0.55 | $2 |
90
90
  | `llmgateway/gpt-3.5-turbo` | 16K | | | | | | $0.50 | $2 |
91
91
  | `llmgateway/gpt-4` | 8K | | | | | | $30 | $60 |
92
92
  | `llmgateway/gpt-4-turbo` | 128K | | | | | | $10 | $30 |
@@ -100,7 +100,6 @@ for await (const chunk of stream) {
100
100
  | `llmgateway/gpt-4o-search-preview` | 128K | | | | | | $3 | $10 |
101
101
  | `llmgateway/gpt-4o-transcribe` | 16K | | | | | | $3 | $10 |
102
102
  | `llmgateway/gpt-5` | 400K | | | | | | $1 | $10 |
103
- | `llmgateway/gpt-5-chat-latest` | 400K | | | | | | $1 | $10 |
104
103
  | `llmgateway/gpt-5-mini` | 400K | | | | | | $0.25 | $2 |
105
104
  | `llmgateway/gpt-5-nano` | 400K | | | | | | $0.05 | $0.40 |
106
105
  | `llmgateway/gpt-5-pro` | 400K | | | | | | $15 | $120 |
@@ -172,6 +171,7 @@ for await (const chunk of stream) {
172
171
  | `llmgateway/mistral-large-latest` | 128K | | | | | | $4 | $12 |
173
172
  | `llmgateway/mistral-small-2506` | 128K | | | | | | $0.10 | $0.30 |
174
173
  | `llmgateway/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
174
+ | `llmgateway/muse-spark-1.2` | 1.0M | | | | | | $1 | $4 |
175
175
  | `llmgateway/nemotron-3-nano-30b` | 262K | | | | | | $0.06 | $0.24 |
176
176
  | `llmgateway/nemotron-3-nano-omni` | 262K | | | | | | $0.06 | $0.24 |
177
177
  | `llmgateway/nemotron-3-super-120b` | 262K | | | | | | $0.30 | $0.90 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![NanoGPT logo](https://models.dev/logos/nano-gpt.svg)NanoGPT
4
4
 
5
- Access 617 NanoGPT models through Mastra's model router. Authentication is handled automatically using the `NANO_GPT_API_KEY` environment variable.
5
+ Access 618 NanoGPT models through Mastra's model router. Authentication is handled automatically using the `NANO_GPT_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [NanoGPT documentation](https://docs.nano-gpt.com).
8
8
 
@@ -517,6 +517,7 @@ for await (const chunk of stream) {
517
517
  | `nano-gpt/qwen3.7-plus:thinking` | 984K | | | | | | $0.40 | $2 |
518
518
  | `nano-gpt/qwen3.8-max` | 991K | | | | | | $2 | $6 |
519
519
  | `nano-gpt/qwen3.8-max-preview` | 991K | | | | | | $2 | $5 |
520
+ | `nano-gpt/qwen3.8-max:thinking` | 991K | | | | | | $2 | $6 |
520
521
  | `nano-gpt/ReadyArt/MS3.2-The-Omega-Directive-24B-Unslop-v2.0` | 16K | | | | | | $0.50 | $0.50 |
521
522
  | `nano-gpt/sakana/fugu-ultra` | 1.0M | | | | | | $5 | $32 |
522
523
  | `nano-gpt/sakana/fugu-ultra-v1.1` | 1.0M | | | | | | $5 | $32 |
@@ -583,7 +584,7 @@ for await (const chunk of stream) {
583
584
  | `nano-gpt/TheDrummer/Cydonia-24B-v2` | 16K | | | | | | $0.10 | $0.12 |
584
585
  | `nano-gpt/TheDrummer/Cydonia-24B-v4` | 16K | | | | | | $0.20 | $0.24 |
585
586
  | `nano-gpt/TheDrummer/Cydonia-24B-v4.1` | 131K | | | | | | $0.35 | $0.55 |
586
- | `nano-gpt/TheDrummer/Cydonia-24B-v4.3` | 33K | | | | | | $0.10 | $0.12 |
587
+ | `nano-gpt/TheDrummer/Cydonia-24B-v4.3` | 33K | | | | | | $0.12 | $0.15 |
587
588
  | `nano-gpt/TheDrummer/Magidonia-24B-v4.3` | 33K | | | | | | $0.10 | $0.12 |
588
589
  | `nano-gpt/TheDrummer/Rocinante-12B-v1.1` | 16K | | | | | | $0.41 | $0.59 |
589
590
  | `nano-gpt/TheDrummer/skyfall-36b-v2` | 32K | | | | | | $0.55 | $0.80 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Neuralwatt logo](https://models.dev/logos/neuralwatt.svg)Neuralwatt
4
4
 
5
- Access 21 Neuralwatt models through Mastra's model router. Authentication is handled automatically using the `NEURALWATT_API_KEY` environment variable.
5
+ Access 22 Neuralwatt models through Mastra's model router. Authentication is handled automatically using the `NEURALWATT_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Neuralwatt documentation](https://portal.neuralwatt.com/docs).
8
8
 
@@ -50,6 +50,7 @@ for await (const chunk of stream) {
50
50
  | `neuralwatt/kimi-k2.6-flex` | 262K | | | | | | $0.34 | $2 |
51
51
  | `neuralwatt/kimi-k2.7-code-flex` | 262K | | | | | | $0.47 | $2 |
52
52
  | `neuralwatt/kimi-k3` | 1.0M | | | | | | $3 | $15 |
53
+ | `neuralwatt/kimi-k3-fast` | 1.0M | | | | | | $3 | $15 |
53
54
  | `neuralwatt/moonshotai/Kimi-K2.5` | 262K | | | | | | $0.52 | $3 |
54
55
  | `neuralwatt/moonshotai/Kimi-K2.6` | 262K | | | | | | $0.69 | $3 |
55
56
  | `neuralwatt/moonshotai/Kimi-K2.7-Code` | 262K | | | | | | $0.95 | $4 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Ofox logo](https://models.dev/logos/ofox.svg)Ofox
4
4
 
5
- Access 13 Ofox models through Mastra's model router. Authentication is handled automatically using the `OFOX_API_KEY` environment variable.
5
+ Access 71 Ofox models through Mastra's model router. Authentication is handled automatically using the `OFOX_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Ofox documentation](https://ofox.ai/docs).
8
8
 
@@ -34,21 +34,79 @@ 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
- | `ofox/anthropic/claude-fable-5` | 1.0M | | | | | | $10 | $50 |
40
- | `ofox/anthropic/claude-opus-4.8` | 1.0M | | | | | | $5 | $25 |
41
- | `ofox/anthropic/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
42
- | `ofox/bailian/qwen3.7-max` | 1.0M | | | | | | $3 | $8 |
43
- | `ofox/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $0.45 | $0.88 |
44
- | `ofox/google/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
45
- | `ofox/moonshotai/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
46
- | `ofox/openai/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
47
- | `ofox/openai/gpt-5.6-luna` | 1.1M | | | | | | $0.20 | $1 |
48
- | `ofox/openai/gpt-5.6-sol` | 1.1M | | | | | | $5 | $30 |
49
- | `ofox/openai/gpt-5.6-terra` | 1.1M | | | | | | $2 | $12 |
50
- | `ofox/x-ai/grok-4.3` | 1.0M | | | | | | $1 | $3 |
51
- | `ofox/z-ai/glm-5.2` | 1.0M | | | | | | $1 | $4 |
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | ------------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `ofox/anthropic/claude-fable-5` | 1.0M | | | | | | $10 | $50 |
40
+ | `ofox/anthropic/claude-haiku-4.5` | 200K | | | | | | $1 | $5 |
41
+ | `ofox/anthropic/claude-opus-4.5` | 200K | | | | | | $5 | $25 |
42
+ | `ofox/anthropic/claude-opus-4.6` | 1.0M | | | | | | $5 | $25 |
43
+ | `ofox/anthropic/claude-opus-4.7` | 1.0M | | | | | | $5 | $25 |
44
+ | `ofox/anthropic/claude-opus-4.8` | 1.0M | | | | | | $5 | $25 |
45
+ | `ofox/anthropic/claude-opus-5` | 1.0M | | | | | | $5 | $25 |
46
+ | `ofox/anthropic/claude-sonnet-4.6` | 1.0M | | | | | | $3 | $15 |
47
+ | `ofox/anthropic/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
48
+ | `ofox/bailian/qwen-flash` | 1.0M | | | | | | $0.02 | $0.22 |
49
+ | `ofox/bailian/qwen-max` | 33K | | | | | | $0.35 | $1 |
50
+ | `ofox/bailian/qwen-turbo` | 128K | | | | | | $0.05 | $0.09 |
51
+ | `ofox/bailian/qwen-vl-max` | 131K | | | | | | $0.23 | $0.58 |
52
+ | `ofox/bailian/qwen3-coder-flash` | 1.0M | | | | | | $0.50 | $3 |
53
+ | `ofox/bailian/qwen3-coder-next` | 262K | | | | | | $0.20 | $2 |
54
+ | `ofox/bailian/qwen3-coder-plus` | 1.0M | | | | | | $2 | $9 |
55
+ | `ofox/bailian/qwen3-max` | 262K | | | | | | $0.36 | $1 |
56
+ | `ofox/bailian/qwen3.5-122b-a10b` | 256K | | | | | | $0.29 | $2 |
57
+ | `ofox/bailian/qwen3.5-27b` | 262K | | | | | | $0.29 | $2 |
58
+ | `ofox/bailian/qwen3.5-397b-a17b` | 256K | | | | | | $0.55 | $4 |
59
+ | `ofox/bailian/qwen3.5-flash` | 1.0M | | | | | | $0.10 | $0.40 |
60
+ | `ofox/bailian/qwen3.5-plus` | 1.0M | | | | | | $0.40 | $2 |
61
+ | `ofox/bailian/qwen3.6-27b` | 256K | | | | | | $0.60 | $4 |
62
+ | `ofox/bailian/qwen3.6-flash` | 1.0M | | | | | | $0.25 | $2 |
63
+ | `ofox/bailian/qwen3.6-max-preview` | 262K | | | | | | $2 | $12 |
64
+ | `ofox/bailian/qwen3.6-plus` | 1.0M | | | | | | $0.50 | $3 |
65
+ | `ofox/bailian/qwen3.7-max` | 1.0M | | | | | | $3 | $8 |
66
+ | `ofox/bailian/qwen3.7-plus` | 1.0M | | | | | | $0.40 | $2 |
67
+ | `ofox/bailian/qwen3.8-max` | 1.0M | | | | | | $2 | $6 |
68
+ | `ofox/deepseek/deepseek-v3.2` | 128K | | | | | | $0.29 | $0.43 |
69
+ | `ofox/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
70
+ | `ofox/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $0.45 | $0.88 |
71
+ | `ofox/google/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
72
+ | `ofox/google/gemini-2.5-flash-lite` | 1.0M | | | | | | $0.10 | $0.40 |
73
+ | `ofox/google/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
74
+ | `ofox/google/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
75
+ | `ofox/google/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
76
+ | `ofox/google/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
77
+ | `ofox/google/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
78
+ | `ofox/google/gemini-3.6-flash` | 1.0M | | | | | | $2 | $8 |
79
+ | `ofox/moonshotai/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
80
+ | `ofox/moonshotai/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
81
+ | `ofox/moonshotai/kimi-k2.7-code-highspeed` | 262K | | | | | | $2 | $8 |
82
+ | `ofox/moonshotai/kimi-k3` | 1.0M | | | | | | $3 | $15 |
83
+ | `ofox/openai/gpt-4.1` | 1.0M | | | | | | $2 | $8 |
84
+ | `ofox/openai/gpt-4.1-mini` | 1.0M | | | | | | $0.40 | $2 |
85
+ | `ofox/openai/gpt-4o` | 128K | | | | | | $3 | $10 |
86
+ | `ofox/openai/gpt-4o-mini` | 128K | | | | | | $0.15 | $0.60 |
87
+ | `ofox/openai/gpt-5` | 400K | | | | | | $1 | $10 |
88
+ | `ofox/openai/gpt-5-mini` | 256K | | | | | | $0.25 | $2 |
89
+ | `ofox/openai/gpt-5.1` | 400K | | | | | | $1 | $10 |
90
+ | `ofox/openai/gpt-5.1-codex-max` | 256K | | | | | | $1 | $10 |
91
+ | `ofox/openai/gpt-5.1-codex-mini` | 256K | | | | | | $0.25 | $2 |
92
+ | `ofox/openai/gpt-5.2` | 400K | | | | | | $2 | $14 |
93
+ | `ofox/openai/gpt-5.2-codex` | 400K | | | | | | $2 | $14 |
94
+ | `ofox/openai/gpt-5.4-mini` | 400K | | | | | | $0.75 | $5 |
95
+ | `ofox/openai/gpt-5.4-nano` | 400K | | | | | | $0.20 | $1 |
96
+ | `ofox/openai/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
97
+ | `ofox/openai/gpt-5.6-luna` | 1.1M | | | | | | $0.20 | $1 |
98
+ | `ofox/openai/gpt-5.6-sol` | 1.1M | | | | | | $5 | $30 |
99
+ | `ofox/openai/gpt-5.6-terra` | 1.1M | | | | | | $2 | $12 |
100
+ | `ofox/x-ai/grok-4.1-fast` | 2.0M | | | | | | $0.20 | $0.50 |
101
+ | `ofox/x-ai/grok-4.20` | 2.0M | | | | | | $4 | $12 |
102
+ | `ofox/x-ai/grok-4.3` | 1.0M | | | | | | $1 | $3 |
103
+ | `ofox/z-ai/glm-4.6` | 205K | | | | | | $0.40 | $2 |
104
+ | `ofox/z-ai/glm-4.7` | 205K | | | | | | $0.40 | $2 |
105
+ | `ofox/z-ai/glm-4.7-flashx` | 200K | | | | | | $0.07 | $0.43 |
106
+ | `ofox/z-ai/glm-5` | 205K | | | | | | $1 | $3 |
107
+ | `ofox/z-ai/glm-5-turbo` | 200K | | | | | | $1 | $4 |
108
+ | `ofox/z-ai/glm-5.1` | 200K | | | | | | $1 | $4 |
109
+ | `ofox/z-ai/glm-5.2` | 1.0M | | | | | | $1 | $4 |
52
110
 
53
111
  ## Advanced configuration
54
112