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

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.
@@ -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
 
@@ -38,6 +38,7 @@ List of required environment variables for each model provider and gateway suppo
38
38
  | [DeepSeek](https://mastra.ai/models/providers/deepseek) | `deepseek/*` | `DEEPSEEK_API_KEY` |
39
39
  | [DigitalOcean](https://mastra.ai/models/providers/digitalocean) | `digitalocean/*` | `DIGITALOCEAN_ACCESS_TOKEN` |
40
40
  | [DInference](https://mastra.ai/models/providers/dinference) | `dinference/*` | `DINFERENCE_API_KEY` |
41
+ | [EmpirioLabs AI](https://mastra.ai/models/providers/empiriolabs) | `empiriolabs/*` | `EMPIRIOLABS_API_KEY` |
41
42
  | [evroc](https://mastra.ai/models/providers/evroc) | `evroc/*` | `EVROC_API_KEY` |
42
43
  | [FastRouter](https://mastra.ai/models/providers/fastrouter) | `fastrouter/*` | `FASTROUTER_API_KEY` |
43
44
  | [Fireworks AI](https://mastra.ai/models/providers/fireworks-ai) | `fireworks-ai/*` | `FIREWORKS_API_KEY` |
@@ -77,6 +78,7 @@ List of required environment variables for each model provider and gateway suppo
77
78
  | [Mistral](https://mastra.ai/models/providers/mistral) | `mistral/*` | `MISTRAL_API_KEY` |
78
79
  | [Mixlayer](https://mastra.ai/models/providers/mixlayer) | `mixlayer/*` | `MIXLAYER_API_KEY` |
79
80
  | [Moark](https://mastra.ai/models/providers/moark) | `moark/*` | `MOARK_API_KEY` |
81
+ | [Model Oracle AI](https://mastra.ai/models/providers/model-oracle-ai) | `model-oracle-ai/*` | `MODEL_ORACLE_API_KEY` |
80
82
  | [ModelScope](https://mastra.ai/models/providers/modelscope) | `modelscope/*` | `MODELSCOPE_API_KEY` |
81
83
  | [Moonshot AI](https://mastra.ai/models/providers/moonshotai) | `moonshotai/*` | `MOONSHOT_API_KEY` |
82
84
  | [Moonshot AI (China)](https://mastra.ai/models/providers/moonshotai-cn) | `moonshotai-cn/*` | `MOONSHOT_API_KEY` |
@@ -97,6 +99,7 @@ List of required environment variables for each model provider and gateway suppo
97
99
  | [OVHcloud AI Endpoints](https://mastra.ai/models/providers/ovhcloud) | `ovhcloud/*` | `OVHCLOUD_API_KEY` |
98
100
  | [Perplexity](https://mastra.ai/models/providers/perplexity) | `perplexity/*` | `PERPLEXITY_API_KEY` |
99
101
  | [Perplexity Agent](https://mastra.ai/models/providers/perplexity-agent) | `perplexity-agent/*` | `PERPLEXITY_API_KEY` |
102
+ | [Pioneer](https://mastra.ai/models/providers/pioneer) | `pioneer/*` | `PIONEER_API_KEY` |
100
103
  | [Poe](https://mastra.ai/models/providers/poe) | `poe/*` | `POE_API_KEY` |
101
104
  | [Poolside](https://mastra.ai/models/providers/poolside) | `poolside/*` | `POOLSIDE_API_KEY` |
102
105
  | [Privatemode AI](https://mastra.ai/models/providers/privatemode-ai) | `privatemode-ai/*` | `PRIVATEMODE_API_KEY` |
@@ -126,6 +129,7 @@ List of required environment variables for each model provider and gateway suppo
126
129
  | [TrustedRouter](https://mastra.ai/models/providers/trustedrouter) | `trustedrouter/*` | `TRUSTEDROUTER_API_KEY` |
127
130
  | [Umans AI](https://mastra.ai/models/providers/umans-ai) | `umans-ai/*` | `UMANS_AI_API_KEY` |
128
131
  | [Umans AI Coding Plan](https://mastra.ai/models/providers/umans-ai-coding-plan) | `umans-ai-coding-plan/*` | `UMANS_AI_CODING_PLAN_API_KEY` |
132
+ | [UnoRouter](https://mastra.ai/models/providers/unorouter) | `unorouter/*` | `UNOROUTER_API_KEY` |
129
133
  | [Upstage](https://mastra.ai/models/providers/upstage) | `upstage/*` | `UPSTAGE_API_KEY` |
130
134
  | [Vivgrid](https://mastra.ai/models/providers/vivgrid) | `vivgrid/*` | `VIVGRID_API_KEY` |
131
135
  | [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 345 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` |
@@ -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 306 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
 
@@ -263,6 +263,7 @@ ANTHROPIC_API_KEY=ant-...
263
263
  | `openai/gpt-oss-safeguard-20b` |
264
264
  | `openai/gpt-realtime-1.5` |
265
265
  | `openai/gpt-realtime-2` |
266
+ | `openai/gpt-realtime-2.1` |
266
267
  | `openai/gpt-realtime-mini` |
267
268
  | `openai/o1` |
268
269
  | `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 4818 models from 147 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,106 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # ![EmpirioLabs AI logo](https://models.dev/logos/empiriolabs.svg)EmpirioLabs AI
4
+
5
+ Access 34 EmpirioLabs AI models through Mastra's model router. Authentication is handled automatically using the `EMPIRIOLABS_API_KEY` environment variable.
6
+
7
+ Learn more in the [EmpirioLabs AI documentation](https://docs.empiriolabs.ai).
8
+
9
+ ```bash
10
+ EMPIRIOLABS_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: "empiriolabs/deepseek-v4-flash"
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 [EmpirioLabs AI documentation](https://docs.empiriolabs.ai) for details.
34
+
35
+ ## Models
36
+
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | -------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `empiriolabs/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
40
+ | `empiriolabs/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
41
+ | `empiriolabs/fugu-ultra` | 1.0M | | | | | | $8 | $45 |
42
+ | `empiriolabs/gemma-4-26b-a4b` | 262K | | | | | | $0.05 | $0.29 |
43
+ | `empiriolabs/glm-4-5-flash` | 200K | | | | | | — | — |
44
+ | `empiriolabs/glm-4-7-flash` | 200K | | | | | | — | — |
45
+ | `empiriolabs/glm-5-1` | 202K | | | | | | $0.82 | $3 |
46
+ | `empiriolabs/glm-5-2` | 1.0M | | | | | | $1 | $4 |
47
+ | `empiriolabs/kimi-k2-6` | 256K | | | | | | $0.89 | $4 |
48
+ | `empiriolabs/kimi-k2-7-code` | 256K | | | | | | $0.95 | $4 |
49
+ | `empiriolabs/kimi-k2-7-code-highspeed` | 256K | | | | | | $2 | $8 |
50
+ | `empiriolabs/mimo-v2-5` | 1.0M | | | | | | $0.70 | $1 |
51
+ | `empiriolabs/mimo-v2-5-pro` | 1.0M | | | | | | $2 | $4 |
52
+ | `empiriolabs/minimax-m2-7` | 200K | | | | | | $0.15 | $0.60 |
53
+ | `empiriolabs/minimax-m2-7-highspeed` | 200K | | | | | | $0.30 | $1 |
54
+ | `empiriolabs/minimax-m3` | 1.0M | | | | | | $0.23 | $0.90 |
55
+ | `empiriolabs/muse-spark-1-1` | 1.0M | | | | | | $1 | $4 |
56
+ | `empiriolabs/qwen3-5-122b-a10b` | 256K | | | | | | $0.12 | $0.92 |
57
+ | `empiriolabs/qwen3-5-27b` | 256K | | | | | | $0.09 | $0.69 |
58
+ | `empiriolabs/qwen3-5-35b-a3b` | 256K | | | | | | $0.06 | $0.46 |
59
+ | `empiriolabs/qwen3-5-397b-a17b` | 256K | | | | | | $0.17 | $1 |
60
+ | `empiriolabs/qwen3-5-4b` | 262K | | | | | | $0.04 | $0.07 |
61
+ | `empiriolabs/qwen3-5-9b` | 262K | | | | | | $0.09 | $0.13 |
62
+ | `empiriolabs/qwen3-5-plus` | 1.0M | | | | | | $0.36 | $2 |
63
+ | `empiriolabs/qwen3-6-27b` | 256K | | | | | | $0.41 | $2 |
64
+ | `empiriolabs/qwen3-6-flash` | 1.0M | | | | | | $0.25 | $2 |
65
+ | `empiriolabs/qwen3-6-max-preview` | 256K | | | | | | $1 | $8 |
66
+ | `empiriolabs/qwen3-6-plus` | 1.0M | | | | | | $0.50 | $3 |
67
+ | `empiriolabs/qwen3-7-max` | 1.0M | | | | | | $3 | $8 |
68
+ | `empiriolabs/qwen3-7-plus` | 1.0M | | | | | | $0.40 | $2 |
69
+ | `empiriolabs/qwen3-max` | 256K | | | | | | $1 | $6 |
70
+ | `empiriolabs/step-3-5-flash` | 256K | | | | | | $0.10 | $0.30 |
71
+ | `empiriolabs/step-3-5-flash-2603` | 256K | | | | | | $0.10 | $0.30 |
72
+ | `empiriolabs/step-3-7-flash` | 256K | | | | | | $0.20 | $1 |
73
+
74
+ ## Advanced configuration
75
+
76
+ ### Custom headers
77
+
78
+ ```typescript
79
+ const agent = new Agent({
80
+ id: "custom-agent",
81
+ name: "custom-agent",
82
+ model: {
83
+ url: "https://api.empiriolabs.ai/v1",
84
+ id: "empiriolabs/deepseek-v4-flash",
85
+ apiKey: process.env.EMPIRIOLABS_API_KEY,
86
+ headers: {
87
+ "X-Custom-Header": "value"
88
+ }
89
+ }
90
+ });
91
+ ```
92
+
93
+ ### Dynamic model selection
94
+
95
+ ```typescript
96
+ const agent = new Agent({
97
+ id: "dynamic-agent",
98
+ name: "Dynamic Agent",
99
+ model: ({ requestContext }) => {
100
+ const useAdvanced = requestContext.task === "complex";
101
+ return useAdvanced
102
+ ? "empiriolabs/step-3-7-flash"
103
+ : "empiriolabs/deepseek-v4-flash";
104
+ }
105
+ });
106
+ ```
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![LLM Gateway logo](https://models.dev/logos/llmgateway.svg)LLM Gateway
4
4
 
5
- Access 181 LLM Gateway models through Mastra's model router. Authentication is handled automatically using the `LLMGATEWAY_API_KEY` environment variable.
5
+ Access 182 LLM Gateway models through Mastra's model router. Authentication is handled automatically using the `LLMGATEWAY_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [LLM Gateway documentation](https://llmgateway.io/docs).
8
8
 
@@ -162,6 +162,7 @@ for await (const chunk of stream) {
162
162
  | `llmgateway/mistral-large-2512` | 262K | | | | | | $0.50 | $2 |
163
163
  | `llmgateway/mistral-large-latest` | 128K | | | | | | $4 | $12 |
164
164
  | `llmgateway/mistral-small-2506` | 128K | | | | | | $0.10 | $0.30 |
165
+ | `llmgateway/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
165
166
  | `llmgateway/nemotron-3-ultra-550b` | 262K | | | | | | $0.50 | $3 |
166
167
  | `llmgateway/o1` | 200K | | | | | | $15 | $60 |
167
168
  | `llmgateway/o3` | 200K | | | | | | $2 | $8 |
@@ -0,0 +1,87 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # ![Model Oracle AI logo](https://models.dev/logos/model-oracle-ai.svg)Model Oracle AI
4
+
5
+ Access 15 Model Oracle AI models through Mastra's model router. Authentication is handled automatically using the `MODEL_ORACLE_API_KEY` environment variable.
6
+
7
+ Learn more in the [Model Oracle AI documentation](https://modeloracle.com/setup/).
8
+
9
+ ```bash
10
+ MODEL_ORACLE_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: "model-oracle-ai/auto"
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 [Model Oracle AI documentation](https://modeloracle.com/setup/) for details.
34
+
35
+ ## Models
36
+
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | ---------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `model-oracle-ai/auto` | 1.0M | | | | | | — | — |
40
+ | `model-oracle-ai/claude-fable-5` | 1.0M | | | | | | — | — |
41
+ | `model-oracle-ai/claude-haiku-4.5` | 200K | | | | | | — | — |
42
+ | `model-oracle-ai/claude-opus-4.8` | 1.0M | | | | | | — | — |
43
+ | `model-oracle-ai/claude-sonnet-5` | 1.0M | | | | | | — | — |
44
+ | `model-oracle-ai/deepseek-v4-pro` | 1.0M | | | | | | — | — |
45
+ | `model-oracle-ai/glm-5.2` | 1.0M | | | | | | — | — |
46
+ | `model-oracle-ai/gpt-4.1` | 1.0M | | | | | | — | — |
47
+ | `model-oracle-ai/gpt-4.1-mini` | 1.0M | | | | | | — | — |
48
+ | `model-oracle-ai/gpt-5` | 400K | | | | | | — | — |
49
+ | `model-oracle-ai/gpt-5.4` | 1.1M | | | | | | — | — |
50
+ | `model-oracle-ai/gpt-5.4-mini` | 400K | | | | | | — | — |
51
+ | `model-oracle-ai/gpt-5.4-nano` | 400K | | | | | | — | — |
52
+ | `model-oracle-ai/gpt-5.5` | 1.1M | | | | | | — | — |
53
+ | `model-oracle-ai/o4-mini` | 200K | | | | | | — | — |
54
+
55
+ ## Advanced configuration
56
+
57
+ ### Custom headers
58
+
59
+ ```typescript
60
+ const agent = new Agent({
61
+ id: "custom-agent",
62
+ name: "custom-agent",
63
+ model: {
64
+ url: "https://api.modeloracle.com/api/v1",
65
+ id: "model-oracle-ai/auto",
66
+ apiKey: process.env.MODEL_ORACLE_API_KEY,
67
+ headers: {
68
+ "X-Custom-Header": "value"
69
+ }
70
+ }
71
+ });
72
+ ```
73
+
74
+ ### Dynamic model selection
75
+
76
+ ```typescript
77
+ const agent = new Agent({
78
+ id: "dynamic-agent",
79
+ name: "Dynamic Agent",
80
+ model: ({ requestContext }) => {
81
+ const useAdvanced = requestContext.task === "complex";
82
+ return useAdvanced
83
+ ? "model-oracle-ai/o4-mini"
84
+ : "model-oracle-ai/auto";
85
+ }
86
+ });
87
+ ```
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Nvidia logo](https://models.dev/logos/nvidia.svg)Nvidia
4
4
 
5
- Access 84 Nvidia models through Mastra's model router. Authentication is handled automatically using the `NVIDIA_API_KEY` environment variable.
5
+ Access 82 Nvidia models through Mastra's model router. Authentication is handled automatically using the `NVIDIA_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Nvidia documentation](https://docs.api.nvidia.com/nim/).
8
8
 
@@ -73,8 +73,6 @@ for await (const chunk of stream) {
73
73
  | `nvidia/mistralai/mistral-small-4-119b-2603` | 128K | | | | | | — | — |
74
74
  | `nvidia/mistralai/mixtral-8x22b-instruct` | 66K | | | | | | — | — |
75
75
  | `nvidia/mistralai/mixtral-8x7b-instruct` | 33K | | | | | | — | — |
76
- | `nvidia/moonshotai/kimi-k2-instruct-0905` | 262K | | | | | | — | — |
77
- | `nvidia/moonshotai/kimi-k2.6` | 262K | | | | | | — | — |
78
76
  | `nvidia/nvidia/active-speaker-detection` | — | | | | | | — | — |
79
77
  | `nvidia/nvidia/bevformer` | 128K | | | | | | — | — |
80
78
  | `nvidia/nvidia/cosmos-predict1-5b` | — | | | | | | — | — |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![OpenAI logo](https://models.dev/logos/openai.svg)OpenAI
4
4
 
5
- Access 55 OpenAI models through Mastra's model router. Authentication is handled automatically using the `OPENAI_API_KEY` environment variable.
5
+ Access 56 OpenAI models through Mastra's model router. Authentication is handled automatically using the `OPENAI_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [OpenAI documentation](https://platform.openai.com/docs/models).
8
8
 
@@ -78,6 +78,7 @@ for await (const chunk of stream) {
78
78
  | `openai/gpt-image-1-mini` | — | | | | | | — | — |
79
79
  | `openai/gpt-image-1.5` | — | | | | | | — | — |
80
80
  | `openai/gpt-image-2` | — | | | | | | $5 | $30 |
81
+ | `openai/gpt-realtime-2.1` | 128K | | | | | | $4 | $24 |
81
82
  | `openai/o1` | 200K | | | | | | $15 | $60 |
82
83
  | `openai/o1-pro` | 200K | | | | | | $150 | $600 |
83
84
  | `openai/o3` | 200K | | | | | | $2 | $8 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![OpenCode Zen logo](https://models.dev/logos/opencode.svg)OpenCode Zen
4
4
 
5
- Access 52 OpenCode Zen models through Mastra's model router. Authentication is handled automatically using the `OPENCODE_API_KEY` environment variable.
5
+ Access 55 OpenCode Zen models through Mastra's model router. Authentication is handled automatically using the `OPENCODE_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [OpenCode Zen documentation](https://opencode.ai/docs/zen).
8
8
 
@@ -74,9 +74,12 @@ for await (const chunk of stream) {
74
74
  | `opencode/gpt-5.4-pro` | 1.1M | | | | | | $30 | $180 |
75
75
  | `opencode/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
76
76
  | `opencode/gpt-5.5-pro` | 1.1M | | | | | | $30 | $180 |
77
+ | `opencode/gpt-5.6-luna` | 1.1M | | | | | | $1 | $6 |
78
+ | `opencode/gpt-5.6-sol` | 1.1M | | | | | | $5 | $30 |
79
+ | `opencode/gpt-5.6-terra` | 1.1M | | | | | | $3 | $15 |
77
80
  | `opencode/grok-4.5` | 500K | | | | | | $2 | $6 |
78
81
  | `opencode/grok-build-0.1` | 256K | | | | | | $1 | $2 |
79
- | `opencode/hy3-free` | 256K | | | | | | — | — |
82
+ | `opencode/hy3-free` | 190K | | | | | | — | — |
80
83
  | `opencode/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
81
84
  | `opencode/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
82
85
  | `opencode/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
@@ -0,0 +1,148 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # ![Pioneer logo](https://models.dev/logos/pioneer.svg)Pioneer
4
+
5
+ Access 76 Pioneer models through Mastra's model router. Authentication is handled automatically using the `PIONEER_API_KEY` environment variable.
6
+
7
+ Learn more in the [Pioneer documentation](https://agent.pioneer.ai/llms.txt).
8
+
9
+ ```bash
10
+ PIONEER_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: "pioneer/HuggingFaceTB/SmolLM3-3B-Base"
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 [Pioneer documentation](https://agent.pioneer.ai/llms.txt) for details.
34
+
35
+ ## Models
36
+
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | ------------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `pioneer/claude-haiku-4-5` | 200K | | | | | | $1 | $5 |
40
+ | `pioneer/claude-opus-4-1` | 200K | | | | | | $15 | $75 |
41
+ | `pioneer/claude-opus-4-5` | 200K | | | | | | $5 | $25 |
42
+ | `pioneer/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
43
+ | `pioneer/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
44
+ | `pioneer/claude-opus-4-8` | 1.0M | | | | | | $5 | $25 |
45
+ | `pioneer/claude-sonnet-4-5` | 1.0M | | | | | | $3 | $15 |
46
+ | `pioneer/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
47
+ | `pioneer/deepseek-ai/DeepSeek-V4-Flash` | 1.0M | | | | | | $0.10 | $0.20 |
48
+ | `pioneer/deepseek-ai/DeepSeek-V4-Pro` | 1.0M | | | | | | $0.43 | $0.87 |
49
+ | `pioneer/fastino/gliguard-LLMGuardrails-300M` | 8K | | | | | | $0.15 | $0.15 |
50
+ | `pioneer/fastino/gliner2-base-v1` | 8K | | | | | | $0.15 | $0.15 |
51
+ | `pioneer/fastino/gliner2-large-v1` | 8K | | | | | | $0.15 | $0.15 |
52
+ | `pioneer/fastino/gliner2-multi-large-v1` | 8K | | | | | | $0.15 | $0.15 |
53
+ | `pioneer/fastino/gliner2-multi-v1` | 8K | | | | | | $0.15 | $0.15 |
54
+ | `pioneer/fastino/gliner2-privacy-filter-PII-multi` | 8K | | | | | | $0.15 | $0.15 |
55
+ | `pioneer/gemini-3-flash` | 1.0M | | | | | | $0.50 | $3 |
56
+ | `pioneer/gemini-3.1-pro` | 1.0M | | | | | | $2 | $12 |
57
+ | `pioneer/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
58
+ | `pioneer/google/diffusiongemma-26B-A4B-it` | 262K | | | | | | $0.50 | $0.50 |
59
+ | `pioneer/google/gemma-3-4b-pt` | 33K | | | | | | $0.15 | $0.15 |
60
+ | `pioneer/google/gemma-4-12B-it` | 33K | | | | | | $0.25 | $0.25 |
61
+ | `pioneer/google/gemma-4-31B-it` | 33K | | | | | | $0.50 | $0.50 |
62
+ | `pioneer/google/gemma-4-E2B-it` | 33K | | | | | | $0.10 | $0.10 |
63
+ | `pioneer/google/gemma-4-E4B-it` | 33K | | | | | | $0.20 | $0.20 |
64
+ | `pioneer/gpt-4.1` | 1.0M | | | | | | $2 | $8 |
65
+ | `pioneer/gpt-4.1-mini` | 1.0M | | | | | | $0.40 | $2 |
66
+ | `pioneer/gpt-4.1-nano` | 1.0M | | | | | | $0.10 | $0.40 |
67
+ | `pioneer/gpt-4o` | 128K | | | | | | $3 | $10 |
68
+ | `pioneer/gpt-4o-mini` | 128K | | | | | | $0.15 | $0.60 |
69
+ | `pioneer/gpt-5-mini` | 400K | | | | | | $0.25 | $2 |
70
+ | `pioneer/gpt-5-nano` | 400K | | | | | | $0.05 | $0.40 |
71
+ | `pioneer/gpt-5.1` | 400K | | | | | | $1 | $10 |
72
+ | `pioneer/gpt-5.3-codex` | 400K | | | | | | $2 | $14 |
73
+ | `pioneer/gpt-5.4` | 1.1M | | | | | | $3 | $15 |
74
+ | `pioneer/gpt-5.4-mini` | 400K | | | | | | $0.75 | $5 |
75
+ | `pioneer/gpt-5.4-nano` | 1.0M | | | | | | $0.20 | $1 |
76
+ | `pioneer/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
77
+ | `pioneer/HuggingFaceTB/SmolLM3-3B-Base` | 33K | | | | | | $0.15 | $0.15 |
78
+ | `pioneer/LiquidAI/LFM2-24B-A2B` | 33K | | | | | | $0.03 | $0.12 |
79
+ | `pioneer/meta-llama/Llama-3.1-8B-Instruct` | 131K | | | | | | $0.20 | $0.20 |
80
+ | `pioneer/meta-llama/Llama-3.2-1B-Instruct` | 131K | | | | | | $0.10 | $0.20 |
81
+ | `pioneer/meta-llama/Llama-3.2-3B-Instruct` | 131K | | | | | | $0.10 | $0.34 |
82
+ | `pioneer/meta-llama/Llama-3.3-70B-Instruct` | 131K | | | | | | $0.90 | $0.90 |
83
+ | `pioneer/MiniMaxAI/MiniMax-M2.7` | 205K | | | | | | $0.28 | $1 |
84
+ | `pioneer/MiniMaxAI/MiniMax-M3` | 1.0M | | | | | | $0.30 | $1 |
85
+ | `pioneer/mistral-medium-3.5` | 262K | | | | | | $2 | $8 |
86
+ | `pioneer/mistralai/Mistral-7B-Instruct-v0.3` | 33K | | | | | | $0.20 | $0.20 |
87
+ | `pioneer/mistralai/Mistral-Nemo-Instruct-2407` | 131K | | | | | | $0.02 | $0.03 |
88
+ | `pioneer/mistralai/Mistral-Small-4-119B-2603` | 262K | | | | | | $0.15 | $0.60 |
89
+ | `pioneer/moonshotai/Kimi-K2.6` | 262K | | | | | | $0.95 | $4 |
90
+ | `pioneer/moonshotai/Kimi-K2.7-Code` | 262K | | | | | | $0.95 | $4 |
91
+ | `pioneer/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16` | 262K | | | | | | $0.05 | $0.20 |
92
+ | `pioneer/nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8` | 1.0M | | | | | | $0.09 | $0.45 |
93
+ | `pioneer/nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16` | 1.0M | | | | | | $0.50 | $3 |
94
+ | `pioneer/openai/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
95
+ | `pioneer/openai/gpt-oss-20b` | 131K | | | | | | $0.07 | $0.30 |
96
+ | `pioneer/pioneer/auto` | 1.0M | | | | | | — | — |
97
+ | `pioneer/Qwen/Qwen3-1.7B-Base` | 33K | | | | | | $0.10 | $0.10 |
98
+ | `pioneer/Qwen/Qwen3-32B` | 131K | | | | | | $0.90 | $0.90 |
99
+ | `pioneer/Qwen/Qwen3-4B-Base` | 33K | | | | | | $0.15 | $0.15 |
100
+ | `pioneer/Qwen/Qwen3-4B-Instruct-2507` | 262K | | | | | | $0.20 | $0.20 |
101
+ | `pioneer/Qwen/Qwen3-8B` | 131K | | | | | | $0.20 | $0.20 |
102
+ | `pioneer/Qwen/Qwen3.5-9B` | 33K | | | | | | $0.30 | $0.30 |
103
+ | `pioneer/Qwen/Qwen3.6-27B` | 33K | | | | | | $0.60 | $0.60 |
104
+ | `pioneer/Qwen/Qwen3.6-35B-A3B` | 262K | | | | | | $0.14 | $1 |
105
+ | `pioneer/qwen3.6-flash` | 1.0M | | | | | | $0.19 | $1 |
106
+ | `pioneer/qwen3.6-max-preview` | 262K | | | | | | $1 | $6 |
107
+ | `pioneer/qwen3.6-plus` | 1.0M | | | | | | $0.33 | $2 |
108
+ | `pioneer/qwen3.7-max` | 1.0M | | | | | | $1 | $4 |
109
+ | `pioneer/qwen3.7-plus` | 1.0M | | | | | | $0.32 | $1 |
110
+ | `pioneer/sakana/fugu-ultra` | 1.0M | | | | | | $5 | $30 |
111
+ | `pioneer/XiaomiMiMo/MiMo-V2.5` | 1.1M | | | | | | $0.14 | $0.28 |
112
+ | `pioneer/XiaomiMiMo/MiMo-V2.5-Pro` | 1.1M | | | | | | $0.43 | $0.87 |
113
+ | `pioneer/zai-org/GLM-5.1` | 203K | | | | | | $0.98 | $3 |
114
+ | `pioneer/zai-org/GLM-5.2` | 1.0M | | | | | | $1 | $4 |
115
+
116
+ ## Advanced configuration
117
+
118
+ ### Custom headers
119
+
120
+ ```typescript
121
+ const agent = new Agent({
122
+ id: "custom-agent",
123
+ name: "custom-agent",
124
+ model: {
125
+ url: "https://api.pioneer.ai/v1",
126
+ id: "pioneer/HuggingFaceTB/SmolLM3-3B-Base",
127
+ apiKey: process.env.PIONEER_API_KEY,
128
+ headers: {
129
+ "X-Custom-Header": "value"
130
+ }
131
+ }
132
+ });
133
+ ```
134
+
135
+ ### Dynamic model selection
136
+
137
+ ```typescript
138
+ const agent = new Agent({
139
+ id: "dynamic-agent",
140
+ name: "Dynamic Agent",
141
+ model: ({ requestContext }) => {
142
+ const useAdvanced = requestContext.task === "complex";
143
+ return useAdvanced
144
+ ? "pioneer/zai-org/GLM-5.2"
145
+ : "pioneer/HuggingFaceTB/SmolLM3-3B-Base";
146
+ }
147
+ });
148
+ ```
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![routing.run logo](https://models.dev/logos/routing-run.svg)routing.run
4
4
 
5
- Access 12 routing.run models through Mastra's model router. Authentication is handled automatically using the `ROUTING_RUN_API_KEY` environment variable.
5
+ Access 15 routing.run models through Mastra's model router. Authentication is handled automatically using the `ROUTING_RUN_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [routing.run documentation](https://docs.routing.run).
8
8
 
@@ -42,6 +42,9 @@ for await (const chunk of stream) {
42
42
  | `routing-run/deepseek-v4-pro` | 1.0M | | | | | | $0.35 | $0.70 |
43
43
  | `routing-run/glm-5.2` | 200K | | | | | | $0.80 | $2 |
44
44
  | `routing-run/glm-5.2-nitro` | 200K | | | | | | $0.80 | $2 |
45
+ | `routing-run/gpt-5.6-luna` | 1.0M | | | | | | $0.70 | $4 |
46
+ | `routing-run/gpt-5.6-sol` | 1.0M | | | | | | $3 | $15 |
47
+ | `routing-run/gpt-5.6-terra` | 1.0M | | | | | | $2 | $9 |
45
48
  | `routing-run/kimi-k2.6` | 200K | | | | | | $0.28 | $1 |
46
49
  | `routing-run/kimi-k2.6-nitro` | 200K | | | | | | $0.28 | $1 |
47
50
  | `routing-run/kimi-k2.7-code` | 200K | | | | | | $0.28 | $1 |
@@ -0,0 +1,95 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # ![UnoRouter logo](https://models.dev/logos/unorouter.svg)UnoRouter
4
+
5
+ Access 23 UnoRouter models through Mastra's model router. Authentication is handled automatically using the `UNOROUTER_API_KEY` environment variable.
6
+
7
+ Learn more in the [UnoRouter documentation](https://unorouter.com/models).
8
+
9
+ ```bash
10
+ UNOROUTER_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: "unorouter/claude-haiku-4-5-20251001"
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 [UnoRouter documentation](https://unorouter.com/models) for details.
34
+
35
+ ## Models
36
+
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | ------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `unorouter/claude-haiku-4-5-20251001` | 200K | | | | | | $1 | $6 |
40
+ | `unorouter/claude-opus-4-8` | 1.0M | | | | | | $0.42 | $2 |
41
+ | `unorouter/claude-sonnet-5` | 1.0M | | | | | | $1 | $7 |
42
+ | `unorouter/deepseek-v4-flash` | 1.0M | | | | | | $0.06 | $0.13 |
43
+ | `unorouter/deepseek-v4-flash:free` | 1.0M | | | | | | — | — |
44
+ | `unorouter/deepseek-v4-pro` | 1.0M | | | | | | $0.90 | $2 |
45
+ | `unorouter/deepseek-v4-pro:free` | 1.0M | | | | | | — | — |
46
+ | `unorouter/gemini-3.5-flash` | 1.0M | | | | | | $0.19 | $1 |
47
+ | `unorouter/gemma-4-31b-it:free` | 262K | | | | | | — | — |
48
+ | `unorouter/glm-4.5-flash:free` | 131K | | | | | | — | — |
49
+ | `unorouter/glm-5.2` | 1.0M | | | | | | $2 | $5 |
50
+ | `unorouter/glm-5.2:free` | 1.0M | | | | | | — | — |
51
+ | `unorouter/gpt-5.2` | 400K | | | | | | $1 | $8 |
52
+ | `unorouter/gpt-5.4` | 1.1M | | | | | | $2 | $11 |
53
+ | `unorouter/gpt-5.4:free` | 1.1M | | | | | | — | — |
54
+ | `unorouter/gpt-5.5` | 1.1M | | | | | | $0.19 | $1 |
55
+ | `unorouter/gpt-5.5:free` | 1.1M | | | | | | — | — |
56
+ | `unorouter/kimi-k2.6` | 262K | | | | | | $1 | $5 |
57
+ | `unorouter/minimax-m2.7` | 205K | | | | | | $0.82 | $3 |
58
+ | `unorouter/minimax-m2.7:free` | 205K | | | | | | — | — |
59
+ | `unorouter/nemotron-3-ultra-550b-a55b:free` | 1.0M | | | | | | — | — |
60
+ | `unorouter/qwen3.5-397b-a17b:free` | 262K | | | | | | — | — |
61
+ | `unorouter/step-3.7-flash:free` | 256K | | | | | | — | — |
62
+
63
+ ## Advanced configuration
64
+
65
+ ### Custom headers
66
+
67
+ ```typescript
68
+ const agent = new Agent({
69
+ id: "custom-agent",
70
+ name: "custom-agent",
71
+ model: {
72
+ url: "https://api.unorouter.com/v1",
73
+ id: "unorouter/claude-haiku-4-5-20251001",
74
+ apiKey: process.env.UNOROUTER_API_KEY,
75
+ headers: {
76
+ "X-Custom-Header": "value"
77
+ }
78
+ }
79
+ });
80
+ ```
81
+
82
+ ### Dynamic model selection
83
+
84
+ ```typescript
85
+ const agent = new Agent({
86
+ id: "dynamic-agent",
87
+ name: "Dynamic Agent",
88
+ model: ({ requestContext }) => {
89
+ const useAdvanced = requestContext.task === "complex";
90
+ return useAdvanced
91
+ ? "unorouter/step-3.7-flash:free"
92
+ : "unorouter/claude-haiku-4-5-20251001";
93
+ }
94
+ });
95
+ ```
@@ -41,6 +41,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
41
41
  - [Deep Infra](https://mastra.ai/models/providers/deepinfra)
42
42
  - [DigitalOcean](https://mastra.ai/models/providers/digitalocean)
43
43
  - [DInference](https://mastra.ai/models/providers/dinference)
44
+ - [EmpirioLabs AI](https://mastra.ai/models/providers/empiriolabs)
44
45
  - [evroc](https://mastra.ai/models/providers/evroc)
45
46
  - [FastRouter](https://mastra.ai/models/providers/fastrouter)
46
47
  - [Fireworks AI](https://mastra.ai/models/providers/fireworks-ai)
@@ -77,6 +78,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
77
78
  - [MiniMax Token Plan (minimaxi.com)](https://mastra.ai/models/providers/minimax-cn-coding-plan)
78
79
  - [Mixlayer](https://mastra.ai/models/providers/mixlayer)
79
80
  - [Moark](https://mastra.ai/models/providers/moark)
81
+ - [Model Oracle AI](https://mastra.ai/models/providers/model-oracle-ai)
80
82
  - [ModelScope](https://mastra.ai/models/providers/modelscope)
81
83
  - [Moonshot AI](https://mastra.ai/models/providers/moonshotai)
82
84
  - [Moonshot AI (China)](https://mastra.ai/models/providers/moonshotai-cn)
@@ -96,6 +98,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
96
98
  - [OVHcloud AI Endpoints](https://mastra.ai/models/providers/ovhcloud)
97
99
  - [Perplexity](https://mastra.ai/models/providers/perplexity)
98
100
  - [Perplexity Agent](https://mastra.ai/models/providers/perplexity-agent)
101
+ - [Pioneer](https://mastra.ai/models/providers/pioneer)
99
102
  - [Poe](https://mastra.ai/models/providers/poe)
100
103
  - [Poolside](https://mastra.ai/models/providers/poolside)
101
104
  - [Privatemode AI](https://mastra.ai/models/providers/privatemode-ai)
@@ -125,6 +128,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
125
128
  - [TrustedRouter](https://mastra.ai/models/providers/trustedrouter)
126
129
  - [Umans AI](https://mastra.ai/models/providers/umans-ai)
127
130
  - [Umans AI Coding Plan](https://mastra.ai/models/providers/umans-ai-coding-plan)
131
+ - [UnoRouter](https://mastra.ai/models/providers/unorouter)
128
132
  - [Upstage](https://mastra.ai/models/providers/upstage)
129
133
  - [Vivgrid](https://mastra.ai/models/providers/vivgrid)
130
134
  - [Vultr](https://mastra.ai/models/providers/vultr)
@@ -0,0 +1,26 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # Logger
4
+
5
+ Mastra sets the project's [logger](https://mastra.ai/docs/observability/logging) from a `logger.ts` file directly under `src/mastra/`. The file default-exports a logger, which replaces the built-in `ConsoleLogger` used across agents, workflows, and other components.
6
+
7
+ Use this page for the file-based convention. For log levels, transports, and provider details, see [logging](https://mastra.ai/docs/observability/logging).
8
+
9
+ ## Quickstart
10
+
11
+ Create `src/mastra/logger.ts` and default-export a logger, such as [`PinoLogger`](https://mastra.ai/reference/logging/pino-logger):
12
+
13
+ ```typescript
14
+ import { PinoLogger } from '@mastra/loggers'
15
+
16
+ export default new PinoLogger({
17
+ name: 'Mastra',
18
+ level: 'info',
19
+ })
20
+ ```
21
+
22
+ Mastra registers the logger before storage, observability, and file-based agents, so those primitives log through this logger as they are wired up.
23
+
24
+ ## Precedence with code
25
+
26
+ Code-registered logging wins over `logger.ts`. If you pass `logger` to `new Mastra({ logger })` in `src/mastra/index.ts` (or set `logger: false` to disable logging), `logger.ts` is ignored with a warning. Use `logger.ts` when one project-wide logger is enough; use code registration when setup depends on runtime wiring.
@@ -0,0 +1,54 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # Scorers
4
+
5
+ A file-based agent discovers [scorers](https://mastra.ai/docs/evals/overview) from its `scorers/` directory. Use this page for the file-based convention; use the scorers guide for built-in scorers, custom scorers, and sampling.
6
+
7
+ Each file under `scorers/` default-exports one scorer, and the filename becomes its key. The default export is either a [`MastraScorer`](https://mastra.ai/reference/evals/create-scorer) or a `{ scorer, sampling }` entry.
8
+
9
+ ## Quickstart
10
+
11
+ Add a scorer by placing a file under the agent's `scorers/` directory. This example uses a [custom scorer](https://mastra.ai/docs/evals/custom-scorers):
12
+
13
+ ```typescript
14
+ import { createScorer } from '@mastra/core/evals'
15
+
16
+ export default createScorer({
17
+ id: 'relevance',
18
+ description: 'Scores how relevant the response is',
19
+ }).generateScore(() => 1)
20
+ ```
21
+
22
+ The scorer is registered on the `weather` agent under the key `relevance`, the same as adding it to `config.scorers`.
23
+
24
+ ## Sampling
25
+
26
+ To control how often a scorer runs, default-export a `{ scorer, sampling }` entry instead of a bare scorer:
27
+
28
+ ```typescript
29
+ import { createScorer } from '@mastra/core/evals'
30
+
31
+ const relevance = createScorer({
32
+ id: 'relevance',
33
+ description: 'Scores how relevant the response is',
34
+ }).generateScore(() => 1)
35
+
36
+ export default {
37
+ scorer: relevance,
38
+ sampling: { type: 'ratio', rate: 0.5 },
39
+ }
40
+ ```
41
+
42
+ ## Precedence with config
43
+
44
+ Discovered scorers are merged with the scorers defined in [`config.ts`](https://mastra.ai/reference/file-based-agents/config). On a key collision, `config.scorers` wins with a warning. If `config.scorers` is a function, discovered scorers are ignored with a warning because function-valued scorers can't be statically merged.
45
+
46
+ When keys collide, precedence is:
47
+
48
+ 1. Function-valued `config.scorers`
49
+ 2. Record-valued `config.scorers`
50
+ 3. Discovered files under `scorers/`
51
+
52
+ Non-colliding discovered scorers are preserved.
53
+
54
+ Visit [`createScorer()`](https://mastra.ai/reference/evals/create-scorer) for the full scorer interface.
@@ -177,9 +177,11 @@ The Reference section provides documentation of Mastra's API, including paramete
177
177
  - [.updateItem()](https://mastra.ai/reference/datasets/updateItem)
178
178
  - [config.ts](https://mastra.ai/reference/file-based-agents/config)
179
179
  - [Instructions](https://mastra.ai/reference/file-based-agents/instructions)
180
+ - [Logger](https://mastra.ai/reference/file-based-agents/logger)
180
181
  - [Memory](https://mastra.ai/reference/file-based-agents/memory)
181
182
  - [Observability](https://mastra.ai/reference/file-based-agents/observability)
182
183
  - [Processors](https://mastra.ai/reference/file-based-agents/processors)
184
+ - [Scorers](https://mastra.ai/reference/file-based-agents/scorers)
183
185
  - [Server](https://mastra.ai/reference/file-based-agents/server)
184
186
  - [Skills](https://mastra.ai/reference/file-based-agents/skills)
185
187
  - [Storage](https://mastra.ai/reference/file-based-agents/storage)
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @mastra/mcp-docs-server
2
2
 
3
+ ## 1.2.7-alpha.11
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`fb8aea3`](https://github.com/mastra-ai/mastra/commit/fb8aea384291e77311be3a64ee1717320d5c3c73), [`4ce0163`](https://github.com/mastra-ai/mastra/commit/4ce0163dc86e675a86809685c8ce6c49f1aeb87e)]:
8
+ - @mastra/core@1.51.0-alpha.5
9
+
3
10
  ## 1.2.7-alpha.9
4
11
 
5
12
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/mcp-docs-server",
3
- "version": "1.2.7-alpha.10",
3
+ "version": "1.2.7-alpha.12",
4
4
  "description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -28,8 +28,8 @@
28
28
  "jsdom": "^26.1.0",
29
29
  "local-pkg": "^1.1.2",
30
30
  "zod": "^4.4.3",
31
- "@mastra/core": "1.51.0-alpha.4",
32
- "@mastra/mcp": "^1.14.0-alpha.0"
31
+ "@mastra/mcp": "^1.14.0-alpha.0",
32
+ "@mastra/core": "1.51.0-alpha.5"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@hono/node-server": "^1.19.11",
@@ -47,7 +47,7 @@
47
47
  "vitest": "4.1.9",
48
48
  "@internal/lint": "0.0.113",
49
49
  "@internal/types-builder": "0.0.88",
50
- "@mastra/core": "1.51.0-alpha.4"
50
+ "@mastra/core": "1.51.0-alpha.5"
51
51
  },
52
52
  "homepage": "https://mastra.ai",
53
53
  "repository": {