@mastra/mcp-docs-server 1.2.17-alpha.9 → 1.2.17

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.
Files changed (255) hide show
  1. package/.docs/course/02-agent-tools-mcp/32-conclusion.md +1 -1
  2. package/.docs/docs/agents/code-mode.md +3 -3
  3. package/.docs/docs/agents/guardrails.md +1 -1
  4. package/.docs/docs/agents/{agent-approval.md → human-in-the-loop.md} +5 -5
  5. package/.docs/docs/agents/networks.md +3 -3
  6. package/.docs/docs/agents/overview.md +7 -7
  7. package/.docs/docs/agents/processors.md +3 -3
  8. package/.docs/docs/agents/{using-tools.md → tools.md} +7 -7
  9. package/.docs/docs/{server/auth → auth}/custom-auth-provider.md +1 -1
  10. package/.docs/docs/{server/auth → auth}/fga.md +27 -1
  11. package/.docs/docs/{server/auth.md → auth/overview.md} +4 -4
  12. package/.docs/docs/{server/auth → auth}/simple-auth.md +1 -1
  13. package/.docs/docs/{server/auth → auth}/workers.md +2 -2
  14. package/.docs/docs/{capabilities/channels.md → channels.md} +2 -2
  15. package/.docs/docs/{agents → connections}/a2a.md +2 -2
  16. package/.docs/docs/{agents → connections}/acp.md +18 -6
  17. package/.docs/docs/{mcp/overview.md → connections/mcp.md} +1 -1
  18. package/.docs/docs/connections/overview.md +5 -5
  19. package/.docs/docs/{agents → connections}/sdk-agents.md +3 -1
  20. package/.docs/docs/deployment/cloud-providers.md +1 -0
  21. package/.docs/docs/deployment/mastra-server.md +2 -2
  22. package/.docs/docs/deployment/overview.md +2 -1
  23. package/.docs/docs/deployment/sandbox.md +3 -3
  24. package/.docs/docs/deployment/workers.md +4 -4
  25. package/.docs/docs/guides/multi-agent-systems.md +7 -7
  26. package/.docs/docs/guides/streaming.md +1 -1
  27. package/.docs/docs/harness/agent-controller.md +5 -3
  28. package/.docs/docs/{long-running-agents → harness}/background-tasks.md +5 -5
  29. package/.docs/docs/{long-running-agents → harness}/durable-agents.md +18 -2
  30. package/.docs/docs/{long-running-agents → harness}/goals.md +6 -6
  31. package/.docs/docs/harness/overview.md +11 -10
  32. package/.docs/docs/{long-running-agents → harness}/schedules.md +5 -5
  33. package/.docs/docs/{long-running-agents → harness}/signal-providers.md +4 -4
  34. package/.docs/docs/mastra-platform/deploy.md +1 -1
  35. package/.docs/docs/mastra-platform/overview.md +1 -1
  36. package/.docs/docs/mastra-platform/server.md +1 -1
  37. package/.docs/docs/memory/message-history.md +1 -1
  38. package/.docs/docs/memory/overview.md +4 -4
  39. package/.docs/docs/memory/working-memory.md +1 -1
  40. package/.docs/docs/observability/integrations/exporters/mastra-storage.md +1 -1
  41. package/.docs/docs/{workspace → sandbox}/filesystem.md +2 -2
  42. package/.docs/docs/{workspace → sandbox}/lsp.md +3 -3
  43. package/.docs/docs/{workspace/sandbox.md → sandbox/overview.md} +4 -3
  44. package/.docs/docs/{workspace → sandbox}/search.md +2 -2
  45. package/.docs/docs/{workspace → sandbox}/skills.md +5 -5
  46. package/.docs/docs/server/custom-api-routes.md +2 -2
  47. package/.docs/docs/server/mastra-client.md +2 -2
  48. package/.docs/docs/server/{mastra-server.md → overview.md} +3 -3
  49. package/.docs/docs/server/pubsub.md +2 -2
  50. package/.docs/docs/server/server-adapters.md +4 -4
  51. package/.docs/docs/{agents/skills.md → skills.md} +4 -4
  52. package/.docs/docs/{storage/overview.md → storage.md} +2 -1
  53. package/.docs/docs/studio/auth.md +4 -4
  54. package/.docs/docs/studio/overview.md +2 -2
  55. package/.docs/docs/{capabilities/subagents.md → subagents.md} +35 -5
  56. package/.docs/docs/workflows/agents-and-tools.md +1 -1
  57. package/.docs/docs/workflows/control-flow.md +0 -4
  58. package/.docs/docs/workflows/human-in-the-loop.md +0 -4
  59. package/.docs/docs/workflows/overview.md +1 -1
  60. package/.docs/docs/workflows/scheduled-workflows.md +2 -2
  61. package/.docs/docs/workflows/snapshots.md +1 -1
  62. package/.docs/docs/workflows/suspend-and-resume.md +0 -4
  63. package/.docs/integrations/agentic-ui/ai-sdk-ui.md +1 -1
  64. package/.docs/integrations/agentic-ui/copilotkit.md +1 -1
  65. package/.docs/integrations/auth/google.md +2 -2
  66. package/.docs/integrations/auth/workos.md +1 -1
  67. package/.docs/integrations/browsers/agent-browser.md +2 -2
  68. package/.docs/integrations/browsers/browser-viewer.md +6 -6
  69. package/.docs/integrations/browsers/firecrawl.md +1 -1
  70. package/.docs/integrations/browsers/stagehand.md +2 -2
  71. package/.docs/integrations/channels/discord.md +2 -2
  72. package/.docs/integrations/channels/github.md +1 -1
  73. package/.docs/integrations/channels/imessage.md +4 -4
  74. package/.docs/integrations/channels/slack.md +5 -5
  75. package/.docs/integrations/channels/teams.md +2 -2
  76. package/.docs/integrations/channels/telegram.md +2 -2
  77. package/.docs/integrations/channels/whatsapp.md +2 -2
  78. package/.docs/integrations/databases/postgresql.md +1 -0
  79. package/.docs/integrations/deploy/amazon-ec2.md +2 -2
  80. package/.docs/integrations/deploy/aws-lambda.md +3 -3
  81. package/.docs/integrations/deploy/azure-app-services.md +2 -2
  82. package/.docs/integrations/deploy/cloudflare.md +2 -2
  83. package/.docs/integrations/deploy/digital-ocean.md +3 -3
  84. package/.docs/integrations/deploy/kubernetes.md +11 -11
  85. package/.docs/integrations/deploy/netlify.md +3 -3
  86. package/.docs/integrations/deploy/render.md +389 -0
  87. package/.docs/integrations/deploy/vercel.md +2 -2
  88. package/.docs/integrations/file-storage/amazon-s3.md +1 -1
  89. package/.docs/integrations/file-storage/azure-blob.md +1 -1
  90. package/.docs/integrations/file-storage/google-cloud-storage.md +1 -1
  91. package/.docs/integrations/file-storage/mesa.md +2 -2
  92. package/.docs/integrations/file-storage/vercel-files.md +1 -1
  93. package/.docs/integrations/frameworks/astro.md +6 -2
  94. package/.docs/integrations/frameworks/electron.md +1 -1
  95. package/.docs/integrations/frameworks/express.md +1 -1
  96. package/.docs/integrations/frameworks/hono.md +1 -1
  97. package/.docs/integrations/frameworks/nestjs.md +1 -1
  98. package/.docs/integrations/frameworks/next-js.md +6 -2
  99. package/.docs/integrations/frameworks/nuxt.md +1 -1
  100. package/.docs/integrations/frameworks/sveltekit.md +1 -1
  101. package/.docs/integrations/frameworks/vite-react.md +6 -2
  102. package/.docs/integrations/sandboxes/agentcore.md +1 -1
  103. package/.docs/integrations/sandboxes/apple-container.md +1 -1
  104. package/.docs/integrations/sandboxes/cloudflare-sandbox.md +118 -0
  105. package/.docs/integrations/sandboxes/daytona.md +1 -1
  106. package/.docs/integrations/sandboxes/docker.md +4 -3
  107. package/.docs/integrations/sandboxes/e2b.md +1 -1
  108. package/.docs/integrations/sandboxes/modal.md +1 -1
  109. package/.docs/integrations/sandboxes/railway.md +11 -0
  110. package/.docs/integrations.md +4 -0
  111. package/.docs/models/environment-variables.md +8 -2
  112. package/.docs/models/gateways/merge-gateway.md +212 -0
  113. package/.docs/models/gateways/openrouter.md +3 -1
  114. package/.docs/models/gateways/vercel.md +22 -1
  115. package/.docs/models/gateways.md +1 -0
  116. package/.docs/models/index.md +1 -1
  117. package/.docs/models/providers/alibaba-token-plan-cn.md +2 -1
  118. package/.docs/models/providers/alibaba-token-plan.md +2 -1
  119. package/.docs/models/providers/ambient.md +2 -2
  120. package/.docs/models/providers/amd.md +73 -0
  121. package/.docs/models/providers/arcee.md +79 -0
  122. package/.docs/models/providers/baseten.md +1 -1
  123. package/.docs/models/providers/cerebras.md +2 -3
  124. package/.docs/models/providers/chutes.md +2 -1
  125. package/.docs/models/providers/cloudflare-workers-ai.md +3 -2
  126. package/.docs/models/providers/cortecs.md +2 -1
  127. package/.docs/models/providers/crof.md +1 -1
  128. package/.docs/models/providers/crossmodel.md +3 -2
  129. package/.docs/models/providers/deepinfra.md +5 -1
  130. package/.docs/models/providers/digitalocean.md +3 -2
  131. package/.docs/models/providers/edenai.md +19 -5
  132. package/.docs/models/providers/empiriolabs.md +10 -1
  133. package/.docs/models/providers/hetzner.md +6 -8
  134. package/.docs/models/providers/huggingface.md +4 -1
  135. package/.docs/models/providers/hyper.md +9 -8
  136. package/.docs/models/providers/inferx.md +19 -13
  137. package/.docs/models/providers/jalapeno.md +89 -0
  138. package/.docs/models/providers/kilo.md +13 -12
  139. package/.docs/models/providers/kosmik.md +73 -0
  140. package/.docs/models/providers/llmgateway.md +3 -3
  141. package/.docs/models/providers/llmtr.md +35 -10
  142. package/.docs/models/providers/nano-gpt.md +15 -17
  143. package/.docs/models/providers/ofox.md +3 -3
  144. package/.docs/models/providers/opencode-go.md +2 -2
  145. package/.docs/models/providers/requesty.md +3 -3
  146. package/.docs/models/providers/runinfra.md +76 -0
  147. package/.docs/models/providers/sakana.md +3 -2
  148. package/.docs/models/providers/scnet-token-plan.md +85 -0
  149. package/.docs/models/providers/scx-ai.md +76 -0
  150. package/.docs/models/providers/togetherai.md +2 -1
  151. package/.docs/models/providers/umans-ai-coding-plan.md +2 -1
  152. package/.docs/models/providers/umans-ai.md +2 -1
  153. package/.docs/models/providers/vivgrid.md +2 -1
  154. package/.docs/models/providers/wandb.md +2 -1
  155. package/.docs/models/providers/xai.md +2 -1
  156. package/.docs/models/providers.md +7 -2
  157. package/.docs/reference/acp/acp-agent.md +2 -2
  158. package/.docs/reference/acp/create-acp-tool.md +1 -1
  159. package/.docs/reference/agent-controller/agent-controller-class.md +2 -2
  160. package/.docs/reference/agents/agent.md +2 -2
  161. package/.docs/reference/agents/channels.md +2 -2
  162. package/.docs/reference/agents/createSkill.md +2 -2
  163. package/.docs/reference/agents/durable-agent.md +1 -1
  164. package/.docs/reference/agents/generate.md +3 -1
  165. package/.docs/reference/agents/getSkill.md +1 -1
  166. package/.docs/reference/agents/listSkills.md +1 -1
  167. package/.docs/reference/agents/listSuspendedRuns.md +6 -6
  168. package/.docs/reference/agents/listTools.md +2 -2
  169. package/.docs/reference/agents/network.md +3 -1
  170. package/.docs/reference/ai-sdk/chat-route.md +1 -1
  171. package/.docs/reference/ai-sdk/handle-chat-stream.md +1 -1
  172. package/.docs/reference/ai-sdk/handle-network-stream.md +2 -2
  173. package/.docs/reference/ai-sdk/handle-workflow-stream.md +1 -1
  174. package/.docs/reference/ai-sdk/network-route.md +2 -2
  175. package/.docs/reference/ai-sdk/to-ai-sdk-messages.md +1 -1
  176. package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +1 -1
  177. package/.docs/reference/ai-sdk/workflow-route.md +1 -1
  178. package/.docs/reference/auth/fga.md +7 -5
  179. package/.docs/reference/auth/jwt.md +1 -1
  180. package/.docs/reference/browser/agent-browser.md +2 -2
  181. package/.docs/reference/browser/browser-viewer.md +2 -2
  182. package/.docs/reference/browser/firecrawl-browser.md +1 -1
  183. package/.docs/reference/browser/mastra-browser.md +1 -1
  184. package/.docs/reference/browser/stagehand-browser.md +2 -2
  185. package/.docs/reference/build-with-ai.md +2 -2
  186. package/.docs/reference/channels/channel-provider.md +1 -1
  187. package/.docs/reference/channels/slack-provider.md +1 -1
  188. package/.docs/reference/cli/mastra.md +2 -0
  189. package/.docs/reference/client-js/agents.md +24 -4
  190. package/.docs/reference/coding-agent/create-coding-agent.md +142 -13
  191. package/.docs/reference/configuration.md +6 -6
  192. package/.docs/reference/core/getEditor.md +1 -1
  193. package/.docs/reference/core/getMCPServer.md +1 -1
  194. package/.docs/reference/core/getMCPServerById.md +1 -1
  195. package/.docs/reference/core/getTool.md +1 -1
  196. package/.docs/reference/core/getToolById.md +1 -1
  197. package/.docs/reference/core/listMCPServers.md +1 -1
  198. package/.docs/reference/core/listTools.md +1 -1
  199. package/.docs/reference/core/removeWorkspace.md +1 -1
  200. package/.docs/reference/editor/mastra-editor.md +2 -2
  201. package/.docs/reference/editor/prompt-blocks.md +2 -2
  202. package/.docs/reference/editor/tool-provider.md +108 -1
  203. package/.docs/reference/editor/tools.md +1 -1
  204. package/.docs/reference/editor/versioning.md +3 -3
  205. package/.docs/reference/evals/prompt-alignment.md +18 -0
  206. package/.docs/reference/evals/rubric.md +1 -1
  207. package/.docs/reference/file-based-agents/memory.md +2 -2
  208. package/.docs/reference/file-based-agents/server.md +3 -3
  209. package/.docs/reference/file-based-agents/skills.md +1 -1
  210. package/.docs/reference/file-based-agents/storage.md +3 -3
  211. package/.docs/reference/file-based-agents/subagents.md +1 -1
  212. package/.docs/reference/file-based-agents/workspace.md +3 -3
  213. package/.docs/reference/index.md +1 -0
  214. package/.docs/reference/manual-install.md +3 -3
  215. package/.docs/reference/memory/memory-class.md +1 -0
  216. package/.docs/reference/memory/settled.md +57 -0
  217. package/.docs/reference/migrations/network-to-supervisor.md +2 -2
  218. package/.docs/reference/processors/provider-history-compat.md +6 -5
  219. package/.docs/reference/processors/skill-search-processor.md +3 -1
  220. package/.docs/reference/processors/token-limiter-processor.md +4 -0
  221. package/.docs/reference/processors/tool-call-filter.md +7 -7
  222. package/.docs/reference/processors/tool-search-processor.md +1 -1
  223. package/.docs/reference/project-structure.md +1 -1
  224. package/.docs/reference/pubsub/lease-provider.md +3 -3
  225. package/.docs/reference/pubsub/redis-streams.md +1 -1
  226. package/.docs/reference/rag/graph-rag.md +71 -8
  227. package/.docs/reference/rag/retrieval.md +26 -18
  228. package/.docs/reference/schedules/overview.md +1 -1
  229. package/.docs/reference/streaming/ChunkType.md +2 -2
  230. package/.docs/reference/streaming/agents/stream.md +29 -4
  231. package/.docs/reference/streaming/agents/streamUntilIdle.md +1 -1
  232. package/.docs/reference/tools/ask-user-tool.md +1 -1
  233. package/.docs/reference/tools/create-code-mode.md +1 -1
  234. package/.docs/reference/tools/create-tool.md +4 -4
  235. package/.docs/reference/tools/mcp-client.md +2 -0
  236. package/.docs/reference/tools/mcp-server.md +97 -4
  237. package/.docs/reference/tools/submit-plan-tool.md +1 -1
  238. package/.docs/reference/tools/task-tools.md +2 -2
  239. package/.docs/reference/vectors/vectorize.md +12 -2
  240. package/.docs/reference/workers/overview.md +2 -2
  241. package/.docs/reference/workspace/local-filesystem.md +1 -1
  242. package/.docs/reference/workspace/local-sandbox.md +4 -3
  243. package/.docs/reference/workspace/platform-sandbox.md +11 -0
  244. package/.docs/reference/workspace/process-manager.md +20 -4
  245. package/.docs/reference/workspace/sandbox.md +1 -1
  246. package/.docs/reference/workspace/workspace-class.md +5 -5
  247. package/CHANGELOG.md +73 -0
  248. package/package.json +6 -6
  249. package/.docs/models/providers/merge-gateway.md +0 -265
  250. /package/.docs/docs/{server/auth → auth}/composite-auth.md +0 -0
  251. /package/.docs/docs/{server/auth → auth}/jwt.md +0 -0
  252. /package/.docs/docs/{browser/overview.md → browser.md} +0 -0
  253. /package/.docs/docs/{getting-started/develop.md → develop.md} +0 -0
  254. /package/.docs/docs/{long-running-agents → harness}/signals.md +0 -0
  255. /package/.docs/docs/{editor/overview.md → studio/editor.md} +0 -0
