@mastra/mcp-docs-server 1.2.19-alpha.3 → 1.2.19-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 (32) hide show
  1. package/.docs/docs/evals/overview.md +33 -1
  2. package/.docs/docs/observability/integrations/exporters/mastra-storage.md +11 -8
  3. package/.docs/integrations/sandboxes/e2b.md +2 -0
  4. package/.docs/integrations/tools/parallel.md +240 -0
  5. package/.docs/integrations.md +1 -0
  6. package/.docs/models/gateways/merge-gateway.md +2 -1
  7. package/.docs/models/gateways/netlify.md +1 -1
  8. package/.docs/models/gateways/openrouter.md +6 -3
  9. package/.docs/models/gateways/vercel.md +3 -1
  10. package/.docs/models/index.md +1 -1
  11. package/.docs/models/providers/crof.md +3 -8
  12. package/.docs/models/providers/crossmodel.md +56 -55
  13. package/.docs/models/providers/deepseek.md +8 -7
  14. package/.docs/models/providers/digitalocean.md +1 -1
  15. package/.docs/models/providers/edenai.md +10 -8
  16. package/.docs/models/providers/hyper.md +3 -3
  17. package/.docs/models/providers/kilo.md +17 -12
  18. package/.docs/models/providers/llmgateway-providers.md +7 -3
  19. package/.docs/models/providers/llmgateway.md +1 -3
  20. package/.docs/models/providers/nano-gpt.md +5 -2
  21. package/.docs/models/providers/nvidia.md +3 -1
  22. package/.docs/models/providers/ofox.md +114 -110
  23. package/.docs/models/providers/opencode-go.md +25 -24
  24. package/.docs/models/providers/opencode.md +1 -1
  25. package/.docs/models/providers/scaleway.md +2 -1
  26. package/.docs/reference/ai-sdk/handle-chat-stream.md +11 -0
  27. package/.docs/reference/ai-sdk/with-sse-heartbeat.md +47 -0
  28. package/.docs/reference/index.md +1 -0
  29. package/.docs/reference/streaming/ChunkType.md +29 -1
  30. package/.docs/reference/workspace/workspace-class.md +13 -1
  31. package/CHANGELOG.md +15 -0
  32. package/package.json +5 -5
