@mastra/mcp-docs-server 1.2.15 → 1.2.16-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/.docs/docs/agents/agent-approval.md +5 -5
  2. package/.docs/docs/agents/overview.md +4 -4
  3. package/.docs/docs/browser/overview.md +1 -1
  4. package/.docs/docs/capabilities/channels.md +5 -5
  5. package/.docs/docs/capabilities/subagents.md +1 -1
  6. package/.docs/docs/connections/overview.md +1 -1
  7. package/.docs/docs/datasets/overview.md +1 -1
  8. package/.docs/docs/deployment/cloud-providers.md +4 -2
  9. package/.docs/docs/deployment/mastra-server.md +1 -1
  10. package/.docs/docs/deployment/monorepo.md +1 -1
  11. package/.docs/docs/deployment/overview.md +4 -1
  12. package/.docs/docs/deployment/sandbox.md +1 -1
  13. package/.docs/docs/deployment/web-framework.md +1 -1
  14. package/.docs/docs/deployment/workers.md +248 -2
  15. package/.docs/docs/evals/overview.md +1 -1
  16. package/.docs/docs/evals/quick-checks.md +1 -1
  17. package/.docs/docs/guides/multi-agent-systems.md +1 -1
  18. package/.docs/docs/harness/agent-controller.md +5 -5
  19. package/.docs/docs/harness/overview.md +1 -1
  20. package/.docs/docs/index.md +3 -3
  21. package/.docs/docs/long-running-agents/signal-providers.md +2 -2
  22. package/.docs/docs/mastra-platform/deploy.md +1 -1
  23. package/.docs/docs/mastra-platform/observability.md +63 -18
  24. package/.docs/docs/mastra-platform/overview.md +1 -1
  25. package/.docs/docs/mcp/overview.md +1 -1
  26. package/.docs/docs/memory/working-memory.md +1 -1
  27. package/.docs/docs/observability/integrations/exporters/mastra-storage.md +2 -2
  28. package/.docs/docs/observability/logging.md +1 -1
  29. package/.docs/docs/observability/metrics/overview.md +1 -1
  30. package/.docs/docs/observability/overview.md +1 -5
  31. package/.docs/docs/observability/tracing/overview.md +3 -6
  32. package/.docs/docs/server/auth/workers.md +1 -1
  33. package/.docs/docs/server/auth.md +5 -5
  34. package/.docs/docs/server/mastra-client.md +1 -1
  35. package/.docs/docs/server/mastra-server.md +1 -1
  36. package/.docs/docs/storage/overview.md +7 -6
  37. package/.docs/docs/workflows/human-in-the-loop.md +2 -2
  38. package/.docs/docs/workflows/overview.md +2 -2
  39. package/.docs/docs/workspace/lsp.md +27 -0
  40. package/.docs/docs/workspace/sandbox.md +11 -12
  41. package/.docs/integrations/agentic-ui/ai-sdk-ui.md +1 -1
  42. package/.docs/integrations/agentic-ui/assistant-ui.md +1 -1
  43. package/.docs/integrations/agentic-ui/copilotkit.md +1 -1
  44. package/.docs/integrations/agentic-ui/openui.md +1 -1
  45. package/.docs/integrations/databases/postgresql.md +8 -8
  46. package/.docs/integrations/deploy/amazon-ec2.md +2 -2
  47. package/.docs/integrations/deploy/aws-bedrock-agentcore.md +1 -1
  48. package/.docs/integrations/deploy/aws-lambda.md +2 -2
  49. package/.docs/integrations/deploy/azure-app-services.md +2 -2
  50. package/.docs/integrations/deploy/cloudflare.md +2 -2
  51. package/.docs/integrations/deploy/digital-ocean.md +2 -2
  52. package/.docs/integrations/deploy/inngest.md +1 -1
  53. package/.docs/integrations/deploy/kubernetes.md +2 -3
  54. package/.docs/integrations/deploy/netlify.md +2 -2
  55. package/.docs/integrations/deploy/temporal.md +1 -1
  56. package/.docs/integrations/deploy/vercel.md +2 -2
  57. package/.docs/integrations/file-storage/agentfs.md +1 -1
  58. package/.docs/integrations/file-storage/amazon-s3.md +1 -1
  59. package/.docs/integrations/file-storage/archil.md +1 -1
  60. package/.docs/integrations/file-storage/azure-blob.md +1 -1
  61. package/.docs/integrations/file-storage/google-cloud-storage.md +1 -1
  62. package/.docs/integrations/file-storage/google-drive.md +1 -1
  63. package/.docs/integrations/file-storage/mesa.md +1 -1
  64. package/.docs/integrations/file-storage/vercel-files.md +1 -1
  65. package/.docs/integrations/frameworks/astro.md +1 -1
  66. package/.docs/integrations/frameworks/electron.md +1 -1
  67. package/.docs/integrations/frameworks/express.md +1 -1
  68. package/.docs/integrations/frameworks/hono.md +1 -1
  69. package/.docs/integrations/frameworks/nestjs.md +1 -1
  70. package/.docs/integrations/frameworks/next-js.md +1 -1
  71. package/.docs/integrations/frameworks/nuxt.md +1 -1
  72. package/.docs/integrations/frameworks/sveltekit.md +1 -1
  73. package/.docs/integrations/frameworks/vite-react.md +1 -1
  74. package/.docs/integrations/sandboxes/agentcore.md +1 -1
  75. package/.docs/integrations/sandboxes/apple-container.md +1 -1
  76. package/.docs/integrations/sandboxes/blaxel.md +1 -1
  77. package/.docs/integrations/sandboxes/daytona.md +1 -1
  78. package/.docs/integrations/sandboxes/docker.md +1 -1
  79. package/.docs/integrations/sandboxes/e2b.md +1 -1
  80. package/.docs/integrations/sandboxes/modal.md +1 -1
  81. package/.docs/integrations/sandboxes/railway.md +1 -1
  82. package/.docs/integrations/sandboxes/vercel.md +3 -1
  83. package/.docs/integrations/tools/firecrawl.md +2 -2
  84. package/.docs/integrations/voice/livekit.md +3 -3
  85. package/.docs/integrations.md +108 -108
  86. package/.docs/models/environment-variables.md +2 -0
  87. package/.docs/models/gateways/openrouter.md +5 -1
  88. package/.docs/models/gateways/vercel.md +3 -2
  89. package/.docs/models/index.md +1 -1
  90. package/.docs/models/providers/aiand.md +3 -2
  91. package/.docs/models/providers/digitalocean.md +3 -2
  92. package/.docs/models/providers/edenai.md +88 -0
  93. package/.docs/models/providers/hyper.md +3 -3
  94. package/.docs/models/providers/inceptron.md +8 -9
  95. package/.docs/models/providers/kilo.md +11 -6
  96. package/.docs/models/providers/llmgateway.md +3 -1
  97. package/.docs/models/providers/merge-gateway.md +262 -0
  98. package/.docs/models/providers/nano-gpt.md +13 -37
  99. package/.docs/models/providers/opencode.md +2 -2
  100. package/.docs/models/providers/tinfoil.md +9 -8
  101. package/.docs/models/providers/xai.md +2 -1
  102. package/.docs/models/providers.md +2 -0
  103. package/.docs/reference/agents/getVoice.md +1 -1
  104. package/.docs/reference/configuration.md +1 -1
  105. package/.docs/reference/index.md +5 -1
  106. package/.docs/reference/manual-install.md +1 -1
  107. package/.docs/reference/migrations/network-to-supervisor.md +1 -1
  108. package/.docs/reference/migrations/upgrade-to-v1/tracing.md +1 -3
  109. package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +0 -1
  110. package/.docs/reference/observability/tracing/exporters/console-exporter.md +0 -1
  111. package/.docs/reference/observability/tracing/exporters/default-exporter.md +0 -1
  112. package/.docs/reference/observability/tracing/exporters/mastra-platform-exporter.md +0 -1
  113. package/.docs/reference/observability/tracing/exporters/mastra-storage-exporter.md +0 -1
  114. package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +111 -99
  115. package/.docs/reference/observability/tracing/span-filtering.md +1 -1
  116. package/.docs/reference/storage/overview.md +1 -1
  117. package/.docs/reference/templates/overview.md +1 -1
  118. package/.docs/{guides → reference}/voice/overview.md +3 -3
  119. package/.docs/{guides → reference}/voice/speech-to-speech.md +1 -1
  120. package/.docs/{guides → reference}/voice/speech-to-text.md +1 -1
  121. package/.docs/{guides → reference}/voice/text-to-speech.md +2 -2
  122. package/CHANGELOG.md +14 -0
  123. package/package.json +4 -4
  124. package/.docs/docs/observability/integrations/exporters/mastra-platform.md +0 -201
  125. package/.docs/docs/observability/integrations/overview.md +0 -47
  126. package/.docs/docs/observability/integrations/processors/sensitive-data-filter.md +0 -302
  127. package/.docs/guides/deployment/mastra-workers.md +0 -578
  128. package/.docs/guides/getting-started/quickstart.md +0 -88
  129. package/.docs/guides/guide/ai-recruiter.md +0 -228
  130. package/.docs/guides/guide/code-review-bot.md +0 -228
  131. package/.docs/guides/guide/coding-agent.md +0 -392
  132. package/.docs/guides/guide/dev-assistant.md +0 -309
  133. package/.docs/guides/guide/docs-manager.md +0 -240
  134. package/.docs/guides/guide/github-actions-pr-description.md +0 -238
  135. package/.docs/guides/guide/notes-mcp-server.md +0 -418
  136. package/.docs/guides/guide/research-assistant.md +0 -350
  137. package/.docs/guides/guide/research-coordinator.md +0 -418
  138. package/.docs/guides/guide/signal-provider.md +0 -221
  139. package/.docs/guides/index.md +0 -24
  140. /package/.docs/{reference → docs}/mastra-platform/api.md +0 -0
  141. /package/.docs/{guides/agent-frameworks/ai-sdk.md → reference/ai-sdk/overview.md} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Tinfoil logo](https://models.dev/logos/tinfoil.svg)Tinfoil
4
4
 
5
- Access 7 Tinfoil models through Mastra's model router. Authentication is handled automatically using the `TINFOIL_API_KEY` environment variable.
5
+ Access 8 Tinfoil models through Mastra's model router. Authentication is handled automatically using the `TINFOIL_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Tinfoil documentation](https://docs.tinfoil.sh).
8
8
 
@@ -17,7 +17,7 @@ const agent = new Agent({
17
17
  id: "my-agent",
18
18
  name: "My Agent",
19
19
  instructions: "You are a helpful assistant",
20
- model: "tinfoil/gemma4-31b"
20
+ model: "tinfoil/deepseek-v4-flash"
21
21
  });
22
22
 
23
23
  // Generate a response
@@ -36,12 +36,13 @@ for await (const chunk of stream) {
36
36
 
37
37
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
38
  | -------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
- | `tinfoil/gemma4-31b` | 256K | | | | | | $0.40 | $1 |
40
- | `tinfoil/glm-5-2` | 384K | | | | | | $2 | $5 |
39
+ | `tinfoil/deepseek-v4-flash` | 1.0M | | | | | | $0.70 | $2 |
40
+ | `tinfoil/gemma4-31b` | 262K | | | | | | $0.40 | $1 |
41
+ | `tinfoil/glm-5-2` | 393K | | | | | | $2 | $5 |
41
42
  | `tinfoil/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
42
43
  | `tinfoil/gpt-oss-safeguard-120b` | 131K | | | | | | $0.15 | $0.60 |
43
- | `tinfoil/kimi-k3` | 256K | | | | | | $2 | $6 |
44
- | `tinfoil/llama3-3-70b` | 128K | | | | | | $2 | $3 |
44
+ | `tinfoil/kimi-k3` | 262K | | | | | | $4 | $20 |
45
+ | `tinfoil/llama3-3-70b` | 131K | | | | | | $2 | $3 |
45
46
  | `tinfoil/nomic-embed-text` | 8K | | | | | | $0.05 | — |
46
47
 
47
48
  ## Advanced configuration
@@ -54,7 +55,7 @@ const agent = new Agent({
54
55
  name: "custom-agent",
55
56
  model: {
56
57
  url: "https://inference.tinfoil.sh/v1",
57
- id: "tinfoil/gemma4-31b",
58
+ id: "tinfoil/deepseek-v4-flash",
58
59
  apiKey: process.env.TINFOIL_API_KEY,
59
60
  headers: {
60
61
  "X-Custom-Header": "value"
@@ -73,7 +74,7 @@ const agent = new Agent({
73
74
  const useAdvanced = requestContext.task === "complex";
74
75
  return useAdvanced
75
76
  ? "tinfoil/nomic-embed-text"
76
- : "tinfoil/gemma4-31b";
77
+ : "tinfoil/deepseek-v4-flash";
77
78
  }
78
79
  });
79
80
  ```
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![xAI logo](https://models.dev/logos/xai.svg)xAI
4
4
 
5
- Access 10 xAI models through Mastra's model router. Authentication is handled automatically using the `XAI_API_KEY` environment variable.
5
+ Access 11 xAI models through Mastra's model router. Authentication is handled automatically using the `XAI_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [xAI documentation](https://docs.x.ai/docs/models).
8
8
 
@@ -39,6 +39,7 @@ for await (const chunk of stream) {
39
39
  | `xai/grok-4.20-multi-agent-0309` | 1.0M | | | | | | $1 | $3 |
40
40
  | `xai/grok-4.3` | 1.0M | | | | | | $1 | $3 |
41
41
  | `xai/grok-4.5` | 500K | | | | | | $2 | $6 |
42
+ | `xai/grok-4.6` | 500K | | | | | | $2 | $6 |
42
43
  | `xai/grok-build-0.1` | 256K | | | | | | $1 | $2 |
43
44
  | `xai/grok-imagine-image` | 8K | | | | | | — | — |
44
45
  | `xai/grok-imagine-image-quality` | 8K | | | | | | — | — |
@@ -50,6 +50,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
50
50
  - [DigitalOcean](https://mastra.ai/models/providers/digitalocean)
51
51
  - [DInference](https://mastra.ai/models/providers/dinference)
52
52
  - [EBCloud](https://mastra.ai/models/providers/ebcloud)
53
+ - [Eden AI](https://mastra.ai/models/providers/edenai)
53
54
  - [EmpirioLabs AI](https://mastra.ai/models/providers/empiriolabs)
54
55
  - [evroc](https://mastra.ai/models/providers/evroc)
55
56
  - [FastRouter](https://mastra.ai/models/providers/fastrouter)
@@ -85,6 +86,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
85
86
  - [LucidQuery](https://mastra.ai/models/providers/lucidquery)
86
87
  - [Lynkr](https://mastra.ai/models/providers/lynkr)
87
88
  - [Meganova](https://mastra.ai/models/providers/meganova)
89
+ - [Merge Gateway](https://mastra.ai/models/providers/merge-gateway)
88
90
  - [Meta](https://mastra.ai/models/providers/meta)
89
91
  - [MiniMax (minimax.io)](https://mastra.ai/models/providers/minimax)
90
92
  - [MiniMax (minimaxi.com)](https://mastra.ai/models/providers/minimax-cn)
@@ -30,5 +30,5 @@ await agent.getVoice({
30
30
 
31
31
  ## Related
32
32
 
33
- - [Voice in Mastra](https://mastra.ai/guides/voice/overview)
33
+ - [Voice in Mastra](https://mastra.ai/reference/voice/overview)
34
34
  - [Voice providers](https://mastra.ai/reference/voice/mastra-voice)
@@ -419,7 +419,7 @@ export const mastra = new Mastra({
419
419
 
420
420
  Text-to-speech providers for voice synthesis capabilities. Register voice providers to enable agents to convert text responses into spoken audio.
421
421
 
422
- Visit the [Voice documentation](https://mastra.ai/guides/voice/overview) to learn more.
422
+ Visit the [Voice documentation](https://mastra.ai/reference/voice/overview) to learn more.
423
423
 
424
424
  > **Note:** Most users configure voice directly on agents. This top-level configuration is for defining reusable voice providers that can be shared across multiple agents.
425
425
 
@@ -34,6 +34,7 @@ The Reference section provides documentation of Mastra's API, including paramete
34
34
  - [.listTools()](https://mastra.ai/reference/agents/listTools)
35
35
  - [.listWorkflows()](https://mastra.ai/reference/agents/listWorkflows)
36
36
  - [.network()](https://mastra.ai/reference/agents/network)
37
+ - [Overview](https://mastra.ai/reference/ai-sdk/overview)
37
38
  - [chatRoute()](https://mastra.ai/reference/ai-sdk/chat-route)
38
39
  - [handleChatStream()](https://mastra.ai/reference/ai-sdk/handle-chat-stream)
39
40
  - [handleNetworkStream()](https://mastra.ai/reference/ai-sdk/handle-network-stream)
@@ -199,7 +200,6 @@ The Reference section provides documentation of Mastra's API, including paramete
199
200
  - [Tools](https://mastra.ai/reference/file-based-agents/tools)
200
201
  - [Workflows](https://mastra.ai/reference/file-based-agents/workflows)
201
202
  - [Workspace](https://mastra.ai/reference/file-based-agents/workspace)
202
- - [API Reference](https://mastra.ai/reference/mastra-platform/api)
203
203
  - [Cloned Thread Utilities](https://mastra.ai/reference/memory/clone-utilities)
204
204
  - [Memory Class](https://mastra.ai/reference/memory/memory-class)
205
205
  - [Observational Memory](https://mastra.ai/reference/memory/observational-memory)
@@ -343,9 +343,13 @@ The Reference section provides documentation of Mastra's API, including paramete
343
343
  - [Qdrant Vector Store](https://mastra.ai/reference/vectors/qdrant)
344
344
  - [Turbopuffer Vector Store](https://mastra.ai/reference/vectors/turbopuffer)
345
345
  - [Upstash Vector Store](https://mastra.ai/reference/vectors/upstash)
346
+ - [Overview](https://mastra.ai/reference/voice/overview)
346
347
  - [Composite Voice](https://mastra.ai/reference/voice/composite-voice)
347
348
  - [Events](https://mastra.ai/reference/voice/voice.events)
348
349
  - [Mastra Voice](https://mastra.ai/reference/voice/mastra-voice)
350
+ - [Speech to Speech](https://mastra.ai/reference/voice/speech-to-speech)
351
+ - [Speech to Text](https://mastra.ai/reference/voice/speech-to-text)
352
+ - [Text to Speech](https://mastra.ai/reference/voice/text-to-speech)
349
353
  - [.addInstructions()](https://mastra.ai/reference/voice/voice.addInstructions)
350
354
  - [.addTools()](https://mastra.ai/reference/voice/voice.addTools)
351
355
  - [.answer()](https://mastra.ai/reference/voice/voice.answer)
@@ -4,7 +4,7 @@
4
4
 
5
5
  **For AI agents:** Use this guide when tasked to create a runnable Mastra project from scratch without a CLI/boilerplate. It provides code examples for agents, tools, model configuration and how to install dependencies. Do not navigate to the quickstart guide, which is for humans. The model string is Mastra's model router format ('provider/model'; use / and not : to separate provider and model). Do not install any ai-sdk packages.
6
6
 
7
- Use this guide to manually build a standalone Mastra server step by step. In most cases, it's quicker to follow the [quickstart guide](https://mastra.ai/guides/getting-started/quickstart), which achieves the same result using the [`create-mastra`](https://mastra.ai/reference/cli/create-mastra) command. For existing projects, you can also use [`mastra init`](https://mastra.ai/reference/cli/mastra).
7
+ Use this guide to manually build a standalone Mastra server step by step. In most cases, use the [`create-mastra`](https://mastra.ai/reference/cli/create-mastra) command described in [Get started](https://mastra.ai/docs). For existing projects, you can also use [`mastra init`](https://mastra.ai/reference/cli/mastra).
8
8
 
9
9
  ## Instructions
10
10
 
@@ -260,4 +260,4 @@ const stream = await supervisorAgent.stream('Research AI in education', {
260
260
  - [Agent.stream() Reference](https://mastra.ai/reference/streaming/agents/stream)
261
261
  - [Agent.generate() Reference](https://mastra.ai/reference/agents/generate)
262
262
  - [Agent Approval](https://mastra.ai/docs/agents/agent-approval)
263
- - [Guide: Research Coordinator](https://mastra.ai/guides/guide/research-coordinator)
263
+ - [Guide: Research Coordinator](https://mastra.ai/blog/build-a-research-coordinator-with-supervisor-agents)
@@ -129,8 +129,6 @@ Key changes:
129
129
  3. Use explicit `configs:` with `MastraStorageExporter`, `MastraPlatformExporter`, and `SensitiveDataFilter`
130
130
  4. Export types change from string literals (`'otlp'`) to exporter class instances (`new OtelExporter()`)
131
131
 
132
- See the [exporters documentation](https://mastra.ai/docs/observability/integrations/overview) for all available exporters.
133
-
134
132
  ### From AI Tracing
135
133
 
136
134
  If you already upgraded to AI tracing (the intermediate system), you need to install the new package and use the explicit configuration.
@@ -294,7 +292,7 @@ To migrate, follow the "From OTEL-based Telemetry" section above. For detailed c
294
292
 
295
293
  The automatic detection of instrumentation files in `/mastra` (with `.ts`, `.js`, or `.mjs` extensions) has been removed. Custom instrumentation is no longer supported through separate files.
296
294
 
297
- To migrate, use the built-in exporter system or implement custom exporters using the `ObservabilityExporter` interface. See the [exporters documentation](https://mastra.ai/docs/observability/integrations/overview) for details.
295
+ To migrate, use the built-in exporter system or implement custom exporters using the `ObservabilityExporter` interface.
298
296
 
299
297
  ### `instrumentation.mjs` files
300
298
 
@@ -233,7 +233,6 @@ const customExporter = new CloudExporter({
233
233
  ### Documentation
234
234
 
235
235
  - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Complete guide
236
- - [Exporters](https://mastra.ai/docs/observability/integrations/overview): Exporter concepts
237
236
 
238
237
  ### Other Exporters
239
238
 
@@ -122,7 +122,6 @@ const exporterWithLogger = new ConsoleExporter({
122
122
  ### Documentation
123
123
 
124
124
  - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Complete guide
125
- - [Exporters](https://mastra.ai/docs/observability/integrations/overview): Exporter concepts
126
125
 
127
126
  ### Other Exporters
128
127
 
@@ -167,7 +167,6 @@ const customExporter = new DefaultExporter({
167
167
  ### Documentation
168
168
 
169
169
  - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Complete guide
170
- - [Exporters](https://mastra.ai/docs/observability/integrations/overview): Exporter concepts
171
170
 
172
171
  ### Other Exporters
173
172
 
@@ -262,7 +262,6 @@ The original `CloudExporter` is preserved unchanged so dashboards or alert rules
262
262
  ### Documentation
263
263
 
264
264
  - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Complete guide
265
- - [Exporters](https://mastra.ai/docs/observability/integrations/overview): Exporter concepts
266
265
 
267
266
  ### Other Exporters
268
267
 
@@ -181,7 +181,6 @@ The original `DefaultExporter` is preserved unchanged so dashboards or alert rul
181
181
  ### Documentation
182
182
 
183
183
  - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Complete guide
184
- - [Exporters](https://mastra.ai/docs/observability/integrations/overview): Exporter concepts
185
184
 
186
185
  ### Other Exporters
187
186
 
@@ -2,27 +2,50 @@
2
2
 
3
3
  # SensitiveDataFilter
4
4
 
5
- A SpanOutputProcessor that redacts sensitive information from span fields.
5
+ `SensitiveDataFilter` is a span output processor that redacts values whose field names match a configured list. [`Observability`](https://mastra.ai/reference/observability/tracing/configuration) applies it to plain observability configurations by default.
6
6
 
7
- ## Auto-applied by default
7
+ ## Usage example
8
8
 
9
- `Observability` automatically appends a `SensitiveDataFilter` to every configured instance's `spanOutputProcessors` so secrets are redacted before they reach exporters such as the Mastra cloud exporter. The filter runs last (after any user-provided processors) so that sensitive data introduced or surfaced by upstream processors is still redacted. You don't need to add it manually unless you want to customize its options.
10
-
11
- To opt out or customize the auto-applied filter, use the `sensitiveDataFilter` option on the [`Observability` registry config](https://mastra.ai/reference/observability/tracing/configuration):
9
+ Configure the automatically applied filter with the top-level `sensitiveDataFilter` option. The filter runs after user-provided span output processors so it can redact values they add or expose.
12
10
 
13
11
  ```typescript
14
- import { Observability } from '@mastra/observability'
12
+ import { Mastra } from '@mastra/core/mastra'
13
+ import { Observability, MastraStorageExporter } from '@mastra/observability'
14
+
15
+ export const mastra = new Mastra({
16
+ observability: new Observability({
17
+ configs: {
18
+ default: {
19
+ serviceName: 'my-service',
20
+ exporters: [new MastraStorageExporter()],
21
+ },
22
+ },
23
+ sensitiveDataFilter: {
24
+ sensitiveFields: ['password', 'authorization', 'customerSecret'],
25
+ redactionToken: '[HIDDEN]',
26
+ redactionStyle: 'full',
27
+ },
28
+ }),
29
+ })
30
+ ```
15
31
 
32
+ Passing `sensitiveFields` replaces the default field list. Include every default field you still want to redact.
33
+
34
+ To disable automatic filtering for all plain configurations, set `sensitiveDataFilter` to `false`:
35
+
36
+ ```typescript
16
37
  new Observability({
17
- configs: {/* ... */},
18
- // disable the auto-applied filter
38
+ configs: {
39
+ debug: {
40
+ serviceName: 'debug-service',
41
+ exporters: [new MastraStorageExporter()],
42
+ },
43
+ },
19
44
  sensitiveDataFilter: false,
20
- // or customize it
21
- // sensitiveDataFilter: { sensitiveFields: ['mySecret'], redactionStyle: 'partial' },
22
45
  })
23
46
  ```
24
47
 
25
- If a config already includes a `SensitiveDataFilter` in `spanOutputProcessors`, the auto-applied filter is skipped to avoid double redaction. Pre-instantiated `ObservabilityInstance` values aren't modified. Add a `SensitiveDataFilter` to their processors yourself if needed.
48
+ If a plain configuration already contains a `SensitiveDataFilter` in `spanOutputProcessors`, `Observability` uses that instance and doesn't add another. Pre-instantiated `ObservabilityInstance` values aren't modified. Add the processor when constructing those instances if they need filtering.
26
49
 
27
50
  ## Constructor
28
51
 
@@ -30,120 +53,82 @@ If a config already includes a `SensitiveDataFilter` in `spanOutputProcessors`,
30
53
  new SensitiveDataFilter(options?: SensitiveDataFilterOptions)
31
54
  ```
32
55
 
33
- ## `SensitiveDataFilterOptions`
56
+ **sensitiveFields** (`string[]`): Complete list of field names to redact. Matching is case-insensitive and ignores separators. Replaces the default list when provided. (Default: `['password', 'token', 'secret', 'key', 'apikey', 'auth', 'authorization', 'bearer', 'bearertoken', 'jwt', 'credential', 'clientsecret', 'privatekey', 'refresh', 'ssn']`)
57
+
58
+ **redactionToken** (`string`): Replacement value used for full redaction and short values under partial redaction. (Default: `'[REDACTED]'`)
59
+
60
+ **redactionStyle** (`'full' | 'partial'`): Controls whether matched values are fully or partially redacted. (Default: `'full'`)
34
61
 
35
62
  ```typescript
36
63
  interface SensitiveDataFilterOptions {
37
- /**
38
- * List of sensitive field names to redact.
39
- * Matching is case-insensitive and normalizes separators
40
- * (api-key, api_key, Api Key → apikey).
41
- * Defaults include: password, token, secret, key, apikey, auth,
42
- * authorization, bearer, bearertoken, jwt, credential,
43
- * clientsecret, privatekey, refresh, ssn.
44
- */
45
64
  sensitiveFields?: string[]
46
-
47
- /**
48
- * The token used for full redaction.
49
- * Default: "[REDACTED]"
50
- */
51
65
  redactionToken?: string
52
-
53
- /**
54
- * Style of redaction to use:
55
- * - "full": always replace with redactionToken
56
- * - "partial": show 3 characters from the start and end, redact the middle
57
- * Default: "full"
58
- */
59
66
  redactionStyle?: RedactionStyle
60
67
  }
61
- ```
62
-
63
- ## `RedactionStyle`
64
68
 
65
- ```typescript
66
69
  type RedactionStyle = 'full' | 'partial'
67
70
  ```
68
71
 
69
- ## Methods
70
-
71
- ### process
72
-
73
- ```typescript
74
- process(span: AnySpan): AnySpan
75
- ```
72
+ ## Redaction styles
76
73
 
77
- Process a span by filtering sensitive data across its key fields: attributes, metadata, input, output, and errorInfo.
74
+ ### Full redaction
78
75
 
79
- **Returns:** A new span with sensitive values redacted.
76
+ Full redaction replaces each matched primitive value with `redactionToken`.
80
77
 
81
- ### shutdown
78
+ ```jsonc
79
+ // Before
80
+ { "apiKey": "sk-abc123xyz789", "userId": "user_123" }
82
81
 
83
- ```typescript
84
- async shutdown(): Promise<void>
82
+ // After
83
+ { "apiKey": "[REDACTED]", "userId": "user_123" }
85
84
  ```
86
85
 
87
- No cleanup needed for this processor.
86
+ ### Partial redaction
88
87
 
89
- ## Properties
88
+ Partial redaction preserves the first and last three characters. Values with six or fewer characters use `redactionToken` instead. Non-string primitive values are converted to strings before redaction.
90
89
 
91
90
  ```typescript
92
- readonly name = 'sensitive-data-filter';
91
+ const filter = new SensitiveDataFilter({
92
+ redactionStyle: 'partial',
93
+ })
93
94
  ```
94
95
 
95
- ## Default sensitive fields
96
+ ```jsonc
97
+ // Before
98
+ { "apiKey": "sk-abc123xyz789" }
96
99
 
97
- When no custom fields are provided:
98
-
99
- ```typescript
100
- [
101
- 'password',
102
- 'token',
103
- 'secret',
104
- 'key',
105
- 'apikey',
106
- 'auth',
107
- 'authorization',
108
- 'bearer',
109
- 'bearertoken',
110
- 'jwt',
111
- 'credential',
112
- 'clientsecret',
113
- 'privatekey',
114
- 'refresh',
115
- 'ssn',
116
- ]
100
+ // After
101
+ { "apiKey": "sk-…789" }
117
102
  ```
118
103
 
119
- ## Processing behavior
104
+ ## Field matching
120
105
 
121
- ### Field Matching
106
+ Field names are lowercased and stripped of non-alphanumeric characters before comparison:
122
107
 
123
- - **Case-insensitive**: `APIKey`, `apikey`, `ApiKey` all match
108
+ - `api-key`, `api_key`, `Api Key`, and `apiKey` normalize to `apikey`.
109
+ - Matching is exact after normalization. `token` matches `Token`, but doesn't match `promptTokens`, `tokenCount`, or `authToken`.
124
110
 
125
- - **Separator-agnostic**: `api-key`, `api_key`, `apiKey` are treated identically
111
+ When a matched field contains an object or array, the filter traverses that value and redacts sensitive fields within it rather than replacing the complete structure.
126
112
 
127
- - **Exact matching**: After normalization, fields must match exactly
128
-
129
- - `token` matches `token`, `Token`, `TOKEN`
130
- - `token` doesn't match `promptTokens` or `tokenCount`
131
-
132
- ### Redaction Styles
133
-
134
- #### Full Redaction (default)
113
+ ## Processing behavior
135
114
 
136
- All matched values replaced with redactionToken.
115
+ `process()` filters these top-level span fields independently:
137
116
 
138
- #### Partial Redaction
117
+ - `attributes`
118
+ - `metadata`
119
+ - `input`
120
+ - `output`
121
+ - `errorInfo`
139
122
 
140
- - Shows first 3 and last 3 characters
141
- - Values ≤ 6 characters are fully redacted
142
- - Non-string values are converted to strings before partial redaction
123
+ Within each field, the processor:
143
124
 
144
- ### Error handling
125
+ - Traverses nested objects and arrays.
126
+ - Parses and filters JSON strings that contain objects or arrays. It then serializes the filtered value.
127
+ - Leaves invalid JSON strings unchanged.
128
+ - Preserves `Date` instances.
129
+ - Replaces repeated object references with `[Circular Reference]`.
145
130
 
146
- If filtering a field fails, the field is replaced with:
131
+ If filtering fails anywhere within one top-level span field, that complete field is replaced with this marker:
147
132
 
148
133
  ```typescript
149
134
  {
@@ -153,14 +138,41 @@ If filtering a field fails, the field is replaced with:
153
138
  }
154
139
  ```
155
140
 
156
- ### Processed Fields
141
+ ## Methods
142
+
143
+ ### Processing
157
144
 
158
- The filter recursively processes:
145
+ #### `process(span)`
159
146
 
160
- - `span.attributes` - Span metadata and properties
161
- - `span.metadata` - Custom metadata
162
- - `span.input` - Input data
163
- - `span.output` - Output data
164
- - `span.errorInfo` - Error information
147
+ Redacts the supported fields on the supplied span in place and returns the same span.
148
+
149
+ ```typescript
150
+ import type { AnySpan } from '@mastra/core/observability'
151
+ import { SensitiveDataFilter } from '@mastra/observability'
152
+
153
+ const filter = new SensitiveDataFilter()
154
+
155
+ export function redactSpan(span: AnySpan): AnySpan {
156
+ return filter.process(span)
157
+ }
158
+ ```
159
+
160
+ **span** (`AnySpan`): Span whose attributes, metadata, input, output, and error information are filtered.
161
+
162
+ Returns: `AnySpan`
163
+
164
+ ### Lifecycle
165
+
166
+ #### `shutdown()`
167
+
168
+ Completes processor shutdown. The current processor has no resources or state to clean up.
169
+
170
+ ```typescript
171
+ await filter.shutdown()
172
+ ```
173
+
174
+ Returns: `Promise<void>`
175
+
176
+ ## Properties
165
177
 
166
- Handles nested objects, arrays, and circular references safely.
178
+ **name** (`string`): Processor identifier. (Default: `'sensitive-data-filter'`)
@@ -94,4 +94,4 @@ If `spanFilter` throws an error, Mastra keeps the span and logs the error to avo
94
94
 
95
95
  - [Tracing overview](https://mastra.ai/docs/observability/tracing/overview) for setup and concepts
96
96
  - [Configuration API](https://mastra.ai/reference/observability/tracing/configuration) for `ObservabilityInstanceConfig`
97
- - [Sensitive data filter](https://mastra.ai/docs/observability/integrations/processors/sensitive-data-filter) for redacting span data
97
+ - [Sensitive data filter](https://mastra.ai/reference/observability/tracing/processors/sensitive-data-filter) for redacting span data
@@ -1,6 +1,6 @@
1
1
  > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
2
 
3
- # Storage overview
3
+ # Storage
4
4
 
5
5
  Mastra storage is organized into domains. Each domain owns a set of tables or collections. Depending on your adapter and configuration, you may use all domains or only a subset.
6
6
 
@@ -1,6 +1,6 @@
1
1
  > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
2
 
3
- # Overview
3
+ # Templates
4
4
 
5
5
  This reference explains how to use existing Mastra templates and create your own. It also covers contributing templates to the community ecosystem.
6
6
 
@@ -29,7 +29,7 @@ You can then use the following voice capabilities:
29
29
 
30
30
  Turn your agent's responses into natural-sounding speech using Mastra's TTS capabilities. Choose from multiple providers like OpenAI, ElevenLabs, and more.
31
31
 
32
- For detailed configuration options and advanced features, check out our [Text-to-Speech guide](https://mastra.ai/guides/voice/text-to-speech).
32
+ For detailed configuration options and advanced features, check out our [Text-to-Speech guide](https://mastra.ai/reference/voice/text-to-speech).
33
33
 
34
34
  **OpenAI**:
35
35
 
@@ -304,7 +304,7 @@ Visit the [Murf Voice Reference](https://mastra.ai/integrations/voice/murf) for
304
304
 
305
305
  ### Speech to Text (STT)
306
306
 
307
- Transcribe spoken content using providers like OpenAI, ElevenLabs, and more. For detailed configuration options and more, check out [Speech to Text](https://mastra.ai/guides/voice/speech-to-text).
307
+ Transcribe spoken content using providers like OpenAI, ElevenLabs, and more. For detailed configuration options and more, check out [Speech to Text](https://mastra.ai/reference/voice/speech-to-text).
308
308
 
309
309
  You can download a sample audio file from [here](https://github.com/mastra-ai/realtime-voice-demo/raw/refs/heads/main/how_can_i_help_you.mp3).
310
310
 
@@ -537,7 +537,7 @@ Visit the [Sarvam Voice Reference](https://mastra.ai/integrations/voice/sarvam)
537
537
 
538
538
  ### Speech to Speech (STS)
539
539
 
540
- Create conversational experiences with speech-to-speech capabilities. The unified API enables real-time voice interactions between users and AI agents. For detailed configuration options and advanced features, check out [Speech to Speech](https://mastra.ai/guides/voice/speech-to-speech).
540
+ Create conversational experiences with speech-to-speech capabilities. The unified API enables real-time voice interactions between users and AI agents. For detailed configuration options and advanced features, check out [Speech to Speech](https://mastra.ai/reference/voice/speech-to-speech).
541
541
 
542
542
  **OpenAI**:
543
543
 
@@ -54,7 +54,7 @@ const micStream = getMicrophoneStream()
54
54
  await agent.voice.send(micStream)
55
55
  ```
56
56
 
57
- For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/guides/voice/overview).
57
+ For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/reference/voice/overview).
58
58
 
59
59
  ## Use tools in realtime sessions
60
60
 
@@ -96,4 +96,4 @@ const transcription = await agent.voice.listen(audioStream, {
96
96
  console.log(`Transcription: ${transcription}`)
97
97
  ```
98
98
 
99
- For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/guides/voice/overview).
99
+ For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/reference/voice/overview).
@@ -4,7 +4,7 @@
4
4
 
5
5
  Text-to-Speech (TTS) in Mastra offers a unified API for synthesizing spoken audio from text using providers. By incorporating TTS into your applications, you can enhance user experience with natural voice interactions and improve accessibility for users with visual impairments, plus create more engaging multimodal interfaces.
6
6
 
7
- TTS is a core component of any voice application. Combined with STT (Speech-to-Text), it forms the foundation of voice interaction systems. Newer models support STS ([Speech-to-Speech](https://mastra.ai/guides/voice/speech-to-speech)) which can be used for real-time interactions but come at high cost ($).
7
+ TTS is a core component of any voice application. Combined with STT (Speech-to-Text), it forms the foundation of voice interaction systems. Newer models support STS ([Speech-to-Speech](https://mastra.ai/reference/voice/speech-to-speech)) which can be used for real-time interactions but come at high cost ($).
8
8
 
9
9
  ## Configuration
10
10
 
@@ -101,4 +101,4 @@ await new Promise<void>((resolve, reject) => {
101
101
  })
102
102
  ```
103
103
 
104
- For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/guides/voice/overview).
104
+ For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/reference/voice/overview).
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @mastra/mcp-docs-server
2
2
 
3
+ ## 1.2.16-alpha.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`aa3e7be`](https://github.com/mastra-ai/mastra/commit/aa3e7be30f8addb0278ea74429f4df054517a287), [`90822db`](https://github.com/mastra-ai/mastra/commit/90822dba08fb2169c518e4a6d7f127c098eb46b8), [`3700208`](https://github.com/mastra-ai/mastra/commit/37002080c7838267803a7e579a7d58b908d62f36), [`8b7131e`](https://github.com/mastra-ai/mastra/commit/8b7131eb0407f58f5205e68fb27b81f026488f28), [`79c4f82`](https://github.com/mastra-ai/mastra/commit/79c4f8295f568752eeadf8a9b50010a7d9ec06ae)]:
8
+ - @mastra/core@1.59.0-alpha.1
9
+
10
+ ## 1.2.16-alpha.0
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [[`088e41e`](https://github.com/mastra-ai/mastra/commit/088e41e434ed05f2c674b254f1034ec46a57a7be), [`b2f0013`](https://github.com/mastra-ai/mastra/commit/b2f0013375588d40c03c13e843b99c0ff8872ca5), [`3b541ae`](https://github.com/mastra-ai/mastra/commit/3b541ae5d410c52b80a7e381d84d021cddb9a449), [`ae79e34`](https://github.com/mastra-ai/mastra/commit/ae79e34c0bd8674fc24c7524217bfc4a051c6136), [`a6c4399`](https://github.com/mastra-ai/mastra/commit/a6c4399763590b3dae21a2c81826e89a3b1deee4)]:
15
+ - @mastra/core@1.59.0-alpha.0
16
+
3
17
  ## 1.2.15
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.15",
3
+ "version": "1.2.16-alpha.3",
4
4
  "description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -28,7 +28,7 @@
28
28
  "jsdom": "^26.1.0",
29
29
  "local-pkg": "^1.1.2",
30
30
  "zod": "^4.4.3",
31
- "@mastra/core": "1.58.0",
31
+ "@mastra/core": "1.59.0-alpha.1",
32
32
  "@mastra/mcp": "^1.16.0"
33
33
  },
34
34
  "devDependencies": {
@@ -46,8 +46,8 @@
46
46
  "typescript": "^6.0.3",
47
47
  "vitest": "4.1.10",
48
48
  "@internal/lint": "0.0.122",
49
- "@mastra/core": "1.58.0",
50
- "@internal/types-builder": "0.0.97"
49
+ "@internal/types-builder": "0.0.97",
50
+ "@mastra/core": "1.59.0-alpha.1"
51
51
  },
52
52
  "homepage": "https://mastra.ai",
53
53
  "repository": {