@mastra/mcp-docs-server 1.2.10-alpha.1 → 1.2.10-alpha.3
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.
- package/.docs/docs/memory/message-history.md +1 -1
- package/.docs/models/gateways/openrouter.md +2 -1
- package/.docs/models/gateways/vercel.md +2 -1
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/baseten.md +1 -1
- package/.docs/models/providers/chutes.md +2 -1
- package/.docs/models/providers/crossmodel.md +2 -1
- package/.docs/models/providers/google.md +44 -28
- package/.docs/models/providers/llmgateway.md +16 -8
- package/.docs/models/providers/thinkingmachines.md +40 -11
- package/.docs/reference/agents/channels.md +44 -0
- package/.docs/reference/memory/memory-class.md +1 -1
- package/.docs/reference/memory/recall.md +1 -1
- package/CHANGELOG.md +7 -0
- package/package.json +5 -5
|
@@ -124,7 +124,7 @@ You can use this history in two ways:
|
|
|
124
124
|
|
|
125
125
|
## Thread title generation
|
|
126
126
|
|
|
127
|
-
Mastra can automatically generate descriptive thread titles
|
|
127
|
+
Mastra can automatically generate descriptive thread titles from the conversation transcript when `generateTitle` is enabled. Use this option when you build a chat interface that renders conversation titles in a thread list or sidebar.
|
|
128
128
|
|
|
129
129
|
```typescript
|
|
130
130
|
import { Agent } from '@mastra/core/agent'
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# OpenRouter
|
|
4
4
|
|
|
5
|
-
OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access
|
|
5
|
+
OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 341 models through Mastra's model router.
|
|
6
6
|
|
|
7
7
|
Learn more in the [OpenRouter documentation](https://openrouter.ai/models).
|
|
8
8
|
|
|
@@ -135,6 +135,7 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
135
135
|
| `inception/mercury-2` |
|
|
136
136
|
| `inclusionai/ling-2.6-1t` |
|
|
137
137
|
| `inclusionai/ling-2.6-flash` |
|
|
138
|
+
| `inclusionai/ling-3.0-flash:free` |
|
|
138
139
|
| `inclusionai/ring-2.6-1t` |
|
|
139
140
|
| `inflection/inflection-3-pi` |
|
|
140
141
|
| `inflection/inflection-3-productivity` |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Vercel
|
|
4
4
|
|
|
5
|
-
Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access
|
|
5
|
+
Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 307 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
|
|
|
@@ -158,6 +158,7 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
158
158
|
| `google/veo-3.1-generate-001` |
|
|
159
159
|
| `inception/mercury-2` |
|
|
160
160
|
| `inception/mercury-coder-small` |
|
|
161
|
+
| `inclusionai/ling-3.0-flash-free` |
|
|
161
162
|
| `interfaze/interfaze-beta` |
|
|
162
163
|
| `klingai/kling-v2.5-turbo-i2v` |
|
|
163
164
|
| `klingai/kling-v2.5-turbo-t2v` |
|
package/.docs/models/index.md
CHANGED
|
@@ -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
|
|
5
|
+
Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 4941 models from 159 providers through a single API.
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
@@ -47,7 +47,7 @@ for await (const chunk of stream) {
|
|
|
47
47
|
| `baseten/zai-org/GLM-4.7` | 200K | | | | | | $0.60 | $2 |
|
|
48
48
|
| `baseten/zai-org/GLM-5` | 203K | | | | | | $0.95 | $3 |
|
|
49
49
|
| `baseten/zai-org/GLM-5.1` | 203K | | | | | | $1 | $4 |
|
|
50
|
-
| `baseten/zai-org/GLM-5.2` |
|
|
50
|
+
| `baseten/zai-org/GLM-5.2` | 524K | | | | | | $1 | $4 |
|
|
51
51
|
|
|
52
52
|
## Advanced configuration
|
|
53
53
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Chutes
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 14 Chutes models through Mastra's model router. Authentication is handled automatically using the `CHUTES_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Chutes documentation](https://llm.chutes.ai).
|
|
8
8
|
|
|
@@ -41,6 +41,7 @@ for await (const chunk of stream) {
|
|
|
41
41
|
| `chutes/MiniMaxAI/MiniMax-M2.5-TEE` | 197K | | | | | | $0.15 | $1 |
|
|
42
42
|
| `chutes/moonshotai/Kimi-K2.5-TEE` | 262K | | | | | | $0.44 | $2 |
|
|
43
43
|
| `chutes/moonshotai/Kimi-K2.6-TEE` | 262K | | | | | | $0.66 | $4 |
|
|
44
|
+
| `chutes/Nemotron-3-Nano-Omni-30B-TEE` | 131K | | | | | | $0.02 | $0.10 |
|
|
44
45
|
| `chutes/Qwen/Qwen3-235B-A22B-Thinking-2507-TEE` | 262K | | | | | | $0.30 | $1 |
|
|
45
46
|
| `chutes/Qwen/Qwen3-32B-TEE` | 41K | | | | | | $0.10 | $0.42 |
|
|
46
47
|
| `chutes/Qwen/Qwen3.5-397B-A17B-TEE` | 262K | | | | | | $0.45 | $3 |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# CrossModel
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 45 CrossModel models through Mastra's model router. Authentication is handled automatically using the `CROSSMODEL_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [CrossModel documentation](https://www.crossmodel.ai/docs).
|
|
8
8
|
|
|
@@ -69,6 +69,7 @@ for await (const chunk of stream) {
|
|
|
69
69
|
| `crossmodel/qwen/qwen3.6-plus` | 1.0M | | | | | | $0.32 | $2 |
|
|
70
70
|
| `crossmodel/qwen/qwen3.7-max` | 1.0M | | | | | | $2 | $6 |
|
|
71
71
|
| `crossmodel/qwen/qwen3.7-plus` | 1.0M | | | | | | $0.32 | $1 |
|
|
72
|
+
| `crossmodel/tencent/hy3` | 262K | | | | | | $0.16 | $0.64 |
|
|
72
73
|
| `crossmodel/tencent/hy3-preview` | 262K | | | | | | $0.19 | $0.63 |
|
|
73
74
|
| `crossmodel/x-ai/grok-4.3` | 1.0M | | | | | | $1 | $3 |
|
|
74
75
|
| `crossmodel/x-ai/grok-4.5` | 500K | | | | | | $2 | $6 |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Google
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 37 Google models through Mastra's model router. Authentication is handled automatically using one of the following environment variables: `GOOGLE_API_KEY`, `GOOGLE_GENERATIVE_AI_API_KEY`.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Google documentation](https://ai.google.dev/gemini-api/docs/models).
|
|
8
8
|
|
|
@@ -18,7 +18,7 @@ const agent = new Agent({
|
|
|
18
18
|
id: "my-agent",
|
|
19
19
|
name: "My Agent",
|
|
20
20
|
instructions: "You are a helpful assistant",
|
|
21
|
-
model: "google/
|
|
21
|
+
model: "google/deep-research-max-preview-04-2026"
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
// Generate a response
|
|
@@ -33,29 +33,45 @@ for await (const chunk of stream) {
|
|
|
33
33
|
|
|
34
34
|
## Models
|
|
35
35
|
|
|
36
|
-
| Model
|
|
37
|
-
|
|
|
38
|
-
| `google/
|
|
39
|
-
| `google/
|
|
40
|
-
| `google/gemini-2.5-
|
|
41
|
-
| `google/gemini-2.5-flash
|
|
42
|
-
| `google/gemini-2.5-
|
|
43
|
-
| `google/gemini-2.5-
|
|
44
|
-
| `google/gemini-
|
|
45
|
-
| `google/gemini-
|
|
46
|
-
| `google/gemini-
|
|
47
|
-
| `google/gemini-3
|
|
48
|
-
| `google/gemini-3
|
|
49
|
-
| `google/gemini-3
|
|
50
|
-
| `google/gemini-3.
|
|
51
|
-
| `google/gemini-3.
|
|
52
|
-
| `google/gemini-3.
|
|
53
|
-
| `google/gemini-
|
|
54
|
-
| `google/gemini-flash-
|
|
55
|
-
| `google/gemini-flash-
|
|
56
|
-
| `google/gemini-
|
|
57
|
-
| `google/
|
|
58
|
-
| `google/
|
|
36
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
37
|
+
| ------------------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
38
|
+
| `google/deep-research-max-preview-04-2026` | 1.0M | | | | | | $2 | $12 |
|
|
39
|
+
| `google/deep-research-preview-04-2026` | 1.0M | | | | | | $2 | $12 |
|
|
40
|
+
| `google/gemini-2.5-computer-use-preview-10-2025` | 128K | | | | | | $1 | $10 |
|
|
41
|
+
| `google/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
|
|
42
|
+
| `google/gemini-2.5-flash-image` | 33K | | | | | | $0.30 | $30 |
|
|
43
|
+
| `google/gemini-2.5-flash-lite` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
44
|
+
| `google/gemini-2.5-flash-preview-tts` | 8K | | | | | | $0.50 | $10 |
|
|
45
|
+
| `google/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
|
|
46
|
+
| `google/gemini-2.5-pro-preview-tts` | 8K | | | | | | $1 | $20 |
|
|
47
|
+
| `google/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
|
|
48
|
+
| `google/gemini-3-pro-image` | 66K | | | | | | $2 | $120 |
|
|
49
|
+
| `google/gemini-3-pro-image-preview` | 131K | | | | | | $2 | $120 |
|
|
50
|
+
| `google/gemini-3.1-flash-image` | 131K | | | | | | $0.50 | $60 |
|
|
51
|
+
| `google/gemini-3.1-flash-image-preview` | 66K | | | | | | $0.50 | $60 |
|
|
52
|
+
| `google/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
|
|
53
|
+
| `google/gemini-3.1-flash-lite-image` | 66K | | | | | | $0.25 | $30 |
|
|
54
|
+
| `google/gemini-3.1-flash-live-preview` | 131K | | | | | | $0.75 | $5 |
|
|
55
|
+
| `google/gemini-3.1-flash-tts-preview` | 8K | | | | | | $1 | $20 |
|
|
56
|
+
| `google/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
|
|
57
|
+
| `google/gemini-3.1-pro-preview-customtools` | 1.0M | | | | | | $2 | $12 |
|
|
58
|
+
| `google/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
|
|
59
|
+
| `google/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.30 | $3 |
|
|
60
|
+
| `google/gemini-3.5-live-translate-preview` | 131K | | | | | | $4 | $21 |
|
|
61
|
+
| `google/gemini-3.6-flash` | 1.0M | | | | | | $2 | $8 |
|
|
62
|
+
| `google/gemini-embedding-001` | 2K | | | | | | $0.15 | — |
|
|
63
|
+
| `google/gemini-embedding-2` | 8K | | | | | | $0.20 | — |
|
|
64
|
+
| `google/gemini-flash-latest` | 1.0M | | | | | | $2 | $9 |
|
|
65
|
+
| `google/gemini-flash-lite-latest` | 1.0M | | | | | | $0.25 | $2 |
|
|
66
|
+
| `google/gemini-omni-flash-preview` | 131K | | | | | | $2 | $18 |
|
|
67
|
+
| `google/gemini-robotics-er-1.6-preview` | 131K | | | | | | $1 | $5 |
|
|
68
|
+
| `google/gemma-4-26b-a4b-it` | 262K | | | | | | — | — |
|
|
69
|
+
| `google/gemma-4-31b-it` | 262K | | | | | | — | — |
|
|
70
|
+
| `google/lyria-3-clip-preview` | 131K | | | | | | — | — |
|
|
71
|
+
| `google/lyria-3-pro-preview` | 131K | | | | | | — | — |
|
|
72
|
+
| `google/veo-3.1-fast-generate-preview` | 1K | | | | | | — | — |
|
|
73
|
+
| `google/veo-3.1-generate-preview` | 1K | | | | | | — | — |
|
|
74
|
+
| `google/veo-3.1-lite-generate-preview` | 1K | | | | | | — | — |
|
|
59
75
|
|
|
60
76
|
## Advanced configuration
|
|
61
77
|
|
|
@@ -66,7 +82,7 @@ const agent = new Agent({
|
|
|
66
82
|
id: "custom-agent",
|
|
67
83
|
name: "custom-agent",
|
|
68
84
|
model: {
|
|
69
|
-
id: "google/
|
|
85
|
+
id: "google/deep-research-max-preview-04-2026",
|
|
70
86
|
apiKey: process.env.GOOGLE_API_KEY,GOOGLE_GENERATIVE_AI_API_KEY,
|
|
71
87
|
headers: {
|
|
72
88
|
"X-Custom-Header": "value"
|
|
@@ -84,8 +100,8 @@ const agent = new Agent({
|
|
|
84
100
|
model: ({ requestContext }) => {
|
|
85
101
|
const useAdvanced = requestContext.task === "complex";
|
|
86
102
|
return useAdvanced
|
|
87
|
-
? "google/
|
|
88
|
-
: "google/
|
|
103
|
+
? "google/veo-3.1-lite-generate-preview"
|
|
104
|
+
: "google/deep-research-max-preview-04-2026";
|
|
89
105
|
}
|
|
90
106
|
});
|
|
91
107
|
```
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# LLM Gateway
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 181 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
|
|
|
@@ -52,6 +52,7 @@ for await (const chunk of stream) {
|
|
|
52
52
|
| `llmgateway/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
|
|
53
53
|
| `llmgateway/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
|
|
54
54
|
| `llmgateway/codestral-2508` | 256K | | | | | | $0.30 | $0.90 |
|
|
55
|
+
| `llmgateway/cosmos3-super-reasoner` | 262K | | | | | | $0.10 | $0.30 |
|
|
55
56
|
| `llmgateway/custom` | 128K | | | | | | — | — |
|
|
56
57
|
| `llmgateway/deepseek-v3.2` | 164K | | | | | | $0.26 | $0.38 |
|
|
57
58
|
| `llmgateway/deepseek-v4-flash` | 1.1M | | | | | | $0.14 | $0.28 |
|
|
@@ -67,6 +68,7 @@ for await (const chunk of stream) {
|
|
|
67
68
|
| `llmgateway/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.30 | $3 |
|
|
68
69
|
| `llmgateway/gemini-3.6-flash` | 1.0M | | | | | | $2 | $8 |
|
|
69
70
|
| `llmgateway/gemini-pro-latest` | 1.0M | | | | | | $2 | $12 |
|
|
71
|
+
| `llmgateway/gemma-3-27b` | 110K | | | | | | $0.10 | $0.30 |
|
|
70
72
|
| `llmgateway/gemma-4-26b-a4b-it` | 262K | | | | | | $0.07 | $0.34 |
|
|
71
73
|
| `llmgateway/gemma-4-31b-it` | 262K | | | | | | $0.13 | $0.38 |
|
|
72
74
|
| `llmgateway/glm-4-32b-0414-128k` | 128K | | | | | | $0.10 | $0.10 |
|
|
@@ -129,10 +131,12 @@ for await (const chunk of stream) {
|
|
|
129
131
|
| `llmgateway/grok-4-3` | 1.0M | | | | | | $1 | $3 |
|
|
130
132
|
| `llmgateway/grok-4-5` | 500K | | | | | | $2 | $6 |
|
|
131
133
|
| `llmgateway/grok-build-0-1` | 256K | | | | | | $1 | $2 |
|
|
134
|
+
| `llmgateway/hermes-4-405b` | 131K | | | | | | $1 | $3 |
|
|
135
|
+
| `llmgateway/hermes-4-70b` | 131K | | | | | | $0.13 | $0.40 |
|
|
132
136
|
| `llmgateway/kimi-k2` | 256K | | | | | | $0.57 | $2 |
|
|
133
137
|
| `llmgateway/kimi-k2-thinking` | 262K | | | | | | $0.60 | $3 |
|
|
134
138
|
| `llmgateway/kimi-k2.5` | 262K | | | | | | $0.41 | $2 |
|
|
135
|
-
| `llmgateway/kimi-k2.6` | 262K | | | | | | $0.
|
|
139
|
+
| `llmgateway/kimi-k2.6` | 262K | | | | | | $0.22 | $1 |
|
|
136
140
|
| `llmgateway/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
|
|
137
141
|
| `llmgateway/kimi-k2.7-code-highspeed` | 262K | | | | | | $2 | $8 |
|
|
138
142
|
| `llmgateway/kimi-k3` | 1.0M | | | | | | $3 | $15 |
|
|
@@ -146,14 +150,15 @@ for await (const chunk of stream) {
|
|
|
146
150
|
| `llmgateway/llama-4-scout-17b-instruct` | 131K | | | | | | $0.18 | $0.59 |
|
|
147
151
|
| `llmgateway/mimo-v2.5` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
148
152
|
| `llmgateway/mimo-v2.5-pro` | 1.0M | | | | | | $0.43 | $0.87 |
|
|
153
|
+
| `llmgateway/minicpm-v-4.5` | 32K | | | | | | $0.66 | $1 |
|
|
149
154
|
| `llmgateway/minimax-m2` | 197K | | | | | | $0.20 | $1 |
|
|
150
155
|
| `llmgateway/minimax-m2.1` | 205K | | | | | | $0.27 | $1 |
|
|
151
156
|
| `llmgateway/minimax-m2.1-lightning` | 197K | | | | | | $0.12 | $0.48 |
|
|
152
157
|
| `llmgateway/minimax-m2.5` | 229K | | | | | | $0.30 | $1 |
|
|
153
158
|
| `llmgateway/minimax-m2.5-highspeed` | 205K | | | | | | $0.60 | $2 |
|
|
154
|
-
| `llmgateway/minimax-m2.7` | 205K | | | | | | $0.
|
|
159
|
+
| `llmgateway/minimax-m2.7` | 205K | | | | | | $0.08 | $0.32 |
|
|
155
160
|
| `llmgateway/minimax-m2.7-highspeed` | 205K | | | | | | $0.60 | $2 |
|
|
156
|
-
| `llmgateway/minimax-m3` |
|
|
161
|
+
| `llmgateway/minimax-m3` | 1.0M | | | | | | $0.30 | $1 |
|
|
157
162
|
| `llmgateway/minimax-text-01` | 1.0M | | | | | | $0.20 | $1 |
|
|
158
163
|
| `llmgateway/ministral-14b-2512` | 262K | | | | | | $0.20 | $0.20 |
|
|
159
164
|
| `llmgateway/ministral-3b-2512` | 131K | | | | | | $0.10 | $0.10 |
|
|
@@ -162,7 +167,10 @@ for await (const chunk of stream) {
|
|
|
162
167
|
| `llmgateway/mistral-large-latest` | 128K | | | | | | $4 | $12 |
|
|
163
168
|
| `llmgateway/mistral-small-2506` | 128K | | | | | | $0.10 | $0.30 |
|
|
164
169
|
| `llmgateway/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
|
|
165
|
-
| `llmgateway/nemotron-3-
|
|
170
|
+
| `llmgateway/nemotron-3-nano-30b` | 262K | | | | | | $0.06 | $0.24 |
|
|
171
|
+
| `llmgateway/nemotron-3-nano-omni` | 262K | | | | | | $0.06 | $0.24 |
|
|
172
|
+
| `llmgateway/nemotron-3-super-120b` | 262K | | | | | | $0.30 | $0.90 |
|
|
173
|
+
| `llmgateway/nemotron-3-ultra-550b` | 1.0M | | | | | | $0.50 | $3 |
|
|
166
174
|
| `llmgateway/o1` | 200K | | | | | | $15 | $60 |
|
|
167
175
|
| `llmgateway/o3` | 200K | | | | | | $2 | $8 |
|
|
168
176
|
| `llmgateway/o3-mini` | 200K | | | | | | $1 | $4 |
|
|
@@ -175,12 +183,12 @@ for await (const chunk of stream) {
|
|
|
175
183
|
| `llmgateway/qwen-plus` | 131K | | | | | | $0.40 | $1 |
|
|
176
184
|
| `llmgateway/qwen-plus-latest` | 1.0M | | | | | | $0.40 | $1 |
|
|
177
185
|
| `llmgateway/qwen2-5-vl-32b-instruct` | 131K | | | | | | $1 | $4 |
|
|
178
|
-
| `llmgateway/qwen2-5-vl-72b-instruct` |
|
|
186
|
+
| `llmgateway/qwen2-5-vl-72b-instruct` | 32K | | | | | | $0.25 | $0.75 |
|
|
179
187
|
| `llmgateway/qwen3-235b-a22b-fp8` | 41K | | | | | | $0.20 | $0.80 |
|
|
180
188
|
| `llmgateway/qwen3-235b-a22b-instruct-2507` | 262K | | | | | | $0.09 | $0.58 |
|
|
181
|
-
| `llmgateway/qwen3-235b-a22b-thinking-2507` | 262K | | | | | | $0.
|
|
189
|
+
| `llmgateway/qwen3-235b-a22b-thinking-2507` | 262K | | | | | | $0.30 | $3 |
|
|
182
190
|
| `llmgateway/qwen3-30b-a3b-instruct-2507` | 262K | | | | | | $0.10 | $0.30 |
|
|
183
|
-
| `llmgateway/qwen3-32b` |
|
|
191
|
+
| `llmgateway/qwen3-32b` | 41K | | | | | | $0.10 | $0.30 |
|
|
184
192
|
| `llmgateway/qwen3-coder-30b-a3b-instruct` | 262K | | | | | | $0.07 | $0.27 |
|
|
185
193
|
| `llmgateway/qwen3-coder-480b-a35b-instruct` | 262K | | | | | | $0.30 | $1 |
|
|
186
194
|
| `llmgateway/qwen3-coder-flash` | 1.0M | | | | | | $0.30 | $2 |
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# Thinking Machines
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 2 Thinking Machines models through Mastra's model router. Authentication is handled automatically using the `TINKER_API_KEY` environment variable.
|
|
6
6
|
|
|
7
|
-
Learn more in the [Thinking Machines documentation](https://tinker-docs.thinkingmachines.ai/tinker/compatible-apis/
|
|
7
|
+
Learn more in the [Thinking Machines documentation](https://tinker-docs.thinkingmachines.ai/tinker/compatible-apis/anthropic/).
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
TINKER_API_KEY=your-api-key
|
|
@@ -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: "thinkingmachines/
|
|
20
|
+
model: "thinkingmachines/thinkingmachines/Inkling"
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
// Generate a response
|
|
@@ -30,13 +30,14 @@ for await (const chunk of stream) {
|
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
> **Info:** Mastra uses the OpenAI-compatible `/chat/completions` endpoint. Some provider-specific features may not be available. Check the [Thinking Machines documentation](https://tinker-docs.thinkingmachines.ai/tinker/compatible-apis/
|
|
33
|
+
> **Info:** Mastra uses the OpenAI-compatible `/chat/completions` endpoint. Some provider-specific features may not be available. Check the [Thinking Machines documentation](https://tinker-docs.thinkingmachines.ai/tinker/compatible-apis/anthropic/) for details.
|
|
34
34
|
|
|
35
35
|
## Models
|
|
36
36
|
|
|
37
|
-
| Model
|
|
38
|
-
|
|
|
39
|
-
| `thinkingmachines/
|
|
37
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
|
+
| ------------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
+
| `thinkingmachines/thinkingmachines/Inkling` | 66K | | | | | | $2 | $5 |
|
|
40
|
+
| `thinkingmachines/thinkingmachines/Inkling:peft:262144` | 262K | | | | | | $4 | $9 |
|
|
40
41
|
|
|
41
42
|
## Advanced configuration
|
|
42
43
|
|
|
@@ -47,8 +48,8 @@ const agent = new Agent({
|
|
|
47
48
|
id: "custom-agent",
|
|
48
49
|
name: "custom-agent",
|
|
49
50
|
model: {
|
|
50
|
-
url: "https://tinker.thinkingmachines.dev/services/tinker-prod/
|
|
51
|
-
id: "thinkingmachines/
|
|
51
|
+
url: "https://tinker.thinkingmachines.dev/services/tinker-prod/anthropic/api/v1",
|
|
52
|
+
id: "thinkingmachines/thinkingmachines/Inkling",
|
|
52
53
|
apiKey: process.env.TINKER_API_KEY,
|
|
53
54
|
headers: {
|
|
54
55
|
"X-Custom-Header": "value"
|
|
@@ -66,8 +67,36 @@ const agent = new Agent({
|
|
|
66
67
|
model: ({ requestContext }) => {
|
|
67
68
|
const useAdvanced = requestContext.task === "complex";
|
|
68
69
|
return useAdvanced
|
|
69
|
-
? "thinkingmachines/
|
|
70
|
-
: "thinkingmachines/
|
|
70
|
+
? "thinkingmachines/thinkingmachines/Inkling:peft:262144"
|
|
71
|
+
: "thinkingmachines/thinkingmachines/Inkling";
|
|
71
72
|
}
|
|
72
73
|
});
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Direct provider installation
|
|
77
|
+
|
|
78
|
+
This provider can also be installed directly as a standalone package, which can be used instead of the Mastra model router string. View the [package documentation](https://www.npmjs.com/package/@ai-sdk/anthropic) for more details.
|
|
79
|
+
|
|
80
|
+
**npm**:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
npm install @ai-sdk/anthropic
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**pnpm**:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
pnpm add @ai-sdk/anthropic
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Yarn**:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
yarn add @ai-sdk/anthropic
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Bun**:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
bun add @ai-sdk/anthropic
|
|
73
102
|
```
|
|
@@ -51,6 +51,8 @@ The `channels` property accepts a `ChannelConfig` object with the following fiel
|
|
|
51
51
|
|
|
52
52
|
**resolveResourceId** (`(ctx: ResolveResourceIdContext) => string | Promise<string>`): Decide which resourceId owns resource-level memory for a channel thread, separately from who sent the message. Runs only when a new thread is created; reused threads keep their stored owner and never call the hook. Return ctx.defaultResourceId (${platform}:${message.author.userId}) to keep the built-in behavior.
|
|
53
53
|
|
|
54
|
+
**resolveThreadId** (`(ctx: ResolveThreadIdContext) => string | Promise<string>`): Decide the internal Mastra thread id for a channel thread. Runs after resolveResourceId with the resolved owner on the context, and only when a new thread is created; reused threads keep their stored id and never call the hook. The returned id must be unique across the memory store — on collision a generated id is used instead. Return ctx.defaultThreadId (a random UUID) to keep the built-in behavior.
|
|
55
|
+
|
|
54
56
|
**waitUntil** (`(promise: Promise<unknown>) => void`): Platform waitUntil function. Required on Vercel so background agent runs survive after the webhook returns 200. On Vercel pass waitUntil from @vercel/functions. Cloudflare Workers and Netlify Functions are detected automatically from the request context. AWS Lambda does not need waitUntil because it waits for the event loop to drain naturally.
|
|
55
57
|
|
|
56
58
|
**resolveWaitUntil** (`(c: Context) => ((promise: Promise<unknown>) => void) | undefined`): Resolver for runtimes where waitUntil lives on the Hono request context but is not covered by the built-in helper. Resolution order: bare waitUntil → resolveWaitUntil(c) → default (Cloudflare Workers, Netlify).
|
|
@@ -258,6 +260,48 @@ The `ResolveResourceIdContext` passed to the function:
|
|
|
258
260
|
|
|
259
261
|
**defaultResourceId** (`string`): The built-in default (${platform}:${message.author.userId}). Return this to keep the current behavior.
|
|
260
262
|
|
|
263
|
+
## Thread ID resolution
|
|
264
|
+
|
|
265
|
+
By default a new channel thread gets a random UUID as its internal Mastra thread id. Pass `resolveThreadId` to pick the id yourself — for example, give the thread the same id as the session it belongs to, matching how your app names threads it creates itself.
|
|
266
|
+
|
|
267
|
+
The hook runs after `resolveResourceId`, so the resolved owner is available on the context. Like `resolveResourceId` it runs only when a new thread is created: reused threads keep their stored id and never call the hook. The returned id must be unique across the memory store — if it already belongs to an existing thread, Mastra logs a warning and uses a generated id instead so the existing thread is never overwritten. Return `ctx.defaultThreadId` to keep the built-in behavior.
|
|
268
|
+
|
|
269
|
+
```typescript
|
|
270
|
+
import { Agent } from '@mastra/core/agent'
|
|
271
|
+
import { createSlackAdapter } from '@chat-adapter/slack'
|
|
272
|
+
|
|
273
|
+
const agent = new Agent({
|
|
274
|
+
id: 'session-agent',
|
|
275
|
+
name: 'Session Agent',
|
|
276
|
+
instructions: '...',
|
|
277
|
+
model: 'openai/gpt-5.5',
|
|
278
|
+
channels: {
|
|
279
|
+
adapters: {
|
|
280
|
+
slack: createSlackAdapter(),
|
|
281
|
+
},
|
|
282
|
+
// Owner: a session id resolved from the sender's linked account
|
|
283
|
+
resolveResourceId: async ctx => resolveSessionId(ctx),
|
|
284
|
+
// Thread id: align with the session id so app URLs that address
|
|
285
|
+
// threads by session id resolve channel-created threads too
|
|
286
|
+
resolveThreadId: ({ resourceId, defaultThreadId }) => {
|
|
287
|
+
return isSessionId(resourceId) ? resourceId : defaultThreadId
|
|
288
|
+
},
|
|
289
|
+
},
|
|
290
|
+
})
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
The `ResolveThreadIdContext` passed to the function:
|
|
294
|
+
|
|
295
|
+
**platform** (`string`): Platform name (e.g. slack, discord).
|
|
296
|
+
|
|
297
|
+
**thread** (`Thread`): The channel thread the message arrived on. Use thread.isDM to tell DMs apart from group/channel threads.
|
|
298
|
+
|
|
299
|
+
**message** (`Message`): The incoming message.
|
|
300
|
+
|
|
301
|
+
**resourceId** (`string`): The resolved memory resourceId the new thread will belong to (after resolveResourceId).
|
|
302
|
+
|
|
303
|
+
**defaultThreadId** (`string`): The built-in default (a random UUID). Return this to keep the current behavior.
|
|
304
|
+
|
|
261
305
|
## Inline media
|
|
262
306
|
|
|
263
307
|
Controls which attachment types (images, video, PDFs, etc.) are sent as file parts to the model. Types that don't match are described as text summaries so the agent knows about the file without crashing models that reject unsupported types.
|
|
@@ -47,7 +47,7 @@ export const agent = new Agent({
|
|
|
47
47
|
|
|
48
48
|
**options.observationalMemory** (`boolean | ObservationalMemoryOptions`): Enable Observational Memory for long-context agentic memory. Set to true for defaults, or pass a config object to customize token budgets, models, and scope. See Observational Memory reference for configuration details.
|
|
49
49
|
|
|
50
|
-
**options.generateTitle** (`boolean | { model: DynamicArgument<MastraLanguageModel>; instructions?: DynamicArgument<string> }`): Controls automatic thread title generation from the
|
|
50
|
+
**options.generateTitle** (`boolean | { model: DynamicArgument<MastraLanguageModel>; instructions?: DynamicArgument<string> }`): Controls automatic thread title generation from the conversation transcript. Can be a boolean or an object with custom model and instructions.
|
|
51
51
|
|
|
52
52
|
## Returns
|
|
53
53
|
|
|
@@ -36,7 +36,7 @@ await memory?.recall({ threadId: 'user-123' })
|
|
|
36
36
|
|
|
37
37
|
**threadConfig.workingMemory** (`WorkingMemory`): Configuration for working memory feature. Can be { enabled: boolean; template?: string; schema?: ZodObject\<any> | JSONSchema7; scope?: 'thread' | 'resource' } or { enabled: boolean } to disable.
|
|
38
38
|
|
|
39
|
-
**threadConfig.threads** (`{ generateTitle?: boolean | { model: DynamicArgument<MastraLanguageModel>; instructions?: DynamicArgument<string> } }`): Settings related to memory thread creation. generateTitle controls automatic thread title generation from the
|
|
39
|
+
**threadConfig.threads** (`{ generateTitle?: boolean | { model: DynamicArgument<MastraLanguageModel>; instructions?: DynamicArgument<string> } }`): Settings related to memory thread creation. generateTitle controls automatic thread title generation from the conversation transcript. Can be a boolean or an object with custom model and instructions.
|
|
40
40
|
|
|
41
41
|
## Returns
|
|
42
42
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @mastra/mcp-docs-server
|
|
2
2
|
|
|
3
|
+
## 1.2.10-alpha.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`c8d8a01`](https://github.com/mastra-ai/mastra/commit/c8d8a010ee2efe2b7bf4d07707382c34c87b14e4), [`371cf60`](https://github.com/mastra-ai/mastra/commit/371cf6075cef88ac6919a08d59a82e485397364a), [`263d2ca`](https://github.com/mastra-ai/mastra/commit/263d2cac80ba3b03b9c0f008db6f1f1b9eb0278c)]:
|
|
8
|
+
- @mastra/core@1.53.0-alpha.1
|
|
9
|
+
|
|
3
10
|
## 1.2.10-alpha.0
|
|
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.10-alpha.
|
|
3
|
+
"version": "1.2.10-alpha.3",
|
|
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/
|
|
32
|
-
"@mastra/
|
|
31
|
+
"@mastra/core": "1.53.0-alpha.1",
|
|
32
|
+
"@mastra/mcp": "^1.15.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@hono/node-server": "^1.19.14",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"typescript": "^6.0.3",
|
|
47
47
|
"vitest": "4.1.10",
|
|
48
48
|
"@internal/lint": "0.0.116",
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
49
|
+
"@internal/types-builder": "0.0.91",
|
|
50
|
+
"@mastra/core": "1.53.0-alpha.1"
|
|
51
51
|
},
|
|
52
52
|
"homepage": "https://mastra.ai",
|
|
53
53
|
"repository": {
|