@@ -115,13 +115,45 @@ For the step-level `scorers` API, see the [Step class reference](https://mastra.
115
115
 
116
116
  **Asynchronous execution**: Live evaluations run in the background without blocking your agent responses or workflow execution. Your AI systems remain responsive while live evaluations monitor them.
117
117
 
118
- **Sampling control**: The `sampling.rate` parameter (0-1) controls what percentage of outputs get scored:
118
+ **Sampling control**: The `sampling.rate` parameter (0-1) controls what fraction of outputs get scored:
119
119
 
120
120
  - `1.0`: Score every single response (100%)
121
121
  - `0.5`: Score half of all responses (50%)
122
122
  - `0.1`: Score 10% of responses
123
123
  - `0.0`: Disable scoring
124
124
 
125
+ Sampling is deterministic per trace: the decision is derived from the trace ID, not drawn at random. In practice:
126
+
127
+ - Scorers configured at the same rate score the same traces, so their scores are comparable on shared traffic.
128
+ - Re-running the same trace produces the same sampling decision, so sampled coverage is reproducible.
129
+
130
+ When a run has no trace (observability not configured), the decision is derived from the run ID instead. If [trace sampling](https://mastra.ai/docs/observability/tracing/overview) declined the trace, scorers skip that run entirely, so scores aren't created for traces that were never stored.
131
+
132
+ **Eligibility filters**: The optional `filter` parameter restricts which runs a scorer is eligible for, using a declarative predicate over the run's context. Filters are evaluated before sampling, so `sampling.rate` applies only to runs that match the filter:
133
+
134
+ ```typescript
135
+ export const myAgent = new Agent({
136
+ // ...
137
+ scorers: {
138
+ relevancy: {
139
+ scorer: createAnswerRelevancyScorer({ model: 'openai/gpt-5-mini' }),
140
+ filter: {
141
+ op: 'eq',
142
+ left: { path: 'requestContext.plan' },
143
+ right: { literal: 'enterprise' },
144
+ },
145
+ sampling: { type: 'ratio', rate: 0.1 },
146
+ },
147
+ },
148
+ })
149
+ ```
150
+
151
+ This scores 10% of enterprise-plan traffic and none of the rest. To score different segments at different rates, bind the same scorer twice with complementary filters.
152
+
153
+ Predicates can reference `requestContext.*`, `entity.*`, `entityType`, `source`, `threadId`, `resourceId`, and `projectId`. They support comparisons (`eq`, `ne`, `lt`, `lte`, `gt`, `gte`), membership (`in`, `notIn`), existence (`exists`, `notExists`), truthiness (`truthy`, `falsy`), and boolean composition (`and`, `or`, `not`). A filter that references an unknown root fails at agent construction rather than silently skipping scoring at runtime. Filters are plain JSON, so they're unaffected by durable agent state serialization.
154
+
155
+ Eligibility filters decide _whether a scorer runs_; to filter _which messages a scorer sees_ once it runs, use [`filterRun()`](https://mastra.ai/reference/evals/filter-run).
156
+
125
157
  **Automatic storage**: All scoring results are automatically stored in the `mastra_scorers` table in your configured database, allowing you to analyze performance trends over time.
126
158
 
127
159
  ## Score persistence
@@ -116,14 +116,17 @@ If you set the strategy to `'auto'`, the `MastraStorageExporter` automatically s
116
116
 
117
117
  ### Providers with Observability Support
118
118
 
119
- | Storage Provider | Preferred Strategy | Supported Strategies | Recommended Use |
120
- | --------------------------------------------------------------------- | ------------------ | ------------------------------- | ------------------------------------- |
121
- | **[ClickHouse](https://mastra.ai/integrations/databases/clickhouse)** | insert-only | insert-only | Production (high-volume) |
122
- | **[PostgreSQL](https://mastra.ai/integrations/databases/postgresql)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
123
- | **[MSSQL](https://mastra.ai/integrations/databases/mssql)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
124
- | **[MongoDB](https://mastra.ai/integrations/databases/mongodb)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
125
- | **[OracleDB](https://mastra.ai/integrations/databases/oracledb)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
126
- | **[libSQL](https://mastra.ai/integrations/databases/libsql)** | batch-with-updates | batch-with-updates, insert-only | Default storage, good for development |
119
+ | Storage Provider | Preferred Strategy | Supported Strategies | Recommended Use |
120
+ | ----------------------------------------------------------------------------- | ------------------ | ------------------------------- | ------------------------------------- |
121
+ | **[ClickHouse](https://mastra.ai/integrations/databases/clickhouse)** | insert-only | insert-only | Production (high-volume) |
122
+ | **[PostgresStore](https://mastra.ai/integrations/databases/postgresql)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
123
+ | **[PostgresStoreVNext](https://mastra.ai/integrations/databases/postgresql)** | insert-only | insert-only | Production (high-volume) |
124
+ | **[MSSQL](https://mastra.ai/integrations/databases/mssql)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
125
+ | **[MongoDB](https://mastra.ai/integrations/databases/mongodb)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
126
+ | **[OracleDB](https://mastra.ai/integrations/databases/oracledb)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
127
+ | **[libSQL](https://mastra.ai/integrations/databases/libsql)** | batch-with-updates | batch-with-updates, insert-only | Default storage, good for development |
128
+
129
+ > **Note:** Under `insert-only`, only completed spans are persisted, and span start and update events are ignored. A trace therefore becomes visible in Studio only after its root span ends, and filtering traces by `status: 'running'` returns no results. `PostgresStoreVNext` supports `insert-only` exclusively, so an explicit `realtime` or `batch-with-updates` strategy falls back to `insert-only`.
127
130
 
128
131
  ### Providers without Observability Support
129
132
 
@@ -60,6 +60,8 @@ const agent = new Agent({
60
60
 
61
61
  **timeout** (`number`): Execution timeout in milliseconds (Default: `300000 (5 minutes)`)
62
62
 
63
+ **lifecycle** (`SandboxLifecycle`): Controls what happens when the sandbox timeout is reached. Defaults to pausing the sandbox so the next start resumes it. Pass { onTimeout: 'kill' } to destroy idle sandboxes instead, which suits stateless workspaces whose data is persisted outside the sandbox. An explicit stop() always pauses, regardless of this setting. (Default: `{ onTimeout: 'pause' }`)
64
+
63
65
  **template** (`string | TemplateBuilder | function`): Sandbox template specification. Can be a template ID string, a TemplateBuilder, or a function that customizes the default template.
64
66
 
65
67
  **env** (`Record<string, string>`): Environment variables to set in the sandbox
@@ -0,0 +1,240 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # Parallel
4
+
5
+ The `@mastra/parallel` package exposes [Parallel Search](https://docs.parallel.ai/search/search-quickstart) and [Extract](https://docs.parallel.ai/search/extract-quickstart) as Mastra-compatible tools. Each factory returns a tool created with [`createTool()`](https://mastra.ai/reference/tools/create-tool) and a typed Zod input and output schema.
6
+
7
+ ## Installation
8
+
9
+ **npm**:
10
+
11
+ ```bash
12
+ npm install @mastra/parallel parallel-web zod
13
+ ```
14
+
15
+ **pnpm**:
16
+
17
+ ```bash
18
+ pnpm add @mastra/parallel parallel-web zod
19
+ ```
20
+
21
+ **Yarn**:
22
+
23
+ ```bash
24
+ yarn add @mastra/parallel parallel-web zod
25
+ ```
26
+
27
+ **Bun**:
28
+
29
+ ```bash
30
+ bun add @mastra/parallel parallel-web zod
31
+ ```
32
+
33
+ Set `PARALLEL_API_KEY` in your environment. You can also pass an API key directly to any factory.
34
+
35
+ ## Quick start
36
+
37
+ Use `createParallelTools()` to create both tools with shared client configuration:
38
+
39
+ ```typescript
40
+ import { createParallelTools } from '@mastra/parallel'
41
+
42
+ export const parallelTools = createParallelTools()
43
+ // Or pass an explicit API key:
44
+ // export const parallelTools = createParallelTools({ apiKey: 'parallel-api-key' })
45
+ ```
46
+
47
+ The returned object contains `parallelSearch` and `parallelExtract`.
48
+
49
+ Create either tool separately when an agent doesn't need both:
50
+
51
+ ```typescript
52
+ import { createParallelExtractTool, createParallelSearchTool } from '@mastra/parallel'
53
+
54
+ export const searchTool = createParallelSearchTool()
55
+ export const extractTool = createParallelExtractTool({ apiKey: 'parallel-api-key' })
56
+ ```
57
+
58
+ The client isn't initialized until the tool executes. A missing API key therefore fails at execution time with a configuration error.
59
+
60
+ ## Configuration
61
+
62
+ All factories accept `ParallelClientOptions`, an alias of `ClientOptions` from the official `parallel-web` client:
63
+
64
+ **apiKey** (`string`): Parallel API key. Falls back to the PARALLEL\_API\_KEY environment variable.
65
+
66
+ **baseURL** (`string`): Override the Parallel API base URL. The client also reads PARALLEL\_BASE\_URL.
67
+
68
+ **timeout** (`number`): Timeout in milliseconds for one request attempt.
69
+
70
+ **fetch** (`Fetch`): Custom fetch implementation.
71
+
72
+ **fetchOptions** (`RequestInit`): Additional options passed to each fetch call.
73
+
74
+ **maxRetries** (`number`): Maximum retries for temporary failures. (Default: `2`)
75
+
76
+ **defaultHeaders** (`HeadersLike`): Headers included with every request.
77
+
78
+ **defaultQuery** (`Record<string, string | undefined>`): Query parameters included with every request.
79
+
80
+ **logLevel** (`LogLevel`): Client log level. Falls back to PARALLEL\_LOG, then warn.
81
+
82
+ **logger** (`Logger`): Client logger implementation.
83
+
84
+ The package also exports `getParallelClient()` for applications that need the configured official client directly.
85
+
86
+ ## `createParallelSearchTool()`
87
+
88
+ Creates the `parallel-search` tool. Search returns ranked URLs and excerpts focused on the supplied queries and objective.
89
+
90
+ ```typescript
91
+ import { createParallelSearchTool } from '@mastra/parallel'
92
+
93
+ const searchTool = createParallelSearchTool()
94
+ ```
95
+
96
+ ### Search input
97
+
98
+ **searchQueries** (`string[]`): One or more concise keyword queries. Parallel recommends 2-3 queries of 3-6 words each.
99
+
100
+ **objective** (`string`): Self-contained description of the goal driving the search.
101
+
102
+ **mode** (`'turbo' | 'fast' | 'basic' | 'advanced'`): Search mode. (Default: `'advanced'`)
103
+
104
+ **clientModel** (`string`): Model that will consume the results. Parallel uses it to tailor response defaults.
105
+
106
+ **maxResults** (`number`): Maximum number of results to return.
107
+
108
+ **excerptMaxCharsPerResult** (`number`): Maximum excerpt characters for each result.
109
+
110
+ **maxCharsTotal** (`number`): Maximum excerpt characters across all results.
111
+
112
+ **location** (`string`): ISO 3166-1 alpha-2 country code for geo-targeted results.
113
+
114
+ **includeDomains** (`string[]`): Only return results from these domains. Include and exclude lists can contain at most 200 domains combined.
115
+
116
+ **excludeDomains** (`string[]`): Exclude results from these domains. Include and exclude lists can contain at most 200 domains combined.
117
+
118
+ **afterDate** (`string`): Only return content published on or after this YYYY-MM-DD date.
119
+
120
+ **fetchPolicy** (`FetchPolicy`): Controls live fetching and cached-content fallback.
121
+
122
+ **fetchPolicy.maxAgeSeconds** (`number`): Maximum cached-content age before a live fetch. The minimum is 600 seconds.
123
+
124
+ **fetchPolicy.timeoutSeconds** (`number`): Timeout for a live fetch.
125
+
126
+ **fetchPolicy.disableCacheFallback** (`boolean`): Return an error instead of older cached content when a live fetch fails.
127
+
128
+ **sessionId** (`string`): Session identifier shared across related Search and Extract calls.
129
+
130
+ ### Search output
131
+
132
+ Search returns `searchId`, `sessionId`, and `results`. Optional `usage` and `warnings` arrays preserve metadata from Parallel.
133
+
134
+ **searchId** (`string`): Parallel Search request ID.
135
+
136
+ **sessionId** (`string`): Session ID returned by Parallel.
137
+
138
+ **results** (`SearchResult[]`): Results ordered by decreasing relevance.
139
+
140
+ **results.url** (`string`): Result URL.
141
+
142
+ **results.title** (`string`): Page title.
143
+
144
+ **results.publishDate** (`string`): Page publication date.
145
+
146
+ **results.excerpts** (`string[]`): Relevant Markdown excerpts.
147
+
148
+ **usage** (`UsageItem[]`): SKU names and counts for the request.
149
+
150
+ **warnings** (`Warning[]`): Validation or request warnings from Parallel.
151
+
152
+ ## `createParallelExtractTool()`
153
+
154
+ Creates the `parallel-extract` tool. Extract returns relevant excerpts or full content for up to 20 public URLs and reports per-URL failures separately.
155
+
156
+ ```typescript
157
+ import { createParallelExtractTool } from '@mastra/parallel'
158
+
159
+ const extractTool = createParallelExtractTool()
160
+ ```
161
+
162
+ ### Extract input
163
+
164
+ **urls** (`string[]`): One to 20 URLs to extract.
165
+
166
+ **objective** (`string`): Information to focus on while extracting.
167
+
168
+ **searchQueries** (`string[]`): Keyword queries used with the objective to focus excerpts.
169
+
170
+ **clientModel** (`string`): Model that will consume the results. Parallel uses it to tailor response defaults.
171
+
172
+ **excerptMaxCharsPerResult** (`number`): Maximum excerpt characters for each URL.
173
+
174
+ **fullContent** (`boolean | number`): Return full page content. Pass a number to cap characters for each URL.
175
+
176
+ **maxCharsTotal** (`number`): Maximum excerpt characters across all results.
177
+
178
+ **fetchPolicy** (`FetchPolicy`): Controls live fetching and cached-content fallback.
179
+
180
+ **fetchPolicy.maxAgeSeconds** (`number`): Maximum cached-content age before a live fetch. The minimum is 600 seconds.
181
+
182
+ **fetchPolicy.timeoutSeconds** (`number`): Timeout for a live fetch.
183
+
184
+ **fetchPolicy.disableCacheFallback** (`boolean`): Return an error instead of older cached content when a live fetch fails.
185
+
186
+ **sessionId** (`string`): Session identifier shared across related Search and Extract calls.
187
+
188
+ ### Extract output
189
+
190
+ **extractId** (`string`): Parallel Extract request ID.
191
+
192
+ **sessionId** (`string`): Session ID returned by Parallel.
193
+
194
+ **results** (`ExtractResult[]`): Successful URL results.
195
+
196
+ **results.url** (`string`): Extracted URL.
197
+
198
+ **results.title** (`string`): Page title.
199
+
200
+ **results.publishDate** (`string`): Page publication date.
201
+
202
+ **results.excerpts** (`string[]`): Relevant Markdown excerpts.
203
+
204
+ **results.fullContent** (`string`): Full Markdown content when requested.
205
+
206
+ **errors** (`ExtractError[]`): Requested URLs that weren't returned as results.
207
+
208
+ **errors.url** (`string`): URL that failed.
209
+
210
+ **errors.errorType** (`string`): Parallel error type.
211
+
212
+ **errors.httpStatusCode** (`number`): HTTP status code when available.
213
+
214
+ **errors.content** (`string`): Response content when available.
215
+
216
+ **usage** (`UsageItem[]`): SKU names and counts for the request.
217
+
218
+ **warnings** (`Warning[]`): Validation or request warnings from Parallel.
219
+
220
+ ## Use the tools with an agent
221
+
222
+ ```typescript
223
+ import { Agent } from '@mastra/core/agent'
224
+ import { createParallelTools } from '@mastra/parallel'
225
+
226
+ export const researchAgent = new Agent({
227
+ id: 'research-agent',
228
+ name: 'Research Agent',
229
+ model: 'anthropic/claude-sonnet-4-6',
230
+ instructions:
231
+ 'Search the web for current sources, then extract relevant content from the best pages.',
232
+ tools: createParallelTools(),
233
+ })
234
+ ```
235
+
236
+ ## Related
237
+
238
+ - [Parallel Search documentation](https://docs.parallel.ai/search/search-quickstart)
239
+ - [Parallel Extract documentation](https://docs.parallel.ai/search/extract-quickstart)
240
+ - [`createTool()` reference](https://mastra.ai/reference/tools/create-tool)
@@ -101,6 +101,7 @@
101
101
 
102
102
  - [Bright Data](https://mastra.ai/integrations/tools/brightdata)
103
103
  - [Firecrawl](https://mastra.ai/integrations/tools/firecrawl)
104
+ - [Parallel](https://mastra.ai/integrations/tools/parallel)
104
105
  - [Perplexity](https://mastra.ai/integrations/tools/perplexity)
105
106
  - [Tavily](https://mastra.ai/integrations/tools/tavily)
106
107
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Merge Gateway logo](https://models.dev/logos/merge-gateway.svg)Merge Gateway
4
4
 
5
- Merge Gateway aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 174 models through Mastra's model router.
5
+ Merge Gateway aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 175 models through Mastra's model router.
6
6
 
7
7
  Learn more in the [Merge Gateway documentation](https://docs.merge.dev/merge-gateway).
8
8
 
@@ -66,6 +66,7 @@ ANTHROPIC_API_KEY=ant-...
66
66
  | `deepseek/deepseek-v4-flash` |
67
67
  | `deepseek/deepseek-v4-flash-0731` |
68
68
  | `deepseek/deepseek-v4-pro` |
69
+ | `deepseek/deepseek-v4-pro-0423` |
69
70
  | `deepseek/deepseek-v4-pro-0813` |
70
71
  | `google/gemini-2.5-computer-use-preview-10-2025` |
71
72
  | `google/gemini-2.5-flash` |
@@ -120,7 +120,6 @@ ANTHROPIC_API_KEY=ant-...
120
120
  | `openrouter/bytedance-seed/seed-2.0-mini` |
121
121
  | `openrouter/bytedance/ui-tars-1.5-7b` |
122
122
  | `openrouter/cognitivecomputations/dolphin-mistral-24b-venice-edition` |
123
- | `openrouter/deepcogito/cogito-v2.1-671b` |
124
123
  | `openrouter/deepseek/deepseek-chat` |
125
124
  | `openrouter/deepseek/deepseek-chat-v3-0324` |
126
125
  | `openrouter/deepseek/deepseek-chat-v3.1` |
@@ -239,6 +238,7 @@ ANTHROPIC_API_KEY=ant-...
239
238
  | `openrouter/stepfun/step-3.7-flash` |
240
239
  | `openrouter/tencent/hy-mt2-1.8b` |
241
240
  | `openrouter/tencent/hy-mt2-30b-a3b` |
241
+ | `openrouter/tencent/hy-mt2-7b` |
242
242
  | `openrouter/tencent/hy3` |
243
243
  | `openrouter/thedrummer/cydonia-24b-v4.1` |
244
244
  | `openrouter/thedrummer/rocinante-12b` |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![OpenRouter logo](https://models.dev/logos/openrouter.svg)OpenRouter
4
4
 
5
- OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 357 models through Mastra's model router.
5
+ OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 360 models through Mastra's model router.
6
6
 
7
7
  Learn more in the [OpenRouter documentation](https://openrouter.ai/models).
8
8
 
@@ -92,7 +92,6 @@ ANTHROPIC_API_KEY=ant-...
92
92
  | `cohere/command-r-plus-08-2024` |
93
93
  | `cohere/command-r7b-12-2024` |
94
94
  | `cohere/north-mini-code:free` |
95
- | `deepcogito/cogito-v2.1-671b` |
96
95
  | `deepseek/deepseek-chat` |
97
96
  | `deepseek/deepseek-chat-v3-0324` |
98
97
  | `deepseek/deepseek-chat-v3.1` |
@@ -104,6 +103,7 @@ ANTHROPIC_API_KEY=ant-...
104
103
  | `deepseek/deepseek-v3.2-exp` |
105
104
  | `deepseek/deepseek-v4-flash` |
106
105
  | `deepseek/deepseek-v4-flash-0731` |
106
+ | `deepseek/deepseek-v4-flash-vision-exp` |
107
107
  | `deepseek/deepseek-v4-pro` |
108
108
  | `deepseek/deepseek-v4-pro-0813` |
109
109
  | `dots-studio/dots-3-note-preview:free` |
@@ -163,6 +163,7 @@ ANTHROPIC_API_KEY=ant-...
163
163
  | `meta/muse-glimmer-30b` |
164
164
  | `meta/muse-spark-1.1` |
165
165
  | `meta/muse-spark-1.2` |
166
+ | `meta/muse-spark-1.2-contributor` |
166
167
  | `microsoft/phi-4` |
167
168
  | `microsoft/wizardlm-2-8x22b` |
168
169
  | `minimax/minimax-01` |
@@ -268,7 +269,6 @@ ANTHROPIC_API_KEY=ant-...
268
269
  | `openai/gpt-chat-latest` |
269
270
  | `openai/gpt-oss-120b` |
270
271
  | `openai/gpt-oss-20b` |
271
- | `openai/gpt-oss-20b:free` |
272
272
  | `openai/gpt-oss-safeguard-20b` |
273
273
  | `openai/o1` |
274
274
  | `openai/o1-pro` |
@@ -359,6 +359,7 @@ ANTHROPIC_API_KEY=ant-...
359
359
  | `tencent/hunyuan-a13b-instruct` |
360
360
  | `tencent/hy-mt2-1.8b` |
361
361
  | `tencent/hy-mt2-30b-a3b` |
362
+ | `tencent/hy-mt2-7b` |
362
363
  | `tencent/hy3` |
363
364
  | `tencent/hy3-preview` |
364
365
  | `thedrummer/cydonia-24b-v4.1` |
@@ -367,6 +368,8 @@ ANTHROPIC_API_KEY=ant-...
367
368
  | `thedrummer/unslopnemo-12b` |
368
369
  | `thinkingmachines/inkling` |
369
370
  | `thinkingmachines/inkling-small` |
371
+ | `thinkingmachines/inkling-small:free` |
372
+ | `thinkingmachines/inkling:free` |
370
373
  | `undi95/remm-slerp-l2-13b` |
371
374
  | `upstage/solar-pro-3` |
372
375
  | `upstage/solar-pro4` |
@@ -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 350 models through Mastra's model router.
5
+ Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 352 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
 
@@ -133,6 +133,7 @@ ANTHROPIC_API_KEY=ant-...
133
133
  | `deepseek/deepseek-v3.2-thinking` |
134
134
  | `deepseek/deepseek-v4-flash` |
135
135
  | `deepseek/deepseek-v4-flash-0731` |
136
+ | `deepseek/deepseek-v4-flash-vision-exp` |
136
137
  | `deepseek/deepseek-v4-pro` |
137
138
  | `deepseek/deepseek-v4-pro-0813` |
138
139
  | `fish-audio/s1` |
@@ -234,6 +235,7 @@ ANTHROPIC_API_KEY=ant-...
234
235
  | `nvidia/nemotron-3-super-120b-a12b` |
235
236
  | `nvidia/nemotron-3-ultra-550b-a55b` |
236
237
  | `nvidia/nemotron-3.5-lightning` |
238
+ | `nvidia/nemotron-3.5-lightning-free` |
237
239
  | `nvidia/nemotron-nano-12b-v2-vl` |
238
240
  | `nvidia/nemotron-nano-9b-v2` |
239
241
  | `openai/gpt-3.5-turbo` |
@@ -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 6747 models from 180 providers through a single API.
5
+ Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 6770 models from 180 providers through a single API.
6
6
 
7
7
  ## Features
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![CrofAI logo](https://models.dev/logos/crof.svg)CrofAI
4
4
 
5
- Access 26 CrofAI models through Mastra's model router. Authentication is handled automatically using the `CROF_API_KEY` environment variable.
5
+ Access 21 CrofAI models through Mastra's model router. Authentication is handled automatically using the `CROF_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [CrofAI documentation](https://crof.ai/docs).
8
8
 
@@ -42,26 +42,21 @@ for await (const chunk of stream) {
42
42
  | `crof/deepseek-v4-pro` | 1.0M | | | | | | $0.35 | $0.80 |
43
43
  | `crof/deepseek-v4-pro-lightning` | 1.0M | | | | | | $0.80 | $2 |
44
44
  | `crof/gemma-4-31b-it` | 262K | | | | | | $0.10 | $0.30 |
45
- | `crof/glm-4.7` | 203K | | | | | | $0.25 | $1 |
46
- | `crof/glm-4.7-flash` | 203K | | | | | | $0.04 | $0.30 |
47
- | `crof/glm-5` | 203K | | | | | | $0.48 | $2 |
48
45
  | `crof/glm-5.1` | 203K | | | | | | $0.45 | $2 |
49
46
  | `crof/glm-5.2` | 1.0M | | | | | | $0.30 | $1 |
50
47
  | `crof/greg-1-mini` | 229K | | | | | | $0.07 | $0.15 |
51
48
  | `crof/greg-2-super` | 229K | | | | | | $2 | $5 |
52
49
  | `crof/greg-2-ultra` | 229K | | | | | | $3 | $10 |
53
50
  | `crof/greg-rp` | 229K | | | | | | $0.10 | $0.30 |
54
- | `crof/kimi-k2.5` | 262K | | | | | | $0.35 | $2 |
55
- | `crof/kimi-k2.5-lightning` | 131K | | | | | | $1 | $3 |
56
51
  | `crof/kimi-k2.6` | 262K | | | | | | $0.50 | $2 |
57
52
  | `crof/kimi-k2.7-code` | 262K | | | | | | $0.55 | $2 |
58
53
  | `crof/kimi-k3` | 1.0M | | | | | | $2 | $8 |
59
54
  | `crof/kimi-k3-eco` | 1.0M | | | | | | $1 | $4 |
60
55
  | `crof/mimo-v2.5-pro` | 1.0M | | | | | | $0.40 | $0.80 |
61
- | `crof/minimax-m2.5` | 205K | | | | | | $0.11 | $0.95 |
62
56
  | `crof/qwen3.5-397b-a17b` | 262K | | | | | | $0.35 | $2 |
63
57
  | `crof/qwen3.5-9b` | 262K | | | | | | $0.04 | $0.15 |
64
58
  | `crof/qwen3.6-27b` | 262K | | | | | | $0.20 | $2 |
59
+ | `crof/qwen3.8-27b` | 262K | | | | | | $0.25 | $2 |
65
60
 
66
61
  ## Advanced configuration
67
62
 
@@ -91,7 +86,7 @@ const agent = new Agent({
91
86
  model: ({ requestContext }) => {
92
87
  const useAdvanced = requestContext.task === "complex";
93
88
  return useAdvanced
94
- ? "crof/qwen3.6-27b"
89
+ ? "crof/qwen3.8-27b"
95
90
  : "crof/deepseek-v3.2";
96
91
  }
97
92
  });