@mastra/mcp-docs-server 1.2.7-alpha.10 → 1.2.7-alpha.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/.docs/docs/agent-builder/integrations.md +44 -2
  2. package/.docs/docs/editor/tools.md +2 -2
  3. package/.docs/docs/getting-started/file-based-agents.md +2 -0
  4. package/.docs/models/environment-variables.md +8 -0
  5. package/.docs/models/gateways/openrouter.md +1 -3
  6. package/.docs/models/gateways/vercel.md +5 -1
  7. package/.docs/models/index.md +1 -1
  8. package/.docs/models/providers/abacus.md +44 -14
  9. package/.docs/models/providers/ai-router.md +77 -0
  10. package/.docs/models/providers/ambient.md +4 -3
  11. package/.docs/models/providers/blueclaw.md +74 -0
  12. package/.docs/models/providers/daoxe.md +81 -0
  13. package/.docs/models/providers/databricks.md +4 -2
  14. package/.docs/models/providers/deepinfra.md +2 -2
  15. package/.docs/models/providers/empiriolabs.md +106 -0
  16. package/.docs/models/providers/hpc-ai.md +16 -10
  17. package/.docs/models/providers/inferx.md +78 -0
  18. package/.docs/models/providers/llmgateway.md +2 -3
  19. package/.docs/models/providers/model-oracle-ai.md +87 -0
  20. package/.docs/models/providers/neon.md +1 -1
  21. package/.docs/models/providers/nvidia.md +1 -3
  22. package/.docs/models/providers/openai.md +2 -1
  23. package/.docs/models/providers/opencode.md +5 -2
  24. package/.docs/models/providers/pioneer.md +148 -0
  25. package/.docs/models/providers/routing-run.md +4 -1
  26. package/.docs/models/providers/unorouter.md +95 -0
  27. package/.docs/models/providers/vivgrid.md +5 -2
  28. package/.docs/models/providers/wafer.ai.md +9 -12
  29. package/.docs/models/providers/zenmux.md +5 -1
  30. package/.docs/models/providers.md +8 -0
  31. package/.docs/reference/file-based-agents/logger.md +26 -0
  32. package/.docs/reference/file-based-agents/scorers.md +54 -0
  33. package/.docs/reference/index.md +2 -0
  34. package/CHANGELOG.md +14 -0
  35. package/package.json +4 -4
@@ -8,6 +8,17 @@ Tool providers let Builder-created agents call tools from third-party apps such
8
8
 
9
9
  This page covers what's specific to the Builder: setting up connections, choosing a connection scope, and managing connections. To register a provider and enable its toolkits, see [Tools](https://mastra.ai/docs/editor/tools).
10
10
 