@@ -65,6 +65,8 @@ Each server in the `servers` map is configured using the `MastraMCPServerDefinit
65
65
 
66
66
  **requireToolApproval** (`boolean | (params: RequireToolApprovalContext) => boolean | Promise<boolean>`): Require human approval before executing tools from this server. When set to true, all tools require approval. When set to a function, the function is called with the tool name, arguments, request context, and any tool annotations advertised by the server to dynamically decide whether approval is needed.
67
67
 
68
+ **protocolVersion** (`'auto' | '2026-07-28'`): Opt-in MCP protocol version negotiation. Omitted keeps the legacy (2025-era) connect sequence unchanged. 'auto' probes the server at connect time and uses the stateless '2026-07-28' revision when the server supports it, with a safe fallback to the legacy handshake. '2026-07-28' pins that revision exactly and fails with a typed error when the server does not offer it. Elicitation handlers work on both eras: on a '2026-07-28' connection, embedded elicitation requests from input\_required results are dispatched through the same registered handler and the originating call retries automatically.
69
+
68
70
  ## Tool approval
69
71
 
70
72
  Use `requireToolApproval` on a server definition to require human approval before any tool from that server is executed. This works with the existing [human-in-the-loop](https://mastra.ai/docs/workflows/human-in-the-loop) approval flow.
@@ -91,6 +91,35 @@ The constructor accepts an `MCPServerConfig` object with the following propertie
91
91
 
92
92
  **appResources** (`AppResources`): A map of ui:// URIs to app resource configurations. Each entry defines an interactive HTML UI served via the MCP Apps extension (SEP-1865). See the MCP Apps section for details.
93
93
 
94
+ **protocolVersion** (`'2025-11-25' | '2026-07-28'`): Opt-in MCP protocol revision. Omitted (or '2025-11-25') keeps the legacy behavior exactly. Set to '2026-07-28' to serve the stateless MCP revision. See the Protocol versions section for details.
95
+
96
+ **cacheHints** (`MCPServerCacheHints`): Cache hints (ttlMs / cacheScope) advertised on cacheable results of the '2026-07-28' protocol revision, keyed by operation (e.g. 'tools/list'). Only applied when protocolVersion: '2026-07-28' is set.
97
+
98
+ ## Protocol versions
99
+
100
+ By default, `MCPServer` speaks the legacy (2025-era) MCP protocol: sessionful streamable HTTP with an `initialize` handshake. Set `protocolVersion: '2026-07-28'` to serve the stateless MCP revision instead:
101
+
102
+ - HTTP and serverless requests go through a dual-era handler: clients that speak `2026-07-28` are served natively (stateless, per-request envelope), and legacy clients are served through a built-in stateless fallback on the same endpoint.
103
+ - `startStdio()` serves both eras: the opening exchange selects the era for the connection.
104
+ - Tool list, prompt list, resource list, and resource update notifications also reach `2026-07-28` clients through `subscriptions/listen`.
105
+ - Tool log messages honor the caller's per-request `logLevel` opt-in instead of the session-level `logging/setLevel`.
106
+ - Configured `cacheHints` are advertised on cacheable results such as `tools/list`.
107
+ - Tool elicitation (`options.mcp.elicitation.sendRequest()`) works on both eras. On `2026-07-28` requests, it uses the protocol's multi round-trip mechanism. The tool call first returns an `input_required` result. After the client answers, the call retries with the answer attached. The `sendRequest()` promise API is unchanged, but the tool function re-executes from the top on each retry, so keep side effects idempotent (or place them after the last elicitation) and keep the order of `sendRequest()` calls deterministic for an input.
108
+
109
+ ```typescript
110
+ const server = new MCPServer({
111
+ name: 'My Server',
112
+ version: '1.0.0',
113
+ tools: { weatherTool },
114
+ protocolVersion: '2026-07-28',
115
+ cacheHints: {
116
+ 'tools/list': { ttlMs: 60_000, cacheScope: 'private' },
117
+ },
118
+ })
119
+ ```
120
+
121
+ Omitting `protocolVersion` keeps the current behavior unchanged.
122
+
94
123
  ## Exposing agents as tools
95
124
 
96
125
  A powerful feature of `MCPServer` is its ability to automatically expose your Mastra Agents as callable tools. When you provide agents in the `agents` property of the configuration:
@@ -168,6 +197,51 @@ const fetchUserData = createTool({
168
197
  })
169
198
  ```
