@mastra/mcp-docs-server 1.1.39-alpha.4 → 1.1.39-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/docs/agents/a2a.md +115 -88
- package/.docs/docs/build-with-ai/skills.md +28 -0
- package/.docs/reference/agents/channels.md +6 -0
- package/.docs/reference/configuration.md +10 -10
- package/.docs/reference/server/register-api-route.md +19 -0
- package/CHANGELOG.md +7 -0
- package/package.json +4 -4
package/.docs/docs/agents/a2a.md
CHANGED
|
@@ -1,64 +1,126 @@
|
|
|
1
1
|
# A2A (Agent-to-Agent)
|
|
2
2
|
|
|
3
|
-
Mastra supports the Agent-to-Agent (A2A) protocol for
|
|
3
|
+
Mastra supports the [Agent-to-Agent (A2A) protocol](https://a2a-protocol.org/latest/) for cross-platform multi-agent systems. Use A2A to expose Mastra agents as remote agents, consume remote A2A agents as Mastra subagents, or call A2A endpoints with the JavaScript client SDK.
|
|
4
|
+
|
|
5
|
+
A2A is an open protocol for delegating work to agents across network, framework, vendor, and language boundaries. A remote agent keeps its own tools, prompts, memory, workflows, and infrastructure private while exposing a protocol endpoint that other systems can discover and call.
|
|
4
6
|
|
|
5
7
|
## When to use A2A
|
|
6
8
|
|
|
7
|
-
- A parent agent should delegate work to a specialized agent
|
|
8
|
-
- A remote agent
|
|
9
|
+
- A parent agent should delegate work to a specialized remote agent.
|
|
10
|
+
- A remote agent is owned by another service, team, vendor, or runtime.
|
|
9
11
|
- A backend, browser app, or another A2A-compatible system needs programmatic access to a Mastra agent.
|
|
10
12
|
- Long-running remote work needs task IDs, status updates, artifacts, cancellation, resubscription, or push notifications.
|
|
11
13
|
|
|
12
14
|
## How A2A works
|
|
13
15
|
|
|
14
|
-
A2A
|
|
16
|
+
A2A uses an agent card for discovery. The card is a JSON document served from a well-known URL. It describes the remote agent and includes the execution URL that accepts A2A JSON-RPC requests.
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
- **Client agent**: The caller that discovers a remote agent, sends messages, and listens for task updates.
|
|
18
|
-
- **Remote agent**: The Mastra agent running behind an A2A endpoint.
|
|
18
|
+
When using the default Mastra Server `apiPrefix` of `/api`, an agent registered as `weather-agent` exposes:
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
- Agent card: `/api/.well-known/weather-agent/agent-card.json`
|
|
21
|
+
- Execution endpoint: `/api/a2a/weather-agent`
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
An agent card includes fields like the agent name, description, endpoint URL, provider, capabilities, security metadata, and skills:
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
3.
|
|
27
|
-
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"protocolVersion": "0.3.0",
|
|
28
|
+
"name": "Weather Agent",
|
|
29
|
+
"description": "Provides weather information.",
|
|
30
|
+
"url": "https://agent.example.com/api/a2a/weather-agent",
|
|
31
|
+
"version": "1.0",
|
|
32
|
+
"provider": {
|
|
33
|
+
"organization": "Acme",
|
|
34
|
+
"url": "https://acme.example.com"
|
|
35
|
+
},
|
|
36
|
+
"capabilities": {
|
|
37
|
+
"streaming": true,
|
|
38
|
+
"pushNotifications": true,
|
|
39
|
+
"stateTransitionHistory": false
|
|
40
|
+
},
|
|
41
|
+
"defaultInputModes": ["text/plain"],
|
|
42
|
+
"defaultOutputModes": ["text/plain"],
|
|
43
|
+
"skills": [
|
|
44
|
+
{
|
|
45
|
+
"id": "weather",
|
|
46
|
+
"name": "weather",
|
|
47
|
+
"description": "Gets weather conditions for a location.",
|
|
48
|
+
"tags": ["tool"]
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
```
|
|
28
53
|
|
|
29
|
-
|
|
54
|
+
A2A represents work as messages and tasks. Messages carry text, file, or structured data parts. Tasks are stateful units of work with IDs and lifecycle states, so clients can follow long-running work, send follow-up turns, cancel work, or resubscribe after a disconnect.
|
|
30
55
|
|
|
31
|
-
|
|
56
|
+
## Get started
|
|
32
57
|
|
|
33
|
-
|
|
58
|
+
A2A has two common paths in Mastra:
|
|
34
59
|
|
|
35
|
-
|
|
60
|
+
- Consume a remote A2A agent as a Mastra subagent with `A2AAgent`.
|
|
61
|
+
- Send requests to a Mastra A2A endpoint with `MastraClient.getA2A()`.
|
|
36
62
|
|
|
37
|
-
|
|
63
|
+
Use `A2AAgent` when another Mastra agent should delegate work to a remote agent. Use the client SDK when application code needs to call an A2A-enabled Mastra endpoint directly.
|
|
38
64
|
|
|
39
|
-
|
|
40
|
-
- Execution endpoint: `/a2a/research-agent`
|
|
65
|
+
## Consume A2A agents as subagents
|
|
41
66
|
|
|
42
|
-
Use `
|
|
67
|
+
Use `A2AAgent` to wrap a remote A2A agent, then add it to a parent agent with the [supervisor agents](https://mastra.ai/docs/agents/supervisor-agents) pattern. Pass an explicit agent card URL when the remote server hosts multiple agents or uses a custom well-known path.
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
import { Agent } from '@mastra/core/agent'
|
|
71
|
+
import { A2AAgent } from '@mastra/core/a2a'
|
|
72
|
+
|
|
73
|
+
const remoteWeatherAgent = new A2AAgent({
|
|
74
|
+
url: 'https://weather.example.com/api/.well-known/weather-agent/agent-card.json',
|
|
75
|
+
headers: {
|
|
76
|
+
Authorization: `Bearer ${process.env.WEATHER_AGENT_TOKEN}`,
|
|
77
|
+
},
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
export const supportAgent = new Agent({
|
|
81
|
+
id: 'support-agent',
|
|
82
|
+
name: 'Support Agent',
|
|
83
|
+
instructions: 'Answer user questions and delegate weather questions when needed.',
|
|
84
|
+
model: 'openai/gpt-5.4',
|
|
85
|
+
agents: {
|
|
86
|
+
remoteWeatherAgent,
|
|
87
|
+
},
|
|
88
|
+
})
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
If `url` points to a domain, `A2AAgent` fetches the agent card from `/.well-known/agent-card.json`. Use a domain URL for single-agent servers that follow that discovery path. For multi-agent servers, pass the full card URL, such as `https://agent.example.com/api/.well-known/weather-agent/agent-card.json`.
|
|
92
|
+
|
|
93
|
+
During execution, `A2AAgent`:
|
|
94
|
+
|
|
95
|
+
- Fetches and caches the remote agent card.
|
|
96
|
+
- Reads the execution URL and capabilities from the card.
|
|
97
|
+
- Calls `message/send` for non-streaming runs or `message/stream` when streaming is supported.
|
|
98
|
+
- Converts remote messages, tasks, artifacts, and status updates into Mastra subagent results.
|
|
99
|
+
- Supports `resumeGenerate()` and `resumeStream()` when the remote task requires follow-up input or resubscription.
|
|
100
|
+
|
|
101
|
+
If the remote card doesn't advertise streaming support, `A2AAgent.stream()` falls back to the non-streaming generate path and returns a buffered stream result.
|
|
102
|
+
|
|
103
|
+
## Send requests with the client SDK
|
|
104
|
+
|
|
105
|
+
Use `MastraClient.getA2A()` when you want application code to call an A2A-enabled Mastra agent. Configure `baseUrl` for the server origin and `apiPrefix` when the server doesn't use the default `/api` prefix.
|
|
43
106
|
|
|
44
107
|
```typescript
|
|
45
108
|
import { MastraClient } from '@mastra/client-js'
|
|
46
109
|
|
|
47
110
|
const client = new MastraClient({
|
|
48
111
|
baseUrl: 'https://agent.example.com',
|
|
112
|
+
headers: {
|
|
113
|
+
Authorization: `Bearer ${process.env.AGENT_API_TOKEN}`,
|
|
114
|
+
},
|
|
49
115
|
})
|
|
50
116
|
|
|
51
|
-
const a2a = client.getA2A('
|
|
117
|
+
const a2a = client.getA2A('weather-agent')
|
|
52
118
|
const card = await a2a.getAgentCard()
|
|
53
119
|
|
|
54
120
|
console.log(card.name, card.capabilities)
|
|
55
121
|
```
|
|
56
122
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
A2A discovery starts with the agent card. The [A2A discovery guide](https://a2a-protocol.org/latest/topics/agent-discovery/) describes well-known URI discovery, registries, and direct configuration. Mastra supports the well-known route for registered agents at `/.well-known/:agentId/agent-card.json`.
|
|
60
|
-
|
|
61
|
-
Use `sendMessageStream()` to receive task status and artifact updates over Server-Sent Events (SSE):
|
|
123
|
+
Use `sendMessageStream()` to send a message and receive task status and artifact updates over Server-Sent Events (SSE):
|
|
62
124
|
|
|
63
125
|
```typescript
|
|
64
126
|
const stream = a2a.sendMessageStream({
|
|
@@ -66,7 +128,7 @@ const stream = a2a.sendMessageStream({
|
|
|
66
128
|
kind: 'message',
|
|
67
129
|
role: 'user',
|
|
68
130
|
messageId: crypto.randomUUID(),
|
|
69
|
-
parts: [{ kind: 'text', text: '
|
|
131
|
+
parts: [{ kind: 'text', text: "What's the weather in Prague?" }],
|
|
70
132
|
},
|
|
71
133
|
})
|
|
72
134
|
|
|
@@ -89,7 +151,26 @@ for await (const event of updates) {
|
|
|
89
151
|
}
|
|
90
152
|
```
|
|
91
153
|
|
|
92
|
-
|
|
154
|
+
## Configure subagent calls
|
|
155
|
+
|
|
156
|
+
`A2AAgent` accepts request options for authenticated or constrained environments:
|
|
157
|
+
|
|
158
|
+
```typescript
|
|
159
|
+
import { A2AAgent } from '@mastra/core/a2a'
|
|
160
|
+
|
|
161
|
+
const remoteWeatherAgent = new A2AAgent({
|
|
162
|
+
url: 'https://weather.example.com/api/.well-known/weather-agent/agent-card.json',
|
|
163
|
+
headers: {
|
|
164
|
+
Authorization: `Bearer ${process.env.WEATHER_AGENT_TOKEN}`,
|
|
165
|
+
},
|
|
166
|
+
retries: 2,
|
|
167
|
+
backoffMs: 250,
|
|
168
|
+
maxBackoffMs: 1000,
|
|
169
|
+
timeoutMs: 30_000,
|
|
170
|
+
})
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
You can also pass `credentials`, `fetch`, and `abortSignal` when the runtime needs custom fetch behavior or request cancellation.
|
|
93
174
|
|
|
94
175
|
## Push notifications
|
|
95
176
|
|
|
@@ -144,67 +225,13 @@ const card = await a2a.getAgentCard({
|
|
|
144
225
|
},
|
|
145
226
|
},
|
|
146
227
|
})
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Use client-side signature verification to enforce trusted keys before calling the remote agent.
|
|
150
|
-
|
|
151
|
-
## Use remote agents as subagents
|
|
152
|
-
|
|
153
|
-
Use `A2AAgent` when a Mastra parent agent should call a remote A2A agent as a subagent. Create an `A2AAgent` with a remote agent card URL or single-agent domain, then register it in the parent agent's `agents` map.
|
|
154
|
-
|
|
155
|
-
```typescript
|
|
156
|
-
import { Agent } from '@mastra/core/agent'
|
|
157
|
-
import { A2AAgent } from '@mastra/core/a2a'
|
|
158
|
-
|
|
159
|
-
const remoteWeatherAgent = new A2AAgent({
|
|
160
|
-
url: 'https://weather.example.com',
|
|
161
|
-
})
|
|
162
|
-
|
|
163
|
-
export const supportAgent = new Agent({
|
|
164
|
-
id: 'support-agent',
|
|
165
|
-
name: 'Support Agent',
|
|
166
|
-
instructions: 'Answer user questions and delegate weather questions when needed.',
|
|
167
|
-
model: 'openai/gpt-5.4',
|
|
168
|
-
agents: {
|
|
169
|
-
remoteWeatherAgent,
|
|
170
|
-
},
|
|
171
|
-
})
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
> **Tip:** If `url` points to a domain, `A2AAgent` fetches the agent card from `/.well-known/agent-card.json`. Use this for single-agent servers. For multi-agent servers, pass the explicit card URL, such as `https://agent.example.com/.well-known/:agentId/agent-card.json`. If `url` already ends with `/agent-card.json`, Mastra uses that URL directly. `A2AAgent` doesn't discover agent IDs beyond the URL you provide.
|
|
175
|
-
|
|
176
|
-
`A2AAgent` implements Mastra's subagent interface. The parent agent can call it like any other subagent, while `A2AAgent` handles the protocol details.
|
|
177
228
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
- Reads the execution URL and capabilities from the card.
|
|
182
|
-
- Calls `message/send` for non-streaming runs or `message/stream` when streaming is supported.
|
|
183
|
-
- Converts remote messages, tasks, artifacts, and status updates into Mastra subagent results.
|
|
184
|
-
- Supports `resumeGenerate()` and `resumeStream()` when the remote task requires follow-up input or resubscription.
|
|
185
|
-
|
|
186
|
-
If the remote card doesn't advertise streaming support, `A2AAgent.stream()` falls back to the non-streaming generate path and returns a buffered stream result.
|
|
187
|
-
|
|
188
|
-
## Configure subagent calls
|
|
189
|
-
|
|
190
|
-
`A2AAgent` accepts request options for authenticated or constrained environments:
|
|
191
|
-
|
|
192
|
-
```typescript
|
|
193
|
-
import { A2AAgent } from '@mastra/core/a2a'
|
|
194
|
-
|
|
195
|
-
const remoteWeatherAgent = new A2AAgent({
|
|
196
|
-
url: 'https://weather.example.com',
|
|
197
|
-
headers: {
|
|
198
|
-
Authorization: `Bearer ${process.env.WEATHER_AGENT_TOKEN}`,
|
|
199
|
-
},
|
|
200
|
-
retries: 2,
|
|
201
|
-
backoffMs: 250,
|
|
202
|
-
maxBackoffMs: 1000,
|
|
203
|
-
timeoutMs: 30_000,
|
|
204
|
-
})
|
|
229
|
+
if (!card.signatures?.length) {
|
|
230
|
+
throw new Error('Expected a signed A2A agent card.')
|
|
231
|
+
}
|
|
205
232
|
```
|
|
206
233
|
|
|
207
|
-
|
|
234
|
+
Use client-side signature verification when a client must enforce trusted keys before calling the remote agent.
|
|
208
235
|
|
|
209
236
|
## Verify subagent cards
|
|
210
237
|
|
|
@@ -214,7 +241,7 @@ Use `verifyAgentCard` when a parent agent should validate a remote agent before
|
|
|
214
241
|
import { A2AAgent } from '@mastra/core/a2a'
|
|
215
242
|
|
|
216
243
|
const remoteWeatherAgent = new A2AAgent({
|
|
217
|
-
url: 'https://weather.example.com/.well-known/agent-card.json',
|
|
244
|
+
url: 'https://weather.example.com/api/.well-known/weather-agent/agent-card.json',
|
|
218
245
|
verifyAgentCard: {
|
|
219
246
|
verify: async (card, context) => {
|
|
220
247
|
if (card.provider?.organization !== 'Weather Inc') {
|
|
@@ -32,4 +32,32 @@ bun x skills add mastra-ai/skills
|
|
|
32
32
|
|
|
33
33
|
Mastra skills work with any coding agent that supports the [Skills standard](https://agentskills.io/), including Claude Code, Cursor, Codex, OpenCode, and others.
|
|
34
34
|
|
|
35
|
+
## Update skill
|
|
36
|
+
|
|
37
|
+
To update to the latest version of the Mastra skill, run:
|
|
38
|
+
|
|
39
|
+
**npm**:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx skills update mastra
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**pnpm**:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
pnpm dlx skills update mastra
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Yarn**:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
yarn dlx skills update mastra
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Bun**:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
bun x skills update mastra
|
|
61
|
+
```
|
|
62
|
+
|
|
35
63
|
They're also available on [GitHub](https://github.com/mastra-ai/skills).
|
|
@@ -63,6 +63,10 @@ const agent = new Agent({
|
|
|
63
63
|
discord: {
|
|
64
64
|
adapter: createDiscordAdapter(),
|
|
65
65
|
cards: false,
|
|
66
|
+
cors: {
|
|
67
|
+
origin: ['https://customer-saas.example'],
|
|
68
|
+
credentials: true,
|
|
69
|
+
},
|
|
66
70
|
gateway: false,
|
|
67
71
|
},
|
|
68
72
|
slack: createSlackAdapter(), // Plain adapter uses defaults
|
|
@@ -77,6 +81,8 @@ const agent = new Agent({
|
|
|
77
81
|
|
|
78
82
|
**cards** (`boolean`): Render tool calls as interactive rich cards with buttons. Set to \`false\` to use plain text formatting instead. When disabled and a tool requires approval, the agent uses \`autoResumeSuspendedTools\` to let the LLM decide based on conversation context. (Default: `true`)
|
|
79
83
|
|
|
84
|
+
**cors** (`CorsOptions`): CORS configuration for this adapter webhook route. Use this for browser-based channel adapters that need cross-origin credentials.
|
|
85
|
+
|
|
80
86
|
**formatToolCall** (`(info: { toolName, args, result, isError? }) => PostableMessage | null`): Override how tool calls are rendered in the chat. Called once per tool invocation after the result is available. Return \`null\` to suppress the message entirely.
|
|
81
87
|
|
|
82
88
|
**formatError** (`(error: Error) => PostableMessage`): Override how errors are rendered in the chat. Return a user-friendly message instead of exposing the raw error. (Default: `"❌ Error: <error.message>"`)
|
|
@@ -684,16 +684,16 @@ export const mastra = new Mastra({
|
|
|
684
684
|
|
|
685
685
|
**Type:** `CorsOptions | false`
|
|
686
686
|
|
|
687
|
-
CORS (Cross-Origin Resource Sharing) configuration for the server. Set to `false` to disable CORS entirely.
|
|
688
|
-
|
|
689
|
-
| Property | Type | Default
|
|
690
|
-
| --------------- | -------------------- |
|
|
691
|
-
| `origin` | `string \| string[]` | `'*'`
|
|
692
|
-
| `allowMethods` | `string[]` | `['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS']`
|
|
693
|
-
| `allowHeaders` | `string[]` | `['Content-Type', 'Authorization', 'x-mastra-client-type']` | Request headers |
|
|
694
|
-
| `exposeHeaders` | `string[]` | `['Content-Length', 'X-Requested-With']`
|
|
695
|
-
| `credentials` | `boolean` | `false`
|
|
696
|
-
| `maxAge` | `number` | `3600`
|
|
687
|
+
CORS (Cross-Origin Resource Sharing) configuration for the server. Set to `false` to disable CORS entirely. Use this for one policy across all routes. For a custom route-specific policy, use the `cors` option in [`registerApiRoute()`](https://mastra.ai/reference/server/register-api-route).
|
|
688
|
+
|
|
689
|
+
| Property | Type | Default | Description |
|
|
690
|
+
| --------------- | -------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------- |
|
|
691
|
+
| `origin` | `string \| string[]` | `'*'` | Origins for CORS requests |
|
|
692
|
+
| `allowMethods` | `string[]` | `['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS']` | HTTP methods |
|
|
693
|
+
| `allowHeaders` | `string[]` | `['Content-Type', 'Authorization', 'x-mastra-client-type', 'x-mastra-dev-playground']` | Request headers |
|
|
694
|
+
| `exposeHeaders` | `string[]` | `['Content-Length', 'X-Requested-With']` | Browser headers |
|
|
695
|
+
| `credentials` | `boolean` | `false` | Credentials (cookies, authorization headers) |
|
|
696
|
+
| `maxAge` | `number` | `3600` | Preflight request cache duration in seconds |
|
|
697
697
|
|
|
698
698
|
```typescript
|
|
699
699
|
import { Mastra } from '@mastra/core'
|
|
@@ -30,6 +30,8 @@ registerApiRoute("/items/:itemId", { ... })
|
|
|
30
30
|
|
|
31
31
|
**middleware** (`MiddlewareHandler | MiddlewareHandler[]`): Route-specific middleware functions
|
|
32
32
|
|
|
33
|
+
**cors** (`CorsOptions`): Route-specific CORS configuration. Use this when one custom route needs a different cross-origin policy from \`server.cors\`.
|
|
34
|
+
|
|
33
35
|
**openapi** (`DescribeRouteOptions`): OpenAPI metadata for Swagger UI documentation
|
|
34
36
|
|
|
35
37
|
## OpenAPI options
|
|
@@ -154,6 +156,23 @@ registerApiRoute('/protected', {
|
|
|
154
156
|
})
|
|
155
157
|
```
|
|
156
158
|
|
|
159
|
+
### Route with CORS
|
|
160
|
+
|
|
161
|
+
Use route-specific CORS when one custom route needs cross-origin credentials, but the rest of the server should keep the global CORS policy.
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
registerApiRoute('/customer-webhook', {
|
|
165
|
+
method: 'POST',
|
|
166
|
+
cors: {
|
|
167
|
+
origin: ['https://customer-saas.example'],
|
|
168
|
+
credentials: true,
|
|
169
|
+
},
|
|
170
|
+
handler: async c => {
|
|
171
|
+
return c.json({ ok: true })
|
|
172
|
+
},
|
|
173
|
+
})
|
|
174
|
+
```
|
|
175
|
+
|
|
157
176
|
### Route with OpenAPI Documentation
|
|
158
177
|
|
|
159
178
|
```typescript
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @mastra/mcp-docs-server
|
|
2
2
|
|
|
3
|
+
## 1.1.39-alpha.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`8cdb86c`](https://github.com/mastra-ai/mastra/commit/8cdb86ceed1137bc2768e147dce85a0692b9fb26), [`eda90c5`](https://github.com/mastra-ai/mastra/commit/eda90c5bfd7de11805ecc9f4552716c895fbaf78), [`afc004f`](https://github.com/mastra-ai/mastra/commit/afc004f5cc7e30697809e7021820b9f5881e6719), [`408be73`](https://github.com/mastra-ai/mastra/commit/408be73449dfab92b51eab8c6623b6c443debc25)]:
|
|
8
|
+
- @mastra/core@1.36.0-alpha.1
|
|
9
|
+
|
|
3
10
|
## 1.1.39-alpha.3
|
|
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.39-alpha.
|
|
3
|
+
"version": "1.1.39-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,7 +29,7 @@
|
|
|
29
29
|
"jsdom": "^26.1.0",
|
|
30
30
|
"local-pkg": "^1.1.2",
|
|
31
31
|
"zod": "^4.3.6",
|
|
32
|
-
"@mastra/core": "1.36.0-alpha.
|
|
32
|
+
"@mastra/core": "1.36.0-alpha.1",
|
|
33
33
|
"@mastra/mcp": "^1.7.1-alpha.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
"tsx": "^4.21.0",
|
|
47
47
|
"typescript": "^6.0.3",
|
|
48
48
|
"vitest": "4.1.5",
|
|
49
|
+
"@internal/types-builder": "0.0.71",
|
|
49
50
|
"@internal/lint": "0.0.96",
|
|
50
|
-
"@mastra/core": "1.36.0-alpha.
|
|
51
|
-
"@internal/types-builder": "0.0.71"
|
|
51
|
+
"@mastra/core": "1.36.0-alpha.1"
|
|
52
52
|
},
|
|
53
53
|
"homepage": "https://mastra.ai",
|
|
54
54
|
"repository": {
|