@mastra/mcp-docs-server 1.2.16 → 1.2.17-alpha.11

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 (86) hide show
  1. package/.docs/docs/agents/agent-approval.md +2 -0
  2. package/.docs/docs/agents/code-mode.md +2 -2
  3. package/.docs/docs/agents/processors.md +1 -1
  4. package/.docs/docs/agents/skills.md +1 -1
  5. package/.docs/docs/agents/using-tools.md +1 -1
  6. package/.docs/docs/capabilities/channels.md +34 -1
  7. package/.docs/docs/datasets/running-experiments.md +46 -0
  8. package/.docs/docs/harness/agent-controller.md +1 -1
  9. package/.docs/docs/mcp/overview.md +4 -5
  10. package/.docs/docs/server/request-context.md +21 -0
  11. package/.docs/docs/studio/overview.md +1 -1
  12. package/.docs/docs/workspace/filesystem.md +182 -153
  13. package/.docs/docs/workspace/lsp.md +4 -5
  14. package/.docs/docs/workspace/sandbox.md +234 -141
  15. package/.docs/docs/workspace/search.md +52 -4
  16. package/.docs/docs/workspace/skills.md +62 -33
  17. package/.docs/integrations/browsers/browser-viewer.md +2 -2
  18. package/.docs/integrations/databases/postgresql.md +2 -1
  19. package/.docs/integrations/file-storage/amazon-s3.md +1 -1
  20. package/.docs/integrations/file-storage/azure-blob.md +1 -1
  21. package/.docs/integrations/file-storage/google-cloud-storage.md +1 -1
  22. package/.docs/integrations/file-storage/mesa.md +1 -1
  23. package/.docs/integrations/file-storage/vercel-files.md +1 -1
  24. package/.docs/integrations/observability/opentelemetry.md +34 -2
  25. package/.docs/integrations/sandboxes/apple-container.md +1 -1
  26. package/.docs/integrations/sandboxes/daytona.md +1 -1
  27. package/.docs/integrations/sandboxes/docker.md +1 -1
  28. package/.docs/integrations/sandboxes/e2b.md +1 -1
  29. package/.docs/integrations/sandboxes/modal.md +1 -1
  30. package/.docs/models/environment-variables.md +1 -0
  31. package/.docs/models/gateways/openrouter.md +3 -1
  32. package/.docs/models/gateways/vercel.md +3 -2
  33. package/.docs/models/index.md +1 -1
  34. package/.docs/models/providers/abacus.md +14 -1
  35. package/.docs/models/providers/baseten.md +2 -1
  36. package/.docs/models/providers/cloudflare-workers-ai.md +3 -1
  37. package/.docs/models/providers/cortecs.md +5 -2
  38. package/.docs/models/providers/crossmodel.md +2 -2
  39. package/.docs/models/providers/crusoe.md +80 -0
  40. package/.docs/models/providers/deepinfra.md +5 -1
  41. package/.docs/models/providers/edenai.md +227 -23
  42. package/.docs/models/providers/empiriolabs.md +2 -1
  43. package/.docs/models/providers/fireworks-ai.md +26 -20
  44. package/.docs/models/providers/huggingface.md +6 -1
  45. package/.docs/models/providers/hyper.md +8 -7
  46. package/.docs/models/providers/kilo.md +14 -12
  47. package/.docs/models/providers/llmgateway.md +3 -2
  48. package/.docs/models/providers/merge-gateway.md +4 -1
  49. package/.docs/models/providers/nano-gpt.md +13 -10
  50. package/.docs/models/providers/nvidia.md +2 -1
  51. package/.docs/models/providers/ofox.md +32 -1
  52. package/.docs/models/providers/opencode-go.md +2 -1
  53. package/.docs/models/providers/opencode.md +3 -1
  54. package/.docs/models/providers/perplexity-agent.md +4 -2
  55. package/.docs/models/providers/qvac.md +35 -0
  56. package/.docs/models/providers/requesty.md +5 -3
  57. package/.docs/models/providers/zai-coding-plan.md +3 -2
  58. package/.docs/models/providers/zhipuai-coding-plan.md +2 -1
  59. package/.docs/models/providers.md +1 -0
  60. package/.docs/reference/agent-controller/agent-controller-class.md +26 -1
  61. package/.docs/reference/browser/browser-viewer.md +1 -1
  62. package/.docs/reference/configuration.md +1 -1
  63. package/.docs/reference/core/removeWorkspace.md +1 -1
  64. package/.docs/reference/datasets/addItem.md +5 -0
  65. package/.docs/reference/datasets/addItems.md +12 -2
  66. package/.docs/reference/datasets/startExperiment.md +1 -1
  67. package/.docs/reference/datasets/updateItem.md +3 -0
  68. package/.docs/reference/file-based-agents/workspace.md +3 -3
  69. package/.docs/reference/memory/observational-memory.md +4 -0
  70. package/.docs/reference/observability/tracing/exporters/mastra-platform-exporter.md +2 -0
  71. package/.docs/reference/processors/provider-history-compat.md +6 -5
  72. package/.docs/reference/processors/skill-search-processor.md +1 -1
  73. package/.docs/reference/pubsub/base.md +13 -3
  74. package/.docs/reference/pubsub/caching-pubsub.md +2 -0
  75. package/.docs/reference/pubsub/event-emitter.md +2 -0
  76. package/.docs/reference/pubsub/redis-streams.md +11 -3
  77. package/.docs/reference/tools/create-code-mode.md +1 -1
  78. package/.docs/reference/tools/create-tool.md +11 -3
  79. package/.docs/reference/tools/mcp-client.md +34 -5
  80. package/.docs/reference/tools/mcp-server.md +4 -1
  81. package/.docs/reference/workspace/local-filesystem.md +1 -1
  82. package/.docs/reference/workspace/local-sandbox.md +1 -1
  83. package/.docs/reference/workspace/workspace-class.md +52 -15
  84. package/CHANGELOG.md +50 -0
  85. package/package.json +4 -4
  86. package/.docs/docs/workspace/overview.md +0 -416