170
199
 
200
+ #### Where `authInfo` comes from
201
+
202
+ When an MCP server is served by a Mastra server, `extra.authInfo` is populated from the principal resolved by `server.auth`. Nothing extra is required:
203
+
204
+ ```typescript
205
+ export const mastra = new Mastra({
206
+ mcpServers: { myServer },
207
+ server: {
208
+ auth: new MastraJwtAuth({ secret: process.env.JWT_SECRET! }),
209
+ },
210
+ })
211
+ ```
212
+
213
+ The authenticated user is mapped to `authInfo` as:
214
+
215
+ | `authInfo` field | Value |
216
+ | ---------------- | -------------------------------------------------------------------------- |
217
+ | `token` | The bearer token or session cookie value used for the request |
218
+ | `clientId` | The first present of `user.id`, `user.sub`, `user.userId`, `user.email` |
219
+ | `scopes` | `user.scopes`, `user.scope`, or `user.permissions`, normalized to an array |
220
+ | `extra.user` | The full user object returned by the auth provider |
221
+
222
+ If your own middleware performs the verification, set `server.mcpOptions.setRequestAuth` to build `authInfo` yourself. The hook replaces the default mapping and applies to both the streamable HTTP and SSE transports:
223
+
224
+ ```typescript
225
+ export const mastra = new Mastra({
226
+ mcpServers: { myServer },
227
+ server: {
228
+ middleware: [verifyBearerToken], // stores the payload on the request context
229
+ mcpOptions: {
230
+ setRequestAuth: (req, requestContext) => {
231
+ const payload = requestContext.get('bearerPayload')
232
+ req.auth = {
233
+ token: payload.token,
234
+ clientId: payload.sub,
235
+ scopes: payload.scope.split(' '),
236
+ }
237
+ },
238
+ },
239
+ },
240
+ })
241
+ ```
242
+
243
+ Leaving `req.auth` unset inside the hook opts the request out of auth info entirely.
244
+
171
245
  ## Methods
172
246
 
173
247
  These are the functions you can call on an `MCPServer` instance to control its behavior and get information.
@@ -194,6 +268,8 @@ await server.startStdio()
194
268
 
195
269
  ### `startSSE()`
196
270
 
271
+ > **Warning:** The HTTP+SSE transport is deprecated in the MCP specification. Use `startHTTP()` (streamable HTTP) instead.
272
+
197
273
  This method helps you integrate the MCP server with an existing web server to use Server-Sent Events (SSE) for communication. You'll call this from your web server's code when it receives a request for the SSE or message paths.
198
274
 