11
+ ## Setup at a glance
12
+
13
+ To connect a toolkit like Gmail and use it from a Builder agent:
14
+
15
+ 1. [Register a tool provider](#register-a-tool-provider) on `MastraEditor` with your Composio API key.
16
+ 2. [Set up a Composio auth config](#set-up-a-composio-auth-config) for the toolkit and enable it.
17
+ 3. [Connect the toolkit](#connect-a-toolkit) from the Builder and complete the OAuth flow.
18
+ 4. [Choose a connection scope](#connection-scope) if the default author-owned account isn't what you want.
19
+
20
+ The rest of this page covers each step in detail.
21
+
11
22
  ## Prerequisites
12
23
 
13
24
  Before agents can use integration tools in the Builder:
@@ -42,6 +53,8 @@ export const mastra = new Mastra({
42
53
 
43
54
  Each provider's toolkits become available in the Builder once it's registered. Use `allowedToolkits` to restrict which toolkits the provider exposes — by slug, such as `gmail` or `googlecalendar`. Omit it to expose every toolkit the provider offers. To add another provider, import it and add another entry to `toolProviders`. For the full list of providers and their options, see [Tools — Integration providers](https://mastra.ai/docs/editor/tools).
44
55
 
56
+ `ComposioToolProvider` needs a Composio **project** API key (the `x-api-key` type from a project's settings in the [Composio dashboard](https://dashboard.composio.dev)). Store it in an environment variable, as shown with `COMPOSIO_API_KEY` above.
57
+
45
58
  ## Set up a Composio auth config
46
59
 
47
60
  Each toolkit a user can connect needs its own auth config in the [Composio dashboard](https://dashboard.composio.dev). An auth config defines how Composio authenticates with an app — its OAuth client, scopes, and credentials. Each toolkit needs its own because requirements vary by app: some share common OAuth methods, while others need extra setup. Without an enabled config, the connection flow fails.
@@ -52,7 +65,7 @@ Each toolkit a user can connect needs its own auth config in the [Composio dashb
52
65
 
53
66
  Keep exactly one auth config enabled per toolkit. When a user connects the toolkit, the provider resolves the single enabled config for that toolkit and starts the OAuth flow against it.
54
67
 
55
- > **Warning:** The provider throws if a toolkit has zero enabled auth configs or more than one. Enable exactly one auth config per toolkit you expose in the Builder.
68
+ > **Warning:** The provider throws if a toolkit has zero enabled auth configs or more than one. With no enabled config, the connection flow fails with an error like `No ENABLED auth config for toolkit "github"` — enable one in the Composio dashboard to fix it. Enable exactly one auth config per toolkit you expose in the Builder.
56
69
 
57
70
  ## Connect a toolkit
58
71
 
@@ -65,7 +78,36 @@ The connected account is bound to the agent, and its tools are ready to use on t
65
78
 
66
79
  ## Connection scope
67
80
 
68
- When you select a toolkit's tools for an agent, you also pin a connection. The connection determines which account each tool call uses at runtime, with a scope that controls who shares the credential. Today connections are `per-author`: the connection belongs to the agent's author, and any invoker runs the agent with the author's account.
81
+ Each connection determines which account a tool call uses at runtime, and its _scope_ controls who shares that credential. A scope maps each call to a _bucket_ the identity partition that a connected account is stored under. Scope is a tenancy decision made by you, the app author, not by the end user connecting an account — so you set it on the provider, not in the Builder UI.
82
+
83
+ - `per-author` (default): the connection belongs to the agent's author. Any invoker runs the agent with the author's account. Use this for personal agents or a single shared team account.
84
+ - `shared`: every caller uses one shared bucket, regardless of who invokes the agent. Use this for a platform-owned account that all users should share.
85
+ - `caller-supplied`: each call is bucketed by the caller's `resourceId`, read from the request context. Use this for multi-tenant SaaS, where the host app authenticates the end user upstream and each tenant should use their own connected account.
86
+
87
+ Set `defaultScope` on the provider to apply a scope to every connection authorized against it:
88
+
89
+ ```typescript
90
+ const composio = new ComposioToolProvider({
91
+ apiKey: process.env.COMPOSIO_API_KEY!,
92
+ allowedToolkits: ['github'],
93
+ defaultScope: 'caller-supplied',
94
+ })
95
+ ```
96
+
97
+ With `caller-supplied`, the host app must forward a `resourceId` on every request so each tenant lands in its own bucket. Set `mapUserToResourceId` on the server's auth config to derive the `resourceId` from the authenticated user, so every request carries it automatically:
98
+
99
+ ```typescript
100
+ export const mastra = new Mastra({
101
+ server: {
102
+ auth: {
103
+ authenticateToken: async token => verifyToken(token),
104
+ mapUserToResourceId: user => user.id,
105
+ },
106
+ },
107
+ })
108
+ ```
109
+
110
+ > **Warning:** When a `caller-supplied` connection runs without a `resourceId`, every tenant falls back to a single shared `default` bucket. All callers then share one set of credentials, which can expose one tenant's connected account to another. Always wire `mapUserToResourceId` (or otherwise set `resourceId` on the request context) for multi-tenant deployments.
69
111
 
70
112
  ## Related
71
113
 
@@ -52,7 +52,7 @@ Integration providers connect external tool platforms to the editor. Once regist
52
52
 
53
53
  [Composio](https://composio.dev) gives access to hundreds of integration tools organized into toolkits (GitHub, Slack, Gmail, and others).
54
54
 
55
- 1. Get an API key from your Composio dashboard.
55
+ 1. Get a **project** API key (the `x-api-key` type) from your [Composio dashboard](https://dashboard.composio.dev).
56
56
 
57
57
  2. Register the provider in your Editor configuration:
58
58
 
@@ -75,7 +75,7 @@ Integration providers connect external tool platforms to the editor. Once regist
75
75
  })
76
76
  ```
77
77
 
78
- Composio tool slugs use a format like `GITHUB_CREATE_ISSUE`. Tool calls are scoped to the `resourceId` passed through request context for per-user authentication.
78
+ Composio tool slugs use a format like `GITHUB_CREATE_ISSUE`. By default, tool calls use the connection pinned by the agent's author. To route calls to each end user's own account instead, see [connection scope](https://mastra.ai/docs/agent-builder/integrations) in the Agent Builder docs.
79
79
 
80
80
  ### Arcade
81
81
 
@@ -70,10 +70,12 @@ Map each primitive or feature to its file convention:
70
70
  | [Memory](https://mastra.ai/reference/file-based-agents/memory) | `src/mastra/agents/<agent-id>/memory.ts` |
71
71
  | [Workspace](https://mastra.ai/reference/file-based-agents/workspace) | `src/mastra/agents/<agent-id>/workspace.ts` and `src/mastra/agents/<agent-id>/workspace/` |
72
72
  | [Processors](https://mastra.ai/reference/file-based-agents/processors) | `src/mastra/agents/<agent-id>/processors/` |
73
+ | [Scorers](https://mastra.ai/reference/file-based-agents/scorers) | `src/mastra/agents/<agent-id>/scorers/` |
73
74
  | [Subagents](https://mastra.ai/reference/file-based-agents/subagents) | `src/mastra/agents/<agent-id>/subagents/` |
74
75
  | [Workflows](https://mastra.ai/reference/file-based-agents/workflows) | `src/mastra/workflows/` |
75
76
  | [Storage](https://mastra.ai/reference/file-based-agents/storage) | `src/mastra/storage.ts` |
76
77
  | [Observability](https://mastra.ai/reference/file-based-agents/observability) | `src/mastra/observability.ts` |
78
+ | [Logger](https://mastra.ai/reference/file-based-agents/logger) | `src/mastra/logger.ts` |
77
79
  | [Server config](https://mastra.ai/reference/file-based-agents/server) | `src/mastra/server.ts` |
78
80
  | [Studio config](https://mastra.ai/reference/file-based-agents/studio) | `src/mastra/studio.ts` |
79
81
 
@@ -9,6 +9,7 @@ List of required environment variables for each model provider and gateway suppo
9
9
  | [302.AI](https://mastra.ai/models/providers/302ai) | `302ai/*` | `302AI_API_KEY` |
10
10
  | [Abacus](https://mastra.ai/models/providers/abacus) | `abacus/*` | `ABACUS_API_KEY` |
11
11
  | [abliteration.ai](https://mastra.ai/models/providers/abliteration-ai) | `abliteration-ai/*` | `ABLIT_KEY` |
12
+ | [AI-ROUTER](https://mastra.ai/models/providers/ai-router) | `ai-router/*` | `AI_ROUTER_API_KEY` |
12
13
  | [Alibaba](https://mastra.ai/models/providers/alibaba) | `alibaba/*` | `DASHSCOPE_API_KEY` |
13
14
  | [Alibaba (China)](https://mastra.ai/models/providers/alibaba-cn) | `alibaba-cn/*` | `DASHSCOPE_API_KEY` |
14
15
  | [Alibaba Coding Plan](https://mastra.ai/models/providers/alibaba-coding-plan) | `alibaba-coding-plan/*` | `ALIBABA_CODING_PLAN_API_KEY` |
@@ -23,6 +24,7 @@ List of required environment variables for each model provider and gateway suppo
23
24
  | [Bailing](https://mastra.ai/models/providers/bailing) | `bailing/*` | `BAILING_API_TOKEN` |
24
25
  | [Baseten](https://mastra.ai/models/providers/baseten) | `baseten/*` | `BASETEN_API_KEY` |
25
26
  | [Berget.AI](https://mastra.ai/models/providers/berget) | `berget/*` | `BERGET_API_KEY` |
27
+ | [Blue Claw](https://mastra.ai/models/providers/blueclaw) | `blueclaw/*` | `BLUECLAW_API_KEY` |
26
28
  | [Cerebras](https://mastra.ai/models/providers/cerebras) | `cerebras/*` | `CEREBRAS_API_KEY` |
27
29
  | [Chutes](https://mastra.ai/models/providers/chutes) | `chutes/*` | `CHUTES_API_KEY` |
28
30
  | [Clarifai](https://mastra.ai/models/providers/clarifai) | `clarifai/*` | `CLARIFAI_PAT` |
@@ -33,11 +35,13 @@ List of required environment variables for each model provider and gateway suppo
33
35
  | [CrofAI](https://mastra.ai/models/providers/crof) | `crof/*` | `CROF_API_KEY` |
34
36
  | [CrossModel](https://mastra.ai/models/providers/crossmodel) | `crossmodel/*` | `CROSSMODEL_API_KEY` |
35
37
  | [D.Run (China)](https://mastra.ai/models/providers/drun) | `drun/*` | `DRUN_API_KEY` |
38
+ | [DaoXE](https://mastra.ai/models/providers/daoxe) | `daoxe/*` | `DAOXE_API_KEY` |
36
39
  | [Databricks](https://mastra.ai/models/providers/databricks) | `databricks/*` | `DATABRICKS_HOST`, `DATABRICKS_TOKEN` |
37
40
  | [Deep Infra](https://mastra.ai/models/providers/deepinfra) | `deepinfra/*` | `DEEPINFRA_API_KEY` |
38
41
  | [DeepSeek](https://mastra.ai/models/providers/deepseek) | `deepseek/*` | `DEEPSEEK_API_KEY` |
39
42
  | [DigitalOcean](https://mastra.ai/models/providers/digitalocean) | `digitalocean/*` | `DIGITALOCEAN_ACCESS_TOKEN` |
40
43
  | [DInference](https://mastra.ai/models/providers/dinference) | `dinference/*` | `DINFERENCE_API_KEY` |
44
+ | [EmpirioLabs AI](https://mastra.ai/models/providers/empiriolabs) | `empiriolabs/*` | `EMPIRIOLABS_API_KEY` |
41
45
  | [evroc](https://mastra.ai/models/providers/evroc) | `evroc/*` | `EVROC_API_KEY` |
42
46
  | [FastRouter](https://mastra.ai/models/providers/fastrouter) | `fastrouter/*` | `FASTROUTER_API_KEY` |
43
47
  | [Fireworks AI](https://mastra.ai/models/providers/fireworks-ai) | `fireworks-ai/*` | `FIREWORKS_API_KEY` |
@@ -55,6 +59,7 @@ List of required environment variables for each model provider and gateway suppo
55
59
  | [Inception](https://mastra.ai/models/providers/inception) | `inception/*` | `INCEPTION_API_KEY` |
56
60
  | [Inceptron](https://mastra.ai/models/providers/inceptron) | `inceptron/*` | `INCEPTRON_API_KEY` |
57
61
  | [Inference](https://mastra.ai/models/providers/inference) | `inference/*` | `INFERENCE_API_KEY` |
62
+ | [InferX](https://mastra.ai/models/providers/inferx) | `inferx/*` | `INFERX_API_KEY` |
58
63
  | [IO.NET](https://mastra.ai/models/providers/io-net) | `io-net/*` | `IOINTELLIGENCE_API_KEY` |
59
64
  | [Jiekou.AI](https://mastra.ai/models/providers/jiekou) | `jiekou/*` | `JIEKOU_API_KEY` |
60
65
  | [Kenari](https://mastra.ai/models/providers/kenari) | `kenari/*` | `KENARI_API_KEY` |
@@ -77,6 +82,7 @@ List of required environment variables for each model provider and gateway suppo
77
82
  | [Mistral](https://mastra.ai/models/providers/mistral) | `mistral/*` | `MISTRAL_API_KEY` |
78
83
  | [Mixlayer](https://mastra.ai/models/providers/mixlayer) | `mixlayer/*` | `MIXLAYER_API_KEY` |
79
84
  | [Moark](https://mastra.ai/models/providers/moark) | `moark/*` | `MOARK_API_KEY` |
85
+ | [Model Oracle AI](https://mastra.ai/models/providers/model-oracle-ai) | `model-oracle-ai/*` | `MODEL_ORACLE_API_KEY` |
80
86
  | [ModelScope](https://mastra.ai/models/providers/modelscope) | `modelscope/*` | `MODELSCOPE_API_KEY` |
81
87
  | [Moonshot AI](https://mastra.ai/models/providers/moonshotai) | `moonshotai/*` | `MOONSHOT_API_KEY` |
82
88
  | [Moonshot AI (China)](https://mastra.ai/models/providers/moonshotai-cn) | `moonshotai-cn/*` | `MOONSHOT_API_KEY` |
@@ -97,6 +103,7 @@ List of required environment variables for each model provider and gateway suppo
97
103
  | [OVHcloud AI Endpoints](https://mastra.ai/models/providers/ovhcloud) | `ovhcloud/*` | `OVHCLOUD_API_KEY` |
98
104
  | [Perplexity](https://mastra.ai/models/providers/perplexity) | `perplexity/*` | `PERPLEXITY_API_KEY` |
99
105
  | [Perplexity Agent](https://mastra.ai/models/providers/perplexity-agent) | `perplexity-agent/*` | `PERPLEXITY_API_KEY` |
106
+ | [Pioneer](https://mastra.ai/models/providers/pioneer) | `pioneer/*` | `PIONEER_API_KEY` |
100
107
  | [Poe](https://mastra.ai/models/providers/poe) | `poe/*` | `POE_API_KEY` |
101
108
  | [Poolside](https://mastra.ai/models/providers/poolside) | `poolside/*` | `POOLSIDE_API_KEY` |
102
109
  | [Privatemode AI](https://mastra.ai/models/providers/privatemode-ai) | `privatemode-ai/*` | `PRIVATEMODE_API_KEY` |
@@ -126,6 +133,7 @@ List of required environment variables for each model provider and gateway suppo
126
133
  | [TrustedRouter](https://mastra.ai/models/providers/trustedrouter) | `trustedrouter/*` | `TRUSTEDROUTER_API_KEY` |
127
134
  | [Umans AI](https://mastra.ai/models/providers/umans-ai) | `umans-ai/*` | `UMANS_AI_API_KEY` |
128
135
  | [Umans AI Coding Plan](https://mastra.ai/models/providers/umans-ai-coding-plan) | `umans-ai-coding-plan/*` | `UMANS_AI_CODING_PLAN_API_KEY` |
136
+ | [UnoRouter](https://mastra.ai/models/providers/unorouter) | `unorouter/*` | `UNOROUTER_API_KEY` |
129
137
  | [Upstage](https://mastra.ai/models/providers/upstage) | `upstage/*` | `UPSTAGE_API_KEY` |
130
138
  | [Vivgrid](https://mastra.ai/models/providers/vivgrid) | `vivgrid/*` | `VIVGRID_API_KEY` |
131
139
  | [Vultr](https://mastra.ai/models/providers/vultr) | `vultr/*` | `VULTR_API_KEY` |
@@ -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 346 models through Mastra's model router.
5
+ OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 344 models through Mastra's model router.
6
6
 
7
7
  Learn more in the [OpenRouter documentation](https://openrouter.ai/models).
8
8
 
@@ -75,7 +75,6 @@ ANTHROPIC_API_KEY=ant-...
75
75
  | `anthropic/claude-sonnet-5` |
76
76
  | `arcee-ai/coder-large` |
77
77
  | `arcee-ai/trinity-large-thinking` |
78
- | `arcee-ai/trinity-mini` |
79
78
  | `arcee-ai/virtuoso-large` |
80
79
  | `baidu/ernie-4.5-vl-424b-a47b` |
81
80
  | `bytedance-seed/seed-1.6` |
@@ -143,7 +142,6 @@ ANTHROPIC_API_KEY=ant-...
143
142
  | `liquid/lfm-2.5-1.2b-instruct:free` |
144
143
  | `liquid/lfm-2.5-1.2b-thinking:free` |
145
144
  | `mancer/weaver` |
146
- | `meta-llama/llama-3-8b-instruct` |
147
145
  | `meta-llama/llama-3.1-70b-instruct` |
148
146
  | `meta-llama/llama-3.1-8b-instruct` |
149
147
  | `meta-llama/llama-3.2-11b-vision-instruct` |
@@ -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 305 models through Mastra's model router.
5
+ Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 309 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
 
@@ -112,6 +112,7 @@ ANTHROPIC_API_KEY=ant-...
112
112
  | `bytedance/seedream-4.0` |
113
113
  | `bytedance/seedream-4.5` |
114
114
  | `bytedance/seedream-5.0-lite` |
115
+ | `bytedance/seedream-5.0-pro` |
115
116
  | `cohere/command-a` |
116
117
  | `cohere/embed-v4.0` |
117
118
  | `cohere/rerank-v3.5` |
@@ -164,8 +165,10 @@ ANTHROPIC_API_KEY=ant-...
164
165
  | `klingai/kling-v3.0-i2v` |
165
166
  | `klingai/kling-v3.0-motion-control` |
166
167
  | `klingai/kling-v3.0-t2v` |
168
+ | `kwaipilot/kat-coder-air-v2.5` |
167
169
  | `kwaipilot/kat-coder-pro-v1` |
168
170
  | `kwaipilot/kat-coder-pro-v2` |
171
+ | `kwaipilot/kat-coder-pro-v2.5` |
169
172
  | `meituan/longcat-flash-chat` |
170
173
  | `meituan/longcat-flash-thinking-2601` |
171
174
  | `meta/llama-3.1-70b` |
@@ -263,6 +266,7 @@ ANTHROPIC_API_KEY=ant-...
263
266
  | `openai/gpt-oss-safeguard-20b` |
264
267
  | `openai/gpt-realtime-1.5` |
265
268
  | `openai/gpt-realtime-2` |
269
+ | `openai/gpt-realtime-2.1` |
266
270
  | `openai/gpt-realtime-mini` |
267
271
  | `openai/o1` |
268
272
  | `openai/o3` |
@@ -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 4634 models from 143 providers through a single API.
5
+ Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 4853 models from 151 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 65 Abacus models through Mastra's model router. Authentication is handled automatically using the `ABACUS_API_KEY` environment variable.
5
+ Access 95 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
 
@@ -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: "abacus/Qwen/QwQ-32B"
20
+ model: "abacus/MiniMaxAI/MiniMax-M2.7"
21
21
  });
22
22
 
23
23
  // Generate a response
@@ -37,26 +37,39 @@ for await (const chunk of stream) {
37
37
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
38
  | ---------------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
39
  | `abacus/claude-3-7-sonnet-20250219` | 200K | | | | | | $3 | $15 |
40
+ | `abacus/claude-fable-5` | 1.0M | | | | | | $10 | $50 |
40
41
  | `abacus/claude-haiku-4-5-20251001` | 200K | | | | | | $1 | $5 |
41
42
  | `abacus/claude-opus-4-1-20250805` | 200K | | | | | | $15 | $75 |
42
43
  | `abacus/claude-opus-4-20250514` | 200K | | | | | | $15 | $75 |
43
44
  | `abacus/claude-opus-4-5-20251101` | 200K | | | | | | $5 | $25 |
44
- | `abacus/claude-opus-4-6` | 200K | | | | | | $5 | $25 |
45
+ | `abacus/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
46
+ | `abacus/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
47
+ | `abacus/claude-opus-4-8` | 1.0M | | | | | | $5 | $25 |
45
48
  | `abacus/claude-sonnet-4-20250514` | 200K | | | | | | $3 | $15 |
46
49
  | `abacus/claude-sonnet-4-5-20250929` | 200K | | | | | | $3 | $15 |
47
- | `abacus/claude-sonnet-4-6` | 200K | | | | | | $3 | $15 |
50
+ | `abacus/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
51
+ | `abacus/claude-sonnet-5` | 1.0M | | | | | | $3 | $15 |
48
52
  | `abacus/deepseek-ai/DeepSeek-R1` | 128K | | | | | | $3 | $7 |
49
53
  | `abacus/deepseek-ai/DeepSeek-V3.1-Terminus` | 128K | | | | | | $0.27 | $1 |
50
54
  | `abacus/deepseek-ai/DeepSeek-V3.2` | 128K | | | | | | $0.27 | $0.40 |
55
+ | `abacus/deepseek-ai/DeepSeek-V4-Flash` | 1.0M | | | | | | $0.14 | $0.28 |
56
+ | `abacus/deepseek-ai/DeepSeek-V4-Pro` | 1.0M | | | | | | $2 | $3 |
51
57
  | `abacus/deepseek/deepseek-v3.1` | 128K | | | | | | $0.55 | $2 |
52
58
  | `abacus/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
59
+ | `abacus/gemini-2.5-flash-image` | 33K | | | | | | $0.30 | $30 |
53
60
  | `abacus/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
54
61
  | `abacus/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
62
+ | `abacus/gemini-3-pro-image-preview` | 66K | | | | | | $2 | $12 |
63
+ | `abacus/gemini-3.1-flash-image-preview` | 1.0M | | | | | | $0.50 | $3 |
64
+ | `abacus/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
55
65
  | `abacus/gemini-3.1-flash-lite-preview` | 1.0M | | | | | | $0.25 | $2 |
56
66
  | `abacus/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
67
+ | `abacus/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
68
+ | `abacus/google/gemma-4-31b-it` | 262K | | | | | | $0.14 | $0.40 |
57
69
  | `abacus/gpt-4.1` | 1.0M | | | | | | $2 | $8 |
58
70
  | `abacus/gpt-4.1-mini` | 1.0M | | | | | | $0.40 | $2 |
59
71
  | `abacus/gpt-4.1-nano` | 1.0M | | | | | | $0.10 | $0.40 |
72
+ | `abacus/gpt-4o` | 128K | | | | | | $3 | $10 |
60
73
  | `abacus/gpt-4o-2024-11-20` | 128K | | | | | | $3 | $10 |
61
74
  | `abacus/gpt-4o-mini` | 128K | | | | | | $0.15 | $0.60 |
62
75
  | `abacus/gpt-5` | 400K | | | | | | $1 | $10 |
@@ -73,10 +86,18 @@ for await (const chunk of stream) {
73
86
  | `abacus/gpt-5.3-chat-latest` | 400K | | | | | | $2 | $14 |
74
87
  | `abacus/gpt-5.3-codex` | 400K | | | | | | $2 | $14 |
75
88
  | `abacus/gpt-5.3-codex-xhigh` | 400K | | | | | | $2 | $14 |
76
- | `abacus/gpt-5.4` | 1.1M | | | | | | $3 | $15 |
89
+ | `abacus/gpt-5.4` | 400K | | | | | | $3 | $15 |
90
+ | `abacus/gpt-5.4-mini` | 400K | | | | | | $0.75 | $5 |
91
+ | `abacus/gpt-5.4-nano` | 400K | | | | | | $0.20 | $1 |
92
+ | `abacus/gpt-5.5` | 1.0M | | | | | | $5 | $30 |
93
+ | `abacus/gpt-5.6-luna` | 1.0M | | | | | | $1 | $6 |
94
+ | `abacus/gpt-5.6-sol` | 1.0M | | | | | | $5 | $30 |
95
+ | `abacus/gpt-5.6-terra` | 1.0M | | | | | | $3 | $15 |
77
96
  | `abacus/grok-4-0709` | 256K | | | | | | $3 | $15 |
78
97
  | `abacus/grok-4-1-fast-non-reasoning` | 2.0M | | | | | | $0.20 | $0.50 |
79
98
  | `abacus/grok-4-fast-non-reasoning` | 2.0M | | | | | | $0.20 | $0.50 |
99
+ | `abacus/grok-4.3` | 1.0M | | | | | | $1 | $3 |
100
+ | `abacus/grok-4.5` | 500K | | | | | | $2 | $6 |
80
101
  | `abacus/grok-code-fast-1` | 256K | | | | | | $0.20 | $2 |
81
102
  | `abacus/kimi-k2-turbo-preview` | 256K | | | | | | $0.15 | $8 |
82
103
  | `abacus/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
@@ -84,6 +105,12 @@ for await (const chunk of stream) {
84
105
  | `abacus/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8` | 1.0M | | | | | | $0.14 | $0.59 |
85
106
  | `abacus/meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo` | 128K | | | | | | $4 | $4 |
86
107
  | `abacus/meta-llama/Meta-Llama-3.1-8B-Instruct` | 128K | | | | | | $0.02 | $0.05 |
108
+ | `abacus/meta-llama/Meta-Llama-3.3-70B-Instruct` | 131K | | | | | | $0.59 | $0.79 |
109
+ | `abacus/mimo-v2-pro` | 1.0M | | | | | | $1 | $3 |
110
+ | `abacus/MiniMaxAI/MiniMax-M2.7` | 205K | | | | | | $0.30 | $1 |
111
+ | `abacus/MiniMaxAI/MiniMax-M3` | 1.0M | | | | | | $0.30 | $1 |
112
+ | `abacus/moonshotai/Kimi-K2.6` | 262K | | | | | | $0.95 | $4 |
113
+ | `abacus/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
87
114
  | `abacus/o3` | 200K | | | | | | $2 | $8 |
88
115
  | `abacus/o3-mini` | 200K | | | | | | $1 | $4 |
89
116
  | `abacus/o3-pro` | 200K | | | | | | $20 | $40 |
@@ -92,15 +119,18 @@ for await (const chunk of stream) {
92
119
  | `abacus/qwen-2.5-coder-32b` | 128K | | | | | | $0.79 | $0.79 |
93
120
  | `abacus/Qwen/Qwen2.5-72B-Instruct` | 128K | | | | | | $0.11 | $0.38 |
94
121
  | `abacus/Qwen/Qwen3-235B-A22B-Instruct-2507` | 262K | | | | | | $0.13 | $0.60 |
95
- | `abacus/Qwen/Qwen3-32B` | 128K | | | | | | $0.09 | $0.29 |
96
- | `abacus/Qwen/qwen3-coder-480b-a35b-instruct` | 262K | | | | | | $0.29 | $1 |
122
+ | `abacus/Qwen/Qwen3-32B` | 131K | | | | | | $0.09 | $0.29 |
123
+ | `abacus/Qwen/Qwen3-Coder-480B-A35B-Instruct` | 262K | | | | | | $0.29 | $1 |
124
+ | `abacus/Qwen/Qwen3.6-27B` | 262K | | | | | | $0.32 | $3 |
97
125
  | `abacus/Qwen/QwQ-32B` | 33K | | | | | | $0.40 | $0.40 |
98
126
  | `abacus/qwen3-max` | 131K | | | | | | $1 | $6 |
99
127
  | `abacus/route-llm` | 128K | | | | | | $3 | $15 |
100
- | `abacus/zai-org/glm-4.5` | 128K | | | | | | $0.60 | $2 |
101
- | `abacus/zai-org/glm-4.6` | 128K | | | | | | $0.60 | $2 |
102
- | `abacus/zai-org/glm-4.7` | 128K | | | | | | $0.60 | $2 |
103
- | `abacus/zai-org/glm-5` | 205K | | | | | | $1 | $3 |
128
+ | `abacus/zai-org/GLM-4.5` | 131K | | | | | | $0.60 | $2 |
129
+ | `abacus/zai-org/GLM-4.6` | 203K | | | | | | $0.60 | $2 |
130
+ | `abacus/zai-org/GLM-4.7` | 205K | | | | | | $0.60 | $2 |
131
+ | `abacus/zai-org/GLM-5` | 205K | | | | | | $1 | $3 |
132
+ | `abacus/zai-org/GLM-5.1` | 205K | | | | | | $1 | $4 |
133
+ | `abacus/zai-org/GLM-5.2` | 1.0M | | | | | | $1 | $4 |
104
134
 
105
135
  ## Advanced configuration
106
136
 
@@ -112,7 +142,7 @@ const agent = new Agent({
112
142
  name: "custom-agent",
113
143
  model: {
114
144
  url: "https://routellm.abacus.ai/v1",
115
- id: "abacus/Qwen/QwQ-32B",
145
+ id: "abacus/MiniMaxAI/MiniMax-M2.7",
116
146
  apiKey: process.env.ABACUS_API_KEY,
117
147
  headers: {
118
148
  "X-Custom-Header": "value"
@@ -130,8 +160,8 @@ const agent = new Agent({
130
160
  model: ({ requestContext }) => {
131
161
  const useAdvanced = requestContext.task === "complex";
132
162
  return useAdvanced
133
- ? "abacus/zai-org/glm-5"
134
- : "abacus/Qwen/QwQ-32B";
163
+ ? "abacus/zai-org/GLM-5.2"
164
+ : "abacus/MiniMaxAI/MiniMax-M2.7";
135
165
  }
136
166
  });
137
167
  ```
@@ -0,0 +1,77 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # ![AI-ROUTER logo](https://models.dev/logos/ai-router.svg)AI-ROUTER
4
+
5
+ Access 5 AI-ROUTER models through Mastra's model router. Authentication is handled automatically using the `AI_ROUTER_API_KEY` environment variable.
6
+
7
+ Learn more in the [AI-ROUTER documentation](https://ai-router.dev/openai-compatible-api-gateway/).
8
+
9
+ ```bash
10
+ AI_ROUTER_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: "ai-router/gpt-5.4"
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
+ > **Info:** Mastra uses the OpenAI-compatible `/chat/completions` endpoint. Some provider-specific features may not be available. Check the [AI-ROUTER documentation](https://ai-router.dev/openai-compatible-api-gateway/) for details.
34
+
35
+ ## Models
36
+
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | ------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `ai-router/gpt-5.4` | 1.1M | | | | | | $3 | $15 |
40
+ | `ai-router/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
41
+ | `ai-router/gpt-5.6-luna` | 1.1M | | | | | | $1 | $6 |
42
+ | `ai-router/gpt-5.6-sol` | 1.1M | | | | | | $5 | $30 |
43
+ | `ai-router/gpt-5.6-terra` | 1.1M | | | | | | $3 | $15 |
44
+
45
+ ## Advanced configuration
46
+
47
+ ### Custom headers
48
+
49
+ ```typescript
50
+ const agent = new Agent({
51
+ id: "custom-agent",
52
+ name: "custom-agent",
53
+ model: {
54
+ url: "https://api.ai-router.dev/v1",
55
+ id: "ai-router/gpt-5.4",
56
+ apiKey: process.env.AI_ROUTER_API_KEY,
57
+ headers: {
58
+ "X-Custom-Header": "value"
59
+ }
60
+ }
61
+ });
62
+ ```
63
+
64
+ ### Dynamic model selection
65
+
66
+ ```typescript
67
+ const agent = new Agent({
68
+ id: "dynamic-agent",
69
+ name: "Dynamic Agent",
70
+ model: ({ requestContext }) => {
71
+ const useAdvanced = requestContext.task === "complex";
72
+ return useAdvanced
73
+ ? "ai-router/gpt-5.6-terra"
74
+ : "ai-router/gpt-5.4";
75
+ }
76
+ });
77
+ ```
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Ambient logo](https://models.dev/logos/ambient.svg)Ambient
4
4
 
5
- Access 3 Ambient models through Mastra's model router. Authentication is handled automatically using the `AMBIENT_API_KEY` environment variable.
5
+ Access 4 Ambient models through Mastra's model router. Authentication is handled automatically using the `AMBIENT_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Ambient documentation](https://ambient.xyz).
8
8
 
@@ -37,8 +37,9 @@ for await (const chunk of stream) {
37
37
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
38
  | ----------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
39
  | `ambient/moonshotai/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
40
- | `ambient/moonshotai/kimi-k2.7-code` | 262K | | | | | | $0.75 | $4 |
40
+ | `ambient/moonshotai/kimi-k2.7-code` | 262K | | | | | | $0.84 | $4 |
41
41
  | `ambient/zai-org/GLM-5.1-FP8` | 203K | | | | | | $1 | $4 |
42
+ | `ambient/zai-org/GLM-5.2-FP8` | 203K | | | | | | $1 | $4 |
42
43
 
43
44
  ## Advanced configuration
44
45
 
@@ -68,7 +69,7 @@ const agent = new Agent({
68
69
  model: ({ requestContext }) => {
69
70
  const useAdvanced = requestContext.task === "complex";
70
71
  return useAdvanced
71
- ? "ambient/zai-org/GLM-5.1-FP8"
72
+ ? "ambient/zai-org/GLM-5.2-FP8"
72
73
  : "ambient/moonshotai/kimi-k2.6";
73
74
  }
74
75
  });
@@ -0,0 +1,74 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # ![Blue Claw logo](https://models.dev/logos/blueclaw.svg)Blue Claw
4
+
5
+ Access 2 Blue Claw models through Mastra's model router. Authentication is handled automatically using the `BLUECLAW_API_KEY` environment variable.
6
+
7
+ Learn more in the [Blue Claw documentation](https://blueclaw.network).
8
+
9
+ ```bash
10
+ BLUECLAW_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: "blueclaw/Qwen/Qwen3.6-35B-A3B-FP8"
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
+ > **Info:** Mastra uses the OpenAI-compatible `/chat/completions` endpoint. Some provider-specific features may not be available. Check the [Blue Claw documentation](https://blueclaw.network) for details.
34
+
35
+ ## Models
36
+
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | ----------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `blueclaw/Qwen/Qwen3.6-35B-A3B-FP8` | 131K | | | | | | — | — |
40
+ | `blueclaw/Qwen3.6-27B` | 197K | | | | | | — | — |
41
+
42
+ ## Advanced configuration
43
+
44
+ ### Custom headers
45
+
46
+ ```typescript
47
+ const agent = new Agent({
48
+ id: "custom-agent",
49
+ name: "custom-agent",
50
+ model: {
51
+ url: "https://openai.blueclaw.network/v1",
52
+ id: "blueclaw/Qwen/Qwen3.6-35B-A3B-FP8",
53
+ apiKey: process.env.BLUECLAW_API_KEY,
54
+ headers: {
55
+ "X-Custom-Header": "value"
56
+ }
57
+ }
58
+ });
59
+ ```
60
+
61
+ ### Dynamic model selection
62
+
63
+ ```typescript
64
+ const agent = new Agent({
65
+ id: "dynamic-agent",
66
+ name: "Dynamic Agent",
67
+ model: ({ requestContext }) => {
68
+ const useAdvanced = requestContext.task === "complex";
69
+ return useAdvanced
70
+ ? "blueclaw/Qwen3.6-27B"
71
+ : "blueclaw/Qwen/Qwen3.6-35B-A3B-FP8";
72
+ }
73
+ });
74
+ ```