@mastra/mcp-docs-server 1.1.29-alpha.3 → 1.1.29-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/guides/build-your-ui/ai-sdk-ui.md +5 -3
- package/.docs/models/gateways/azure-openai.md +25 -25
- package/.docs/models/gateways/mastra.md +64 -0
- package/.docs/models/gateways/openrouter.md +4 -1
- package/.docs/models/gateways.md +1 -0
- package/.docs/models/index.md +4 -4
- package/.docs/models/providers/alibaba-cn.md +2 -1
- package/.docs/models/providers/deepseek.md +2 -2
- package/.docs/models/providers/llmgateway.md +4 -1
- package/.docs/models/providers/novita-ai.md +4 -1
- package/.docs/models/providers/nvidia.md +2 -1
- package/.docs/models/providers/opencode-go.md +1 -1
- package/.docs/models/providers/opencode.md +1 -2
- package/.docs/models/providers/togetherai.md +2 -1
- package/.docs/models/providers/xiaomi-token-plan-ams.md +9 -7
- package/.docs/models/providers/xiaomi-token-plan-cn.md +9 -7
- package/.docs/models/providers/xiaomi-token-plan-sgp.md +9 -7
- package/.docs/models/providers/xiaomi.md +4 -2
- package/.docs/models/providers/zai-coding-plan.md +11 -20
- package/.docs/models/providers/zhipuai-coding-plan.md +11 -21
- package/.docs/reference/memory/clone-utilities.md +4 -2
- package/.docs/reference/memory/cloneThread.md +4 -2
- package/CHANGELOG.md +7 -0
- package/package.json +5 -5
|
@@ -255,8 +255,10 @@ const { messages, sendMessage } = useChat({
|
|
|
255
255
|
return {
|
|
256
256
|
body: {
|
|
257
257
|
messages: [messages[messages.length - 1]],
|
|
258
|
-
|
|
259
|
-
|
|
258
|
+
memory: {
|
|
259
|
+
thread: 'user-thread-123',
|
|
260
|
+
resource: 'user-123',
|
|
261
|
+
},
|
|
260
262
|
},
|
|
261
263
|
}
|
|
262
264
|
},
|
|
@@ -264,7 +266,7 @@ const { messages, sendMessage } = useChat({
|
|
|
264
266
|
})
|
|
265
267
|
```
|
|
266
268
|
|
|
267
|
-
Set `
|
|
269
|
+
Set `memory.thread` and `memory.resource` from your app's own state, such as URL params, auth context, or your database.
|
|
268
270
|
|
|
269
271
|
See [Message history](https://mastra.ai/docs/memory/message-history) for more on how Mastra memory loads and stores messages.
|
|
270
272
|
|
|
@@ -4,6 +4,30 @@ Azure OpenAI provides enterprise-grade access to OpenAI models through dedicated
|
|
|
4
4
|
|
|
5
5
|
Unlike other providers that have fixed model names, Azure uses **deployment names** that you configure in the Azure Portal.
|
|
6
6
|
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { Agent } from "@mastra/core/agent";
|
|
11
|
+
|
|
12
|
+
const agent = new Agent({
|
|
13
|
+
id: "my-agent",
|
|
14
|
+
name: "My Agent",
|
|
15
|
+
instructions: "You are a helpful assistant",
|
|
16
|
+
model: "azure-openai/my-gpt4-deployment" // Use your Azure deployment name (autocompleted in dev mode)
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
// Generate a response
|
|
20
|
+
const response = await agent.generate("Hello!");
|
|
21
|
+
|
|
22
|
+
// Stream a response
|
|
23
|
+
const stream = await agent.stream("Tell me a story");
|
|
24
|
+
for await (const chunk of stream) {
|
|
25
|
+
console.log(chunk);
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Check [Azure OpenAI model availability](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models) for region-specific options.
|
|
30
|
+
|
|
7
31
|
## How Azure Deployments Work
|
|
8
32
|
|
|
9
33
|
Azure model IDs follow this pattern: `azure-openai/your-deployment-name`
|
|
@@ -101,28 +125,4 @@ export const mastra = new Mastra({
|
|
|
101
125
|
| `management.subscriptionId` | `string` | Yes\* | Azure subscription ID |
|
|
102
126
|
| `management.resourceGroup` | `string` | Yes\* | Resource group name |
|
|
103
127
|
|
|
104
|
-
\* Required if `management` is provided
|
|
105
|
-
|
|
106
|
-
## Usage
|
|
107
|
-
|
|
108
|
-
```typescript
|
|
109
|
-
import { Agent } from "@mastra/core/agent";
|
|
110
|
-
|
|
111
|
-
const agent = new Agent({
|
|
112
|
-
id: "my-agent",
|
|
113
|
-
name: "My Agent",
|
|
114
|
-
instructions: "You are a helpful assistant",
|
|
115
|
-
model: "azure-openai/my-gpt4-deployment" // Use your Azure deployment name (autocompleted in dev mode)
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
// Generate a response
|
|
119
|
-
const response = await agent.generate("Hello!");
|
|
120
|
-
|
|
121
|
-
// Stream a response
|
|
122
|
-
const stream = await agent.stream("Tell me a story");
|
|
123
|
-
for await (const chunk of stream) {
|
|
124
|
-
console.log(chunk);
|
|
125
|
-
}
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
Check [Azure OpenAI model availability](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models) for region-specific options.
|
|
128
|
+
\* Required if `management` is provided
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Mastra
|
|
2
|
+
|
|
3
|
+
The Mastra Memory Gateway is an OpenAI-compatible API proxy with built-in [Observational Memory](https://gateway.mastra.ai/docs/features#observational-memory). Point any HTTP client, SDK, or framework at the gateway and every conversation is automatically remembered without any memory management code.
|
|
4
|
+
|
|
5
|
+
Learn more in the [Memory Gateway documentation](https://gateway.mastra.ai/docs).
|
|
6
|
+
|
|
7
|
+
## Get an API key
|
|
8
|
+
|
|
9
|
+
Go to [gateway.mastra.ai](https://gateway.mastra.ai) and sign up for a Mastra account. During the onboarding you'll get your personal API key to authenticate requests.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
Define your API key as an environment variable:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
MASTRA_GATEWAY_API_KEY=your-gateway-key
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Set your gateway model ID:
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { Agent } from "@mastra/core/agent";
|
|
23
|
+
|
|
24
|
+
const agent = new Agent({
|
|
25
|
+
id: "my-agent",
|
|
26
|
+
name: "My Agent",
|
|
27
|
+
instructions: "You are a helpful assistant",
|
|
28
|
+
model: "mastra/openai/gpt-5-mini"
|
|
29
|
+
});
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Pass `memory.thread` and `memory.resource` when you generate/stream responses to enable Observational Memory:
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
import { weatherAgent } from "./agents/weather-agent";
|
|
36
|
+
|
|
37
|
+
const memory = {
|
|
38
|
+
thread: "assistant-thread-1",
|
|
39
|
+
resource: "user-42",
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const result = await weatherAgent.stream("My name is Alex and I prefer concise answers.", {
|
|
43
|
+
memory,
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
for await (const chunk of result.textStream) {
|
|
47
|
+
process.stdout.write(chunk);
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Configuration
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Use gateway API key
|
|
55
|
+
MASTRA_GATEWAY_API_KEY=your-gateway-key
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Learn more
|
|
59
|
+
|
|
60
|
+
- [Features](https://gateway.mastra.ai/docs/features)
|
|
61
|
+
- [Models](https://gateway.mastra.ai/docs/models)
|
|
62
|
+
- [Limits](https://gateway.mastra.ai/docs/limits)
|
|
63
|
+
- [API Reference](https://gateway.mastra.ai/docs/api/overview)
|
|
64
|
+
- [Examples](https://gateway.mastra.ai/docs/examples/)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenRouter
|
|
2
2
|
|
|
3
|
-
OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access
|
|
3
|
+
OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 178 models through Mastra's model router.
|
|
4
4
|
|
|
5
5
|
Learn more in the [OpenRouter documentation](https://openrouter.ai/models).
|
|
6
6
|
|
|
@@ -163,6 +163,7 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
163
163
|
| `openai/o4-mini` |
|
|
164
164
|
| `openrouter/elephant-alpha` |
|
|
165
165
|
| `openrouter/free` |
|
|
166
|
+
| `openrouter/pareto-code` |
|
|
166
167
|
| `prime-intellect/intellect-3` |
|
|
167
168
|
| `qwen/qwen-2.5-coder-32b-instruct` |
|
|
168
169
|
| `qwen/qwen2.5-vl-72b-instruct` |
|
|
@@ -198,6 +199,8 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
198
199
|
| `xiaomi/mimo-v2-flash` |
|
|
199
200
|
| `xiaomi/mimo-v2-omni` |
|
|
200
201
|
| `xiaomi/mimo-v2-pro` |
|
|
202
|
+
| `xiaomi/mimo-v2.5` |
|
|
203
|
+
| `xiaomi/mimo-v2.5-pro` |
|
|
201
204
|
| `z-ai/glm-4.5` |
|
|
202
205
|
| `z-ai/glm-4.5-air` |
|
|
203
206
|
| `z-ai/glm-4.5-air:free` |
|
package/.docs/models/gateways.md
CHANGED
|
@@ -9,6 +9,7 @@ Create custom gateways for private LLM deployments or specialized provider integ
|
|
|
9
9
|
## Built-in gateways
|
|
10
10
|
|
|
11
11
|
- [Azure OpenAI](https://mastra.ai/models/gateways/azure-openai)
|
|
12
|
+
- [Mastra](https://mastra.ai/models/gateways/mastra)
|
|
12
13
|
- [Netlify](https://mastra.ai/models/gateways/netlify)
|
|
13
14
|
- [OpenRouter](https://mastra.ai/models/gateways/openrouter)
|
|
14
15
|
- [Vercel](https://mastra.ai/models/gateways/vercel)
|
package/.docs/models/index.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Model Providers
|
|
2
2
|
|
|
3
|
-
Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 3743 models from
|
|
3
|
+
Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 3743 models from 105 providers through a single API.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
@@ -27,7 +27,7 @@ const agent = new Agent({
|
|
|
27
27
|
id: "my-agent",
|
|
28
28
|
name: "My Agent",
|
|
29
29
|
instructions: "You are a helpful assistant",
|
|
30
|
-
model: "openai/gpt-5"
|
|
30
|
+
model: "openai/gpt-5.5"
|
|
31
31
|
})
|
|
32
32
|
```
|
|
33
33
|
|
|
@@ -40,7 +40,7 @@ const agent = new Agent({
|
|
|
40
40
|
id: "my-agent",
|
|
41
41
|
name: "My Agent",
|
|
42
42
|
instructions: "You are a helpful assistant",
|
|
43
|
-
model: "anthropic/claude-4-
|
|
43
|
+
model: "anthropic/claude-sonnet-4-6"
|
|
44
44
|
})
|
|
45
45
|
```
|
|
46
46
|
|
|
@@ -79,7 +79,7 @@ const agent = new Agent({
|
|
|
79
79
|
id: "my-agent",
|
|
80
80
|
name: "My Agent",
|
|
81
81
|
instructions: "You are a helpful assistant",
|
|
82
|
-
model: "openrouter/anthropic/claude-haiku-4
|
|
82
|
+
model: "openrouter/anthropic/claude-haiku-4.5"
|
|
83
83
|
})
|
|
84
84
|
```
|
|
85
85
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Alibaba (China)
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 78 Alibaba (China) models through Mastra's model router. Authentication is handled automatically using the `DASHSCOPE_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Alibaba (China) documentation](https://www.alibabacloud.com/help/en/model-studio/models).
|
|
6
6
|
|
|
@@ -103,6 +103,7 @@ for await (const chunk of stream) {
|
|
|
103
103
|
| `alibaba-cn/qwen3.5-397b-a17b` | 262K | | | | | | $0.43 | $3 |
|
|
104
104
|
| `alibaba-cn/qwen3.5-flash` | 1.0M | | | | | | $0.17 | $2 |
|
|
105
105
|
| `alibaba-cn/qwen3.5-plus` | 1.0M | | | | | | $0.57 | $3 |
|
|
106
|
+
| `alibaba-cn/qwen3.6-max-preview` | 246K | | | | | | $1 | $8 |
|
|
106
107
|
| `alibaba-cn/qwen3.6-plus` | 1.0M | | | | | | $0.28 | $2 |
|
|
107
108
|
| `alibaba-cn/qwq-32b` | 131K | | | | | | $0.29 | $0.86 |
|
|
108
109
|
| `alibaba-cn/qwq-plus` | 131K | | | | | | $0.23 | $0.57 |
|
|
@@ -32,8 +32,8 @@ for await (const chunk of stream) {
|
|
|
32
32
|
|
|
33
33
|
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
34
34
|
| ---------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
35
|
-
| `deepseek/deepseek-chat` |
|
|
36
|
-
| `deepseek/deepseek-reasoner` |
|
|
35
|
+
| `deepseek/deepseek-chat` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
36
|
+
| `deepseek/deepseek-reasoner` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
37
37
|
| `deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
38
38
|
| `deepseek/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
|
|
39
39
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# LLM Gateway
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 184 LLM Gateway models through Mastra's model router. Authentication is handled automatically using the `LLMGATEWAY_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [LLM Gateway documentation](https://llmgateway.io/docs).
|
|
6
6
|
|
|
@@ -55,6 +55,8 @@ for await (const chunk of stream) {
|
|
|
55
55
|
| `llmgateway/deepseek-r1-0528` | 64K | | | | | | $0.80 | $2 |
|
|
56
56
|
| `llmgateway/deepseek-v3.1` | 128K | | | | | | $0.56 | $2 |
|
|
57
57
|
| `llmgateway/deepseek-v3.2` | 164K | | | | | | $0.28 | $0.42 |
|
|
58
|
+
| `llmgateway/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
59
|
+
| `llmgateway/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
|
|
58
60
|
| `llmgateway/devstral-2512` | 262K | | | | | | $0.40 | $2 |
|
|
59
61
|
| `llmgateway/devstral-small-2507` | 128K | | | | | | $0.10 | $0.30 |
|
|
60
62
|
| `llmgateway/gemini-2.0-flash` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
@@ -137,6 +139,7 @@ for await (const chunk of stream) {
|
|
|
137
139
|
| `llmgateway/kimi-k2-thinking` | 262K | | | | | | $0.60 | $3 |
|
|
138
140
|
| `llmgateway/kimi-k2-thinking-turbo` | 262K | | | | | | $1 | $8 |
|
|
139
141
|
| `llmgateway/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
|
|
142
|
+
| `llmgateway/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
|
|
140
143
|
| `llmgateway/llama-3-70b-instruct` | 8K | | | | | | $0.51 | $0.74 |
|
|
141
144
|
| `llmgateway/llama-3-8b-instruct` | 8K | | | | | | $0.04 | $0.04 |
|
|
142
145
|
| `llmgateway/llama-3.1-70b-instruct` | 128K | | | | | | $0.72 | $0.72 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# NovitaAI
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 99 NovitaAI models through Mastra's model router. Authentication is handled automatically using the `NOVITA_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [NovitaAI documentation](https://novita.ai/docs/guides/introduction).
|
|
6
6
|
|
|
@@ -56,6 +56,8 @@ for await (const chunk of stream) {
|
|
|
56
56
|
| `novita-ai/deepseek/deepseek-v3.1-terminus` | 131K | | | | | | $0.27 | $1 |
|
|
57
57
|
| `novita-ai/deepseek/deepseek-v3.2` | 164K | | | | | | $0.27 | $0.40 |
|
|
58
58
|
| `novita-ai/deepseek/deepseek-v3.2-exp` | 164K | | | | | | $0.27 | $0.41 |
|
|
59
|
+
| `novita-ai/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
60
|
+
| `novita-ai/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
|
|
59
61
|
| `novita-ai/google/gemma-3-12b-it` | 131K | | | | | | $0.05 | $0.10 |
|
|
60
62
|
| `novita-ai/google/gemma-3-27b-it` | 98K | | | | | | $0.12 | $0.20 |
|
|
61
63
|
| `novita-ai/google/gemma-4-26b-a4b-it` | 262K | | | | | | $0.13 | $0.40 |
|
|
@@ -115,6 +117,7 @@ for await (const chunk of stream) {
|
|
|
115
117
|
| `novita-ai/qwen/qwen3.5-27b` | 262K | | | | | | $0.30 | $2 |
|
|
116
118
|
| `novita-ai/qwen/qwen3.5-35b-a3b` | 262K | | | | | | $0.25 | $2 |
|
|
117
119
|
| `novita-ai/qwen/qwen3.5-397b-a17b` | 262K | | | | | | $0.60 | $4 |
|
|
120
|
+
| `novita-ai/qwen/qwen3.6-27b` | 262K | | | | | | $0.60 | $4 |
|
|
118
121
|
| `novita-ai/sao10k/l3-70b-euryale-v2.1` | 8K | | | | | | $1 | $1 |
|
|
119
122
|
| `novita-ai/sao10k/l3-8b-lunaris` | 8K | | | | | | $0.05 | $0.05 |
|
|
120
123
|
| `novita-ai/sao10k/L3-8B-Stheno-v3.2` | 8K | | | | | | $0.05 | $0.05 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Nvidia
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 79 Nvidia models through Mastra's model router. Authentication is handled automatically using the `NVIDIA_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Nvidia documentation](https://docs.api.nvidia.com/nim/).
|
|
6
6
|
|
|
@@ -41,6 +41,7 @@ for await (const chunk of stream) {
|
|
|
41
41
|
| `nvidia/deepseek-ai/deepseek-v3.1` | 128K | | | | | | — | — |
|
|
42
42
|
| `nvidia/deepseek-ai/deepseek-v3.1-terminus` | 128K | | | | | | — | — |
|
|
43
43
|
| `nvidia/deepseek-ai/deepseek-v3.2` | 164K | | | | | | — | — |
|
|
44
|
+
| `nvidia/deepseek-ai/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
44
45
|
| `nvidia/deepseek-ai/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
|
|
45
46
|
| `nvidia/google/codegemma-1.1-7b` | 128K | | | | | | — | — |
|
|
46
47
|
| `nvidia/google/codegemma-7b` | 128K | | | | | | — | — |
|
|
@@ -42,7 +42,7 @@ for await (const chunk of stream) {
|
|
|
42
42
|
| `opencode-go/kimi-k2.6` | 262K | | | | | | $0.32 | $1 |
|
|
43
43
|
| `opencode-go/mimo-v2-omni` | 262K | | | | | | $0.40 | $2 |
|
|
44
44
|
| `opencode-go/mimo-v2-pro` | 1.0M | | | | | | $1 | $3 |
|
|
45
|
-
| `opencode-go/mimo-v2.5` |
|
|
45
|
+
| `opencode-go/mimo-v2.5` | 1.0M | | | | | | $0.40 | $2 |
|
|
46
46
|
| `opencode-go/mimo-v2.5-pro` | 1.0M | | | | | | $1 | $3 |
|
|
47
47
|
| `opencode-go/minimax-m2.5` | 205K | | | | | | $0.30 | $1 |
|
|
48
48
|
| `opencode-go/minimax-m2.7` | 205K | | | | | | $0.30 | $1 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenCode Zen
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 40 OpenCode Zen models through Mastra's model router. Authentication is handled automatically using the `OPENCODE_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [OpenCode Zen documentation](https://opencode.ai/docs/zen).
|
|
6
6
|
|
|
@@ -35,7 +35,6 @@ for await (const chunk of stream) {
|
|
|
35
35
|
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
36
36
|
| -------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
37
37
|
| `opencode/big-pickle` | 200K | | | | | | — | — |
|
|
38
|
-
| `opencode/claude-3-5-haiku` | 200K | | | | | | $0.80 | $4 |
|
|
39
38
|
| `opencode/claude-haiku-4-5` | 200K | | | | | | $1 | $5 |
|
|
40
39
|
| `opencode/claude-opus-4-1` | 200K | | | | | | $15 | $75 |
|
|
41
40
|
| `opencode/claude-opus-4-5` | 200K | | | | | | $5 | $25 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Together AI
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 17 Together AI models through Mastra's model router. Authentication is handled automatically using the `TOGETHER_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Together AI documentation](https://docs.together.ai/docs/serverless-models).
|
|
6
6
|
|
|
@@ -35,6 +35,7 @@ for await (const chunk of stream) {
|
|
|
35
35
|
| `togetherai/deepseek-ai/DeepSeek-R1` | 164K | | | | | | $3 | $7 |
|
|
36
36
|
| `togetherai/deepseek-ai/DeepSeek-V3` | 131K | | | | | | $1 | $1 |
|
|
37
37
|
| `togetherai/deepseek-ai/DeepSeek-V3-1` | 131K | | | | | | $0.60 | $2 |
|
|
38
|
+
| `togetherai/deepseek-ai/DeepSeek-V4-Pro` | 512K | | | | | | $2 | $4 |
|
|
38
39
|
| `togetherai/essentialai/Rnj-1-Instruct` | 33K | | | | | | $0.15 | $0.15 |
|
|
39
40
|
| `togetherai/google/gemma-4-31B-it` | 262K | | | | | | $0.20 | $0.50 |
|
|
40
41
|
| `togetherai/meta-llama/Llama-3.3-70B-Instruct-Turbo` | 131K | | | | | | $0.88 | $0.88 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Xiaomi Token Plan (Europe)
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 5 Xiaomi Token Plan (Europe) models through Mastra's model router. Authentication is handled automatically using the `XIAOMI_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Xiaomi Token Plan (Europe) documentation](https://platform.xiaomimimo.com/#/docs).
|
|
6
6
|
|
|
@@ -32,11 +32,13 @@ for await (const chunk of stream) {
|
|
|
32
32
|
|
|
33
33
|
## Models
|
|
34
34
|
|
|
35
|
-
| Model
|
|
36
|
-
|
|
|
37
|
-
| `xiaomi-token-plan-ams/mimo-v2-omni`
|
|
38
|
-
| `xiaomi-token-plan-ams/mimo-v2-pro`
|
|
39
|
-
| `xiaomi-token-plan-ams/mimo-v2-tts`
|
|
35
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
36
|
+
| ------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
37
|
+
| `xiaomi-token-plan-ams/mimo-v2-omni` | 256K | | | | | | — | — |
|
|
38
|
+
| `xiaomi-token-plan-ams/mimo-v2-pro` | 1.0M | | | | | | — | — |
|
|
39
|
+
| `xiaomi-token-plan-ams/mimo-v2-tts` | 8K | | | | | | — | — |
|
|
40
|
+
| `xiaomi-token-plan-ams/mimo-v2.5` | 1.0M | | | | | | — | — |
|
|
41
|
+
| `xiaomi-token-plan-ams/mimo-v2.5-pro` | 1.0M | | | | | | — | — |
|
|
40
42
|
|
|
41
43
|
## Advanced configuration
|
|
42
44
|
|
|
@@ -66,7 +68,7 @@ const agent = new Agent({
|
|
|
66
68
|
model: ({ requestContext }) => {
|
|
67
69
|
const useAdvanced = requestContext.task === "complex";
|
|
68
70
|
return useAdvanced
|
|
69
|
-
? "xiaomi-token-plan-ams/mimo-v2-
|
|
71
|
+
? "xiaomi-token-plan-ams/mimo-v2.5-pro"
|
|
70
72
|
: "xiaomi-token-plan-ams/mimo-v2-omni";
|
|
71
73
|
}
|
|
72
74
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Xiaomi Token Plan (China)
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 5 Xiaomi Token Plan (China) models through Mastra's model router. Authentication is handled automatically using the `XIAOMI_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Xiaomi Token Plan (China) documentation](https://platform.xiaomimimo.com/#/docs).
|
|
6
6
|
|
|
@@ -32,11 +32,13 @@ for await (const chunk of stream) {
|
|
|
32
32
|
|
|
33
33
|
## Models
|
|
34
34
|
|
|
35
|
-
| Model
|
|
36
|
-
|
|
|
37
|
-
| `xiaomi-token-plan-cn/mimo-v2-omni`
|
|
38
|
-
| `xiaomi-token-plan-cn/mimo-v2-pro`
|
|
39
|
-
| `xiaomi-token-plan-cn/mimo-v2-tts`
|
|
35
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
36
|
+
| ------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
37
|
+
| `xiaomi-token-plan-cn/mimo-v2-omni` | 256K | | | | | | — | — |
|
|
38
|
+
| `xiaomi-token-plan-cn/mimo-v2-pro` | 1.0M | | | | | | — | — |
|
|
39
|
+
| `xiaomi-token-plan-cn/mimo-v2-tts` | 8K | | | | | | — | — |
|
|
40
|
+
| `xiaomi-token-plan-cn/mimo-v2.5` | 1.0M | | | | | | — | — |
|
|
41
|
+
| `xiaomi-token-plan-cn/mimo-v2.5-pro` | 1.0M | | | | | | — | — |
|
|
40
42
|
|
|
41
43
|
## Advanced configuration
|
|
42
44
|
|
|
@@ -66,7 +68,7 @@ const agent = new Agent({
|
|
|
66
68
|
model: ({ requestContext }) => {
|
|
67
69
|
const useAdvanced = requestContext.task === "complex";
|
|
68
70
|
return useAdvanced
|
|
69
|
-
? "xiaomi-token-plan-cn/mimo-v2-
|
|
71
|
+
? "xiaomi-token-plan-cn/mimo-v2.5-pro"
|
|
70
72
|
: "xiaomi-token-plan-cn/mimo-v2-omni";
|
|
71
73
|
}
|
|
72
74
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Xiaomi Token Plan (Singapore)
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 5 Xiaomi Token Plan (Singapore) models through Mastra's model router. Authentication is handled automatically using the `XIAOMI_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Xiaomi Token Plan (Singapore) documentation](https://platform.xiaomimimo.com/#/docs).
|
|
6
6
|
|
|
@@ -32,11 +32,13 @@ for await (const chunk of stream) {
|
|
|
32
32
|
|
|
33
33
|
## Models
|
|
34
34
|
|
|
35
|
-
| Model
|
|
36
|
-
|
|
|
37
|
-
| `xiaomi-token-plan-sgp/mimo-v2-omni`
|
|
38
|
-
| `xiaomi-token-plan-sgp/mimo-v2-pro`
|
|
39
|
-
| `xiaomi-token-plan-sgp/mimo-v2-tts`
|
|
35
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
36
|
+
| ------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
37
|
+
| `xiaomi-token-plan-sgp/mimo-v2-omni` | 256K | | | | | | — | — |
|
|
38
|
+
| `xiaomi-token-plan-sgp/mimo-v2-pro` | 1.0M | | | | | | — | — |
|
|
39
|
+
| `xiaomi-token-plan-sgp/mimo-v2-tts` | 8K | | | | | | — | — |
|
|
40
|
+
| `xiaomi-token-plan-sgp/mimo-v2.5` | 1.0M | | | | | | — | — |
|
|
41
|
+
| `xiaomi-token-plan-sgp/mimo-v2.5-pro` | 1.0M | | | | | | — | — |
|
|
40
42
|
|
|
41
43
|
## Advanced configuration
|
|
42
44
|
|
|
@@ -66,7 +68,7 @@ const agent = new Agent({
|
|
|
66
68
|
model: ({ requestContext }) => {
|
|
67
69
|
const useAdvanced = requestContext.task === "complex";
|
|
68
70
|
return useAdvanced
|
|
69
|
-
? "xiaomi-token-plan-sgp/mimo-v2-
|
|
71
|
+
? "xiaomi-token-plan-sgp/mimo-v2.5-pro"
|
|
70
72
|
: "xiaomi-token-plan-sgp/mimo-v2-omni";
|
|
71
73
|
}
|
|
72
74
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Xiaomi
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 5 Xiaomi models through Mastra's model router. Authentication is handled automatically using the `XIAOMI_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Xiaomi documentation](https://platform.xiaomimimo.com/#/docs).
|
|
6
6
|
|
|
@@ -37,6 +37,8 @@ for await (const chunk of stream) {
|
|
|
37
37
|
| `xiaomi/mimo-v2-flash` | 256K | | | | | | $0.10 | $0.30 |
|
|
38
38
|
| `xiaomi/mimo-v2-omni` | 256K | | | | | | $0.40 | $2 |
|
|
39
39
|
| `xiaomi/mimo-v2-pro` | 1.0M | | | | | | $1 | $3 |
|
|
40
|
+
| `xiaomi/mimo-v2.5` | 1.0M | | | | | | $0.40 | $2 |
|
|
41
|
+
| `xiaomi/mimo-v2.5-pro` | 1.0M | | | | | | $1 | $3 |
|
|
40
42
|
|
|
41
43
|
## Advanced configuration
|
|
42
44
|
|
|
@@ -66,7 +68,7 @@ const agent = new Agent({
|
|
|
66
68
|
model: ({ requestContext }) => {
|
|
67
69
|
const useAdvanced = requestContext.task === "complex";
|
|
68
70
|
return useAdvanced
|
|
69
|
-
? "xiaomi/mimo-v2-pro"
|
|
71
|
+
? "xiaomi/mimo-v2.5-pro"
|
|
70
72
|
: "xiaomi/mimo-v2-flash";
|
|
71
73
|
}
|
|
72
74
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Z.AI Coding Plan
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 4 Z.AI Coding Plan models through Mastra's model router. Authentication is handled automatically using the `ZHIPU_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Z.AI Coding Plan documentation](https://docs.z.ai/devpack/overview).
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@ const agent = new Agent({
|
|
|
15
15
|
id: "my-agent",
|
|
16
16
|
name: "My Agent",
|
|
17
17
|
instructions: "You are a helpful assistant",
|
|
18
|
-
model: "zai-coding-plan/glm-4.5"
|
|
18
|
+
model: "zai-coding-plan/glm-4.5-air"
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
// Generate a response
|
|
@@ -32,21 +32,12 @@ for await (const chunk of stream) {
|
|
|
32
32
|
|
|
33
33
|
## Models
|
|
34
34
|
|
|
35
|
-
| Model
|
|
36
|
-
|
|
|
37
|
-
| `zai-coding-plan/glm-4.5`
|
|
38
|
-
| `zai-coding-plan/glm-4.
|
|
39
|
-
| `zai-coding-plan/glm-
|
|
40
|
-
| `zai-coding-plan/glm-
|
|
41
|
-
| `zai-coding-plan/glm-4.6` | 205K | | | | | | — | — |
|
|
42
|
-
| `zai-coding-plan/glm-4.6v` | 128K | | | | | | — | — |
|
|
43
|
-
| `zai-coding-plan/glm-4.7` | 205K | | | | | | — | — |
|
|
44
|
-
| `zai-coding-plan/glm-4.7-flash` | 200K | | | | | | — | — |
|
|
45
|
-
| `zai-coding-plan/glm-4.7-flashx` | 200K | | | | | | $0.07 | $0.40 |
|
|
46
|
-
| `zai-coding-plan/glm-5` | 205K | | | | | | — | — |
|
|
47
|
-
| `zai-coding-plan/glm-5-turbo` | 200K | | | | | | — | — |
|
|
48
|
-
| `zai-coding-plan/glm-5.1` | 200K | | | | | | — | — |
|
|
49
|
-
| `zai-coding-plan/glm-5v-turbo` | 200K | | | | | | — | — |
|
|
35
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
36
|
+
| ----------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
37
|
+
| `zai-coding-plan/glm-4.5-air` | 131K | | | | | | — | — |
|
|
38
|
+
| `zai-coding-plan/glm-4.7` | 205K | | | | | | — | — |
|
|
39
|
+
| `zai-coding-plan/glm-5-turbo` | 200K | | | | | | — | — |
|
|
40
|
+
| `zai-coding-plan/glm-5.1` | 200K | | | | | | — | — |
|
|
50
41
|
|
|
51
42
|
## Advanced configuration
|
|
52
43
|
|
|
@@ -58,7 +49,7 @@ const agent = new Agent({
|
|
|
58
49
|
name: "custom-agent",
|
|
59
50
|
model: {
|
|
60
51
|
url: "https://api.z.ai/api/coding/paas/v4",
|
|
61
|
-
id: "zai-coding-plan/glm-4.5",
|
|
52
|
+
id: "zai-coding-plan/glm-4.5-air",
|
|
62
53
|
apiKey: process.env.ZHIPU_API_KEY,
|
|
63
54
|
headers: {
|
|
64
55
|
"X-Custom-Header": "value"
|
|
@@ -76,8 +67,8 @@ const agent = new Agent({
|
|
|
76
67
|
model: ({ requestContext }) => {
|
|
77
68
|
const useAdvanced = requestContext.task === "complex";
|
|
78
69
|
return useAdvanced
|
|
79
|
-
? "zai-coding-plan/glm-
|
|
80
|
-
: "zai-coding-plan/glm-4.5";
|
|
70
|
+
? "zai-coding-plan/glm-5.1"
|
|
71
|
+
: "zai-coding-plan/glm-4.5-air";
|
|
81
72
|
}
|
|
82
73
|
});
|
|
83
74
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Zhipu AI Coding Plan
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 4 Zhipu AI Coding Plan models through Mastra's model router. Authentication is handled automatically using the `ZHIPU_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Zhipu AI Coding Plan documentation](https://docs.bigmodel.cn/cn/coding-plan/overview).
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@ const agent = new Agent({
|
|
|
15
15
|
id: "my-agent",
|
|
16
16
|
name: "My Agent",
|
|
17
17
|
instructions: "You are a helpful assistant",
|
|
18
|
-
model: "zhipuai-coding-plan/glm-4.5"
|
|
18
|
+
model: "zhipuai-coding-plan/glm-4.5-air"
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
// Generate a response
|
|
@@ -32,22 +32,12 @@ for await (const chunk of stream) {
|
|
|
32
32
|
|
|
33
33
|
## Models
|
|
34
34
|
|
|
35
|
-
| Model
|
|
36
|
-
|
|
|
37
|
-
| `zhipuai-coding-plan/glm-4.5`
|
|
38
|
-
| `zhipuai-coding-plan/glm-4.
|
|
39
|
-
| `zhipuai-coding-plan/glm-
|
|
40
|
-
| `zhipuai-coding-plan/glm-
|
|
41
|
-
| `zhipuai-coding-plan/glm-4.6` | 205K | | | | | | — | — |
|
|
42
|
-
| `zhipuai-coding-plan/glm-4.6v` | 128K | | | | | | — | — |
|
|
43
|
-
| `zhipuai-coding-plan/glm-4.6v-flash` | 128K | | | | | | — | — |
|
|
44
|
-
| `zhipuai-coding-plan/glm-4.7` | 205K | | | | | | — | — |
|
|
45
|
-
| `zhipuai-coding-plan/glm-4.7-flash` | 200K | | | | | | — | — |
|
|
46
|
-
| `zhipuai-coding-plan/glm-4.7-flashx` | 200K | | | | | | $0.07 | $0.40 |
|
|
47
|
-
| `zhipuai-coding-plan/glm-5` | 205K | | | | | | — | — |
|
|
48
|
-
| `zhipuai-coding-plan/glm-5-turbo` | 200K | | | | | | — | — |
|
|
49
|
-
| `zhipuai-coding-plan/glm-5.1` | 200K | | | | | | — | — |
|
|
50
|
-
| `zhipuai-coding-plan/glm-5v-turbo` | 200K | | | | | | — | — |
|
|
35
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
36
|
+
| --------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
37
|
+
| `zhipuai-coding-plan/glm-4.5-air` | 131K | | | | | | — | — |
|
|
38
|
+
| `zhipuai-coding-plan/glm-4.7` | 205K | | | | | | — | — |
|
|
39
|
+
| `zhipuai-coding-plan/glm-5-turbo` | 200K | | | | | | — | — |
|
|
40
|
+
| `zhipuai-coding-plan/glm-5.1` | 200K | | | | | | — | — |
|
|
51
41
|
|
|
52
42
|
## Advanced configuration
|
|
53
43
|
|
|
@@ -59,7 +49,7 @@ const agent = new Agent({
|
|
|
59
49
|
name: "custom-agent",
|
|
60
50
|
model: {
|
|
61
51
|
url: "https://open.bigmodel.cn/api/coding/paas/v4",
|
|
62
|
-
id: "zhipuai-coding-plan/glm-4.5",
|
|
52
|
+
id: "zhipuai-coding-plan/glm-4.5-air",
|
|
63
53
|
apiKey: process.env.ZHIPU_API_KEY,
|
|
64
54
|
headers: {
|
|
65
55
|
"X-Custom-Header": "value"
|
|
@@ -77,8 +67,8 @@ const agent = new Agent({
|
|
|
77
67
|
model: ({ requestContext }) => {
|
|
78
68
|
const useAdvanced = requestContext.task === "complex";
|
|
79
69
|
return useAdvanced
|
|
80
|
-
? "zhipuai-coding-plan/glm-
|
|
81
|
-
: "zhipuai-coding-plan/glm-4.5";
|
|
70
|
+
? "zhipuai-coding-plan/glm-5.1"
|
|
71
|
+
: "zhipuai-coding-plan/glm-4.5-air";
|
|
82
72
|
}
|
|
83
73
|
});
|
|
84
74
|
```
|
|
@@ -153,8 +153,10 @@ async function manageClones() {
|
|
|
153
153
|
|
|
154
154
|
// Have a conversation...
|
|
155
155
|
await agent.generate("Hello! Let's discuss project options.", {
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
memory: {
|
|
157
|
+
thread: originalThread.id,
|
|
158
|
+
resource: 'user-123',
|
|
159
|
+
},
|
|
158
160
|
})
|
|
159
161
|
|
|
160
162
|
// Create multiple branches (clones) to explore different paths
|
|
@@ -93,8 +93,10 @@ const { thread: dateFilteredClone } = await memory.cloneThread({
|
|
|
93
93
|
|
|
94
94
|
// Continue conversation on the cloned thread
|
|
95
95
|
const response = await agent.generate("Let's try a different approach", {
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
memory: {
|
|
97
|
+
thread: fullClone.id,
|
|
98
|
+
resource: fullClone.resourceId,
|
|
99
|
+
},
|
|
98
100
|
})
|
|
99
101
|
```
|
|
100
102
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @mastra/mcp-docs-server
|
|
2
2
|
|
|
3
|
+
## 1.1.29-alpha.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`9e973b0`](https://github.com/mastra-ai/mastra/commit/9e973b010dacfa15ac82b0072897319f5234b90a), [`dd934a0`](https://github.com/mastra-ai/mastra/commit/dd934a0982ce0f78712fbd559e4f2410bf594b39), [`73f2809`](https://github.com/mastra-ai/mastra/commit/73f2809721db24e98cdf122539652a455211b450), [`aedeea4`](https://github.com/mastra-ai/mastra/commit/aedeea48a94f728323f040478775076b9574be50), [`8126d86`](https://github.com/mastra-ai/mastra/commit/8126d8638411eacfafdc29036ac998e8757ea66f), [`ae97520`](https://github.com/mastra-ai/mastra/commit/ae975206fdb0f6ef03c4d5bf94f7dc7c3f706c02), [`441670a`](https://github.com/mastra-ai/mastra/commit/441670a02c9dc7731c52674f55481e7848a84523)]:
|
|
8
|
+
- @mastra/core@1.29.0-alpha.2
|
|
9
|
+
|
|
3
10
|
## 1.1.29-alpha.2
|
|
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.1.29-alpha.
|
|
3
|
+
"version": "1.1.29-alpha.6",
|
|
4
4
|
"description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"jsdom": "^26.1.0",
|
|
30
30
|
"local-pkg": "^1.1.2",
|
|
31
31
|
"zod": "^4.3.6",
|
|
32
|
-
"@mastra/
|
|
33
|
-
"@mastra/
|
|
32
|
+
"@mastra/core": "1.29.0-alpha.2",
|
|
33
|
+
"@mastra/mcp": "^1.5.2"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@hono/node-server": "^1.19.11",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"typescript": "^5.9.3",
|
|
48
48
|
"vitest": "4.1.5",
|
|
49
49
|
"@internal/lint": "0.0.86",
|
|
50
|
-
"@
|
|
51
|
-
"@
|
|
50
|
+
"@mastra/core": "1.29.0-alpha.2",
|
|
51
|
+
"@internal/types-builder": "0.0.61"
|
|
52
52
|
},
|
|
53
53
|
"homepage": "https://mastra.ai",
|
|
54
54
|
"repository": {
|