199
275
  ```typescript
@@ -246,6 +322,8 @@ Here are the details for the values needed by the `startSSE` method:
246
322
 
247
323
  ### `startHonoSSE()`
248
324
 
325
+ > **Warning:** The HTTP+SSE transport is deprecated in the MCP specification. Use `startHTTP()` (streamable HTTP) instead.
326
+
249
327
  This method helps you integrate the MCP server with an existing web server to use Server-Sent Events (SSE) for communication. You'll call this from your web server's code when it receives a request for the SSE or message paths.
250
328
 
251
329
  ```typescript
@@ -316,6 +394,21 @@ async startHTTP({
316
394
  }): Promise<void>
317
395
  ```
318
396
 
397
+ #### Options with `protocolVersion: '2026-07-28'`
398
+
399
+ The `2026-07-28` protocol uses one shared stateless handler instead of a transport configured for each request. `startHTTP()` handles legacy transport options as follows:
400
+
401
+ | Options | Behavior |
402
+ | ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
403
+ | `serverless: true`, `serverlessStreaming: true`, `sessionIdGenerator: undefined` | Accepted because the modern handler already provides stateless requests and automatic request-scoped streaming. |
404
+ | `allowedHosts`, `allowedOrigins`, `enableDnsRebindingProtection` | Enforced before the request reaches the modern handler. Host and origin lists are active when `enableDnsRebindingProtection` is `true`. |
405
+ | `sessionIdGenerator` with a function, session callbacks, or `eventStore` | Rejected because the modern protocol doesn't create HTTP sessions. |
406
+ | `enableJsonResponse`, `retryInterval`, `keepAliveMs`, or `supportedProtocolVersions` | Rejected because these values configure a shared handler and can't vary between requests. |
407
+ | `serverless: false` or `serverlessStreaming: false` | Rejected because these values request behavior that differs from the modern handler. |
408
+ | Unknown options | Rejected instead of being ignored. |
409
+
410
+ Omit `options` when you don't need request guards or compatibility declarations.
411
+
319
412
  Here's an example of how you might use `startHTTP` within an HTTP server request handler. In this example an MCP client could connect to your MCP server at `http://localhost:1234/http`:
320
413
 
321
414
  ```typescript
@@ -338,7 +431,7 @@ httpServer.listen(PORT, () => {
338
431
  })
339
432
  ```
340
433
 
341
- For **serverless environments** (Supabase Edge Functions, Cloudflare Workers, Vercel Edge, etc.), use `serverless: true` to enable stateless operation:
434
+ For **serverless environments** (Supabase Edge Functions, Cloudflare Workers, Vercel Edge, etc.), use `serverless: true` to enable stateless operation on the legacy protocol path. Servers configured with `protocolVersion: '2026-07-28'` are already stateless and may omit this option.
342
435
 
343
436
  ```typescript
344
437
  // Supabase Edge Function example
@@ -412,7 +505,7 @@ serve(async req => {
412
505
  >
413
506
  > This is still stateless: no `mcp-session-id` is required or persisted. It only enables notifications scoped to the current request (such as progress). The session-dependent features below remain unavailable.
414
507
  >
415
- > The following MCP features require session state or persistent connections and **won't work** in serverless mode (including with `serverlessStreaming: true`):
508
+ > On the legacy protocol path, the following MCP features require session state or persistent connections and **won't work** in serverless mode (including with `serverlessStreaming: true`):
416
509
  >
417
510
  > - **Elicitation** - Interactive user input requests during tool execution require session management to route responses back to the correct client
418
511
  > - **Resource subscriptions** - `resources/subscribe` and `resources/unsubscribe` need persistent connections to maintain subscription state
@@ -929,7 +1022,7 @@ Notification methods (`resources.notifyListChanged()`, `prompts.notifyListChange
929
1022
 
930
1023
  ## Examples
931
1024
 
