@mastra/mcp-docs-server 1.1.42-alpha.7 → 1.1.42

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 (142) hide show
  1. package/.docs/docs/agent-builder/memory.md +1 -1
  2. package/.docs/docs/agents/a2a.md +1 -1
  3. package/.docs/docs/agents/acp.md +4 -4
  4. package/.docs/docs/agents/adding-voice.md +7 -7
  5. package/.docs/docs/agents/agent-approval.md +1 -1
  6. package/.docs/docs/agents/background-tasks.md +2 -2
  7. package/.docs/docs/agents/channels.md +1 -1
  8. package/.docs/docs/agents/code-mode.md +3 -3
  9. package/.docs/docs/agents/guardrails.md +2 -2
  10. package/.docs/docs/agents/networks.md +1 -1
  11. package/.docs/docs/agents/overview.md +1 -1
  12. package/.docs/docs/agents/processors.md +3 -3
  13. package/.docs/docs/agents/response-caching.md +1 -1
  14. package/.docs/docs/agents/sdk-agents.md +261 -0
  15. package/.docs/docs/agents/signals.md +19 -3
  16. package/.docs/docs/agents/structured-output.md +5 -5
  17. package/.docs/docs/agents/supervisor-agents.md +2 -2
  18. package/.docs/docs/agents/using-tools.md +5 -5
  19. package/.docs/docs/browser/agent-browser.md +1 -1
  20. package/.docs/docs/browser/browser-viewer.md +1 -1
  21. package/.docs/docs/browser/overview.md +1 -1
  22. package/.docs/docs/browser/stagehand.md +5 -5
  23. package/.docs/docs/editor/overview.md +1 -1
  24. package/.docs/docs/evals/custom-scorers.md +1 -1
  25. package/.docs/docs/evals/datasets/running-experiments.md +1 -1
  26. package/.docs/docs/evals/overview.md +2 -2
  27. package/.docs/docs/mcp/mcp-apps.md +3 -3
  28. package/.docs/docs/mcp/overview.md +1 -1
  29. package/.docs/docs/memory/memory-processors.md +6 -6
  30. package/.docs/docs/memory/multi-user-threads.md +1 -1
  31. package/.docs/docs/memory/semantic-recall.md +1 -1
  32. package/.docs/docs/memory/storage.md +2 -1
  33. package/.docs/docs/memory/working-memory.md +1 -1
  34. package/.docs/docs/observability/tracing/exporters/langfuse.md +1 -1
  35. package/.docs/docs/observability/tracing/exporters/langsmith.md +2 -2
  36. package/.docs/docs/rag/graph-rag.md +2 -2
  37. package/.docs/docs/rag/retrieval.md +12 -12
  38. package/.docs/docs/server/auth/fga.md +2 -0
  39. package/.docs/docs/server/mastra-client.md +1 -1
  40. package/.docs/docs/server/request-context.md +3 -3
  41. package/.docs/docs/streaming/overview.md +1 -1
  42. package/.docs/docs/streaming/tool-streaming.md +1 -1
  43. package/.docs/docs/voice/overview.md +25 -25
  44. package/.docs/docs/voice/speech-to-speech.md +4 -4
  45. package/.docs/docs/voice/speech-to-text.md +1 -1
  46. package/.docs/docs/voice/text-to-speech.md +1 -1
  47. package/.docs/docs/workspace/filesystem.md +2 -2
  48. package/.docs/docs/workspace/overview.md +1 -1
  49. package/.docs/docs/workspace/sandbox.md +1 -1
  50. package/.docs/guides/build-your-ui/ai-sdk-ui.md +1 -1
  51. package/.docs/guides/guide/ai-recruiter.md +1 -1
  52. package/.docs/guides/guide/chef-michel.md +1 -1
  53. package/.docs/guides/guide/code-review-bot.md +1 -1
  54. package/.docs/guides/guide/dev-assistant.md +1 -1
  55. package/.docs/guides/guide/docs-manager.md +1 -1
  56. package/.docs/guides/guide/firecrawl.md +1 -1
  57. package/.docs/guides/guide/github-actions-pr-description.md +1 -1
  58. package/.docs/guides/guide/research-assistant.md +1 -1
  59. package/.docs/guides/guide/research-coordinator.md +2 -2
  60. package/.docs/guides/guide/slack-assistant.md +1 -1
  61. package/.docs/guides/guide/stock-agent.md +2 -2
  62. package/.docs/guides/guide/whatsapp-chat-bot.md +2 -2
  63. package/.docs/guides/migrations/agentnetwork.md +4 -4
  64. package/.docs/guides/migrations/upgrade-to-v1/agent.md +1 -1
  65. package/.docs/guides/migrations/vnext-to-standard-apis.md +2 -2
  66. package/.docs/reference/agents/agent.md +4 -4
  67. package/.docs/reference/agents/channels.md +47 -5
  68. package/.docs/reference/agents/generateLegacy.md +1 -1
  69. package/.docs/reference/agents/getLLM.md +2 -2
  70. package/.docs/reference/agents/getMetadata.md +2 -2
  71. package/.docs/reference/agents/network.md +1 -1
  72. package/.docs/reference/browser/agent-browser.md +1 -1
  73. package/.docs/reference/browser/browser-viewer.md +1 -1
  74. package/.docs/reference/browser/mastra-browser.md +1 -1
  75. package/.docs/reference/browser/stagehand-browser.md +5 -5
  76. package/.docs/reference/client-js/agents.md +19 -2
  77. package/.docs/reference/configuration.md +1 -1
  78. package/.docs/reference/evals/answer-relevancy.md +1 -1
  79. package/.docs/reference/evals/answer-similarity.md +1 -1
  80. package/.docs/reference/evals/bias.md +1 -1
  81. package/.docs/reference/evals/context-precision.md +3 -3
  82. package/.docs/reference/evals/context-relevance.md +11 -11
  83. package/.docs/reference/evals/faithfulness.md +1 -1
  84. package/.docs/reference/evals/hallucination.md +5 -5
  85. package/.docs/reference/evals/noise-sensitivity.md +11 -11
  86. package/.docs/reference/evals/prompt-alignment.md +15 -15
  87. package/.docs/reference/evals/tool-call-accuracy.md +3 -3
  88. package/.docs/reference/evals/toxicity.md +1 -1
  89. package/.docs/reference/memory/memory-class.md +3 -3
  90. package/.docs/reference/memory/observational-memory.md +4 -4
  91. package/.docs/reference/observability/tracing/exporters/langfuse.md +1 -1
  92. package/.docs/reference/processors/batch-parts-processor.md +1 -1
  93. package/.docs/reference/processors/cost-guard-processor.md +1 -1
  94. package/.docs/reference/processors/language-detector.md +1 -1
  95. package/.docs/reference/processors/message-history-processor.md +1 -1
  96. package/.docs/reference/processors/moderation-processor.md +2 -2
  97. package/.docs/reference/processors/pii-detector.md +2 -2
  98. package/.docs/reference/processors/prefill-error-handler.md +2 -2
  99. package/.docs/reference/processors/processor-interface.md +2 -2
  100. package/.docs/reference/processors/prompt-injection-detector.md +1 -1
  101. package/.docs/reference/processors/regex-filter-processor.md +1 -1
  102. package/.docs/reference/processors/semantic-recall-processor.md +1 -1
  103. package/.docs/reference/processors/skill-search-processor.md +1 -1
  104. package/.docs/reference/processors/system-prompt-scrubber.md +1 -1
  105. package/.docs/reference/processors/token-limiter-processor.md +3 -3
  106. package/.docs/reference/processors/tool-call-filter.md +2 -2
  107. package/.docs/reference/processors/tool-search-processor.md +2 -2
  108. package/.docs/reference/processors/unicode-normalizer.md +1 -1
  109. package/.docs/reference/processors/working-memory-processor.md +1 -1
  110. package/.docs/reference/rag/rerank.md +1 -1
  111. package/.docs/reference/server/nestjs-adapter.md +1 -1
  112. package/.docs/reference/server/routes.md +40 -13
  113. package/.docs/reference/storage/dsql.md +1 -1
  114. package/.docs/reference/storage/mongodb.md +1 -1
  115. package/.docs/reference/storage/postgresql.md +1 -1
  116. package/.docs/reference/storage/redis.md +1 -1
  117. package/.docs/reference/storage/spanner.md +5 -0
  118. package/.docs/reference/storage/upstash.md +1 -1
  119. package/.docs/reference/streaming/agents/stream.md +1 -1
  120. package/.docs/reference/templates/overview.md +1 -1
  121. package/.docs/reference/tools/mcp-client.md +2 -2
  122. package/.docs/reference/tools/mcp-server.md +33 -1
  123. package/.docs/reference/tools/vector-query-tool.md +1 -1
  124. package/.docs/reference/vectors/libsql.md +1 -1
  125. package/.docs/reference/vectors/mongodb.md +1 -1
  126. package/.docs/reference/vectors/pg.md +1 -1
  127. package/.docs/reference/vectors/upstash.md +1 -1
  128. package/.docs/reference/voice/google-gemini-live.md +15 -2
  129. package/.docs/reference/voice/voice.addInstructions.md +1 -1
  130. package/.docs/reference/workspace/agentfs-filesystem.md +1 -1
  131. package/.docs/reference/workspace/azure-blob-filesystem.md +1 -1
  132. package/.docs/reference/workspace/docker-sandbox.md +1 -1
  133. package/.docs/reference/workspace/e2b-sandbox.md +9 -5
  134. package/.docs/reference/workspace/files-sdk-filesystem.md +1 -1
  135. package/.docs/reference/workspace/gcs-filesystem.md +1 -1
  136. package/.docs/reference/workspace/google-drive-filesystem.md +1 -1
  137. package/.docs/reference/workspace/local-filesystem.md +1 -1
  138. package/.docs/reference/workspace/local-sandbox.md +1 -1
  139. package/.docs/reference/workspace/modal-sandbox.md +1 -1
  140. package/.docs/reference/workspace/s3-filesystem.md +1 -1
  141. package/CHANGELOG.md +37 -0
  142. package/package.json +6 -6