@@ -2,10 +2,50 @@
2
2
 
3
3
  # Workspace skills
4
4
 
5
- **Added in:** `@mastra/core@1.1.0`
6
-
7
5
  Skills are reusable instructions that teach agents how to perform specific tasks. They follow the [Agent Skills specification](https://agentskills.io) - an open standard for packaging agent capabilities.
8
6
 
7
+ > **Note:** Workspace skills are discovered through a workspace and shared with every agent that uses it. To attach skills directly to one agent without requiring a workspace, use [agent skills](https://mastra.ai/docs/agents/skills).
8
+
9
+ ## When to use skills
10
+
11
+ Use workspace skills when your agent needs to:
12
+
13
+ - Follow repeatable instructions for specialized tasks
14
+ - Load detailed guidance only when it becomes relevant
15
+ - Share instructions, reference files, scripts, and assets across agents
16
+ - Discover capabilities from one or more directories
17
+ - Search skill content alongside other workspace content
18
+
19
+ ## Quickstart
20
+
21
+ Create a skill with a `SKILL.md` file:
22
+
23
+ ```markdown
24
+ ---
25
+ name: code-review
26
+ description: Reviews code for bugs and readability issues
27
+ ---
28
+
29
+ # Code review
30
+
31
+ Check the code for bugs, missing error handling, and unclear naming.
32
+ ```
33
+
34
+ Configure the skill directory on a workspace:
35
+
36
+ ```typescript
37
+ import { Workspace, LocalFilesystem } from '@mastra/core/workspace'
38
+
39
+ const workspace = new Workspace({
40
+ filesystem: new LocalFilesystem({ basePath: './workspace' }),
41
+ skills: ['skills'],
42
+ })
43
+ ```
44
+
45
+ Agents that use this workspace can now discover and load the `code-review` skill when needed.
46
+
47
+ ## Skill structure
48
+
9
49
  A skill is a folder containing:
10
50
 
11
51
  - `SKILL.md`: Instructions and metadata for the agent
@@ -24,8 +64,6 @@ skills/
24
64
  lint.ts
25
65
  ```
26
66
 
27
- When skills are configured on a workspace, agents can discover and activate them during conversations.
28
-
29
67
  ## `SKILL.md` format
30
68
 
31
69
  Follow the official [skill specification](https://agentskills.io/specification) when creating your skill. Here is an example `SKILL.md` for a code review skill:
@@ -59,17 +97,6 @@ You are a code reviewer. When reviewing code:
59
97
 
60
98
  ## Configuring skills
61
99
 
62
- Enable skill discovery by setting the `skills` option on your workspace:
63
-
64
- ```typescript
65
- import { Workspace, LocalFilesystem } from '@mastra/core/workspace'
66
-
67
- const workspace = new Workspace({
68
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
69
- skills: ['skills'],
70
- })
71
- ```
72
-
73
100
  You can specify multiple skill directories:
74
101
 
75
102
  ```typescript
@@ -100,23 +127,6 @@ const workspace = new Workspace({
100
127
  })
101
128
  ```
102
129
 
103
- ## Dynamic skills
104
-
105
- For runtime skill paths based on context, pass a function:
106
-
107
- ```typescript
108
- const workspace = new Workspace({
109
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
110
- skills: ctx => {
111
- const paths = ['skills']
112
- if (ctx.requestContext?.get('userRole') === 'developer') {
113
- paths.push('dev-skills')
114
- }
115
- return paths
116
- },
117
- })
118
- ```
119
-
120
130
  ## How agents use skills
121
131
 
122
132
  When a workspace has skills configured, agents automatically get access to skill tools. Available skills are listed in the system message so the agent knows what's available, and the agent can load any skill on demand.
@@ -127,6 +137,8 @@ The agent has three skill tools:
127
137
  - **`skill_read`**: Reads a file from a skill's `references/`, `scripts/`, or `assets/` directory.
128
138
  - **`skill_search`**: Searches across all skill content. Uses BM25 or vector search when configured, otherwise falls back to basic text matching.
129
139
 
140
+ Skill tools are registered when skills are configured. They aren't part of `WORKSPACE_TOOLS`, which configures filesystem, sandbox, search, and LSP tools.
141
+
130
142
  This design is stateless, there is no activation state to track. If the skill instructions leave the conversation context (due to context window limits or compaction), the agent can call `skill` again to reload them.
131
143
 
132
144
  ## Same-named skills
@@ -195,10 +207,27 @@ You can also attach skills directly to an agent without a workspace using `creat
195
207
 
196
208
  See [Agent skills](https://mastra.ai/docs/agents/skills) for details.
197
209
 
210
+ ## Dynamic skills
211
+
212
+ For runtime skill paths based on context, pass a function:
213
+
214
+ ```typescript
215
+ const workspace = new Workspace({
216
+ filesystem: new LocalFilesystem({ basePath: './workspace' }),
217
+ skills: ctx => {
218
+ const paths = ['skills']
219
+ if (ctx.requestContext?.get('userRole') === 'developer') {
220
+ paths.push('dev-skills')
221
+ }
222
+ return paths
223
+ },
224
+ })
225
+ ```
226
+
198
227
  ## Related
199
228
 
200
229
  - [Agent skills](https://mastra.ai/docs/agents/skills)
201
230
  - [Agent skills specification](https://agentskills.io)
202
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
231
+ - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
203
232
  - [Search and indexing](https://mastra.ai/docs/workspace/search)
204
233
  - [`createSkill()` reference](https://mastra.ai/reference/agents/createSkill)
@@ -2,7 +2,7 @@
2
2
 
3
3
  # BrowserViewer
4
4
 
5
- The `@mastra/browser-viewer` package provides browser automation for CLI-based tools like [agent-browser](https://www.npmjs.com/package/agent-browser), [browser-use](https://pypi.org/project/browser-use/), and [browse](https://www.npmjs.com/package/browse). BrowserViewer launches Chrome via Playwright, exposes a Chrome DevTools Protocol (CDP) URL, and automatically injects it into CLI commands run through [workspace tools](https://mastra.ai/docs/workspace/overview).
5
+ The `@mastra/browser-viewer` package provides browser automation for CLI-based tools like [agent-browser](https://www.npmjs.com/package/agent-browser), [browser-use](https://pypi.org/project/browser-use/), and [browse](https://www.npmjs.com/package/browse). BrowserViewer launches Chrome via Playwright, exposes a Chrome DevTools Protocol (CDP) URL, and automatically injects it into CLI commands run through [sandbox tools](https://mastra.ai/docs/workspace/sandbox).
6
6
 
7
7
  ## When to use BrowserViewer
8
8
 
@@ -147,5 +147,5 @@ CDP flag: `--ws` See [BrowserViewer reference](https://mastra.ai/reference/brows
147
147
  - [Browser overview](https://mastra.ai/docs/browser/overview)
148
148
  - [AgentBrowser](https://mastra.ai/integrations/browsers/agent-browser)
149
149
  - [Stagehand](https://mastra.ai/integrations/browsers/stagehand)
150
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
150
+ - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
151
151
  - [Workspace skills](https://mastra.ai/docs/workspace/skills)
@@ -407,8 +407,9 @@ PostgreSQL storage creates composite indexes during initialization for common qu
407
407
  - `mastra_ai_spans_name_startedat_idx`: (name, startedAt DESC)
408
408
  - `mastra_ai_spans_scope_startedat_idx`: (scope, startedAt DESC)
409
409
  - `mastra_scores_trace_id_span_id_created_at_idx`: (traceId, spanId, createdAt DESC)
410
+ - `mastra_workflow_snapshot_name_createdat_idx`: (workflow\_name, createdAt DESC)
410
411
 
411
- These indexes improve performance for filtered queries with sorting, including `dateRange` filters on message queries.
412
+ These indexes improve performance for filtered queries with sorting, including `dateRange` filters on message queries and Studio's workflow runs-list.
412
413
 
413
414
  ### Configuring Indexes
414
415
 
@@ -271,4 +271,4 @@ See [E2BSandbox reference](https://mastra.ai/integrations/sandboxes/e2b) for mor
271
271
  - [GCSFilesystem reference](https://mastra.ai/integrations/file-storage/google-cloud-storage)
272
272
  - [AzureBlobFilesystem reference](https://mastra.ai/integrations/file-storage/azure-blob)
273
273
  - [E2BSandbox reference](https://mastra.ai/integrations/sandboxes/e2b)
274
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
274
+ - [Filesystem](https://mastra.ai/docs/workspace/filesystem)
@@ -217,4 +217,4 @@ const config = filesystem.getMountConfig()
217
217
  - [WorkspaceFilesystem interface](https://mastra.ai/reference/workspace/filesystem)
218
218
  - [S3Filesystem reference](https://mastra.ai/integrations/file-storage/amazon-s3)
219
219
  - [GCSFilesystem reference](https://mastra.ai/integrations/file-storage/google-cloud-storage)
220
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
220
+ - [Filesystem](https://mastra.ai/docs/workspace/filesystem)
@@ -194,4 +194,4 @@ See [E2BSandbox reference](https://mastra.ai/integrations/sandboxes/e2b) for mor
194
194
  - [S3Filesystem reference](https://mastra.ai/integrations/file-storage/amazon-s3)
195
195
  - [AzureBlobFilesystem reference](https://mastra.ai/integrations/file-storage/azure-blob)
196
196
  - [E2BSandbox reference](https://mastra.ai/integrations/sandboxes/e2b)
197
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
197
+ - [Filesystem](https://mastra.ai/docs/workspace/filesystem)
@@ -317,5 +317,5 @@ Read operations still work. Write operations throw `WorkspaceReadOnlyError`.
317
317
 
318
318
  - [WorkspaceFilesystem interface](https://mastra.ai/reference/workspace/filesystem)
319
319
  - [Filesystem docs](https://mastra.ai/docs/workspace/filesystem)
320
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
320
+ - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
321
321
  - [Mesa documentation](https://docs.mesa.dev/content/getting-started/introduction)
@@ -184,5 +184,5 @@ const url = await filesystem.files.url('reports/q3.pdf')
184
184
  - [S3Filesystem reference](https://mastra.ai/integrations/file-storage/amazon-s3)
185
185
  - [GCSFilesystem reference](https://mastra.ai/integrations/file-storage/google-cloud-storage)
186
186
  - [AzureBlobFilesystem reference](https://mastra.ai/integrations/file-storage/azure-blob)
187
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
187
+ - [Filesystem](https://mastra.ai/docs/workspace/filesystem)
188
188
  - [FilesSDK documentation](https://files-sdk.dev)
@@ -6,13 +6,13 @@ Mastra supports OpenTelemetry (OTEL) through an exporter for sending traces and
6
6
 
7
7
  ## Exporter
8
8
 
9
- The OpenTelemetry exporter sends your traces and logs using standardized [OpenTelemetry Semantic Conventions for GenAI](https://opentelemetry.io/docs/specs/semconv/gen-ai/). This ensures broad compatibility with platforms like Datadog, New Relic, SigNoz, MLflow, Latitude, Dash0, Traceloop, Laminar, telemetry.dev, and more.
9
+ The OpenTelemetry exporter sends your traces and logs using standardized [OpenTelemetry Semantic Conventions for GenAI](https://opentelemetry.io/docs/specs/semconv/gen-ai/). This ensures broad compatibility with platforms like Datadog, New Relic, Sentry, SigNoz, MLflow, Latitude, Dash0, Traceloop, Laminar, telemetry.dev, and more.
10
10
 
11
11
  ### Installation
12
12
 
13
13
  Each provider requires specific protocol packages. Install the base exporter plus the protocol package for your provider:
14
14
 
15
- #### For HTTP/Protobuf Providers (SigNoz, New Relic, Laminar, MLflow, Latitude, telemetry.dev)
15
+ #### For HTTP/Protobuf Providers (SigNoz, New Relic, Sentry, Laminar, MLflow, Latitude, telemetry.dev)
16
16
 
17
17
  **npm**:
18
18
 
@@ -104,6 +104,38 @@ All providers support zero-config setup via environment variables. Set the appro
104
104
 
105
105
  ### Provider configurations
106
106
 
107
+ #### Sentry
108
+
109
+ [Sentry](https://sentry.io/) accepts OpenTelemetry traces and logs through its OTLP endpoints. In Sentry, open [**Project Settings** > **Client Keys (DSN)**](https://sentry.io/settings/projects/) and copy the OTLP traces endpoint and authentication header. Add both values to your environment:
110
+
111
+ ```bash
112
+ SENTRY_OTLP_ENDPOINT=https://o000000.ingest.sentry.io/api/0000000/integration/otlp/v1/traces
113
+ SENTRY_OTLP_AUTH_HEADER="sentry sentry_key=..."
114
+ ```
115
+
116
+ Use the `custom` provider with HTTP/Protobuf:
117
+
118
+ ```typescript
119
+ new OtelExporter({
120
+ provider: {
121
+ custom: {
122
+ endpoint: process.env.SENTRY_OTLP_ENDPOINT!,
123
+ protocol: 'http/protobuf',
124
+ headers: {
125
+ 'x-sentry-auth': process.env.SENTRY_OTLP_AUTH_HEADER!,
126
+ },
127
+ },
128
+ },
129
+ })
130
+ ```
131
+
132
+ See [Sentry's OTLP documentation](https://docs.sentry.io/concepts/otlp/) for endpoint setup, supported signals, and current ingestion limits.
133
+
134
+ Choose an exporter based on your setup:
135
+
136
+ - `OtelExporter`: Sends vendor-neutral traces and logs over OTLP. Use it with an existing OpenTelemetry pipeline or when you want backend portability.
137
+ - [`SentryExporter`](https://mastra.ai/integrations/observability/sentry): Uses the Sentry SDK to map Mastra span types to Sentry operations, add AI monitoring attributes, and capture span errors as Sentry issues.
138
+
107
139
  #### MLflow
108
140
 
109
141
  [MLflow](https://mlflow.org/docs/latest/genai/tracing/integrations/listing/mastra) supports native Mastra tracing through its OTLP endpoint at `/v1/traces`. Use the `custom` provider with HTTP/Protobuf and include the experiment header so traces are routed to the correct MLflow experiment:
@@ -254,4 +254,4 @@ const editor = new MastraEditor({
254
254
  - [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox)
255
255
  - [DockerSandbox reference](https://mastra.ai/integrations/sandboxes/docker)
256
256
  - [LocalSandbox reference](https://mastra.ai/reference/workspace/local-sandbox)
257
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
257
+ - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
@@ -503,4 +503,4 @@ Resources are only applied when `image` is set. Passing `resources` without `ima
503
503
  - [LocalSandbox reference](https://mastra.ai/reference/workspace/local-sandbox)
504
504
  - [S3Filesystem reference](https://mastra.ai/integrations/file-storage/amazon-s3)
505
505
  - [GCSFilesystem reference](https://mastra.ai/integrations/file-storage/google-cloud-storage)
506
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
506
+ - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
@@ -256,4 +256,4 @@ const sandbox = new DockerSandbox({
256
256
  - [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox)
257
257
  - [LocalSandbox reference](https://mastra.ai/reference/workspace/local-sandbox)
258
258
  - [E2BSandbox reference](https://mastra.ai/integrations/sandboxes/e2b)
259
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
259
+ - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
@@ -274,4 +274,4 @@ const { tool, instructions } = createCodeMode(
274
274
  - [S3Filesystem reference](https://mastra.ai/integrations/file-storage/amazon-s3)
275
275
  - [GCSFilesystem reference](https://mastra.ai/integrations/file-storage/google-cloud-storage)
276
276
  - [Azure Blob Filesystem reference](https://mastra.ai/integrations/file-storage/azure-blob)
277
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
277
+ - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
@@ -165,4 +165,4 @@ See [`SandboxProcessManager` reference](https://mastra.ai/reference/workspace/pr
165
165
  - [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox)
166
166
  - [E2BSandbox reference](https://mastra.ai/integrations/sandboxes/e2b)
167
167
  - [DaytonaSandbox reference](https://mastra.ai/integrations/sandboxes/daytona)
168
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
168
+ - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
@@ -39,6 +39,7 @@ List of required environment variables for each model provider and gateway suppo
39
39
  | [Cortecs](https://mastra.ai/models/providers/cortecs) | `cortecs/*` | `CORTECS_API_KEY` |
40
40
  | [CrofAI](https://mastra.ai/models/providers/crof) | `crof/*` | `CROF_API_KEY` |
41
41
  | [CrossModel](https://mastra.ai/models/providers/crossmodel) | `crossmodel/*` | `CROSSMODEL_API_KEY` |
42
+ | [Crusoe](https://mastra.ai/models/providers/crusoe) | `crusoe/*` | `CRUSOE_API_KEY` |
42
43
  | [D.Run (China)](https://mastra.ai/models/providers/drun) | `drun/*` | `DRUN_API_KEY` |
43
44
  | [DaoXE](https://mastra.ai/models/providers/daoxe) | `daoxe/*` | `DAOXE_API_KEY` |
44
45
  | [Databricks](https://mastra.ai/models/providers/databricks) | `databricks/*` | `DATABRICKS_HOST`, `DATABRICKS_TOKEN` |
@@ -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 349 models through Mastra's model router.
5
+ OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 351 models through Mastra's model router.
6
6
 
7
7
  Learn more in the [OpenRouter documentation](https://openrouter.ai/models).
8
8
 
@@ -106,6 +106,7 @@ ANTHROPIC_API_KEY=ant-...
106
106
  | `deepseek/deepseek-v4-flash-0731` |
107
107
  | `deepseek/deepseek-v4-pro` |
108
108
  | `deepseek/deepseek-v4-pro-0813` |
109
+ | `dots-studio/dots-3-note-preview:free` |
109
110
  | `google/gemini-2.5-flash` |
110
111
  | `google/gemini-2.5-flash-image` |
111
112
  | `google/gemini-2.5-flash-lite` |
@@ -340,6 +341,7 @@ ANTHROPIC_API_KEY=ant-...
340
341
  | `qwen/qwen3.7-max` |
341
342
  | `qwen/qwen3.7-plus` |
342
343
  | `qwen/qwen3.8-2.4t-a95b` |
344
+ | `qwen/qwen3.8-27b` |
343
345
  | `qwen/qwen3.8-max` |
344
346
  | `rekaai/reka-edge` |
345
347
  | `rekaai/reka-flash-3` |
@@ -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 326 models through Mastra's model router.
5
+ Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 327 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
 
@@ -64,6 +64,7 @@ ANTHROPIC_API_KEY=ant-...
64
64
  | `alibaba/qwen3.7-flash` |
65
65
  | `alibaba/qwen3.7-max` |
66
66
  | `alibaba/qwen3.7-plus` |
67
+ | `alibaba/qwen3.8-2.4t-a95b` |
67
68
  | `alibaba/qwen3.8-max` |
68
69
  | `alibaba/wan-v2.5-t2v-preview` |
69
70
  | `alibaba/wan-v2.6-i2v` |
@@ -151,6 +152,7 @@ ANTHROPIC_API_KEY=ant-...
151
152
  | `google/gemini-3.5-flash` |
152
153
  | `google/gemini-3.5-flash-lite` |
153
154
  | `google/gemini-3.6-flash` |
155
+ | `google/gemini-3.7-flash` |
154
156
  | `google/gemini-embedding-001` |
155
157
  | `google/gemini-embedding-2` |
156
158
  | `google/gemini-omni-flash-preview` |
@@ -169,7 +171,6 @@ ANTHROPIC_API_KEY=ant-...
169
171
  | `inception/mercury-2` |
170
172
  | `inception/mercury-coder-small` |
171
173
  | `inclusionai/ling-3.0-flash` |
172
- | `inclusionai/ling-3.0-tiny-free` |
173
174
  | `interfaze/interfaze-beta` |
174
175
  | `klingai/kling-v2.5-turbo-i2v` |
175
176
  | `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 5661 models from 171 providers through a single API.
5
+ Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 5962 models from 172 providers through a single API.
6
6
 
7
7
  ## Features
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Abacus logo](https://models.dev/logos/abacus.svg)Abacus
4
4
 
5
- Access 95 Abacus models through Mastra's model router. Authentication is handled automatically using the `ABACUS_API_KEY` environment variable.
5
+ Access 108 Abacus models through Mastra's model router. Authentication is handled automatically using the `ABACUS_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Abacus documentation](https://abacus.ai).
8
8
 
@@ -45,6 +45,7 @@ for await (const chunk of stream) {
45
45
  | `abacus/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
46
46
  | `abacus/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
47
47
  | `abacus/claude-opus-4-8` | 1.0M | | | | | | $5 | $25 |
48
+ | `abacus/claude-opus-5` | 1.0M | | | | | | $5 | $25 |
48
49
  | `abacus/claude-sonnet-4-20250514` | 200K | | | | | | $3 | $15 |
49
50
  | `abacus/claude-sonnet-4-5-20250929` | 200K | | | | | | $3 | $15 |
50
51
  | `abacus/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
@@ -59,12 +60,17 @@ for await (const chunk of stream) {
59
60
  | `abacus/gemini-2.5-flash-image` | 33K | | | | | | $0.30 | $30 |
60
61
  | `abacus/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
61
62
  | `abacus/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
63
+ | `abacus/gemini-3-pro-image` | 66K | | | | | | $2 | $12 |
62
64
  | `abacus/gemini-3-pro-image-preview` | 66K | | | | | | $2 | $12 |
65
+ | `abacus/gemini-3.1-flash-image` | 1.0M | | | | | | $0.50 | $3 |
63
66
  | `abacus/gemini-3.1-flash-image-preview` | 1.0M | | | | | | $0.50 | $3 |
64
67
  | `abacus/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
65
68
  | `abacus/gemini-3.1-flash-lite-preview` | 1.0M | | | | | | $0.25 | $2 |
66
69
  | `abacus/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
67
70
  | `abacus/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
71
+ | `abacus/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.30 | $3 |
72
+ | `abacus/gemini-3.6-flash` | 1.0M | | | | | | $2 | $8 |
73
+ | `abacus/gemini-3.7-flash` | 1.0M | | | | | | $0.75 | $4 |
68
74
  | `abacus/google/gemma-4-31b-it` | 262K | | | | | | $0.14 | $0.40 |
69
75
  | `abacus/gpt-4.1` | 1.0M | | | | | | $2 | $8 |
70
76
  | `abacus/gpt-4.1-mini` | 1.0M | | | | | | $0.40 | $2 |
@@ -98,6 +104,7 @@ for await (const chunk of stream) {
98
104
  | `abacus/grok-4-fast-non-reasoning` | 2.0M | | | | | | $0.20 | $0.50 |
99
105
  | `abacus/grok-4.3` | 1.0M | | | | | | $1 | $3 |
100
106
  | `abacus/grok-4.5` | 500K | | | | | | $2 | $6 |
107
+ | `abacus/grok-4.6` | 500K | | | | | | $2 | $6 |
101
108
  | `abacus/grok-code-fast-1` | 256K | | | | | | $0.20 | $2 |
102
109
  | `abacus/kimi-k2-turbo-preview` | 256K | | | | | | $0.15 | $8 |
103
110
  | `abacus/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
@@ -110,7 +117,10 @@ for await (const chunk of stream) {
110
117
  | `abacus/MiniMaxAI/MiniMax-M2.7` | 205K | | | | | | $0.30 | $1 |
111
118
  | `abacus/MiniMaxAI/MiniMax-M3` | 1.0M | | | | | | $0.30 | $1 |
112
119
  | `abacus/moonshotai/Kimi-K2.6` | 262K | | | | | | $0.95 | $4 |
120
+ | `abacus/moonshotai/Kimi-K2.7-Code` | 262K | | | | | | $0.95 | $4 |
121
+ | `abacus/moonshotai/Kimi-K3` | 1.0M | | | | | | $3 | $15 |
113
122
  | `abacus/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
123
+ | `abacus/muse-spark-1.2` | 1.0M | | | | | | $1 | $4 |
114
124
  | `abacus/o3` | 200K | | | | | | $2 | $8 |
115
125
  | `abacus/o3-mini` | 200K | | | | | | $1 | $4 |
116
126
  | `abacus/o3-pro` | 200K | | | | | | $20 | $40 |
@@ -124,7 +134,10 @@ for await (const chunk of stream) {
124
134
  | `abacus/Qwen/Qwen3.6-27B` | 262K | | | | | | $0.32 | $3 |
125
135
  | `abacus/Qwen/QwQ-32B` | 33K | | | | | | $0.40 | $0.40 |
126
136
  | `abacus/qwen3-max` | 131K | | | | | | $1 | $6 |
137
+ | `abacus/qwen3.7-max` | 1.0M | | | | | | $3 | $8 |
138
+ | `abacus/qwen3.8-max` | 1.0M | | | | | | $2 | $6 |
127
139
  | `abacus/route-llm` | 128K | | | | | | $3 | $15 |
140
+ | `abacus/thinkingmachines/Inkling` | 262K | | | | | | $4 | $9 |
128
141
  | `abacus/zai-org/GLM-4.5` | 131K | | | | | | $0.60 | $2 |
129
142
  | `abacus/zai-org/GLM-4.6` | 203K | | | | | | $0.60 | $2 |
130
143
  | `abacus/zai-org/GLM-4.7` | 205K | | | | | | $0.60 | $2 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Baseten logo](https://models.dev/logos/baseten.svg)Baseten
4
4
 
5
- Access 18 Baseten models through Mastra's model router. Authentication is handled automatically using the `BASETEN_API_KEY` environment variable.
5
+ Access 19 Baseten models through Mastra's model router. Authentication is handled automatically using the `BASETEN_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Baseten documentation](https://docs.baseten.co).
8
8
 
@@ -38,6 +38,7 @@ for await (const chunk of stream) {
38
38
  | -------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
39
  | `baseten/deepseek-ai/DeepSeek-V4-Flash-0731` | 1.0M | | | | | | $0.13 | $0.26 |
40
40
  | `baseten/deepseek-ai/DeepSeek-V4-Pro` | 262K | | | | | | $2 | $3 |
41
+ | `baseten/deepseek-ai/DeepSeek-V4-Pro-0813` | 1.0M | | | | | | $1 | $4 |
41
42
  | `baseten/moonshotai/Kimi-K2.5` | 262K | | | | | | $0.60 | $3 |
42
43
  | `baseten/moonshotai/Kimi-K2.6` | 262K | | | | | | $0.95 | $4 |
43
44
  | `baseten/moonshotai/Kimi-K2.7-Code` | 262K | | | | | | $0.95 | $4 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Cloudflare Workers AI logo](https://models.dev/logos/cloudflare-workers-ai.svg)Cloudflare Workers AI
4
4
 
5
- Access 22 Cloudflare Workers AI models through Mastra's model router. Authentication is handled automatically using the `CLOUDFLARE_API_KEY` environment variable. Configure `CLOUDFLARE_ACCOUNT_ID` as well.
5
+ Access 24 Cloudflare Workers AI models through Mastra's model router. Authentication is handled automatically using the `CLOUDFLARE_API_KEY` environment variable. Configure `CLOUDFLARE_ACCOUNT_ID` as well.
6
6
 
7
7
  Learn more in the [Cloudflare Workers AI documentation](https://developers.cloudflare.com/workers-ai/models/).
8
8
 
@@ -39,6 +39,8 @@ for await (const chunk of stream) {
39
39
  | -------------------------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
40
40
  | `cloudflare-workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it` | 128K | | | | | | $0.35 | $0.56 |
41
41
  | `cloudflare-workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b` | 80K | | | | | | $0.50 | $5 |
42
+ | `cloudflare-workers-ai/@cf/deepseek-ai/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.44 | $1 |
43
+ | `cloudflare-workers-ai/@cf/deepseek-ai/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
42
44
  | `cloudflare-workers-ai/@cf/google/gemma-4-26b-a4b-it` | 256K | | | | | | $0.10 | $0.30 |
43
45
  | `cloudflare-workers-ai/@cf/ibm-granite/granite-4.0-h-micro` | 131K | | | | | | $0.02 | $0.11 |
44
46
  | `cloudflare-workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8` | 32K | | | | | | $0.15 | $0.29 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Cortecs logo](https://models.dev/logos/cortecs.svg)Cortecs
4
4
 
5
- Access 104 Cortecs models through Mastra's model router. Authentication is handled automatically using the `CORTECS_API_KEY` environment variable.
5
+ Access 107 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
 
@@ -57,8 +57,10 @@ for await (const chunk of stream) {
57
57
  | `cortecs/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $2 |
58
58
  | `cortecs/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
59
59
  | `cortecs/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.27 | $2 |
60
- | `cortecs/gemini-3.5-flash` | 1.0M | | | | | | $1 | $9 |
60
+ | `cortecs/gemini-3.5-flash` | 1.0M | | | | | | $2 | $10 |
61
61
  | `cortecs/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.33 | $3 |
62
+ | `cortecs/gemini-3.6-flash` | 1.0M | | | | | | $0.75 | $4 |
63
+ | `cortecs/gemini-3.7-flash` | 1.0M | | | | | | $0.75 | $4 |
62
64
  | `cortecs/gemma-3-27b-it` | 131K | | | | | | $0.10 | $0.30 |
63
65
  | `cortecs/gemma-4-26b-a4b-it` | 262K | | | | | | $0.11 | $0.56 |
64
66
  | `cortecs/gemma-4-31b-it` | 262K | | | | | | $0.22 | $0.39 |
@@ -137,6 +139,7 @@ for await (const chunk of stream) {
137
139
  | `cortecs/qwen3.5-9b` | 262K | | | | | | $0.11 | $0.17 |
138
140
  | `cortecs/qwen3.6-27b` | 262K | | | | | | $0.45 | $3 |
139
141
  | `cortecs/qwen3.6-35b-a3b` | 262K | | | | | | $0.17 | $0.56 |
142
+ | `cortecs/qwen3.8-2.4t-a95b` | 262K | | | | | | $3 | $6 |
140
143
  | `cortecs/qwen3guard-gen-0.6b` | 32K | | | | | | — | — |
141
144
  | `cortecs/qwen3guard-gen-8b` | 32K | | | | | | — | — |
142
145
  | `cortecs/voxtral-small-2507` | 32K | | | | | | $0.11 | $0.33 |
@@ -43,8 +43,8 @@ for await (const chunk of stream) {
43
43
  | `crossmodel/anthropic/claude-opus-5` | 1.0M | | | | | | $5 | $25 |
44
44
  | `crossmodel/anthropic/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
45
45
  | `crossmodel/anthropic/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
46
- | `crossmodel/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.16 | $0.32 |
47
- | `crossmodel/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $0.47 | $0.94 |
46
+ | `crossmodel/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.45 | $1 |
47
+ | `crossmodel/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $1 | $4 |
48
48
  | `crossmodel/gemini/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
49
49
  | `crossmodel/gemini/gemini-2.5-flash-lite` | 1.0M | | | | | | $0.10 | $0.40 |
50
50
  | `crossmodel/gemini/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
@@ -0,0 +1,80 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # ![Crusoe logo](https://models.dev/logos/crusoe.svg)Crusoe
4
+
5
+ Access 8 Crusoe models through Mastra's model router. Authentication is handled automatically using the `CRUSOE_API_KEY` environment variable.
6
+
7
+ Learn more in the [Crusoe documentation](https://docs.crusoecloud.com/managed-inference/overview).
8
+
9
+ ```bash
10
+ CRUSOE_API_KEY=your-api-key
11
+ ```
12
+
13
+ ```typescript
14
+ import { Agent } from "@mastra/core/agent";
15
+
16
+ const agent = new Agent({
17
+ id: "my-agent",
18
+ name: "My Agent",
19
+ instructions: "You are a helpful assistant",
20
+ model: "crusoe/deepseek-ai/DeepSeek-V3-0324"
21
+ });
22
+
23
+ // Generate a response
24
+ const response = await agent.generate("Hello!");
25
+
26
+ // Stream a response
27
+ const stream = await agent.stream("Tell me a story");
28
+ for await (const chunk of stream) {
29
+ console.log(chunk);
30
+ }
31
+ ```
32
+
33
+ > **Note:** Mastra uses the OpenAI-compatible `/chat/completions` endpoint. Some provider-specific features may not be available. Check the [Crusoe documentation](https://docs.crusoecloud.com/managed-inference/overview) for details.
34
+
35
+ ## Models
36
+
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | ------------------------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `crusoe/deepseek-ai/DeepSeek-V3-0324` | 164K | | | | | | $0.50 | $2 |
40
+ | `crusoe/google/gemma-4-31b-it` | 262K | | | | | | $0.14 | $0.40 |
41
+ | `crusoe/meta-llama/Llama-3.3-70B-Instruct` | 128K | | | | | | $0.25 | $0.75 |
42
+ | `crusoe/moonshotai/Kimi-K2.6` | 262K | | | | | | $0.70 | $4 |
43
+ | `crusoe/nvidia/Nemotron-3-Nano-Omni-Reasoning-30B-A3B` | 256K | | | | | | $0.30 | $2 |
44
+ | `crusoe/openai/gpt-oss-120b` | 131K | | | | | | $0.05 | $0.20 |
45
+ | `crusoe/zai/GLM-5.1` | 200K | | | | | | $1 | $4 |
46
+ | `crusoe/zai/GLM-5.2` | 1.0M | | | | | | $1 | $4 |
47
+
48
+ ## Advanced configuration
49
+
50
+ ### Custom headers
51
+
52
+ ```typescript
53
+ const agent = new Agent({
54
+ id: "custom-agent",
55
+ name: "custom-agent",
56
+ model: {
57
+ url: "https://api.inference.crusoecloud.com/v1",
58
+ id: "crusoe/deepseek-ai/DeepSeek-V3-0324",
59
+ apiKey: process.env.CRUSOE_API_KEY,
60
+ headers: {
61
+ "X-Custom-Header": "value"
62
+ }
63
+ }
64
+ });
65
+ ```
66
+
67
+ ### Dynamic model selection
68
+
69
+ ```typescript
70
+ const agent = new Agent({
71
+ id: "dynamic-agent",
72
+ name: "Dynamic Agent",
73
+ model: ({ requestContext }) => {
74
+ const useAdvanced = requestContext.task === "complex";
75
+ return useAdvanced
76
+ ? "crusoe/zai/GLM-5.2"
77
+ : "crusoe/deepseek-ai/DeepSeek-V3-0324";
78
+ }
79
+ });
80
+ ```