@mastra/mcp-docs-server 1.2.8-alpha.5 → 1.2.8-alpha.9

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.
@@ -113,7 +113,7 @@ Semantics:
113
113
  - `result.turnResults[i]` reports each turn's `gateResults`, `thresholdResults`, and `scores`, so a failure points at the exact turn. Across multiple conversations, turn results are averaged by turn index.
114
114
  - A turn with no `gates`/`scorers` just advances the conversation.
115
115
  - Top-level `scorers`/`gates` still run holistically over the accumulated output, so you can combine "this turn must call the tool" with "the overall answer mentions Brooklyn."
116
- - When the agent has storage configured, each per-turn scorer/gate result is persisted like top-level scores, so per-turn outcomes appear in your scores store.
116
+ - When the agent has storage configured, each per-turn scorer/gate result is persisted like top-level scores, so per-turn outcomes appear in your scores store. Each stored per-turn score is labeled with its turn index (`metadata.turnIndex`), shares the conversation's `threadId`, and links to that turn's own trace span.
117
117
 
118
118
  Use `inputs` when a single holistic score over the whole conversation is enough; use `turns` when correctness depends on individual turns. `turns` cannot be combined with `input` or `inputs` in the same data item.
119
119
 
@@ -159,8 +159,9 @@ cleanup()
159
159
  ```typescript
160
160
  import { createDurableAgent } from '@mastra/core/agent/durable'
161
161
  import { RedisServerCache } from '@mastra/redis'
162
+ import Redis from 'ioredis'
162
163
 
163
- const cache = new RedisServerCache({ url: 'redis://localhost:6379' })
164
+ const cache = new RedisServerCache({ client: new Redis('redis://localhost:6379') })
164
165
 
165
166
  export const durableAgent = createDurableAgent({
166
167
  agent,
@@ -132,6 +132,7 @@ List of required environment variables for each model provider and gateway suppo
132
132
  | [Tencent Token Plan](https://mastra.ai/models/providers/tencent-token-plan) | `tencent-token-plan/*` | `TENCENT_TOKEN_PLAN_API_KEY` |
133
133
  | [Tencent TokenHub](https://mastra.ai/models/providers/tencent-tokenhub) | `tencent-tokenhub/*` | `TENCENT_TOKENHUB_API_KEY` |
134
134
  | [The Grid AI](https://mastra.ai/models/providers/the-grid-ai) | `the-grid-ai/*` | `THEGRIDAI_API_KEY` |
135
+ | [Thinking Machines](https://mastra.ai/models/providers/thinkingmachines) | `thinkingmachines/*` | `TINKER_API_KEY` |
135
136
  | [Tinfoil](https://mastra.ai/models/providers/tinfoil) | `tinfoil/*` | `TINFOIL_API_KEY` |
136
137
  | [Together AI](https://mastra.ai/models/providers/togetherai) | `togetherai/*` | `TOGETHER_API_KEY` |
137
138
  | [TrustedRouter](https://mastra.ai/models/providers/trustedrouter) | `trustedrouter/*` | `TRUSTEDROUTER_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 341 models through Mastra's model router.
5
+ OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 343 models through Mastra's model router.
6
6
 
7
7
  Learn more in the [OpenRouter documentation](https://openrouter.ai/models).
8
8
 
@@ -152,6 +152,7 @@ ANTHROPIC_API_KEY=ant-...
152
152
  | `meta-llama/llama-4-maverick` |
153
153
  | `meta-llama/llama-4-scout` |
154
154
  | `meta-llama/llama-guard-4-12b` |
155
+ | `meta/muse-spark-1.1` |
155
156
  | `microsoft/phi-4` |
156
157
  | `microsoft/wizardlm-2-8x22b` |
157
158
  | `minimax/minimax-01` |
@@ -186,6 +187,7 @@ ANTHROPIC_API_KEY=ant-...
186
187
  | `moonshotai/kimi-k2.5` |
187
188
  | `moonshotai/kimi-k2.6` |
188
189
  | `moonshotai/kimi-k2.7-code` |
190
+ | `moonshotai/kimi-k3` |
189
191
  | `morph/morph-v3-fast` |
190
192
  | `morph/morph-v3-large` |
191
193
  | `nex-agi/nex-n2-mini` |
@@ -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 300 models through Mastra's model router.
5
+ Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 305 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
 
@@ -83,7 +83,9 @@ ANTHROPIC_API_KEY=ant-...
83
83
  | `anthropic/claude-opus-4.5` |
84
84
  | `anthropic/claude-opus-4.6` |
85
85
  | `anthropic/claude-opus-4.7` |
86
+ | `anthropic/claude-opus-4.7-fast` |
86
87
  | `anthropic/claude-opus-4.8` |
88
+ | `anthropic/claude-opus-4.8-fast` |
87
89
  | `anthropic/claude-sonnet-4` |
88
90
  | `anthropic/claude-sonnet-4.5` |
89
91
  | `anthropic/claude-sonnet-4.6` |
@@ -207,6 +209,7 @@ ANTHROPIC_API_KEY=ant-...
207
209
  | `moonshotai/kimi-k2.6` |
208
210
  | `moonshotai/kimi-k2.7-code` |
209
211
  | `moonshotai/kimi-k2.7-code-highspeed` |
212
+ | `moonshotai/kimi-k3` |
210
213
  | `morph/morph-v3-fast` |
211
214
  | `morph/morph-v3-large` |
212
215
  | `nvidia/nemotron-3-nano-30b-a3b` |
@@ -261,6 +264,7 @@ ANTHROPIC_API_KEY=ant-...
261
264
  | `openai/gpt-realtime-2` |
262
265
  | `openai/gpt-realtime-2.1` |
263
266
  | `openai/gpt-realtime-mini` |
267
+ | `openai/gpt-realtime-whisper` |
264
268
  | `openai/o1` |
265
269
  | `openai/o3` |
266
270
  | `openai/o3-deep-research` |
@@ -289,6 +293,7 @@ ANTHROPIC_API_KEY=ant-...
289
293
  | `sakana/fugu-ultra` |
290
294
  | `stepfun/step-3.5-flash` |
291
295
  | `stepfun/step-3.7-flash` |
296
+ | `thinkingmachines/inkling` |
292
297
  | `voyage/rerank-2.5` |
293
298
  | `voyage/rerank-2.5-lite` |
294
299
  | `voyage/voyage-3-large` |
@@ -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 4844 models from 155 providers through a single API.
5
+ Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 4858 models from 156 providers through a single API.
6
6
 
7
7
  ## Features
8
8
 
@@ -38,8 +38,8 @@ for await (const chunk of stream) {
38
38
  | ----------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
39
  | `ambient/ambient/large` | 101K | | | | | | $1 | $4 |
40
40
  | `ambient/moonshotai/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
41
- | `ambient/moonshotai/kimi-k2.7-code` | 262K | | | | | | $0.72 | $3 |
42
- | `ambient/stepfun/step-3.7-flash` | 262K | | | | | | $0.20 | $1 |
41
+ | `ambient/moonshotai/kimi-k2.7-code` | 262K | | | | | | $0.75 | $4 |
42
+ | `ambient/stepfun/step-3.7-flash` | 262K | | | | | | $0.19 | $1 |
43
43
  | `ambient/z-ai/glm-5.2` | 101K | | | | | | $1 | $4 |
44
44
  | `ambient/zai-org/GLM-5.1-FP8` | 203K | | | | | | $1 | $4 |
45
45
  | `ambient/zai-org/GLM-5.2-FP8` | 203K | | | | | | $1 | $4 |
@@ -46,7 +46,7 @@ for await (const chunk of stream) {
46
46
  | `baseten/zai-org/GLM-4.7` | 200K | | | | | | $0.60 | $2 |
47
47
  | `baseten/zai-org/GLM-5` | 203K | | | | | | $0.95 | $3 |
48
48
  | `baseten/zai-org/GLM-5.1` | 203K | | | | | | $1 | $4 |
49
- | `baseten/zai-org/GLM-5.2` | 1.0M | | | | | | $1 | $4 |
49
+ | `baseten/zai-org/GLM-5.2` | 256K | | | | | | $1 | $4 |
50
50
 
51
51
  ## Advanced configuration
52
52
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![evroc logo](https://models.dev/logos/evroc.svg)evroc
4
4
 
5
- Access 15 evroc models through Mastra's model router. Authentication is handled automatically using the `EVROC_API_KEY` environment variable.
5
+ Access 16 evroc models through Mastra's model router. Authentication is handled automatically using the `EVROC_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [evroc documentation](https://docs.evroc.com/products/think/overview.html).
8
8
 
@@ -51,6 +51,7 @@ for await (const chunk of stream) {
51
51
  | `evroc/Qwen/Qwen3-Reranker-4B` | 32K | | | | | | $0.06 | — |
52
52
  | `evroc/Qwen/Qwen3-VL-30B-A3B-Instruct` | 100K | | | | | | $0.23 | $0.92 |
53
53
  | `evroc/Qwen/Qwen3.6-35B-A3B-FP8` | 262K | | | | | | $0.34 | $1 |
54
+ | `evroc/zai-org/GLM-5.2` | 1.0M | | | | | | $1 | $6 |
54
55
 
55
56
  ## Advanced configuration
56
57
 
@@ -80,7 +81,7 @@ const agent = new Agent({
80
81
  model: ({ requestContext }) => {
81
82
  const useAdvanced = requestContext.task === "complex";
82
83
  return useAdvanced
83
- ? "evroc/openai/whisper-large-v3-turbo"
84
+ ? "evroc/zai-org/GLM-5.2"
84
85
  : "evroc/KBLab/kb-whisper-large";
85
86
  }
86
87
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Kimi For Coding logo](https://models.dev/logos/kimi-for-coding.svg)Kimi For Coding
4
4
 
5
- Access 5 Kimi For Coding models through Mastra's model router. Authentication is handled automatically using the `KIMI_API_KEY` environment variable.
5
+ Access 6 Kimi For Coding models through Mastra's model router. Authentication is handled automatically using the `KIMI_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Kimi For Coding documentation](https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html).
8
8
 
@@ -39,6 +39,7 @@ for await (const chunk of stream) {
39
39
  | `kimi-for-coding/k2p5` | 262K | | | | | | — | — |
40
40
  | `kimi-for-coding/k2p6` | 262K | | | | | | — | — |
41
41
  | `kimi-for-coding/k2p7` | 262K | | | | | | — | — |
42
+ | `kimi-for-coding/k3` | 1.0M | | | | | | — | — |
42
43
  | `kimi-for-coding/kimi-for-coding-highspeed` | 262K | | | | | | — | — |
43
44
  | `kimi-for-coding/kimi-k2-thinking` | 262K | | | | | | — | — |
44
45
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Moonshot AI (China) logo](https://models.dev/logos/moonshotai-cn.svg)Moonshot AI (China)
4
4
 
5
- Access 9 Moonshot AI (China) models through Mastra's model router. Authentication is handled automatically using the `MOONSHOT_API_KEY` environment variable.
5
+ Access 10 Moonshot AI (China) models through Mastra's model router. Authentication is handled automatically using the `MOONSHOT_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Moonshot AI (China) documentation](https://platform.moonshot.cn).
8
8
 
@@ -45,6 +45,7 @@ for await (const chunk of stream) {
45
45
  | `moonshotai-cn/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
46
46
  | `moonshotai-cn/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
47
47
  | `moonshotai-cn/kimi-k2.7-code-highspeed` | 262K | | | | | | $2 | $8 |
48
+ | `moonshotai-cn/kimi-k3` | 1.0M | | | | | | — | — |
48
49
 
49
50
  ## Advanced configuration
50
51
 
@@ -74,7 +75,7 @@ const agent = new Agent({
74
75
  model: ({ requestContext }) => {
75
76
  const useAdvanced = requestContext.task === "complex";
76
77
  return useAdvanced
77
- ? "moonshotai-cn/kimi-k2.7-code-highspeed"
78
+ ? "moonshotai-cn/kimi-k3"
78
79
  : "moonshotai-cn/kimi-k2-0711-preview";
79
80
  }
80
81
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Moonshot AI logo](https://models.dev/logos/moonshotai.svg)Moonshot AI
4
4
 
5
- Access 9 Moonshot AI models through Mastra's model router. Authentication is handled automatically using the `MOONSHOT_API_KEY` environment variable.
5
+ Access 10 Moonshot AI models through Mastra's model router. Authentication is handled automatically using the `MOONSHOT_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Moonshot AI documentation](https://platform.moonshot.ai).
8
8
 
@@ -45,6 +45,7 @@ for await (const chunk of stream) {
45
45
  | `moonshotai/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
46
46
  | `moonshotai/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
47
47
  | `moonshotai/kimi-k2.7-code-highspeed` | 262K | | | | | | $2 | $8 |
48
+ | `moonshotai/kimi-k3` | 1.0M | | | | | | — | — |
48
49
 
49
50
  ## Advanced configuration
50
51
 
@@ -74,7 +75,7 @@ const agent = new Agent({
74
75
  model: ({ requestContext }) => {
75
76
  const useAdvanced = requestContext.task === "complex";
76
77
  return useAdvanced
77
- ? "moonshotai/kimi-k2.7-code-highspeed"
78
+ ? "moonshotai/kimi-k3"
78
79
  : "moonshotai/kimi-k2-0711-preview";
79
80
  }
80
81
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![OpenCode Go logo](https://models.dev/logos/opencode-go.svg)OpenCode Go
4
4
 
5
- Access 13 OpenCode Go models through Mastra's model router. Authentication is handled automatically using the `OPENCODE_API_KEY` environment variable.
5
+ Access 15 OpenCode Go 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 Go documentation](https://opencode.ai/docs/zen).
8
8
 
@@ -40,8 +40,10 @@ for await (const chunk of stream) {
40
40
  | `opencode-go/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
41
41
  | `opencode-go/glm-5.1` | 203K | | | | | | $1 | $4 |
42
42
  | `opencode-go/glm-5.2` | 1.0M | | | | | | $1 | $4 |
43
+ | `opencode-go/grok-4.5` | 500K | | | | | | $2 | $6 |
43
44
  | `opencode-go/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
44
45
  | `opencode-go/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
46
+ | `opencode-go/kimi-k3` | 1.0M | | | | | | $3 | $15 |
45
47
  | `opencode-go/mimo-v2.5` | 1.0M | | | | | | $0.14 | $0.28 |
46
48
  | `opencode-go/mimo-v2.5-pro` | 1.0M | | | | | | $2 | $3 |
47
49
  | `opencode-go/minimax-m2.7` | 205K | | | | | | $0.30 | $1 |
@@ -0,0 +1,73 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # ![Thinking Machines logo](https://models.dev/logos/thinkingmachines.svg)Thinking Machines
4
+
5
+ Access 1 Thinking Machines model through Mastra's model router. Authentication is handled automatically using the `TINKER_API_KEY` environment variable.
6
+
7
+ Learn more in the [Thinking Machines documentation](https://tinker-docs.thinkingmachines.ai/tinker/compatible-apis/openai/).
8
+
9
+ ```bash
10
+ TINKER_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: "thinkingmachines/inkling"
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 [Thinking Machines documentation](https://tinker-docs.thinkingmachines.ai/tinker/compatible-apis/openai/) for details.
34
+
35
+ ## Models
36
+
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | -------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `thinkingmachines/inkling` | 256K | | | | | | $4 | $9 |
40
+
41
+ ## Advanced configuration
42
+
43
+ ### Custom headers
44
+
45
+ ```typescript
46
+ const agent = new Agent({
47
+ id: "custom-agent",
48
+ name: "custom-agent",
49
+ model: {
50
+ url: "https://tinker.thinkingmachines.dev/services/tinker-prod/oai/api/v1",
51
+ id: "thinkingmachines/inkling",
52
+ apiKey: process.env.TINKER_API_KEY,
53
+ headers: {
54
+ "X-Custom-Header": "value"
55
+ }
56
+ }
57
+ });
58
+ ```
59
+
60
+ ### Dynamic model selection
61
+
62
+ ```typescript
63
+ const agent = new Agent({
64
+ id: "dynamic-agent",
65
+ name: "Dynamic Agent",
66
+ model: ({ requestContext }) => {
67
+ const useAdvanced = requestContext.task === "complex";
68
+ return useAdvanced
69
+ ? "thinkingmachines/inkling"
70
+ : "thinkingmachines/inkling";
71
+ }
72
+ });
73
+ ```
@@ -131,6 +131,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
131
131
  - [Tencent Token Plan](https://mastra.ai/models/providers/tencent-token-plan)
132
132
  - [Tencent TokenHub](https://mastra.ai/models/providers/tencent-tokenhub)
133
133
  - [The Grid AI](https://mastra.ai/models/providers/the-grid-ai)
134
+ - [Thinking Machines](https://mastra.ai/models/providers/thinkingmachines)
134
135
  - [Tinfoil](https://mastra.ai/models/providers/tinfoil)
135
136
  - [Together AI](https://mastra.ai/models/providers/togetherai)
136
137
  - [TrustedRouter](https://mastra.ai/models/providers/trustedrouter)
@@ -76,6 +76,8 @@ export const claudeCodeAgent = new AcpAgent({
76
76
 
77
77
  **onPermissionRequest** (`(request: RequestPermissionRequest) => Promise<RequestPermissionResponse>`): Callback invoked when the ACP agent requests permission. Defaults to selecting the first permission option, or cancelling when no option is available.
78
78
 
79
+ **createClient** (`(defaultClient: Client) => Client`): Customize the ACP client used to answer agent requests. Receives the default client so it can be wrapped or extended, for example with extMethod and extNotification handlers. See Extension methods.
80
+
79
81
  **workspace** (`Workspace`): Workspace used for ACP file read and write requests. Defaults to a Workspace backed by LocalFilesystem at cwd or process.cwd().
80
82
 
81
83
  **model** (`ModelId`): Model ID to select after ACP session creation using the ACP session/set\_model method.
@@ -57,6 +57,8 @@ export const codeSupervisor = new Agent({
57
57
 
58
58
  **onPermissionRequest** (`(request: RequestPermissionRequest) => Promise<RequestPermissionResponse>`): Callback invoked when the ACP agent requests permission. Defaults to selecting the first permission option, or cancelling when no option is available.
59
59
 
60
+ **createClient** (`(defaultClient: Client) => Client`): Customize the ACP client used to answer agent requests. Receives the default client so it can be wrapped or extended, for example with extMethod and extNotification handlers.
61
+
60
62
  **workspace** (`Workspace`): Workspace option from the shared ACP connection options. During tool execution, createACPTool() passes the current Mastra workspace from the execution context when one is available; otherwise the ACP connection falls back to a local filesystem workspace. Use AcpAgent when you need to provide an explicit workspace instance.
61
63
 
62
64
  **model** (`ModelId`): Model ID to select after ACP session creation using the ACP session/set\_model method.
@@ -124,6 +126,32 @@ export const codeAgentTool = createACPTool({
124
126
 
125
127
  Use this callback to enforce local policy, inspect the permission title, or route the decision to your own approval flow.
126
128
 
129
+ ## Extension methods
130
+
131
+ Some ACP agents call custom extension methods on the client, outside the standard ACP request set. The default client rejects unknown methods with a "Method not found" error, which can abort the agent's turn.
132
+
133
+ Pass `createClient` to extend or replace the default client. The callback receives the default client and returns the client used for the connection:
134
+
135
+ ```typescript
136
+ import { createACPTool } from '@mastra/acp'
137
+
138
+ export const codeAgentTool = createACPTool({
139
+ id: 'code-agent',
140
+ description: 'Use an ACP-compatible coding agent',
141
+ command: 'acp-agent',
142
+ args: ['--stdio'],
143
+ createClient: defaultClient =>
144
+ Object.assign(defaultClient, {
145
+ async extMethod(method: string, params: Record<string, unknown>) {
146
+ return {}
147
+ },
148
+ async extNotification(method: string, params: Record<string, unknown>) {},
149
+ }),
150
+ })
151
+ ```
152
+
153
+ Return a fully custom `Client` implementation when you need to change the standard handlers as well. The `Client` type is re-exported from `@mastra/acp`.
154
+
127
155
  ## Related
128
156
 
129
157
  - [Agent Client Protocol docs](https://mastra.ai/docs/agents/acp)
@@ -211,6 +211,8 @@ Retrieve messages for a specific thread.
211
211
  const messages = await agentController.session.thread.listMessages({ threadId: 'thread-abc123' })
212
212
  ```
213
213
 
214
+ The message-reading methods `listActiveMessages`, `listMessages`, and `firstUserMessage` return `MastraDBMessage` objects, while `firstUserMessages` returns a `Map<string, MastraDBMessage>` keyed by thread ID. Each message has a `role`, an `id`, a `createdAt`, and a `content` object with `content.format` and a `content.parts` array. Read text, reasoning, tool calls, and attachments from `content.parts`. Signals such as system reminders and notifications are returned as separate messages with `role: 'signal'`.
215
+
214
216
  ### `session.thread.firstUserMessage({ threadId })`
215
217
 
216
218
  Retrieve the first user message for a thread, or `null` if none.
@@ -37,6 +37,29 @@ const text = await output.text
37
37
  cleanup()
38
38
  ```
39
39
 
40
+ ### Using the `durable` config flag
41
+
42
+ Set `durable: true` on `AgentConfig` and the agent is automatically wrapped with `createDurableAgent` when it is attached to a `Mastra` instance. Use an object to forward advanced options such as `cache`, `pubsub`, `maxSteps`, or `cleanupTimeoutMs`.
43
+
44
+ ```typescript
45
+ import { Mastra } from '@mastra/core'
46
+ import { Agent } from '@mastra/core/agent'
47
+
48
+ const myAgent = new Agent({
49
+ id: 'my-agent',
50
+ name: 'My Agent',
51
+ instructions: 'You are a helpful assistant',
52
+ model: 'openai/gpt-5.5',
53
+ durable: true, // or: { maxSteps: 10, cleanupTimeoutMs: 60_000 }
54
+ })
55
+
56
+ export const mastra = new Mastra({
57
+ agents: { myAgent },
58
+ })
59
+ ```
60
+
61
+ `mastra.getAgent('myAgent')` returns the wrapped `DurableAgent`. Standalone agents (constructed but never registered on a `Mastra` instance) do not become durable; the wrapping is applied at registration.
62
+
40
63
  ## `createDurableAgent(options)`
41
64
 
42
65
  Wraps an `Agent` with durable execution and resumable streams. This is the recommended way to create a `DurableAgent`.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @mastra/mcp-docs-server
2
2
 
3
+ ## 1.2.8-alpha.8
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`4cfdd64`](https://github.com/mastra-ai/mastra/commit/4cfdd645794feaea0c4ea711e70ecdfbef0c5b8e)]:
8
+ - @mastra/core@1.52.0-alpha.4
9
+
10
+ ## 1.2.8-alpha.6
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [[`1426af2`](https://github.com/mastra-ai/mastra/commit/1426af24975879c000d13ac75673f630fcc970c1), [`975295d`](https://github.com/mastra-ai/mastra/commit/975295d418552f0d46a59edfef4c3ee555f9930a), [`85e4fb5`](https://github.com/mastra-ai/mastra/commit/85e4fb50087a81c74df3a762f53b56373db0b912), [`ef03c0c`](https://github.com/mastra-ai/mastra/commit/ef03c0cfc62367a458e4cc56462e2148b35681c5), [`4fb4d88`](https://github.com/mastra-ai/mastra/commit/4fb4d881bc107acee13890ad4d78661016c510ed), [`4eba27a`](https://github.com/mastra-ai/mastra/commit/4eba27adcf60f991df0e62f94b3e75b4e67f3b4b), [`c701be3`](https://github.com/mastra-ai/mastra/commit/c701be32d7d9aa94a66da8c6cc38dcac6856f464)]:
15
+ - @mastra/core@1.52.0-alpha.3
16
+
3
17
  ## 1.2.8-alpha.4
4
18
 
5
19
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/mcp-docs-server",
3
- "version": "1.2.8-alpha.5",
3
+ "version": "1.2.8-alpha.9",
4
4
  "description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -28,11 +28,11 @@
28
28
  "jsdom": "^26.1.0",
29
29
  "local-pkg": "^1.1.2",
30
30
  "zod": "^4.4.3",
31
- "@mastra/core": "1.52.0-alpha.2",
31
+ "@mastra/core": "1.52.0-alpha.4",
32
32
  "@mastra/mcp": "^1.15.0-alpha.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@hono/node-server": "^1.19.11",
35
+ "@hono/node-server": "^1.19.14",
36
36
  "@types/jsdom": "^21.1.7",
37
37
  "@types/node": "22.20.1",
38
38
  "@vitest/coverage-v8": "4.1.10",
@@ -47,7 +47,7 @@
47
47
  "vitest": "4.1.10",
48
48
  "@internal/lint": "0.0.114",
49
49
  "@internal/types-builder": "0.0.89",
50
- "@mastra/core": "1.52.0-alpha.2"
50
+ "@mastra/core": "1.52.0-alpha.4"
51
51
  },
52
52
  "homepage": "https://mastra.ai",
53
53
  "repository": {