932
- For a practical example of packaging a stdio server, see [Publish a stdio server package](https://mastra.ai/docs/mcp/overview).
1025
+ For a practical example of packaging a stdio server, see [Publish a stdio server package](https://mastra.ai/docs/connections/mcp).
933
1026
 
934
1027
  The example at the beginning of this page also demonstrates how to instantiate `MCPServer` with both tools and agents.
935
1028
 
@@ -1663,7 +1756,7 @@ const server = new MCPServer({
1663
1756
  })
1664
1757
  ```
1665
1758
 
1666
- Link a tool to its app resource by setting `mcp._meta.ui.resourceUri` in `createTool()` to the matching `ui://` URI. The server normalizes this metadata for older hosts when listing tools. Visit [MCP Apps](https://mastra.ai/docs/mcp/overview) for the full app bridge API and usage patterns.
1759
+ Link a tool to its app resource by setting `mcp._meta.ui.resourceUri` in `createTool()` to the matching `ui://` URI. The server normalizes this metadata for older hosts when listing tools. Visit [MCP Apps](https://mastra.ai/docs/connections/mcp) for the full app bridge API and usage patterns.
1667
1760
 
1668
1761
  ## Related information
1669
1762
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  A built-in, agent-agnostic tool that submits an implementation plan for user review. The agent writes a plan to a markdown file and passes the file path to this tool. The tool suspends the run until the user approves or rejects the plan.
6
6
 
7
- The tool pauses through the native [tool suspension](https://mastra.ai/docs/agents/agent-approval) primitive: it calls `suspend({ path })`, which makes the agent emit a `tool-call-suspended` event. The host reads the plan file and presents it to the user. It then resumes with an approval or rejection.
7
+ The tool pauses through the native [tool suspension](https://mastra.ai/docs/agents/human-in-the-loop) primitive: it calls `suspend({ path })`, which makes the agent emit a `tool-call-suspended` event. The host reads the plan file and presents it to the user. It then resumes with an approval or rejection.
8
8
 
9
9
  When executed outside an agent run (no `suspend` available), the tool returns a readable fallback string containing the file path.
10
10
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  # Task tools
4
4
 
5
- Four built-in, agent-agnostic tools that manage a structured task list for an agent run. The task list is persisted in the thread-scoped `threadState` storage domain and projected onto the agent [state-signal](https://mastra.ai/docs/long-running-agents/signals) lane so it survives [observational-memory](https://mastra.ai/docs/memory/observational-memory) truncation.
5
+ Four built-in, agent-agnostic tools that manage a structured task list for an agent run. The task list is persisted in the thread-scoped `threadState` storage domain and projected onto the agent [state-signal](https://mastra.ai/docs/harness/signals) lane so it survives [observational-memory](https://mastra.ai/docs/memory/observational-memory) truncation.
6
6
 
7
7
  Task tracking requires a memory-backed thread (`threadId` + `resourceId`). Without memory the tools return an error explaining that task tracking requires agent memory.
8
8
 
9
- The recommended setup is [`TaskSignalProvider`](https://mastra.ai/reference/signals/task-signal-provider), which bundles all four tools and the `TaskStateProcessor` in a single registration. See [Built-in tools](https://mastra.ai/docs/agents/using-tools) for the conceptual guide.
9
+ The recommended setup is [`TaskSignalProvider`](https://mastra.ai/reference/signals/task-signal-provider), which bundles all four tools and the `TaskStateProcessor` in a single registration. See [Built-in tools](https://mastra.ai/docs/agents/tools) for the conceptual guide.
10
10
 
11
11
  ## Usage example
12
12
 
@@ -90,13 +90,13 @@ Lists all metadata field indexes for an index.
90
90
 
91
91
  ### `updateVector()`
92
92
 
93
- Updates a vector or metadata for a specific ID within an index.
93
+ Updates the vector and optionally the metadata for a specific ID within an index. Vectorize has no partial-update operation, so `update.vector` is required. Metadata-only updates aren't supported and throw an error.
94
94
 
95
95
  **indexName** (`string`): Name of the index containing the ID to update
96
96
 
97
97
  **id** (`string`): Unique identifier of the vector or metadata to update
98
98
 
99
- **update** (`{ vector?: number[]; metadata?: Record<string, any>; }`): Object containing the vector and/or metadata to update
99
+ **update** (`{ vector: number[]; metadata?: Record<string, any>; }`): Object containing the new vector values, and optionally the metadata to update. The vector values are required
100
100
 
101
101
  ### `deleteVector()`
102
102
 
@@ -106,6 +106,16 @@ Deletes a vector and its associated metadata for a specific ID within an index.
106
106
 
107
107
  **id** (`string`): Unique identifier of the vector and metadata to delete
108
108
 
109
+ ### `deleteVectors()`
110
+
111
+ Deletes multiple vectors and their associated metadata by ID. Vectorize has no filtered-delete operation, so deleting by metadata filter isn't supported and throws an error.
112
+
113
+ **indexName** (`string`): Name of the index containing the vectors to delete
114
+
115
+ **ids** (`string[]`): Unique identifiers of the vectors to delete. Must contain at least one ID, and cannot be combined with filter
116
+
117
+ **filter** (`Record<string, any>`): Not supported by Vectorize. Passing a filter throws an error
118
+
109
119
  ## Response types
110
120
 
111
121
  Query results are returned in this format:
@@ -31,7 +31,7 @@ The base URL of the API server, used by the orchestration worker to execute work
31
31
  MASTRA_STEP_EXECUTION_URL=http://api:4111/api
32
32
  ```
33
33
 
34
- Use HTTPS URLs in production. See [Security recommendations](https://mastra.ai/docs/server/auth/workers).
34
+ Use HTTPS URLs in production. See [Security recommendations](https://mastra.ai/docs/auth/workers).
35
35
 
36
36
  The orchestration worker sends step execution requests to:
37
37
 
@@ -41,7 +41,7 @@ ${MASTRA_STEP_EXECUTION_URL}/workflows/:workflowId/runs/:runId/steps/execute
41
41
 
42
42
  ### `MASTRA_WORKER_AUTH_TOKEN`
43
43
 
44
- A bearer token sent by the orchestration worker when calling the API's step execution endpoint. The API's configured auth provider must recognize this token. See [Worker authentication](https://mastra.ai/docs/server/auth/workers).
44
+ A bearer token sent by the orchestration worker when calling the API's step execution endpoint. The API's configured auth provider must recognize this token. See [Worker authentication](https://mastra.ai/docs/auth/workers).
45
45
 
46
46
  ```text
47
47
  MASTRA_WORKER_AUTH_TOKEN=sk-worker-secret-token
@@ -356,4 +356,4 @@ Set `WORKSPACE_PATH` in your environment to an absolute path like `/home/user/my
356
356
 
357
357
  - [WorkspaceFilesystem interface](https://mastra.ai/reference/workspace/filesystem)
358
358
  - [Workspace class](https://mastra.ai/reference/workspace/workspace-class)
359
- - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
359
+ - [Sandbox](https://mastra.ai/docs/sandbox/overview)
@@ -123,10 +123,11 @@ await sandbox.start()
123
123
  // Spawn a background process
124
124
  const handle = await sandbox.processes.spawn('node server.js')
125
125
 
126
- // Read output, send stdin, kill
126
+ // Read output, send stdin, signal EOF, and wait for completion
127
127
  console.log(handle.stdout)
128
128
  await handle.sendStdin('input\n')
129
- await handle.kill()
129
+ await handle.closeStdin()
130
+ await handle.wait()
130
131
  ```
131
132
 
132
133
  When native isolation is enabled (`seatbelt` or `bwrap`), spawned processes are also wrapped with the same isolation backend.
@@ -223,4 +224,4 @@ This separation prevents sandboxed processes from reading or modifying their own
223
224
  - [SandboxProcessManager reference](https://mastra.ai/reference/workspace/process-manager)
224
225
  - [WorkspaceSandbox Interface](https://mastra.ai/reference/workspace/sandbox)
225
226
  - [Workspace Class](https://mastra.ai/reference/workspace/workspace-class)
226
- - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
227
+ - [Sandbox](https://mastra.ai/docs/sandbox/overview)
@@ -144,6 +144,15 @@ await sandbox.snapshot()
144
144
 
145
145
  Each `id` maps to one independent filesystem. Reusing the same `id` across unrelated sandboxes causes the platform to boot them from each other's checkpoint.
146
146
 
147
+ Set `seedCheckpointName` to provide a boot-only fallback when the checkpoint for `id` doesn't exist yet. The platform restores the checkpoint for `id` first when both exist. Later snapshots continue writing to the checkpoint for `id`, so the seed remains unchanged.
148
+
149
+ ```typescript
150
+ const sandbox = new PlatformSandbox({
151
+ id: `project-session-${sessionId}`,
152
+ seedCheckpointName: 'project-base',
153
+ })
154
+ ```
155
+
147
156
  ### Cloning for a fleet of sandboxes
148
157
 
149
158
  `clone()` returns an independent sibling `PlatformSandbox` that inherits credentials and defaults (access token, project, environment, network isolation, timeout, instructions, env, idle timeout) with per-instance overrides. The returned sandbox is unstarted and provisions on its own `start()`, so `clone()` performs no I/O:
@@ -187,6 +196,8 @@ console.log(result.exitCode)
187
196
 
188
197
  **sandboxId** (`string`): Existing sandbox ID to reattach to instead of creating a new sandbox. When set, environmentId is not required.
189
198
 
199
+ **seedCheckpointName** (`string`): Boot-only fallback checkpoint used when the primary recovery checkpoint for id has no stored state. Later snapshots continue writing to the checkpoint for id.
200
+
190
201
  **idleTimeoutMinutes** (`number`): How long the sandbox stays alive with no activity before the platform destroys it.
191
202
 
192
203
  **networkIsolation** (`'ISOLATED' | 'PRIVATE'`): Network mode. 'ISOLATED' (default) allows outbound internet only. 'PRIVATE' joins the platform environment's private network.
@@ -121,7 +121,7 @@ Information about a tracked process, returned by `list()`.
121
121
 
122
122
  ## `ProcessHandle`
123
123
 
124
- Handle to a spawned background process. Provides methods to read output, send stdin, wait for completion, and kill the process.
124
+ Handle to a spawned background process. Provides methods to read output, send or close stdin, wait for completion, and kill the process.
125
125
 
126
126
  You don't create `ProcessHandle` instances directly. They're returned by `spawn()` and `get()`.
127
127
 
@@ -141,8 +141,9 @@ console.log(handle.exitCode) // undefined while running
141
141
  // Wait for completion
142
142
  const result = await handle.wait()
143
143
 
144
- // Send stdin
144
+ // Send stdin and signal EOF
145
145
  await handle.sendStdin('input data\n')
146
+ await handle.closeStdin()
146
147
 
147
148
  // Kill the process
148
149
  await handle.kill()
@@ -162,7 +163,7 @@ await handle.kill()
162
163
 
163
164
  **reader** (`Readable`): Readable stream of stdout. Useful for protocols like LSP or JSON-RPC that communicate over stdio.
164
165
 
165
- **writer** (`Writable`): Writable stream to stdin. Useful for protocols like LSP or JSON-RPC that communicate over stdio.
166
+ **writer** (`Writable`): Writable stream to stdin. Ending the stream calls closeStdin(). Useful for protocols like LSP or JSON-RPC that communicate over stdio.
166
167
 
167
168
  ### Methods
168
169
 
@@ -228,6 +229,21 @@ await handle.sendStdin('console.log("hello")\n')
228
229
 
229
230
  **Returns:** `Promise<void>`
230
231
 
232
+ #### `closeStdin()`
233
+
234
+ Close the process's stdin to signal end-of-file (EOF). Use this after sending all input to commands that read until stdin closes. An exited process or an unavailable stdin causes a throw. Providers without a stdin close primitive throw `UnsupportedStdinCloseError`.
235
+
236
+ ```typescript
237
+ const handle = await sandbox.processes.spawn('cat')
238
+ await handle.sendStdin('input data\n')
239
+ await handle.closeStdin()
240
+ const result = await handle.wait()
241
+ ```
242
+
243
+ Calling `handle.writer.end()` also closes stdin. On providers without stdin close support, `writer.end()` finishes the stream without an error.
244
+
245
+ **Returns:** `Promise<void>`
246
+
231
247
  ## Stream interop
232
248
 
233
249
  `ProcessHandle` exposes `reader` and `writer` properties for integration with Node.js stream-based protocols like LSP or JSON-RPC:
@@ -291,7 +307,7 @@ When a process manager is provided, `MastraSandbox` automatically creates a defa
291
307
 
292
308
  ## Related
293
309
 
294
- - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
310
+ - [Sandbox](https://mastra.ai/docs/sandbox/overview)
295
311
  - [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox)
296
312
  - [LocalSandbox reference](https://mastra.ai/reference/workspace/local-sandbox)
297
313
  - [E2BSandbox reference](https://mastra.ai/integrations/sandboxes/e2b)
@@ -102,6 +102,6 @@ const instructions = sandbox.getInstructions?.()
102
102
  ## Related
103
103
 
104
104
  - [SandboxProcessManager reference](https://mastra.ai/reference/workspace/process-manager)
105
- - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
105
+ - [Sandbox](https://mastra.ai/docs/sandbox/overview)
106
106
  - [Workspace Class](https://mastra.ai/reference/workspace/workspace-class)
107
107
  - [Filesystem Interface](https://mastra.ai/reference/workspace/filesystem)
@@ -139,7 +139,7 @@ const workspace = new Workspace({
139
139
  })
140
140
  ```
141
141
 
142
- See [Filesystem tools](https://mastra.ai/docs/workspace/filesystem), [Sandbox tools](https://mastra.ai/docs/workspace/sandbox), [LSP inspection](https://mastra.ai/docs/workspace/lsp), and [Search tools](https://mastra.ai/docs/workspace/search) for capability-specific configuration.
142
+ See [Filesystem tools](https://mastra.ai/docs/sandbox/filesystem), [Sandbox tools](https://mastra.ai/docs/sandbox/overview), [LSP inspection](https://mastra.ai/docs/sandbox/lsp), and [Search tools](https://mastra.ai/docs/sandbox/search) for capability-specific configuration.
143
143
 
144
144
  ### Tool name remapping
145
145
 
@@ -460,7 +460,7 @@ Added when a filesystem is configured:
460
460
  | `mastra_workspace_mkdir` | Create a directory. Creates parent directories automatically if they don't exist. |
461
461
  | `mastra_workspace_grep` | Search file contents using regex patterns. Supports glob filtering, context lines, and case-insensitive search. |
462
462
 
463
- With a static filesystem, write tools (`write_file`, `edit_file`, `delete`, `mkdir`) are excluded when the filesystem is in read-only mode. With a [runtime-defined filesystem](https://mastra.ai/docs/workspace/filesystem), write tools are always included and read-only is enforced at runtime.
463
+ With a static filesystem, write tools (`write_file`, `edit_file`, `delete`, `mkdir`) are excluded when the filesystem is in read-only mode. With a [runtime-defined filesystem](https://mastra.ai/docs/sandbox/filesystem), write tools are always included and read-only is enforced at runtime.
464
464
 
465
465
  The `read_file` tool accepts `mediaTypes` and `maxMediaBytes` options to control which mime types are surfaced to the model as native media parts and how large those files can be:
466
466
 
@@ -492,7 +492,7 @@ Added when a sandbox is configured:
492
492
  | `mastra_workspace_get_process_output` | Get stdout, stderr, and status of a background process by PID. Accepts `tail` to limit output lines and `wait: true` to block until exit. Only available when the sandbox has a process manager. |
493
493
  | `mastra_workspace_kill_process` | Kill a background process by PID. Returns the last 50 lines of output. Only available when the sandbox has a process manager. |
494
494
 
495
- With a static sandbox, capability checks (`executeCommand`, `processes`) decide which tool variants are exposed. With a [runtime-defined sandbox](https://mastra.ai/docs/workspace/sandbox), all sandbox tools are registered and the runtime throws a clear error if the resolved sandbox doesn't implement a requested capability.
495
+ With a static sandbox, capability checks (`executeCommand`, `processes`) decide which tool variants are exposed. With a [runtime-defined sandbox](https://mastra.ai/docs/sandbox/overview), all sandbox tools are registered and the runtime throws a clear error if the resolved sandbox doesn't implement a requested capability.
496
496
 
497
497
  The `execute_command` tool accepts a `backgroundProcesses` option for lifecycle callbacks on background processes:
498
498
 
@@ -506,7 +506,7 @@ The `execute_command` tool accepts a `backgroundProcesses` option for lifecycle
506
506
 
507
507
  **backgroundProcesses.abortSignal** (`AbortSignal | null | false`): Abort signal for background processes. undefined (default) uses the agent's signal. null or false disables abort — processes persist after agent shutdown.
508
508
 
509
- See [Background processes](https://mastra.ai/docs/workspace/sandbox) for callback examples.
509
+ See [Background processes](https://mastra.ai/docs/sandbox/overview) for callback examples.
510
510
 
511
511
  ### Search tools
512
512
 
@@ -529,4 +529,4 @@ Added when skills are configured:
529
529
  | `skill_search` | Search across skill content. Accepts an optional list of skill names to filter and a `topK` parameter. |
530
530
  | `skill_read` | Read a specific file (reference, script, or asset) from a skill directory. |
531
531
 
532
- When multiple skills share the same name, `list()` returns all of them. `get()` with a name applies tie-breaking (local > managed > external). If two skills share the same name and source type, `get()` throws an error. Pass a skill's full path to `get()` to bypass tie-breaking. See [Skills with the same name](https://mastra.ai/docs/workspace/skills) for details.
532
+ When multiple skills share the same name, `list()` returns all of them. `get()` with a name applies tie-breaking (local > managed > external). If two skills share the same name and source type, `get()` throws an error. Pass a skill's full path to `get()` to bypass tie-breaking. See [Skills with the same name](https://mastra.ai/docs/sandbox/skills) for details.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,78 @@
1
1
  # @mastra/mcp-docs-server
2
2
 
3
+ ## 1.2.17
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`587f6ef`](https://github.com/mastra-ai/mastra/commit/587f6efcfc25880b93760a8607d1cd381ec612fe), [`7e096f0`](https://github.com/mastra-ai/mastra/commit/7e096f02f0dddbf09b85d306458351245ed2f886), [`d7e6745`](https://github.com/mastra-ai/mastra/commit/d7e67456954863c55440ea9c49bc6ceb9949972d), [`6223446`](https://github.com/mastra-ai/mastra/commit/6223446ddce6166e96e0ba5e00d628b615dee8ca), [`15101bb`](https://github.com/mastra-ai/mastra/commit/15101bb53c0d934f31af6b8813b88191e382a5e5), [`4e7a421`](https://github.com/mastra-ai/mastra/commit/4e7a421dce8a48742f785d1e93ad2f43a572b282), [`c2c3deb`](https://github.com/mastra-ai/mastra/commit/c2c3debcf670c7082d0a5e553aa99818a864698c), [`d8308a2`](https://github.com/mastra-ai/mastra/commit/d8308a2be3c07e777393d1017a381dcae3890d30), [`b0a2a07`](https://github.com/mastra-ai/mastra/commit/b0a2a07800d42bd9823292e7db832374ed084c9c), [`74e5bd3`](https://github.com/mastra-ai/mastra/commit/74e5bd315b8b3a1e04cb6cf480bb0f5fc4951dc8), [`242e324`](https://github.com/mastra-ai/mastra/commit/242e3241e73cbd5c9bb86a31ebb49ca0256488d4), [`217e967`](https://github.com/mastra-ai/mastra/commit/217e9672d8b3160eb729d8e9f0044949e88da239), [`d774e89`](https://github.com/mastra-ai/mastra/commit/d774e8930c781df8c9effe3763e6b501c099b6cc), [`9c27a53`](https://github.com/mastra-ai/mastra/commit/9c27a53cd9d3de4f3f025bc387d94ce371c33f95), [`8f0a332`](https://github.com/mastra-ai/mastra/commit/8f0a3321bf180368d76fe7b36aa1a8f60f00b6de), [`0b4f108`](https://github.com/mastra-ai/mastra/commit/0b4f1089aa8d92e67c2a8e99726822c5ee410784), [`9acb50f`](https://github.com/mastra-ai/mastra/commit/9acb50f71cec9c362f06820033f90ae6b1f8282f), [`46e9e3f`](https://github.com/mastra-ai/mastra/commit/46e9e3f73babe1bc70080a596cf2ac0b9da48519), [`3f9a190`](https://github.com/mastra-ai/mastra/commit/3f9a19057c027155867b9317294ee4ca7bd0581a), [`dff25a1`](https://github.com/mastra-ai/mastra/commit/dff25a1103fa72ee082a9b6f805ebeb5ce400753), [`6db7a5d`](https://github.com/mastra-ai/mastra/commit/6db7a5dd3dd2b6f7ef75dcd804fcffef5fa83963), [`217e967`](https://github.com/mastra-ai/mastra/commit/217e9672d8b3160eb729d8e9f0044949e88da239), [`583e235`](https://github.com/mastra-ai/mastra/commit/583e23519c13af16c1746f9c49722d011216611b), [`b098de9`](https://github.com/mastra-ai/mastra/commit/b098de9d7cb9f672e0883a5c716465a3a689693d), [`e8808e3`](https://github.com/mastra-ai/mastra/commit/e8808e3d8eb585a2565be53e56a7e0e1477352a4), [`a77f8d4`](https://github.com/mastra-ai/mastra/commit/a77f8d4740d2178a74c41e4bf678b4fcd8fa0bb2), [`7f78585`](https://github.com/mastra-ai/mastra/commit/7f785857e401570e2ffb316911f126ed363aa537), [`33374ba`](https://github.com/mastra-ai/mastra/commit/33374ba359e4fb13eaa918ae925fe167a3c55414), [`940bf5c`](https://github.com/mastra-ai/mastra/commit/940bf5ccf04f2c9ebd8a1390431733222a03b1cd), [`c549e2f`](https://github.com/mastra-ai/mastra/commit/c549e2f40edc1cac5d9e74e82f90da22b48df084), [`58c43d3`](https://github.com/mastra-ai/mastra/commit/58c43d3f7cb2eeaeb8ac733ae71dde822348e588), [`ef6e295`](https://github.com/mastra-ai/mastra/commit/ef6e295b59bc25a5b61b633a89c97bcfce9fb465), [`208e1b3`](https://github.com/mastra-ai/mastra/commit/208e1b39f30f4b386e494394e9d71d96f0f90241), [`c938d34`](https://github.com/mastra-ai/mastra/commit/c938d34739936c8ecbabd67ad6a4a4396f41c4c6), [`88ddc7c`](https://github.com/mastra-ai/mastra/commit/88ddc7ce01d40175f13a3228b789a906779680bd), [`f2a4afd`](https://github.com/mastra-ai/mastra/commit/f2a4afd7e37e809669001ed17724b341a5c1f45e), [`d438148`](https://github.com/mastra-ai/mastra/commit/d438148e222c1e2fb3c652725ce75680962ebec4), [`ba05fe0`](https://github.com/mastra-ai/mastra/commit/ba05fe0738f70cb686777546e968237d09269142), [`40d358e`](https://github.com/mastra-ai/mastra/commit/40d358e29d55543803e64b49241122f598ffabc7), [`d26a8d4`](https://github.com/mastra-ai/mastra/commit/d26a8d4281f28414715b333c85bedaf70d0b2890), [`e80cd7e`](https://github.com/mastra-ai/mastra/commit/e80cd7e7683e7d732e1cc6784bcac1d2640d2ce3), [`ccbbcd9`](https://github.com/mastra-ai/mastra/commit/ccbbcd974eedff4367a54ed0e24c9ee742ab2f61), [`39ba1b9`](https://github.com/mastra-ai/mastra/commit/39ba1b9ce256a9a910a16f125cc6a59588185bfe), [`1d9a0ea`](https://github.com/mastra-ai/mastra/commit/1d9a0ea4a9901baee6cd56737243bd6d1f631ac0), [`677cdc6`](https://github.com/mastra-ai/mastra/commit/677cdc6af564dec29a13464d12b7ab2a4efc22e9), [`c549e2f`](https://github.com/mastra-ai/mastra/commit/c549e2f40edc1cac5d9e74e82f90da22b48df084), [`a7dd322`](https://github.com/mastra-ai/mastra/commit/a7dd32247d95afc539f483ca37f4594af0387f59), [`3f5c6f7`](https://github.com/mastra-ai/mastra/commit/3f5c6f728ea35da344248de9aa070f12849f3aa0), [`a318490`](https://github.com/mastra-ai/mastra/commit/a318490e17da32f338d50929c770d901a9b3dd72), [`b860493`](https://github.com/mastra-ai/mastra/commit/b86049391100e665d579f700c8a2034c036defc3), [`d4be8c1`](https://github.com/mastra-ai/mastra/commit/d4be8c1739d22d621e3f78790e1dd5eb5ecc3589), [`a5d2eb1`](https://github.com/mastra-ai/mastra/commit/a5d2eb10347eade1ae2816d88f466c25186c54a5), [`13d49d8`](https://github.com/mastra-ai/mastra/commit/13d49d82f434f319d4bd9a4234369d8186f8e102), [`0f53aeb`](https://github.com/mastra-ai/mastra/commit/0f53aeb119158bd9f83bd8ef667f1f675740e8f0), [`3667679`](https://github.com/mastra-ai/mastra/commit/3667679db057edfb086846d13369fdda4902ad65), [`49696e8`](https://github.com/mastra-ai/mastra/commit/49696e8e42f870674a0a58f5abcd22cc54dd2864), [`2ef2f23`](https://github.com/mastra-ai/mastra/commit/2ef2f230a7aed342e7dc3b2000cd42e4c43e08a7), [`763e0c6`](https://github.com/mastra-ai/mastra/commit/763e0c61e04d76ad9a9efd301aa57525ca0cbea9), [`20504b2`](https://github.com/mastra-ai/mastra/commit/20504b2ecebd0e077acda3d457ab57480a98ed3e), [`77e6b1b`](https://github.com/mastra-ai/mastra/commit/77e6b1bc4c46ce94fe501023fb4393c812ec6be3), [`c5f964d`](https://github.com/mastra-ai/mastra/commit/c5f964d3f77064e978f8066ec506eed77ba5c63c), [`23e0be2`](https://github.com/mastra-ai/mastra/commit/23e0be261381e49534b4ff3101c60ee64a946cbf), [`7fc8806`](https://github.com/mastra-ai/mastra/commit/7fc880627d3cbf995d31ea0e8b807bf15417e651), [`0e02eac`](https://github.com/mastra-ai/mastra/commit/0e02eacdb2e30e1697a41910b41163742a181dc1), [`4df174c`](https://github.com/mastra-ai/mastra/commit/4df174c32bddf093a82f273070b8380aef7c9e90), [`f7c25b5`](https://github.com/mastra-ai/mastra/commit/f7c25b5106ddfb48e591f98df7a51e0f2dd01dba), [`7aad631`](https://github.com/mastra-ai/mastra/commit/7aad631b43bc10db77d5b8c66b200d7a49d18bf2), [`512100a`](https://github.com/mastra-ai/mastra/commit/512100a7d8b7e9c920f2590c6b3612f5de0d3cff), [`e81744c`](https://github.com/mastra-ai/mastra/commit/e81744cd13c46619c142dc521dc0baac47607a84), [`f8f653f`](https://github.com/mastra-ai/mastra/commit/f8f653f10980d01a73706cc3c8689ca5e40ce808), [`dc09cc1`](https://github.com/mastra-ai/mastra/commit/dc09cc1083d861cde192c1cd235324dc75b8c731), [`9ef432b`](https://github.com/mastra-ai/mastra/commit/9ef432b6faa534b57b0d182a610e13dd9a7123ff), [`36b4649`](https://github.com/mastra-ai/mastra/commit/36b4649045a3a380cbab8ceca866db4086223aff), [`b9cf308`](https://github.com/mastra-ai/mastra/commit/b9cf30846f97f99ac1906ee8a68f4f2d117b0378), [`2e1d098`](https://github.com/mastra-ai/mastra/commit/2e1d0984e325fd319d32ea182f596b3170be3847), [`377eb81`](https://github.com/mastra-ai/mastra/commit/377eb81ce43b964e3a6b541df172da74a8ff3716), [`1794a79`](https://github.com/mastra-ai/mastra/commit/1794a79178c418004a7261b1ad9114066f7ef01d), [`0cdc5dc`](https://github.com/mastra-ai/mastra/commit/0cdc5dc69024957815da4f51acc4119eb4f447d7), [`5740ec6`](https://github.com/mastra-ai/mastra/commit/5740ec60c760ffdfbfaa59d603d03b847c864e05)]:
8
+ - @mastra/core@1.60.0
9
+ - @mastra/mcp@1.17.0
10
+
11
+ ## 1.2.17-alpha.21
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [[`58c43d3`](https://github.com/mastra-ai/mastra/commit/58c43d3f7cb2eeaeb8ac733ae71dde822348e588)]:
16
+ - @mastra/core@1.60.0-alpha.14
17
+
18
+ ## 1.2.17-alpha.20
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies [[`c549e2f`](https://github.com/mastra-ai/mastra/commit/c549e2f40edc1cac5d9e74e82f90da22b48df084), [`c549e2f`](https://github.com/mastra-ai/mastra/commit/c549e2f40edc1cac5d9e74e82f90da22b48df084), [`2ef2f23`](https://github.com/mastra-ai/mastra/commit/2ef2f230a7aed342e7dc3b2000cd42e4c43e08a7), [`5740ec6`](https://github.com/mastra-ai/mastra/commit/5740ec60c760ffdfbfaa59d603d03b847c864e05)]:
23
+ - @mastra/core@1.60.0-alpha.13
24
+
25
+ ## 1.2.17-alpha.19
26
+
27
+ ### Patch Changes
28
+
29
+ - Updated dependencies [[`6db7a5d`](https://github.com/mastra-ai/mastra/commit/6db7a5dd3dd2b6f7ef75dcd804fcffef5fa83963), [`0cdc5dc`](https://github.com/mastra-ai/mastra/commit/0cdc5dc69024957815da4f51acc4119eb4f447d7)]:
30
+ - @mastra/core@1.60.0-alpha.12
31
+
32
+ ## 1.2.17-alpha.18
33
+
34
+ ### Patch Changes
35
+
36
+ - Updated dependencies [[`6223446`](https://github.com/mastra-ai/mastra/commit/6223446ddce6166e96e0ba5e00d628b615dee8ca), [`583e235`](https://github.com/mastra-ai/mastra/commit/583e23519c13af16c1746f9c49722d011216611b), [`a77f8d4`](https://github.com/mastra-ai/mastra/commit/a77f8d4740d2178a74c41e4bf678b4fcd8fa0bb2), [`40d358e`](https://github.com/mastra-ai/mastra/commit/40d358e29d55543803e64b49241122f598ffabc7), [`e80cd7e`](https://github.com/mastra-ai/mastra/commit/e80cd7e7683e7d732e1cc6784bcac1d2640d2ce3), [`39ba1b9`](https://github.com/mastra-ai/mastra/commit/39ba1b9ce256a9a910a16f125cc6a59588185bfe), [`0f53aeb`](https://github.com/mastra-ai/mastra/commit/0f53aeb119158bd9f83bd8ef667f1f675740e8f0), [`20504b2`](https://github.com/mastra-ai/mastra/commit/20504b2ecebd0e077acda3d457ab57480a98ed3e)]:
37
+ - @mastra/core@1.60.0-alpha.11
38
+ - @mastra/mcp@1.17.0-alpha.2
39
+
40
+ ## 1.2.17-alpha.17
41
+
42
+ ### Patch Changes
43
+
44
+ - Updated dependencies [[`b860493`](https://github.com/mastra-ai/mastra/commit/b86049391100e665d579f700c8a2034c036defc3)]:
45
+ - @mastra/core@1.60.0-alpha.10
46
+
47
+ ## 1.2.17-alpha.15
48
+
49
+ ### Patch Changes
50
+
51
+ - Updated dependencies [[`b0a2a07`](https://github.com/mastra-ai/mastra/commit/b0a2a07800d42bd9823292e7db832374ed084c9c), [`ccbbcd9`](https://github.com/mastra-ai/mastra/commit/ccbbcd974eedff4367a54ed0e24c9ee742ab2f61), [`3f5c6f7`](https://github.com/mastra-ai/mastra/commit/3f5c6f728ea35da344248de9aa070f12849f3aa0), [`77e6b1b`](https://github.com/mastra-ai/mastra/commit/77e6b1bc4c46ce94fe501023fb4393c812ec6be3), [`2e1d098`](https://github.com/mastra-ai/mastra/commit/2e1d0984e325fd319d32ea182f596b3170be3847)]:
52
+ - @mastra/core@1.60.0-alpha.9
53
+
54
+ ## 1.2.17-alpha.14
55
+
56
+ ### Patch Changes
57
+
58
+ - Updated dependencies [[`4e7a421`](https://github.com/mastra-ai/mastra/commit/4e7a421dce8a48742f785d1e93ad2f43a572b282), [`242e324`](https://github.com/mastra-ai/mastra/commit/242e3241e73cbd5c9bb86a31ebb49ca0256488d4), [`217e967`](https://github.com/mastra-ai/mastra/commit/217e9672d8b3160eb729d8e9f0044949e88da239), [`d774e89`](https://github.com/mastra-ai/mastra/commit/d774e8930c781df8c9effe3763e6b501c099b6cc), [`9c27a53`](https://github.com/mastra-ai/mastra/commit/9c27a53cd9d3de4f3f025bc387d94ce371c33f95), [`dff25a1`](https://github.com/mastra-ai/mastra/commit/dff25a1103fa72ee082a9b6f805ebeb5ce400753), [`217e967`](https://github.com/mastra-ai/mastra/commit/217e9672d8b3160eb729d8e9f0044949e88da239), [`7f78585`](https://github.com/mastra-ai/mastra/commit/7f785857e401570e2ffb316911f126ed363aa537), [`f2a4afd`](https://github.com/mastra-ai/mastra/commit/f2a4afd7e37e809669001ed17724b341a5c1f45e), [`d438148`](https://github.com/mastra-ai/mastra/commit/d438148e222c1e2fb3c652725ce75680962ebec4), [`ba05fe0`](https://github.com/mastra-ai/mastra/commit/ba05fe0738f70cb686777546e968237d09269142), [`d26a8d4`](https://github.com/mastra-ai/mastra/commit/d26a8d4281f28414715b333c85bedaf70d0b2890), [`677cdc6`](https://github.com/mastra-ai/mastra/commit/677cdc6af564dec29a13464d12b7ab2a4efc22e9), [`a318490`](https://github.com/mastra-ai/mastra/commit/a318490e17da32f338d50929c770d901a9b3dd72), [`763e0c6`](https://github.com/mastra-ai/mastra/commit/763e0c61e04d76ad9a9efd301aa57525ca0cbea9), [`23e0be2`](https://github.com/mastra-ai/mastra/commit/23e0be261381e49534b4ff3101c60ee64a946cbf), [`7fc8806`](https://github.com/mastra-ai/mastra/commit/7fc880627d3cbf995d31ea0e8b807bf15417e651), [`0e02eac`](https://github.com/mastra-ai/mastra/commit/0e02eacdb2e30e1697a41910b41163742a181dc1), [`4df174c`](https://github.com/mastra-ai/mastra/commit/4df174c32bddf093a82f273070b8380aef7c9e90), [`f7c25b5`](https://github.com/mastra-ai/mastra/commit/f7c25b5106ddfb48e591f98df7a51e0f2dd01dba), [`dc09cc1`](https://github.com/mastra-ai/mastra/commit/dc09cc1083d861cde192c1cd235324dc75b8c731), [`36b4649`](https://github.com/mastra-ai/mastra/commit/36b4649045a3a380cbab8ceca866db4086223aff), [`377eb81`](https://github.com/mastra-ai/mastra/commit/377eb81ce43b964e3a6b541df172da74a8ff3716)]:
59
+ - @mastra/core@1.60.0-alpha.8
60
+ - @mastra/mcp@1.17.0-alpha.1
61
+
62
+ ## 1.2.17-alpha.12
63
+
64
+ ### Patch Changes
65
+
66
+ - Updated dependencies [[`940bf5c`](https://github.com/mastra-ai/mastra/commit/940bf5ccf04f2c9ebd8a1390431733222a03b1cd)]:
67
+ - @mastra/core@1.60.0-alpha.7
68
+
69
+ ## 1.2.17-alpha.10
70
+
71
+ ### Patch Changes
72
+
73
+ - Updated dependencies [[`0b4f108`](https://github.com/mastra-ai/mastra/commit/0b4f1089aa8d92e67c2a8e99726822c5ee410784), [`88ddc7c`](https://github.com/mastra-ai/mastra/commit/88ddc7ce01d40175f13a3228b789a906779680bd), [`a7dd322`](https://github.com/mastra-ai/mastra/commit/a7dd32247d95afc539f483ca37f4594af0387f59)]:
74
+ - @mastra/core@1.60.0-alpha.6
75
+
3
76
  ## 1.2.17-alpha.8
4
77
 
5
78
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/mcp-docs-server",
3
- "version": "1.2.17-alpha.9",
3
+ "version": "1.2.17",
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/mcp": "^1.17.0-alpha.0",
32
- "@mastra/core": "1.60.0-alpha.5"
31
+ "@mastra/mcp": "^1.17.0",
32
+ "@mastra/core": "1.60.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@hono/node-server": "^2.0.0",
@@ -45,9 +45,9 @@
45
45
  "tsx": "^4.23.1",
46
46
  "typescript": "^6.0.3",
47
47
  "vitest": "4.1.10",
48
- "@internal/lint": "0.0.123",
49
- "@mastra/core": "1.60.0-alpha.5",
50
- "@internal/types-builder": "0.0.98"
48
+ "@internal/lint": "0.0.124",
49
+ "@mastra/core": "1.60.0",
50
+ "@internal/types-builder": "0.0.99"
51
51
  },
52
52
  "homepage": "https://mastra.ai",
53
53
  "repository": {