@mastra/mcp-docs-server 0.0.0-commonjs-20250414101718

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 (254) hide show
  1. package/.docs/organized/changelogs/%40mastra%2Fastra.md +302 -0
  2. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +302 -0
  3. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +161 -0
  4. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +302 -0
  5. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +110 -0
  6. package/.docs/organized/changelogs/%40mastra%2Fcore.md +302 -0
  7. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +302 -0
  8. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +302 -0
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +302 -0
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +302 -0
  11. package/.docs/organized/changelogs/%40mastra%2Fevals.md +302 -0
  12. package/.docs/organized/changelogs/%40mastra%2Ffirecrawl.md +302 -0
  13. package/.docs/organized/changelogs/%40mastra%2Fgithub.md +302 -0
  14. package/.docs/organized/changelogs/%40mastra%2Floggers.md +302 -0
  15. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +302 -0
  16. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +26 -0
  17. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +302 -0
  18. package/.docs/organized/changelogs/%40mastra%2Fmem0.md +196 -0
  19. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +302 -0
  20. package/.docs/organized/changelogs/%40mastra%2Fpg.md +302 -0
  21. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +302 -0
  22. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +302 -0
  23. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +302 -0
  24. package/.docs/organized/changelogs/%40mastra%2Frag.md +302 -0
  25. package/.docs/organized/changelogs/%40mastra%2Fragie.md +302 -0
  26. package/.docs/organized/changelogs/%40mastra%2Fserver.md +302 -0
  27. package/.docs/organized/changelogs/%40mastra%2Fspeech-azure.md +302 -0
  28. package/.docs/organized/changelogs/%40mastra%2Fspeech-deepgram.md +302 -0
  29. package/.docs/organized/changelogs/%40mastra%2Fspeech-elevenlabs.md +302 -0
  30. package/.docs/organized/changelogs/%40mastra%2Fspeech-google.md +302 -0
  31. package/.docs/organized/changelogs/%40mastra%2Fspeech-ibm.md +302 -0
  32. package/.docs/organized/changelogs/%40mastra%2Fspeech-murf.md +302 -0
  33. package/.docs/organized/changelogs/%40mastra%2Fspeech-openai.md +302 -0
  34. package/.docs/organized/changelogs/%40mastra%2Fspeech-playai.md +302 -0
  35. package/.docs/organized/changelogs/%40mastra%2Fspeech-replicate.md +302 -0
  36. package/.docs/organized/changelogs/%40mastra%2Fspeech-speechify.md +302 -0
  37. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +302 -0
  38. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +302 -0
  39. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +302 -0
  40. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +250 -0
  41. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +250 -0
  42. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +302 -0
  43. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +302 -0
  44. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +302 -0
  45. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +302 -0
  46. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +302 -0
  47. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +302 -0
  48. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +302 -0
  49. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +302 -0
  50. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +302 -0
  51. package/.docs/organized/changelogs/create-mastra.md +302 -0
  52. package/.docs/organized/changelogs/mastra.md +302 -0
  53. package/.docs/organized/code-examples/agent-network.md +282 -0
  54. package/.docs/organized/code-examples/agent.md +388 -0
  55. package/.docs/organized/code-examples/ai-sdk-useChat.md +378 -0
  56. package/.docs/organized/code-examples/assistant-ui.md +37 -0
  57. package/.docs/organized/code-examples/bird-checker-with-express.md +235 -0
  58. package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +360 -0
  59. package/.docs/organized/code-examples/bird-checker-with-nextjs.md +250 -0
  60. package/.docs/organized/code-examples/client-side-tools.md +69 -0
  61. package/.docs/organized/code-examples/crypto-chatbot.md +96 -0
  62. package/.docs/organized/code-examples/fireworks-r1.md +159 -0
  63. package/.docs/organized/code-examples/mcp-registry-registry.md +63 -0
  64. package/.docs/organized/code-examples/memory-todo-agent.md +164 -0
  65. package/.docs/organized/code-examples/memory-with-context.md +167 -0
  66. package/.docs/organized/code-examples/memory-with-libsql.md +204 -0
  67. package/.docs/organized/code-examples/memory-with-mem0.md +121 -0
  68. package/.docs/organized/code-examples/memory-with-pg.md +224 -0
  69. package/.docs/organized/code-examples/memory-with-upstash.md +268 -0
  70. package/.docs/organized/code-examples/quick-start.md +129 -0
  71. package/.docs/organized/code-examples/stock-price-tool.md +124 -0
  72. package/.docs/organized/code-examples/weather-agent.md +353 -0
  73. package/.docs/organized/code-examples/workflow-ai-recruiter.md +159 -0
  74. package/.docs/organized/code-examples/workflow-with-inline-steps.md +111 -0
  75. package/.docs/organized/code-examples/workflow-with-memory.md +393 -0
  76. package/.docs/organized/code-examples/workflow-with-separate-steps.md +131 -0
  77. package/.docs/raw/agents/adding-tools.mdx +317 -0
  78. package/.docs/raw/agents/adding-voice.mdx +175 -0
  79. package/.docs/raw/agents/agent-memory.mdx +62 -0
  80. package/.docs/raw/agents/mcp-guide.mdx +215 -0
  81. package/.docs/raw/agents/overview.mdx +303 -0
  82. package/.docs/raw/community/discord.mdx +12 -0
  83. package/.docs/raw/community/licensing.mdx +63 -0
  84. package/.docs/raw/deployment/client.mdx +120 -0
  85. package/.docs/raw/deployment/deployment.mdx +127 -0
  86. package/.docs/raw/deployment/server.mdx +282 -0
  87. package/.docs/raw/evals/custom-eval.mdx +22 -0
  88. package/.docs/raw/evals/overview.mdx +95 -0
  89. package/.docs/raw/evals/running-in-ci.mdx +81 -0
  90. package/.docs/raw/evals/textual-evals.mdx +54 -0
  91. package/.docs/raw/faq/index.mdx +63 -0
  92. package/.docs/raw/frameworks/ai-sdk.mdx +296 -0
  93. package/.docs/raw/frameworks/next-js.mdx +238 -0
  94. package/.docs/raw/getting-started/installation.mdx +442 -0
  95. package/.docs/raw/getting-started/mcp-docs-server.mdx +141 -0
  96. package/.docs/raw/getting-started/project-structure.mdx +80 -0
  97. package/.docs/raw/index.mdx +22 -0
  98. package/.docs/raw/integrations/index.mdx +213 -0
  99. package/.docs/raw/local-dev/add-to-existing-project.mdx +48 -0
  100. package/.docs/raw/local-dev/creating-a-new-project.mdx +54 -0
  101. package/.docs/raw/local-dev/mastra-dev.mdx +108 -0
  102. package/.docs/raw/memory/memory-processors.mdx +131 -0
  103. package/.docs/raw/memory/overview.mdx +119 -0
  104. package/.docs/raw/memory/semantic-recall.mdx +122 -0
  105. package/.docs/raw/memory/working-memory.mdx +87 -0
  106. package/.docs/raw/observability/logging.mdx +38 -0
  107. package/.docs/raw/observability/nextjs-tracing.mdx +108 -0
  108. package/.docs/raw/observability/tracing.mdx +115 -0
  109. package/.docs/raw/rag/chunking-and-embedding.mdx +156 -0
  110. package/.docs/raw/rag/overview.mdx +85 -0
  111. package/.docs/raw/rag/retrieval.mdx +365 -0
  112. package/.docs/raw/rag/vector-databases.mdx +340 -0
  113. package/.docs/raw/reference/agents/createTool.mdx +229 -0
  114. package/.docs/raw/reference/agents/generate.mdx +334 -0
  115. package/.docs/raw/reference/agents/getAgent.mdx +54 -0
  116. package/.docs/raw/reference/agents/stream.mdx +369 -0
  117. package/.docs/raw/reference/cli/build.mdx +55 -0
  118. package/.docs/raw/reference/cli/dev.mdx +134 -0
  119. package/.docs/raw/reference/cli/init.mdx +43 -0
  120. package/.docs/raw/reference/client-js/agents.mdx +107 -0
  121. package/.docs/raw/reference/client-js/error-handling.mdx +38 -0
  122. package/.docs/raw/reference/client-js/logs.mdx +24 -0
  123. package/.docs/raw/reference/client-js/memory.mdx +97 -0
  124. package/.docs/raw/reference/client-js/telemetry.mdx +20 -0
  125. package/.docs/raw/reference/client-js/tools.mdx +44 -0
  126. package/.docs/raw/reference/client-js/vectors.mdx +79 -0
  127. package/.docs/raw/reference/client-js/workflows.mdx +136 -0
  128. package/.docs/raw/reference/core/mastra-class.mdx +232 -0
  129. package/.docs/raw/reference/deployer/cloudflare.mdx +207 -0
  130. package/.docs/raw/reference/deployer/deployer.mdx +159 -0
  131. package/.docs/raw/reference/deployer/netlify.mdx +109 -0
  132. package/.docs/raw/reference/deployer/vercel.mdx +117 -0
  133. package/.docs/raw/reference/evals/answer-relevancy.mdx +186 -0
  134. package/.docs/raw/reference/evals/bias.mdx +186 -0
  135. package/.docs/raw/reference/evals/completeness.mdx +174 -0
  136. package/.docs/raw/reference/evals/content-similarity.mdx +183 -0
  137. package/.docs/raw/reference/evals/context-position.mdx +190 -0
  138. package/.docs/raw/reference/evals/context-precision.mdx +189 -0
  139. package/.docs/raw/reference/evals/context-relevancy.mdx +188 -0
  140. package/.docs/raw/reference/evals/contextual-recall.mdx +191 -0
  141. package/.docs/raw/reference/evals/faithfulness.mdx +193 -0
  142. package/.docs/raw/reference/evals/hallucination.mdx +219 -0
  143. package/.docs/raw/reference/evals/keyword-coverage.mdx +176 -0
  144. package/.docs/raw/reference/evals/prompt-alignment.mdx +238 -0
  145. package/.docs/raw/reference/evals/summarization.mdx +205 -0
  146. package/.docs/raw/reference/evals/textual-difference.mdx +161 -0
  147. package/.docs/raw/reference/evals/tone-consistency.mdx +181 -0
  148. package/.docs/raw/reference/evals/toxicity.mdx +165 -0
  149. package/.docs/raw/reference/index.mdx +12 -0
  150. package/.docs/raw/reference/memory/Memory.mdx +212 -0
  151. package/.docs/raw/reference/memory/createThread.mdx +95 -0
  152. package/.docs/raw/reference/memory/getThreadById.mdx +46 -0
  153. package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +48 -0
  154. package/.docs/raw/reference/memory/query.mdx +167 -0
  155. package/.docs/raw/reference/networks/agent-network.mdx +159 -0
  156. package/.docs/raw/reference/observability/create-logger.mdx +106 -0
  157. package/.docs/raw/reference/observability/logger.mdx +55 -0
  158. package/.docs/raw/reference/observability/otel-config.mdx +120 -0
  159. package/.docs/raw/reference/observability/providers/braintrust.mdx +40 -0
  160. package/.docs/raw/reference/observability/providers/dash0.mdx +40 -0
  161. package/.docs/raw/reference/observability/providers/index.mdx +16 -0
  162. package/.docs/raw/reference/observability/providers/laminar.mdx +41 -0
  163. package/.docs/raw/reference/observability/providers/langfuse.mdx +51 -0
  164. package/.docs/raw/reference/observability/providers/langsmith.mdx +48 -0
  165. package/.docs/raw/reference/observability/providers/langwatch.mdx +45 -0
  166. package/.docs/raw/reference/observability/providers/new-relic.mdx +40 -0
  167. package/.docs/raw/reference/observability/providers/signoz.mdx +40 -0
  168. package/.docs/raw/reference/observability/providers/traceloop.mdx +40 -0
  169. package/.docs/raw/reference/rag/astra.mdx +258 -0
  170. package/.docs/raw/reference/rag/chroma.mdx +281 -0
  171. package/.docs/raw/reference/rag/chunk.mdx +235 -0
  172. package/.docs/raw/reference/rag/document.mdx +127 -0
  173. package/.docs/raw/reference/rag/embeddings.mdx +160 -0
  174. package/.docs/raw/reference/rag/extract-params.mdx +226 -0
  175. package/.docs/raw/reference/rag/graph-rag.mdx +182 -0
  176. package/.docs/raw/reference/rag/libsql.mdx +357 -0
  177. package/.docs/raw/reference/rag/metadata-filters.mdx +298 -0
  178. package/.docs/raw/reference/rag/pg.mdx +477 -0
  179. package/.docs/raw/reference/rag/pinecone.mdx +281 -0
  180. package/.docs/raw/reference/rag/qdrant.mdx +236 -0
  181. package/.docs/raw/reference/rag/rerank.mdx +212 -0
  182. package/.docs/raw/reference/rag/turbopuffer.mdx +249 -0
  183. package/.docs/raw/reference/rag/upstash.mdx +247 -0
  184. package/.docs/raw/reference/rag/vectorize.mdx +298 -0
  185. package/.docs/raw/reference/storage/libsql.mdx +74 -0
  186. package/.docs/raw/reference/storage/postgresql.mdx +48 -0
  187. package/.docs/raw/reference/storage/upstash.mdx +86 -0
  188. package/.docs/raw/reference/tools/client.mdx +207 -0
  189. package/.docs/raw/reference/tools/document-chunker-tool.mdx +141 -0
  190. package/.docs/raw/reference/tools/graph-rag-tool.mdx +154 -0
  191. package/.docs/raw/reference/tools/mcp-configuration.mdx +206 -0
  192. package/.docs/raw/reference/tools/vector-query-tool.mdx +212 -0
  193. package/.docs/raw/reference/voice/composite-voice.mdx +140 -0
  194. package/.docs/raw/reference/voice/deepgram.mdx +164 -0
  195. package/.docs/raw/reference/voice/elevenlabs.mdx +216 -0
  196. package/.docs/raw/reference/voice/google.mdx +198 -0
  197. package/.docs/raw/reference/voice/mastra-voice.mdx +394 -0
  198. package/.docs/raw/reference/voice/murf.mdx +251 -0
  199. package/.docs/raw/reference/voice/openai-realtime.mdx +431 -0
  200. package/.docs/raw/reference/voice/openai.mdx +168 -0
  201. package/.docs/raw/reference/voice/playai.mdx +159 -0
  202. package/.docs/raw/reference/voice/sarvam.mdx +260 -0
  203. package/.docs/raw/reference/voice/speechify.mdx +145 -0
  204. package/.docs/raw/reference/voice/voice.answer.mdx +122 -0
  205. package/.docs/raw/reference/voice/voice.connect.mdx +124 -0
  206. package/.docs/raw/reference/voice/voice.listen.mdx +195 -0
  207. package/.docs/raw/reference/voice/voice.on.mdx +189 -0
  208. package/.docs/raw/reference/voice/voice.send.mdx +118 -0
  209. package/.docs/raw/reference/voice/voice.speak.mdx +203 -0
  210. package/.docs/raw/reference/workflows/after.mdx +88 -0
  211. package/.docs/raw/reference/workflows/afterEvent.mdx +76 -0
  212. package/.docs/raw/reference/workflows/commit.mdx +37 -0
  213. package/.docs/raw/reference/workflows/createRun.mdx +77 -0
  214. package/.docs/raw/reference/workflows/else.mdx +72 -0
  215. package/.docs/raw/reference/workflows/events.mdx +305 -0
  216. package/.docs/raw/reference/workflows/execute.mdx +110 -0
  217. package/.docs/raw/reference/workflows/if.mdx +107 -0
  218. package/.docs/raw/reference/workflows/resume.mdx +155 -0
  219. package/.docs/raw/reference/workflows/resumeWithEvent.mdx +133 -0
  220. package/.docs/raw/reference/workflows/snapshots.mdx +207 -0
  221. package/.docs/raw/reference/workflows/start.mdx +84 -0
  222. package/.docs/raw/reference/workflows/step-class.mdx +100 -0
  223. package/.docs/raw/reference/workflows/step-condition.mdx +134 -0
  224. package/.docs/raw/reference/workflows/step-function.mdx +92 -0
  225. package/.docs/raw/reference/workflows/step-options.mdx +69 -0
  226. package/.docs/raw/reference/workflows/step-retries.mdx +203 -0
  227. package/.docs/raw/reference/workflows/suspend.mdx +70 -0
  228. package/.docs/raw/reference/workflows/then.mdx +74 -0
  229. package/.docs/raw/reference/workflows/until.mdx +165 -0
  230. package/.docs/raw/reference/workflows/watch.mdx +118 -0
  231. package/.docs/raw/reference/workflows/while.mdx +168 -0
  232. package/.docs/raw/reference/workflows/workflow.mdx +233 -0
  233. package/.docs/raw/storage/overview.mdx +378 -0
  234. package/.docs/raw/voice/overview.mdx +135 -0
  235. package/.docs/raw/voice/speech-to-text.mdx +45 -0
  236. package/.docs/raw/voice/text-to-speech.mdx +52 -0
  237. package/.docs/raw/voice/voice-to-voice.mdx +310 -0
  238. package/.docs/raw/workflows/control-flow.mdx +778 -0
  239. package/.docs/raw/workflows/dynamic-workflows.mdx +236 -0
  240. package/.docs/raw/workflows/error-handling.mdx +183 -0
  241. package/.docs/raw/workflows/nested-workflows.mdx +352 -0
  242. package/.docs/raw/workflows/overview.mdx +203 -0
  243. package/.docs/raw/workflows/steps.mdx +108 -0
  244. package/.docs/raw/workflows/suspend-and-resume.mdx +404 -0
  245. package/.docs/raw/workflows/variables.mdx +313 -0
  246. package/LICENSE.md +46 -0
  247. package/README.md +129 -0
  248. package/dist/_tsup-dts-rollup.d.ts +149 -0
  249. package/dist/chunk-QWYMT5LP.js +194 -0
  250. package/dist/prepare-docs/prepare.d.ts +1 -0
  251. package/dist/prepare-docs/prepare.js +1 -0
  252. package/dist/stdio.d.ts +1 -0
  253. package/dist/stdio.js +518 -0
  254. package/package.json +60 -0
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: "API Reference"
3
+ description: "Mastra API Reference"
4
+ ---
5
+
6
+ import { ReferenceCards } from "../../components/reference-cards";
7
+
8
+ # Reference
9
+
10
+ The Reference section provides documentation of Mastra's API, including parameters, types and usage examples.
11
+
12
+ <ReferenceCards />
@@ -0,0 +1,212 @@
1
+ # Memory Class Reference
2
+
3
+ The `Memory` class provides a robust system for managing conversation history and thread-based message storage in Mastra. It enables persistent storage of conversations, semantic search capabilities, and efficient message retrieval. By default, it uses LibSQL for storage and vector search, and FastEmbed for embeddings.
4
+
5
+ ## Basic Usage
6
+
7
+ ```typescript copy showLineNumbers
8
+ import { Memory } from "@mastra/memory";
9
+ import { Agent } from "@mastra/core/agent";
10
+
11
+ const agent = new Agent({
12
+ memory: new Memory(),
13
+ ...otherOptions,
14
+ });
15
+ ```
16
+
17
+ ## Custom Configuration
18
+
19
+ ```typescript copy showLineNumbers
20
+ import { Memory } from "@mastra/memory";
21
+ import { LibSQLStore } from "@mastra/core/storage/libsql";
22
+ import { LibSQLVector } from "@mastra/core/vector/libsql";
23
+ import { Agent } from "@mastra/core/agent";
24
+
25
+ const memory = new Memory({
26
+ // Optional storage configuration - libsql will be used by default
27
+ storage: new LibSQLStore({
28
+ url: "file:memory.db",
29
+ }),
30
+
31
+ // Optional vector database for semantic search - libsql will be used by default
32
+ vector: new LibSQLVector({
33
+ url: "file:vector.db",
34
+ }),
35
+
36
+ // Memory configuration options
37
+ options: {
38
+ // Number of recent messages to include
39
+ lastMessages: 20,
40
+
41
+ // Semantic search configuration
42
+ semanticRecall: {
43
+ topK: 3, // Number of similar messages to retrieve
44
+ messageRange: {
45
+ // Messages to include around each result
46
+ before: 2,
47
+ after: 1,
48
+ },
49
+ },
50
+
51
+ // Working memory configuration
52
+ workingMemory: {
53
+ enabled: true,
54
+ template: `
55
+ # User
56
+ - First Name:
57
+ - Last Name:
58
+ `,
59
+ },
60
+ },
61
+ });
62
+
63
+ const agent = new Agent({
64
+ memory,
65
+ ...otherOptions,
66
+ });
67
+ ```
68
+
69
+ ### Working Memory
70
+
71
+ The working memory feature allows agents to maintain persistent information across conversations. When enabled, the Memory class will automatically manage working memory updates through either text stream tags or tool calls.
72
+
73
+ There are two modes for handling working memory updates:
74
+
75
+ 1. **text-stream** (default): The agent includes working memory updates directly in its responses using XML tags containing Markdown (`<working_memory># User \n ## Preferences...</working_memory>`). These tags are automatically processed and stripped from the visible output.
76
+
77
+ 2. **tool-call**: The agent uses a dedicated tool to update working memory. This mode should be used when working with `toDataStream()` as text-stream mode is not compatible with data streaming. Additionally, this mode provides more explicit control over memory updates and may be preferred when working with agents that are better at using tools than managing text tags.
78
+
79
+ Example configuration:
80
+
81
+ ```typescript copy showLineNumbers
82
+ const memory = new Memory({
83
+ options: {
84
+ workingMemory: {
85
+ enabled: true,
86
+ template: "# User\n- **First Name**:\n- **Last Name**:",
87
+ use: "tool-call", // or 'text-stream'
88
+ },
89
+ },
90
+ });
91
+ ```
92
+
93
+ If no template is provided, the Memory class uses a default template that includes fields for user details, preferences, goals, and other contextual information in Markdown format. See the [Working Memory guide](/docs/memory/working-memory.mdx#designing-effective-templates) for detailed usage examples and best practices.
94
+
95
+ ### embedder
96
+
97
+ By default, Memory uses FastEmbed with the `bge-small-en-v1.5` model, which provides a good balance of performance and model size (~130MB). You only need to specify an embedder if you want to use a different model or provider.
98
+
99
+ For environments where local embedding isn't supported, you can use an API-based embedder:
100
+
101
+ ```typescript {6}
102
+ import { Memory } from "@mastra/memory";
103
+ import { openai } from "@ai-sdk/openai";
104
+
105
+ const agent = new Agent({
106
+ memory: new Memory({
107
+ embedder: openai.embedding("text-embedding-3-small"), // Adds network request
108
+ }),
109
+ });
110
+ ```
111
+
112
+ Mastra supports many embedding models through the [Vercel AI SDK](https://sdk.vercel.ai/docs/ai-sdk-core/embeddings), including options from OpenAI, Google, Mistral, and Cohere.
113
+
114
+ ## Parameters
115
+
116
+ <PropertiesTable
117
+ content={[
118
+ {
119
+ name: "storage",
120
+ type: "MastraStorage",
121
+ description: "Storage implementation for persisting memory data",
122
+ isOptional: true,
123
+ },
124
+ {
125
+ name: "vector",
126
+ type: "MastraVector",
127
+ description: "Vector store for semantic search capabilities",
128
+ isOptional: true,
129
+ },
130
+ {
131
+ name: "embedder",
132
+ type: "EmbeddingModel",
133
+ description:
134
+ "Embedder instance for vector embeddings. Uses FastEmbed (bge-small-en-v1.5) by default",
135
+ isOptional: true,
136
+ },
137
+ {
138
+ name: "options",
139
+ type: "MemoryConfig",
140
+ description: "General memory configuration options",
141
+ isOptional: true,
142
+ },
143
+ ]}
144
+ />
145
+
146
+ ### options
147
+
148
+ <PropertiesTable
149
+ content={[
150
+ {
151
+ name: "lastMessages",
152
+ type: "number | false",
153
+ description:
154
+ "Number of most recent messages to retrieve. Set to false to disable.",
155
+ isOptional: true,
156
+ defaultValue: "40",
157
+ },
158
+ {
159
+ name: "semanticRecall",
160
+ type: "boolean | SemanticRecallConfig",
161
+ description:
162
+ "Enable semantic search in message history. Automatically enabled when vector store is provided.",
163
+ isOptional: true,
164
+ defaultValue: "false (true if vector store provided)",
165
+ },
166
+ {
167
+ name: "topK",
168
+ type: "number",
169
+ description:
170
+ "Number of similar messages to retrieve when using semantic search",
171
+ isOptional: true,
172
+ defaultValue: "2",
173
+ },
174
+ {
175
+ name: "messageRange",
176
+ type: "number | { before: number; after: number }",
177
+ description:
178
+ "Range of messages to include around semantic search results",
179
+ isOptional: true,
180
+ defaultValue: "2",
181
+ },
182
+ {
183
+ name: "workingMemory",
184
+ type: "{ enabled: boolean; template?: string; use?: 'text-stream' | 'tool-call' }",
185
+ description:
186
+ "Configuration for working memory feature that allows persistent storage of user information across conversations. The 'use' setting determines how working memory updates are handled - either through text stream tags or tool calls. Working memory uses Markdown format to structure and store continuously relevant information.",
187
+ isOptional: true,
188
+ defaultValue:
189
+ "{ enabled: false, template: '# User Information\\n- **First Name**:\\n- **Last Name**:\\n...', use: 'text-stream' }",
190
+ },
191
+ {
192
+ name: "threads",
193
+ type: "{ generateTitle?: boolean }",
194
+ description:
195
+ "Settings related to memory thread creation. `generateTitle` will cause the thread.title to be generated from an llm summary of the users first message.",
196
+ isOptional: true,
197
+ defaultValue: "{ generateTitle: true }",
198
+ },
199
+ ]}
200
+ />
201
+
202
+ ### Related
203
+
204
+ - [Getting Started with Memory](/docs/memory/overview.mdx)
205
+ - [Semantic Recall](/docs/memory/semantic-recall.mdx)
206
+ - [Working Memory](/docs/memory/working-memory.mdx)
207
+ - [Memory Processors](/docs/memory/memory-processors.mdx)
208
+ - [createThread](/reference/memory/createThread.mdx)
209
+ - [query](/reference/memory/query.mdx)
210
+ - [getThreadById](/reference/memory/getThreadById.mdx)
211
+ - [getThreadsByResourceId](/reference/memory/getThreadsByResourceId.mdx)
212
+
@@ -0,0 +1,95 @@
1
+ # createThread
2
+
3
+ Creates a new conversation thread in the memory system. Each thread represents a distinct conversation or context and can contain multiple messages.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ import { Memory } from "@mastra/memory";
9
+
10
+ const memory = new Memory({ /* config */ });
11
+ const thread = await memory.createThread({
12
+ resourceId: "user-123",
13
+ title: "Support Conversation",
14
+ metadata: {
15
+ category: "support",
16
+ priority: "high"
17
+ }
18
+ });
19
+ ```
20
+
21
+ ## Parameters
22
+
23
+ <PropertiesTable
24
+ content={[
25
+ {
26
+ name: "resourceId",
27
+ type: "string",
28
+ description: "Identifier for the resource this thread belongs to (e.g., user ID, project ID)",
29
+ isOptional: false,
30
+ },
31
+ {
32
+ name: "threadId",
33
+ type: "string",
34
+ description: "Optional custom ID for the thread. If not provided, one will be generated.",
35
+ isOptional: true,
36
+ },
37
+ {
38
+ name: "title",
39
+ type: "string",
40
+ description: "Optional title for the thread",
41
+ isOptional: true,
42
+ },
43
+ {
44
+ name: "metadata",
45
+ type: "Record<string, unknown>",
46
+ description: "Optional metadata to associate with the thread",
47
+ isOptional: true,
48
+ },
49
+ ]}
50
+ />
51
+
52
+ ## Returns
53
+
54
+ <PropertiesTable
55
+ content={[
56
+ {
57
+ name: "id",
58
+ type: "string",
59
+ description: "Unique identifier of the created thread",
60
+ },
61
+ {
62
+ name: "resourceId",
63
+ type: "string",
64
+ description: "Resource ID associated with the thread",
65
+ },
66
+ {
67
+ name: "title",
68
+ type: "string",
69
+ description: "Title of the thread (if provided)",
70
+ },
71
+ {
72
+ name: "createdAt",
73
+ type: "Date",
74
+ description: "Timestamp when the thread was created",
75
+ },
76
+ {
77
+ name: "updatedAt",
78
+ type: "Date",
79
+ description: "Timestamp when the thread was last updated",
80
+ },
81
+ {
82
+ name: "metadata",
83
+ type: "Record<string, unknown>",
84
+ description: "Additional metadata associated with the thread",
85
+ },
86
+ ]}
87
+ />
88
+
89
+ ### Related
90
+
91
+ - [Memory Class Reference](/reference/memory/Memory.mdx)
92
+ - [Getting Started with Memory](/docs/memory/overview.mdx) (Covers threads concept)
93
+ - [getThreadById](/reference/memory/getThreadById.mdx)
94
+ - [getThreadsByResourceId](/reference/memory/getThreadsByResourceId.mdx)
95
+ - [query](/reference/memory/query.mdx)
@@ -0,0 +1,46 @@
1
+ # getThreadById Reference
2
+
3
+ The `getThreadById` function retrieves a specific thread by its ID from storage.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ import { Memory } from "@mastra/core/memory";
9
+
10
+ const memory = new Memory(config);
11
+
12
+ const thread = await memory.getThreadById({ threadId: "thread-123" });
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <PropertiesTable
18
+ content={[
19
+ {
20
+ name: "threadId",
21
+ type: "string",
22
+ description: "The ID of the thread to be retrieved.",
23
+ isOptional: false,
24
+ },
25
+ ]}
26
+ />
27
+
28
+ ## Returns
29
+
30
+ <PropertiesTable
31
+ content={[
32
+ {
33
+ name: "StorageThreadType | null",
34
+ type: "Promise",
35
+ description:
36
+ "A promise that resolves to the thread associated with the given ID, or null if not found.",
37
+ },
38
+ ]}
39
+ />
40
+
41
+ ### Related
42
+
43
+ - [Memory Class Reference](/reference/memory/Memory.mdx)
44
+ - [Getting Started with Memory](/docs/memory/overview.mdx) (Covers threads concept)
45
+ - [createThread](/reference/memory/createThread.mdx)
46
+ - [getThreadsByResourceId](/reference/memory/getThreadsByResourceId.mdx)
@@ -0,0 +1,48 @@
1
+ # getThreadsByResourceId Reference
2
+
3
+ The `getThreadsByResourceId` function retrieves all threads associated with a specific resource ID from storage.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ import { Memory } from "@mastra/core/memory";
9
+
10
+ const memory = new Memory(config);
11
+
12
+ const threads = await memory.getThreadsByResourceId({
13
+ resourceId: "resource-123",
14
+ });
15
+ ```
16
+
17
+ ## Parameters
18
+
19
+ <PropertiesTable
20
+ content={[
21
+ {
22
+ name: "resourceId",
23
+ type: "string",
24
+ description: "The ID of the resource whose threads are to be retrieved.",
25
+ isOptional: false,
26
+ },
27
+ ]}
28
+ />
29
+
30
+ ## Returns
31
+
32
+ <PropertiesTable
33
+ content={[
34
+ {
35
+ name: "StorageThreadType[]",
36
+ type: "Promise",
37
+ description:
38
+ "A promise that resolves to an array of threads associated with the given resource ID.",
39
+ },
40
+ ]}
41
+ />
42
+
43
+ ### Related
44
+
45
+ - [Memory Class Reference](/reference/memory/Memory.mdx)
46
+ - [Getting Started with Memory](/docs/memory/overview.mdx) (Covers threads/resources concept)
47
+ - [createThread](/reference/memory/createThread.mdx)
48
+ - [getThreadById](/reference/memory/getThreadById.mdx)
@@ -0,0 +1,167 @@
1
+ # query
2
+
3
+ Retrieves messages from a specific thread, with support for pagination and filtering options.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ import { Memory } from "@mastra/memory";
9
+
10
+ const memory = new Memory({
11
+ /* config */
12
+ });
13
+
14
+ // Get last 50 messages
15
+ const { messages, uiMessages } = await memory.query({
16
+ threadId: "thread-123",
17
+ selectBy: {
18
+ last: 50,
19
+ },
20
+ });
21
+
22
+ // Get messages with context around specific messages
23
+ const { messages: contextMessages } = await memory.query({
24
+ threadId: "thread-123",
25
+ selectBy: {
26
+ include: [
27
+ {
28
+ id: "msg-123", // Get just this message (no context)
29
+ },
30
+ {
31
+ id: "msg-456", // Get this message with custom context
32
+ withPreviousMessages: 3, // 3 messages before
33
+ withNextMessages: 1, // 1 message after
34
+ },
35
+ ],
36
+ },
37
+ });
38
+
39
+ // Semantic search in messages
40
+ const { messages } = await memory.query({
41
+ threadId: "thread-123",
42
+ selectBy: {
43
+ vectorSearchString: "What was discussed about deployment?",
44
+ },
45
+ threadConfig: {
46
+ historySearch: true,
47
+ },
48
+ });
49
+ ```
50
+
51
+ ## Parameters
52
+
53
+ <PropertiesTable
54
+ content={[
55
+ {
56
+ name: "threadId",
57
+ type: "string",
58
+ description:
59
+ "The unique identifier of the thread to retrieve messages from",
60
+ isOptional: false,
61
+ },
62
+ {
63
+ name: "resourceId",
64
+ type: "string",
65
+ description:
66
+ "Optional ID of the resource that owns the thread. If provided, validates thread ownership",
67
+ isOptional: true,
68
+ },
69
+ {
70
+ name: "selectBy",
71
+ type: "object",
72
+ description: "Options for filtering messages",
73
+ isOptional: true,
74
+ },
75
+ {
76
+ name: "threadConfig",
77
+ type: "MemoryConfig",
78
+ description: "Configuration options for message retrieval",
79
+ isOptional: true,
80
+ },
81
+ ]}
82
+ />
83
+
84
+ ### selectBy
85
+
86
+ <PropertiesTable
87
+ content={[
88
+ {
89
+ name: "vectorSearchString",
90
+ type: "string",
91
+ description: "Search string for finding semantically similar messages",
92
+ isOptional: true,
93
+ },
94
+ {
95
+ name: "last",
96
+ type: "number | false",
97
+ description:
98
+ "Number of most recent messages to retrieve. Set to false to disable limit. Note: threadConfig.lastMessages (default: 40) will override this if smaller.",
99
+ isOptional: true,
100
+ defaultValue: "40",
101
+ },
102
+ {
103
+ name: "include",
104
+ type: "array",
105
+ description: "Array of message IDs to include with context",
106
+ isOptional: true,
107
+ },
108
+ ]}
109
+ />
110
+
111
+ ### include
112
+
113
+ <PropertiesTable
114
+ content={[
115
+ {
116
+ name: "id",
117
+ type: "string",
118
+ description: "ID of the message to include",
119
+ isOptional: false,
120
+ },
121
+ {
122
+ name: "withPreviousMessages",
123
+ type: "number",
124
+ description:
125
+ "Number of messages to include before this message. Defaults to 2 when using vector search, 0 otherwise.",
126
+ isOptional: true,
127
+ },
128
+ {
129
+ name: "withNextMessages",
130
+ type: "number",
131
+ description:
132
+ "Number of messages to include after this message. Defaults to 2 when using vector search, 0 otherwise.",
133
+ isOptional: true,
134
+ },
135
+ ]}
136
+ />
137
+
138
+ ## Returns
139
+
140
+ <PropertiesTable
141
+ content={[
142
+ {
143
+ name: "messages",
144
+ type: "CoreMessage[]",
145
+ description: "Array of retrieved messages in their core format",
146
+ },
147
+ {
148
+ name: "uiMessages",
149
+ type: "AiMessage[]",
150
+ description: "Array of messages formatted for UI display",
151
+ },
152
+ ]}
153
+ />
154
+
155
+ ## Additional Notes
156
+
157
+ The `query` function returns two different message formats:
158
+
159
+ - `messages`: Core message format used internally
160
+ - `uiMessages`: Formatted messages suitable for UI display, including proper threading of tool calls and results
161
+
162
+ ### Related
163
+
164
+ - [Memory Class Reference](/reference/memory/Memory.mdx)
165
+ - [Getting Started with Memory](/docs/memory/overview.mdx)
166
+ - [Semantic Recall](/docs/memory/semantic-recall.mdx)
167
+ - [createThread](/reference/memory/createThread.mdx)