@@ -11,7 +11,7 @@ import { Agent } from '@mastra/core/agent'
11
11
  export const agent = new Agent({
12
12
  name: 'test-agent',
13
13
  instructions: 'You are an agent with memory.',
14
- model: 'openai/gpt-5.4',
14
+ model: 'openai/gpt-5.5',
15
15
  memory: new Memory({
16
16
  options: {
17
17
  workingMemory: {
@@ -60,7 +60,7 @@ import { LibSQLStore, LibSQLVector } from '@mastra/libsql'
60
60
  export const agent = new Agent({
61
61
  name: 'test-agent',
62
62
  instructions: 'You are an agent with memory.',
63
- model: 'openai/gpt-5.4',
63
+ model: 'openai/gpt-5.5',
64
64
  memory: new Memory({
65
65
  storage: new LibSQLStore({
66
66
  id: 'test-agent-storage',
@@ -97,7 +97,7 @@ import { PgStore, PgVector } from '@mastra/pg'
97
97
  export const agent = new Agent({
98
98
  name: 'pg-agent',
99
99
  instructions: 'You are an agent with optimized PostgreSQL memory.',
100
- model: 'openai/gpt-5.4',
100
+ model: 'openai/gpt-5.5',
101
101
  memory: new Memory({
102
102
  storage: new PgStore({
103
103
  id: 'pg-agent-storage',
@@ -181,7 +181,7 @@ import { Agent } from '@mastra/core/agent'
181
181
  export const agent = new Agent({
182
182
  name: 'my-agent',
183
183
  instructions: 'You are a helpful assistant.',
184
- model: 'openai/gpt-5.4',
184
+ model: 'openai/gpt-5.5',
185
185
  memory: new Memory({
186
186
  options: {
187
187
  observationalMemory: {
@@ -201,7 +201,7 @@ import { Agent } from '@mastra/core/agent'
201
201
  export const agent = new Agent({
202
202
  name: 'my-agent',
203
203
  instructions: 'You are a helpful assistant.',
204
- model: 'openai/gpt-5.4',
204
+ model: 'openai/gpt-5.5',
205
205
  memory: new Memory({
206
206
  options: {
207
207
  observationalMemory: {
@@ -228,7 +228,7 @@ import { Agent } from '@mastra/core/agent'
228
228
  export const agent = new Agent({
229
229
  name: 'health-assistant',
230
230
  instructions: 'You are a health and wellness assistant.',
231
- model: 'openai/gpt-5.4',
231
+ model: 'openai/gpt-5.5',
232
232
  memory: new Memory({
233
233
  options: {
234
234
  observationalMemory: {
@@ -677,7 +677,7 @@ const selector = new ModelByInputTokens({
677
677
  upTo: {
678
678
  10_000: 'google/gemini-2.5-flash', // Fast for small inputs
679
679
  40_000: 'openai/gpt-5-mini', // Stronger for medium inputs
680
- 1_000_000: 'openai/gpt-5.4', // Most capable for large inputs
680
+ 1_000_000: 'openai/gpt-5.5', // Most capable for large inputs
681
681
  },
682
682
  })
683
683
  ```
@@ -104,7 +104,7 @@ const prompt = await exporter.client.prompt.get('customer-support', { type: 'tex
104
104
  const agent = new Agent({
105
105
  name: 'support-agent',
106
106
  instructions: prompt.compile(),
107
- model: 'openai/gpt-5.4',
107
+ model: 'openai/gpt-5.5',
108
108
  defaultGenerateOptions: {
109
109
  tracingOptions: buildTracingOptions(
110
110
  withLangfusePrompt({ name: prompt.name, version: prompt.version }),
@@ -43,7 +43,7 @@ import { BatchPartsProcessor } from '@mastra/core/processors'
43
43
  export const agent = new Agent({
44
44
  name: 'batched-agent',
45
45
  instructions: 'You are a helpful assistant',
46
- model: 'openai/gpt-5.4',
46
+ model: 'openai/gpt-5.5',
47
47
  outputProcessors: [
48
48
  new BatchPartsProcessor({
49
49
  batchSize: 5,
@@ -56,7 +56,7 @@ costGuard.onViolation = ({ detail }) => {
56
56
 
57
57
  const agent = new Agent({
58
58
  name: 'my-agent',
59
- model: '__OPENAI_MODEL_NANO__',
59
+ model: 'openai/gpt-5-nano',
60
60
  processors: {
61
61
  input: [costGuard],
62
62
  },
@@ -60,7 +60,7 @@ export const agent = new Agent({
60
60
  id: 'multilingual-agent',
61
61
  name: 'multilingual-agent',
62
62
  instructions: 'You are a helpful assistant',
63
- model: 'openai/gpt-5.4',
63
+ model: 'openai/gpt-5.5',
64
64
  inputProcessors: [
65
65
  new LanguageDetector({
66
66
  model: 'openrouter/openai/gpt-oss-safeguard-20b',
@@ -45,7 +45,7 @@ const storage = new PostgresStorage({
45
45
  export const agent = new Agent({
46
46
  name: 'memory-agent',
47
47
  instructions: 'You are a helpful assistant with conversation memory',
48
- model: 'openai/gpt-5.4',
48
+ model: 'openai/gpt-5.5',
49
49
  inputProcessors: [
50
50
  new MessageHistory({
51
51
  storage,
@@ -59,7 +59,7 @@ import { ModerationProcessor } from '@mastra/core/processors'
59
59
  export const agent = new Agent({
60
60
  name: 'moderated-agent',
61
61
  instructions: 'You are a helpful assistant',
62
- model: 'openai/gpt-5.4',
62
+ model: 'openai/gpt-5.5',
63
63
  inputProcessors: [
64
64
  new ModerationProcessor({
65
65
  model: 'openrouter/openai/gpt-oss-safeguard-20b',
@@ -84,7 +84,7 @@ import { BatchPartsProcessor, ModerationProcessor } from '@mastra/core/processor
84
84
  export const agent = new Agent({
85
85
  name: 'output-moderated-agent',
86
86
  instructions: 'You are a helpful assistant',
87
- model: 'openai/gpt-5.4',
87
+ model: 'openai/gpt-5.5',
88
88
  outputProcessors: [
89
89
  // Batch stream parts first to reduce LLM calls
90
90
  new BatchPartsProcessor({
@@ -61,7 +61,7 @@ import { PIIDetector } from '@mastra/core/processors'
61
61
  export const agent = new Agent({
62
62
  name: 'private-agent',
63
63
  instructions: 'You are a helpful assistant',
64
- model: 'openai/gpt-5.4',
64
+ model: 'openai/gpt-5.5',
65
65
  inputProcessors: [
66
66
  new PIIDetector({
67
67
  model: 'openrouter/openai/gpt-oss-safeguard-20b',
@@ -89,7 +89,7 @@ import { BatchPartsProcessor, PIIDetector } from '@mastra/core/processors'
89
89
  export const agent = new Agent({
90
90
  name: 'output-pii-agent',
91
91
  instructions: 'You are a helpful assistant',
92
- model: 'openai/gpt-5.4',
92
+ model: 'openai/gpt-5.5',
93
93
  outputProcessors: [
94
94
  // Batch stream parts first to reduce LLM calls
95
95
  new BatchPartsProcessor({
@@ -26,7 +26,7 @@ import { PrefillErrorHandler } from '@mastra/core/processors'
26
26
  export const agent = new Agent({
27
27
  name: 'my-agent',
28
28
  instructions: 'You are a helpful assistant.',
29
- model: 'anthropic/claude-opus-4-6',
29
+ model: 'anthropic/claude-opus-4-7',
30
30
  errorProcessors: [new PrefillErrorHandler()],
31
31
  })
32
32
  ```
@@ -47,7 +47,7 @@ const customErrorHandler: Processor = {
47
47
  export const agent = new Agent({
48
48
  name: 'my-agent',
49
49
  instructions: 'You are a helpful assistant.',
50
- model: 'anthropic/claude-opus-4-6',
50
+ model: 'anthropic/claude-opus-4-7',
51
51
  errorProcessors: [customErrorHandler],
52
52
  })
53
53
  ```
@@ -318,7 +318,7 @@ processInputStep?<TTripwireMetadata = unknown>(
318
318
 
319
319
  The object form can return any combination of these properties:
320
320
 
321
- **model** (`LanguageModelV2 | string`): Change the model for this step. Can be a model instance or router ID like '\_\_GATEWAY\_OPENAI\_MODEL\_\_'.
321
+ **model** (`LanguageModelV2 | string`): Change the model for this step. Can be a model instance or router ID like 'openai/gpt-5.5'.
322
322
 
323
323
  **toolChoice** (`ToolChoice`): Change tool selection behavior for this step.
324
324
 
@@ -778,7 +778,7 @@ export class DynamicModelProcessor implements Processor {
778
778
 
779
779
  // Switch to powerful model after tool calls
780
780
  if (steps.length > 0 && steps[steps.length - 1].toolCalls?.length) {
781
- return { model: 'openai/gpt-5.4' }
781
+ return { model: 'openai/gpt-5.5' }
782
782
  }
783
783
 
784
784
  // Disable tools after 5 steps to force completion
@@ -53,7 +53,7 @@ import { PromptInjectionDetector } from '@mastra/core/processors'
53
53
  export const agent = new Agent({
54
54
  name: 'secure-agent',
55
55
  instructions: 'You are a helpful assistant',
56
- model: 'openai/gpt-5.4',
56
+ model: 'openai/gpt-5.5',
57
57
  inputProcessors: [
58
58
  new PromptInjectionDetector({
59
59
  model: 'openrouter/openai/gpt-oss-safeguard-20b',
@@ -49,7 +49,7 @@ import { RegexFilterProcessor } from '@mastra/core/processors'
49
49
 
50
50
  const agent = new Agent({
51
51
  name: 'my-agent',
52
- model: '__OPENAI_MODEL_NANO__',
52
+ model: 'openai/gpt-5-nano',
53
53
  processors: {
54
54
  input: [
55
55
  new RegexFilterProcessor({
@@ -82,7 +82,7 @@ const semanticRecall = new SemanticRecall({
82
82
  export const agent = new Agent({
83
83
  name: 'semantic-memory-agent',
84
84
  instructions: 'You are a helpful assistant with semantic memory recall',
85
- model: 'openai/gpt-5.4',
85
+ model: 'openai/gpt-5.5',
86
86
  inputProcessors: [semanticRecall, new MessageHistory({ storage, lastMessages: 50 })],
87
87
  outputProcessors: [semanticRecall, new MessageHistory({ storage })],
88
88
  })
@@ -74,7 +74,7 @@ const agent = new Agent({
74
74
  name: 'skill-agent',
75
75
  instructions:
76
76
  'You are a helpful assistant. Use search_skills to find relevant skills, then load_skill to load their instructions.',
77
- model: 'openai/gpt-5.4',
77
+ model: 'openai/gpt-5.5',
78
78
  workspace,
79
79
  inputProcessors: [skillSearch],
80
80
  })
@@ -57,7 +57,7 @@ import { BatchPartsProcessor, SystemPromptScrubber } from '@mastra/core/processo
57
57
  export const agent = new Agent({
58
58
  name: 'scrubbed-agent',
59
59
  instructions: 'You are a helpful assistant',
60
- model: 'openai/gpt-5.4',
60
+ model: 'openai/gpt-5.5',
61
61
  outputProcessors: [
62
62
  // Batch stream parts first to reduce LLM calls
63
63
  new BatchPartsProcessor({
@@ -81,7 +81,7 @@ import { TokenLimiterProcessor } from '@mastra/core/processors'
81
81
  export const agent = new Agent({
82
82
  name: 'context-limited-agent',
83
83
  instructions: 'You are a helpful assistant',
84
- model: 'openai/gpt-5.4',
84
+ model: 'openai/gpt-5.5',
85
85
  memory: new Memory({
86
86
  /* ... */
87
87
  }),
@@ -102,7 +102,7 @@ import { TokenLimiterProcessor } from '@mastra/core/processors'
102
102
  export const agent = new Agent({
103
103
  name: 'multi-step-agent',
104
104
  instructions: 'You are a helpful research assistant with access to tools',
105
- model: 'openai/gpt-5.4',
105
+ model: 'openai/gpt-5.5',
106
106
  inputProcessors: [
107
107
  new TokenLimiterProcessor({ limit: 8000 }), // Applied at every step
108
108
  ],
@@ -125,7 +125,7 @@ import { TokenLimiterProcessor } from '@mastra/core/processors'
125
125
  export const agent = new Agent({
126
126
  name: 'response-limited-agent',
127
127
  instructions: 'You are a helpful assistant',
128
- model: 'openai/gpt-5.4',
128
+ model: 'openai/gpt-5.5',
129
129
  outputProcessors: [
130
130
  new TokenLimiterProcessor({
131
131
  limit: 1000,
@@ -90,7 +90,7 @@ import { ToolCallFilter } from '@mastra/core/processors'
90
90
  export const agent = new Agent({
91
91
  name: 'filtered-agent',
92
92
  instructions: 'You are a helpful assistant',
93
- model: 'openai/gpt-5.4',
93
+ model: 'openai/gpt-5.5',
94
94
  tools: {
95
95
  searchDatabase,
96
96
  sendEmail,
@@ -115,7 +115,7 @@ import { ToolCallFilter } from '@mastra/core/processors'
115
115
  export const agent = new Agent({
116
116
  name: 'no-tools-context-agent',
117
117
  instructions: 'You are a helpful assistant',
118
- model: 'openai/gpt-5.4',
118
+ model: 'openai/gpt-5.5',
119
119
  tools: {
120
120
  searchDatabase,
121
121
  sendEmail,
@@ -101,7 +101,7 @@ const agent = new Agent({
101
101
  name: 'dynamic-tools-agent',
102
102
  instructions:
103
103
  'You are a helpful assistant with access to many tools. Use search_tools to find relevant tools, then load_tool to make them available.',
104
- model: 'openai/gpt-5.4',
104
+ model: 'openai/gpt-5.5',
105
105
  inputProcessors: [toolSearch],
106
106
  })
107
107
  ```
@@ -122,7 +122,7 @@ import { ToolSearchProcessor, TokenLimiter } from '@mastra/core/processors'
122
122
 
123
123
  const agent = new Agent({
124
124
  name: 'my-agent',
125
- model: 'openai/gpt-5.4',
125
+ model: 'openai/gpt-5.5',
126
126
  inputProcessors: [
127
127
  new ToolSearchProcessor({
128
128
  tools: allTools,
@@ -43,7 +43,7 @@ export const agent = new Agent({
43
43
  id: 'normalized-agent',
44
44
  name: 'normalized-agent',
45
45
  instructions: 'You are a helpful assistant',
46
- model: 'openai/gpt-5.4',
46
+ model: 'openai/gpt-5.5',
47
47
  inputProcessors: [
48
48
  new UnicodeNormalizer({
49
49
  stripControlChars: true,
@@ -67,7 +67,7 @@ const storage = new PostgresStorage({
67
67
  export const agent = new Agent({
68
68
  name: 'personalized-agent',
69
69
  instructions: 'You are a helpful assistant that remembers user preferences',
70
- model: 'openai/gpt-5.4',
70
+ model: 'openai/gpt-5.5',
71
71
  inputProcessors: [
72
72
  new WorkingMemory({
73
73
  storage,
@@ -16,7 +16,7 @@ function rerank(
16
16
  ```typescript
17
17
  import { rerank } from '@mastra/rag'
18
18
 
19
- const model = 'openai/gpt-5.4'
19
+ const model = 'openai/gpt-5.5'
20
20
 
21
21
  const rerankedResults = await rerank(vectorSearchResults, 'How do I deploy to production?', model, {
22
22
  weights: {
@@ -114,7 +114,7 @@ import { Mastra } from '@mastra/core/mastra'
114
114
  greeter: {
115
115
  name: 'greeter',
116
116
  description: 'Greets the user',
117
- model: config.get('MASTRA_MODEL', '__OPENAI_MODEL_MINI__'),
117
+ model: config.get('MASTRA_MODEL', 'openai/gpt-5-mini'),
118
118
  },
119
119
  },
120
120
  }),
@@ -4,19 +4,20 @@ Server adapters register these routes when you call `server.init()`. All routes
4
4
 
5
5
  ## Agents
6
6
 
7
- | Method | Path | Description |
8
- | ------ | -------------------------------------------- | ----------------------------------------------------- |
9
- | `GET` | `/api/agents` | List all agents |
10
- | `GET` | `/api/agents/:agentId` | Get agent by ID (supports version query params) |
11
- | `POST` | `/api/agents/:agentId/generate` | Generate agent response |
12
- | `POST` | `/api/agents/:agentId/stream` | Stream agent response |
13
- | `POST` | `/api/agents/:agentId/send-message` | Send a user message to an active or idle thread |
14
- | `POST` | `/api/agents/:agentId/queue-message` | Queue a user message for the next thread turn |
15
- | `POST` | `/api/agents/:agentId/signals` | Send a lower-level signal to an active or idle thread |
16
- | `POST` | `/api/agents/:agentId/subscribe-thread` | Subscribe to a thread stream |
17
- | `POST` | `/api/agents/:agentId/resume-stream` | Resume a suspended agent stream with custom data |
18
- | `GET` | `/api/agents/:agentId/tools` | List agent tools |
19
- | `POST` | `/api/agents/:agentId/tools/:toolId/execute` | Execute agent tool |
7
+ | Method | Path | Description |
8
+ | ------ | -------------------------------------------- | ----------------------------------------------------------------------- |
9
+ | `GET` | `/api/agents` | List all agents |
10
+ | `GET` | `/api/agents/:agentId` | Get agent by ID (supports version query params) |
11
+ | `POST` | `/api/agents/:agentId/generate` | Generate agent response |
12
+ | `POST` | `/api/agents/:agentId/stream` | Stream agent response |
13
+ | `POST` | `/api/agents/:agentId/send-message` | Send a user message to an active or idle thread |
14
+ | `POST` | `/api/agents/:agentId/queue-message` | Queue a user message for the next thread turn |
15
+ | `POST` | `/api/agents/:agentId/signals` | Send a lower-level signal to an active or idle thread |
16
+ | `POST` | `/api/agents/:agentId/threads/subscribe` | Subscribe to a thread stream |
17
+ | `POST` | `/api/agents/:agentId/send-tool-approval` | Approve or decline a tool call and resume through a thread subscription |
18
+ | `POST` | `/api/agents/:agentId/resume-stream` | Resume a suspended agent stream with custom data |
19
+ | `GET` | `/api/agents/:agentId/tools` | List agent tools |
20
+ | `POST` | `/api/agents/:agentId/tools/:toolId/execute` | Execute agent tool |
20
21
 
21
22
  ### Get agent query parameters
22
23
 
@@ -140,6 +141,32 @@ Both routes return:
140
141
  }
141
142
  ```
142
143
 
144
+ ### Subscription tool approval routes
145
+
146
+ Use `POST /api/agents/:agentId/send-tool-approval` when the client already has an active thread subscription. The route resumes the run and returns a JSON acknowledgement. Resumed stream chunks are delivered through `POST /api/agents/:agentId/threads/subscribe`.
147
+
148
+ The route accepts this request body:
149
+
150
+ ```typescript
151
+ {
152
+ resourceId: string;
153
+ threadId: string;
154
+ toolCallId: string;
155
+ approved: boolean;
156
+ requestContext?: Record<string, unknown>;
157
+ }
158
+ ```
159
+
160
+ The route returns:
161
+
162
+ ```typescript
163
+ {
164
+ accepted: true;
165
+ runId: string;
166
+ toolCallId?: string;
167
+ }
168
+ ```
169
+
143
170
  ## Workflows
144
171
 
145
172
  | Method | Path | Description |
@@ -241,7 +241,7 @@ export const dsqlAgent = new Agent({
241
241
  name: 'DSQL Agent',
242
242
  instructions:
243
243
  'You are an AI agent with the ability to automatically recall memories from previous interactions.',
244
- model: 'openai/gpt-5.4',
244
+ model: 'openai/gpt-5.5',
245
245
  memory: new Memory({
246
246
  storage: new DSQLStore({
247
247
  id: 'dsql-agent-storage',
@@ -206,7 +206,7 @@ export const mongodbAgent = new Agent({
206
206
  name: 'mongodb-agent',
207
207
  instructions:
208
208
  'You are an AI agent with the ability to automatically recall memories from previous interactions.',
209
- model: 'openai/gpt-5.4',
209
+ model: 'openai/gpt-5.5',
210
210
  memory: new Memory({
211
211
  storage: new MongoDBStore({
212
212
  uri: process.env.MONGODB_URI!,
@@ -332,7 +332,7 @@ export const pgAgent = new Agent({
332
332
  name: 'PG Agent',
333
333
  instructions:
334
334
  'You are an AI agent with the ability to automatically recall memories from previous interactions.',
335
- model: 'openai/gpt-5.4',
335
+ model: 'openai/gpt-5.5',
336
336
  memory: new Memory({
337
337
  storage: new PostgresStore({
338
338
  id: 'pg-agent-storage',
@@ -181,7 +181,7 @@ export const redisAgent = new Agent({
181
181
  name: 'Redis Agent',
182
182
  instructions:
183
183
  'You are an AI agent with the ability to automatically recall memories from previous interactions.',
184
- model: 'openai/gpt-5.4',
184
+ model: 'openai/gpt-5.5',
185
185
  memory: new Memory({
186
186
  storage: new RedisStore({
187
187
  id: 'redis-agent-storage',
@@ -122,6 +122,11 @@ The storage adapter creates the following tables, all using the GoogleSQL dialec
122
122
  - `mastra_prompt_blocks` / `mastra_prompt_block_versions`: prompt block records and versioned content snapshots (template content, rules, request-context schema)
123
123
  - `mastra_scorer_definitions` / `mastra_scorer_definition_versions`: scorer definition records and versioned config snapshots (judge instructions, model, score range, preset config, default sampling)
124
124
  - `mastra_schedules` / `mastra_schedule_triggers`: cron-driven workflow schedules and trigger history, consumed by Mastra's built-in `WorkflowScheduler`
125
+ - `mastra_workspaces` / `mastra_workspace_versions`: workspace records and versioned configuration snapshots (filesystem, sandbox, mounts, search, skills, tools)
126
+ - `mastra_datasets` / `mastra_dataset_items` / `mastra_dataset_versions`: evaluation datasets, SCD-2 versioned items, and version snapshots
127
+ - `mastra_experiments` / `mastra_experiment_results`: experiment runs and their per-item results
128
+ - `mastra_favorites`: per-user favorites for agents and skills, with denormalized `favoriteCount` maintained on the parent record
129
+ - `mastra_channel_installations` / `mastra_channel_config`: multi-platform channel installations and per-platform configuration
125
130
  - `mastra_ai_spans`: AI tracing spans for observability (per-trace and per-span records, used to power the Studio traces UI)
126
131
 
127
132
  Tables are created with `STRING(MAX)` for text and JSON payloads, `INT64`, `FLOAT64`, `BOOL`, and `TIMESTAMP`.
@@ -103,7 +103,7 @@ export const upstashAgent = new Agent({
103
103
  name: 'Upstash Agent',
104
104
  instructions:
105
105
  'You are an AI agent with the ability to automatically recall memories from previous interactions.',
106
- model: 'openai/gpt-5.4',
106
+ model: 'openai/gpt-5.5',
107
107
  memory: new Memory({
108
108
  storage: new UpstashStore({
109
109
  id: 'upstash-agent-storage',
@@ -322,7 +322,7 @@ await agent.stream('message for agent', {
322
322
  sentiment: z.enum(['positive', 'negative', 'neutral']),
323
323
  confidence: z.number(),
324
324
  }),
325
- model: 'openai/gpt-5.4',
325
+ model: 'openai/gpt-5.5',
326
326
  errorStrategy: 'warn',
327
327
  },
328
328
  // Output processors for streaming response validation
@@ -192,7 +192,7 @@ import { Agent } from '@mastra/core/agent'
192
192
 
193
193
  const agent = new Agent({
194
194
  name: 'example-agent',
195
- model: 'openai/gpt-5.4', // or other provider strings
195
+ model: 'openai/gpt-5.5', // or other provider strings
196
196
  instructions: 'Your agent instructions here',
197
197
  })
198
198
  ```
@@ -890,7 +890,7 @@ const agent = new Agent({
890
890
  id: 'multi-tool-agent',
891
891
  name: 'Multi-tool Agent',
892
892
  instructions: 'You have access to multiple tool servers.',
893
- model: 'openai/gpt-5.4',
893
+ model: 'openai/gpt-5.5',
894
894
  tools: await mcp.listTools(),
895
895
  })
896
896
 
@@ -941,7 +941,7 @@ const agent = new Agent({
941
941
  id: 'multi-tool-agent',
942
942
  name: 'Multi-tool Agent',
943
943
  instructions: 'You help users check stocks and weather.',
944
- model: 'openai/gpt-5.4',
944
+ model: 'openai/gpt-5.5',
945
945
  })
946
946
 
947
947
  // Later, configure MCP with user-specific settings
@@ -22,7 +22,7 @@ const myAgent = new Agent({
22
22
  name: 'MyExampleAgent',
23
23
  description: 'A generalist to help with basic questions.',
24
24
  instructions: 'You are a helpful assistant.',
25
- model: 'openai/gpt-5.4',
25
+ model: 'openai/gpt-5.5',
26
26
  })
27
27
 
28
28
  const weatherTool = createTool({
@@ -67,6 +67,8 @@ The constructor accepts an `MCPServerConfig` object with the following propertie
67
67
 
68
68
  **instructions** (`string`): Optional instructions describing how to use the server and its features.
69
69
 
70
+ **mapAuthInfoToUser** (`({ authInfo, extra, requestContext }) => unknown | null | undefined | Promise<unknown | null | undefined>`): Maps MCP transport auth data from \`extra.authInfo\` into the \`user\` value used by Mastra FGA checks. Use this when an OAuth-protected MCP server is registered on a Mastra instance with an FGA provider.
71
+
70
72
  **repository** (`Repository`): Optional repository information for the server's source code.
71
73
 
72
74
  **releaseDate** (`string`): Optional release date of this server version (ISO 8601 string). Defaults to the time of instantiation if not provided.
@@ -1097,6 +1099,36 @@ Whatever you set on `req.auth` in your HTTP middleware becomes available as `con
1097
1099
  req.auth = { ... } → context?.mcp?.extra?.authInfo.extra = { ... }
1098
1100
  ```
1099
1101
 
1102
+ ### Map auth data for FGA
1103
+
1104
+ When an `MCPServer` is registered on a Mastra instance with a fine-grained authorization (FGA) provider, Mastra checks `requestContext.get('user')` before listing or calling tools. HTTP MCP transports pass authenticated data as `extra.authInfo`, so use `mapAuthInfoToUser` to set the user shape expected by your FGA provider.
1105
+
1106
+ ```typescript
1107
+ const server = new MCPServer({
1108
+ id: 'my-server',
1109
+ name: 'My Server',
1110
+ version: '1.0.0',
1111
+ tools: { getUserData },
1112
+ mapAuthInfoToUser: ({ authInfo }) => {
1113
+ const user = authInfo as {
1114
+ extra?: {
1115
+ userId?: string
1116
+ organizationMembershipId?: string
1117
+ }
1118
+ }
1119
+
1120
+ if (!user.extra?.userId) {
1121
+ return null
1122
+ }
1123
+
1124
+ return {
1125
+ id: user.extra.userId,
1126
+ organizationMembershipId: user.extra.organizationMembershipId,
1127
+ }
1128
+ },
1129
+ })
1130
+ ```
1131
+
1100
1132
  ### Setting Up Authentication Middleware
1101
1133
 
1102
1134
  To pass data to your tools, populate `req.auth` on the Node.js request object in your HTTP server middleware before calling `server.startHTTP()`.
@@ -142,7 +142,7 @@ const queryTool = createVectorQueryTool({
142
142
  indexName: 'documentation',
143
143
  model: new ModelRouterEmbeddingModel('openai/text-embedding-3-small'),
144
144
  reranker: {
145
- model: 'openai/gpt-5.4',
145
+ model: 'openai/gpt-5.5',
146
146
  options: {
147
147
  weights: {
148
148
  semantic: 0.5, // Semantic relevance weight
@@ -277,7 +277,7 @@ export const libsqlAgent = new Agent({
277
277
  name: 'libSQL Agent',
278
278
  instructions:
279
279
  'You are an AI agent with the ability to automatically recall memories from previous interactions.',
280
- model: 'openai/gpt-5.4',
280
+ model: 'openai/gpt-5.5',
281
281
  memory: new Memory({
282
282
  storage: new LibSQLStore({
283
283
  id: 'libsql-agent-storage',
@@ -263,7 +263,7 @@ export const mongodbAgent = new Agent({
263
263
  name: 'mongodb-agent',
264
264
  instructions:
265
265
  'You are an AI agent with the ability to automatically recall memories from previous interactions.',
266
- model: 'openai/gpt-5.4',
266
+ model: 'openai/gpt-5.5',
267
267
  memory: new Memory({
268
268
  storage: new MongoDBStore({
269
269
  id: 'mongodb-storage',
@@ -401,7 +401,7 @@ export const pgAgent = new Agent({
401
401
  name: 'PG Agent',
402
402
  instructions:
403
403
  'You are an AI agent with the ability to automatically recall memories from previous interactions.',
404
- model: 'openai/gpt-5.4',
404
+ model: 'openai/gpt-5.5',
405
405
  memory: new Memory({
406
406
  storage: new PostgresStore({
407
407
  id: 'pg-agent-storage',
@@ -265,7 +265,7 @@ export const upstashAgent = new Agent({
265
265
  name: 'Upstash Agent',
266
266
  instructions:
267
267
  'You are an AI agent with the ability to automatically recall memories from previous interactions.',
268
- model: 'openai/gpt-5.4',
268
+ model: 'openai/gpt-5.5',
269
269
  memory: new Memory({
270
270
  storage: new UpstashStore({
271
271
  id: 'upstash-agent-storage',