@mastra/mcp-docs-server 1.2.15-alpha.19 → 1.2.15-alpha.21

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 (279) hide show
  1. package/.docs/docs/agents/code-mode.md +1 -1
  2. package/.docs/docs/agents/networks.md +2 -2
  3. package/.docs/docs/agents/overview.md +2 -2
  4. package/.docs/docs/agents/using-tools.md +1 -1
  5. package/.docs/docs/browser/overview.md +8 -8
  6. package/.docs/docs/browser/recording.md +2 -2
  7. package/.docs/docs/capabilities/{channels/overview.md → channels.md} +70 -7
  8. package/.docs/docs/capabilities/subagents.md +2 -2
  9. package/.docs/docs/deployment/cloud-providers.md +9 -9
  10. package/.docs/docs/deployment/overview.md +9 -9
  11. package/.docs/docs/deployment/sandbox.md +3 -3
  12. package/.docs/docs/deployment/web-framework.md +6 -6
  13. package/.docs/docs/deployment/workflow-runners.md +2 -2
  14. package/.docs/docs/harness/agent-controller.md +2 -2
  15. package/.docs/docs/index.md +8 -8
  16. package/.docs/docs/long-running-agents/durable-agents.md +2 -2
  17. package/.docs/docs/long-running-agents/signal-providers.md +2 -15
  18. package/.docs/docs/long-running-agents/signals.md +1 -1
  19. package/.docs/docs/mastra-platform/database.md +2 -2
  20. package/.docs/docs/mastra-platform/deploy.md +27 -0
  21. package/.docs/docs/mastra-platform/server.md +1 -1
  22. package/.docs/docs/mastra-platform/trace-intelligence.md +9 -13
  23. package/.docs/docs/mcp/overview.md +42 -0
  24. package/.docs/docs/memory/memory-processors.md +5 -5
  25. package/.docs/docs/memory/message-history.md +1 -1
  26. package/.docs/docs/memory/observational-memory.md +1 -1
  27. package/.docs/docs/observability/integrations/exporters/mastra-storage.md +16 -16
  28. package/.docs/docs/observability/integrations/overview.md +3 -3
  29. package/.docs/docs/server/auth/fga.md +1 -1
  30. package/.docs/docs/server/auth/simple-auth.md +1 -1
  31. package/.docs/docs/server/auth.md +8 -8
  32. package/.docs/docs/server/custom-api-routes.md +35 -0
  33. package/.docs/docs/storage/overview.md +14 -13
  34. package/.docs/docs/studio/observability.md +1 -1
  35. package/.docs/docs/workflows/overview.md +1 -1
  36. package/.docs/docs/workflows/snapshots.md +11 -11
  37. package/.docs/docs/workflows/time-travel.md +2 -0
  38. package/.docs/docs/workspace/filesystem.md +15 -15
  39. package/.docs/docs/workspace/sandbox.md +17 -17
  40. package/.docs/docs/workspace/search.md +1 -1
  41. package/.docs/guides/agent-frameworks/ai-sdk.md +2 -2
  42. package/.docs/guides/deployment/mastra-workers.md +1 -1
  43. package/.docs/guides/getting-started/quickstart.md +3 -3
  44. package/.docs/guides/index.md +8 -8
  45. package/.docs/guides/voice/overview.md +55 -106
  46. package/.docs/guides/voice/speech-to-text.md +7 -7
  47. package/.docs/guides/voice/text-to-speech.md +9 -10
  48. package/.docs/{guides/build-your-ui → integrations/agentic-ui}/ai-sdk-ui.md +2 -2
  49. package/.docs/{guides/build-your-ui/copilotkit/overview.md → integrations/agentic-ui/copilotkit.md} +256 -3
  50. package/.docs/{docs/browser → integrations/browsers}/agent-browser.md +2 -2
  51. package/.docs/{docs/browser → integrations/browsers}/browser-viewer.md +3 -3
  52. package/.docs/{docs/browser → integrations/browsers}/firecrawl.md +2 -2
  53. package/.docs/{docs/browser → integrations/browsers}/stagehand.md +1 -1
  54. package/.docs/{docs/capabilities → integrations}/channels/discord.md +2 -2
  55. package/.docs/integrations/channels/github.md +103 -0
  56. package/.docs/{docs/capabilities → integrations}/channels/imessage.md +7 -5
  57. package/.docs/{docs/capabilities → integrations}/channels/slack.md +4 -4
  58. package/.docs/{docs/capabilities → integrations}/channels/teams.md +2 -2
  59. package/.docs/{docs/capabilities → integrations}/channels/telegram.md +2 -2
  60. package/.docs/{docs/capabilities → integrations}/channels/whatsapp.md +2 -2
  61. package/.docs/{reference/storage/dsql.md → integrations/databases/aurora-dsql.md} +1 -1
  62. package/.docs/{reference/storage → integrations/databases}/clickhouse.md +2 -2
  63. package/.docs/{reference/storage → integrations/databases}/cloudflare-d1.md +1 -1
  64. package/.docs/{reference/storage/cloudflare.md → integrations/databases/cloudflare-kv.md} +1 -1
  65. package/.docs/{reference/storage → integrations/databases}/convex.md +1 -1
  66. package/.docs/{reference/storage → integrations/databases}/duckdb.md +5 -5
  67. package/.docs/{reference/storage → integrations/databases}/dynamodb.md +1 -1
  68. package/.docs/{reference/storage/lance.md → integrations/databases/lancedb.md} +1 -1
  69. package/.docs/{reference/storage → integrations/databases}/libsql.md +2 -2
  70. package/.docs/{reference/storage → integrations/databases}/mongodb.md +1 -1
  71. package/.docs/{reference/storage → integrations/databases}/mssql.md +1 -1
  72. package/.docs/integrations/databases/neon.md +220 -0
  73. package/.docs/{reference/storage → integrations/databases}/oracledb.md +1 -1
  74. package/.docs/{reference/storage → integrations/databases}/postgresql.md +1 -1
  75. package/.docs/{reference/storage → integrations/databases}/redis.md +1 -1
  76. package/.docs/{reference/storage → integrations/databases}/spanner.md +1 -1
  77. package/.docs/{reference/storage → integrations/databases}/upstash.md +1 -1
  78. package/.docs/{guides/deployment → integrations/deploy}/aws-bedrock-agentcore.md +1 -1
  79. package/.docs/{guides/deployment → integrations/deploy}/aws-lambda.md +1 -1
  80. package/.docs/{guides/deployment → integrations/deploy}/azure-app-services.md +1 -1
  81. package/.docs/{guides/deployment → integrations/deploy}/cloudflare.md +1 -1
  82. package/.docs/{guides/deployment → integrations/deploy}/digital-ocean.md +1 -1
  83. package/.docs/{guides/deployment → integrations/deploy}/netlify.md +1 -1
  84. package/.docs/{guides/deployment → integrations/deploy}/vercel.md +2 -2
  85. package/.docs/{reference/workspace/s3-filesystem.md → integrations/file-storage/amazon-s3.md} +5 -5
  86. package/.docs/{reference/workspace/archil-filesystem.md → integrations/file-storage/archil.md} +3 -3
  87. package/.docs/{reference/workspace/azure-blob-filesystem.md → integrations/file-storage/azure-blob.md} +2 -2
  88. package/.docs/{reference/workspace/gcs-filesystem.md → integrations/file-storage/google-cloud-storage.md} +5 -5
  89. package/.docs/{reference/workspace/mesa-filesystem.md → integrations/file-storage/mesa.md} +1 -1
  90. package/.docs/{reference/workspace/files-sdk-filesystem.md → integrations/file-storage/vercel-files.md} +5 -5
  91. package/.docs/{guides/getting-started → integrations/frameworks}/astro.md +1 -1
  92. package/.docs/{guides/getting-started → integrations/frameworks}/electron.md +1 -1
  93. package/.docs/{guides/getting-started → integrations/frameworks}/next-js.md +2 -2
  94. package/.docs/{guides/getting-started → integrations/frameworks}/nuxt.md +1 -1
  95. package/.docs/{guides/getting-started → integrations/frameworks}/sveltekit.md +1 -1
  96. package/.docs/{guides/getting-started → integrations/frameworks}/vite-react.md +1 -1
  97. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/arize.md +1 -1
  98. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/arthur.md +1 -1
  99. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/braintrust.md +1 -1
  100. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/confident-ai.md +1 -1
  101. package/.docs/integrations/observability/datadog.md +538 -0
  102. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/laminar.md +1 -1
  103. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/langfuse.md +1 -1
  104. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/langsmith.md +1 -1
  105. package/.docs/{docs/observability/integrations/exporters/otel.md → integrations/observability/opentelemetry.md} +276 -44
  106. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/posthog.md +1 -1
  107. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/sentry.md +1 -1
  108. package/.docs/{reference/workspace/apple-container-sandbox.md → integrations/sandboxes/apple-container.md} +1 -1
  109. package/.docs/{reference/workspace/daytona-sandbox.md → integrations/sandboxes/daytona.md} +2 -2
  110. package/.docs/{reference/workspace/docker-sandbox.md → integrations/sandboxes/docker.md} +1 -1
  111. package/.docs/{reference/workspace/e2b-sandbox.md → integrations/sandboxes/e2b.md} +3 -3
  112. package/.docs/{reference/workspace/modal-sandbox.md → integrations/sandboxes/modal.md} +2 -2
  113. package/.docs/{reference/workspace/railway-sandbox.md → integrations/sandboxes/railway.md} +8 -0
  114. package/.docs/{reference/workspace/vercel-sandbox.md → integrations/sandboxes/vercel.md} +141 -12
  115. package/.docs/{reference → integrations}/tools/brightdata.md +1 -1
  116. package/.docs/{reference → integrations}/tools/perplexity.md +1 -1
  117. package/.docs/{reference → integrations}/tools/tavily.md +1 -1
  118. package/.docs/{reference → integrations}/voice/aws-nova-sonic.md +1 -1
  119. package/.docs/{reference → integrations}/voice/cloudflare.md +3 -3
  120. package/.docs/{reference/voice/google-gemini-live.md → integrations/voice/google.md} +305 -30
  121. package/.docs/{reference/voice/inworld-realtime.md → integrations/voice/inworld.md} +163 -25
  122. package/.docs/{reference → integrations}/voice/livekit.md +437 -34
  123. package/.docs/{reference/voice/openai-realtime.md → integrations/voice/openai.md} +117 -20
  124. package/.docs/integrations.md +147 -0
  125. package/.docs/models/embeddings.md +2 -2
  126. package/.docs/models/environment-variables.md +1 -0
  127. package/.docs/models/gateways/openrouter.md +4 -2
  128. package/.docs/models/gateways/vercel.md +2 -1
  129. package/.docs/models/index.md +1 -1
  130. package/.docs/models/providers/coralbricks.md +75 -0
  131. package/.docs/models/providers/evroc.md +2 -3
  132. package/.docs/models/providers/hyper.md +6 -6
  133. package/.docs/models/providers/kilo.md +7 -5
  134. package/.docs/models/providers/llmgateway.md +1 -2
  135. package/.docs/models/providers/nano-gpt.md +1 -3
  136. package/.docs/models/providers/opencode.md +0 -1
  137. package/.docs/models/providers/privatemode-ai.md +5 -4
  138. package/.docs/models/providers/snowflake-cortex.md +5 -1
  139. package/.docs/models/providers/wandb.md +2 -1
  140. package/.docs/models/providers/zenmux.md +0 -15
  141. package/.docs/models/providers.md +1 -0
  142. package/.docs/reference/agent-controller/agent-controller-class.md +32 -1
  143. package/.docs/reference/agents/channels.md +2 -2
  144. package/.docs/reference/agents/generateLegacy.md +2 -2
  145. package/.docs/reference/agents/getDefaultOptions.md +1 -1
  146. package/.docs/reference/agents/getDefaultStreamOptions.md +1 -1
  147. package/.docs/reference/agents/inngest-agent.md +1 -1
  148. package/.docs/reference/agents/network.md +1 -1
  149. package/.docs/reference/ai-sdk/handle-network-stream.md +1 -1
  150. package/.docs/reference/ai-sdk/network-route.md +1 -1
  151. package/.docs/reference/auth/auth0.md +1 -1
  152. package/.docs/reference/auth/better-auth.md +1 -1
  153. package/.docs/reference/auth/clerk.md +1 -1
  154. package/.docs/reference/auth/firebase.md +1 -1
  155. package/.docs/reference/auth/google.md +1 -1
  156. package/.docs/reference/auth/supabase.md +1 -1
  157. package/.docs/reference/auth/workos.md +1 -1
  158. package/.docs/reference/browser/agent-browser.md +1 -1
  159. package/.docs/reference/browser/browser-viewer.md +1 -1
  160. package/.docs/reference/browser/firecrawl-browser.md +1 -1
  161. package/.docs/reference/browser/stagehand-browser.md +1 -1
  162. package/.docs/reference/channels/channel-provider.md +1 -1
  163. package/.docs/reference/channels/slack-provider.md +2 -2
  164. package/.docs/reference/cli/mastra.md +2 -2
  165. package/.docs/reference/configuration.md +1 -26
  166. package/.docs/reference/core/getStorage.md +1 -1
  167. package/.docs/reference/core/getVector.md +2 -2
  168. package/.docs/reference/core/listVectors.md +2 -2
  169. package/.docs/reference/core/setStorage.md +1 -1
  170. package/.docs/reference/file-based-agents/storage.md +1 -1
  171. package/.docs/reference/file-based-agents/studio.md +1 -1
  172. package/.docs/reference/index.md +27 -55
  173. package/.docs/{guides → reference}/migrations/ai-sdk-v4-to-v5.md +1 -1
  174. package/.docs/{guides → reference}/migrations/mastra-cloud.md +1 -1
  175. package/.docs/{guides → reference}/migrations/upgrade-to-v1/cli.md +1 -1
  176. package/.docs/{guides → reference}/migrations/upgrade-to-v1/memory.md +1 -1
  177. package/.docs/{guides → reference}/migrations/upgrade-to-v1/overview.md +41 -41
  178. package/.docs/{guides → reference}/migrations/upgrade-to-v1/tools.md +1 -1
  179. package/.docs/{guides → reference}/migrations/upgrade-to-v1/tracing.md +10 -10
  180. package/.docs/reference/observability/tracing/bridges/datadog.md +2 -2
  181. package/.docs/reference/observability/tracing/bridges/otel.md +2 -2
  182. package/.docs/reference/observability/tracing/exporters/arize.md +1 -1
  183. package/.docs/reference/observability/tracing/exporters/arthur.md +1 -1
  184. package/.docs/reference/observability/tracing/exporters/confident-ai.md +1 -1
  185. package/.docs/reference/observability/tracing/exporters/mastra-platform-exporter.md +12 -0
  186. package/.docs/reference/observability/tracing/exporters/otel.md +2 -2
  187. package/.docs/reference/pubsub/lease-provider.md +1 -1
  188. package/.docs/{guides → reference}/rag/chunking-and-embedding.md +16 -19
  189. package/.docs/reference/rag/database-config.md +1 -1
  190. package/.docs/{guides/rag/graph-rag.md → reference/rag/graph-rag-guide.md} +1 -1
  191. package/.docs/{guides → reference}/rag/overview.md +2 -2
  192. package/.docs/{guides → reference}/rag/retrieval.md +1 -1
  193. package/.docs/{guides → reference}/rag/vector-databases.md +1 -1
  194. package/.docs/reference/server/create-route.md +27 -1
  195. package/.docs/reference/storage/composite.md +3 -3
  196. package/.docs/reference/storage/retention.md +4 -4
  197. package/.docs/reference/streaming/ChunkType.md +3 -3
  198. package/.docs/reference/streaming/agents/streamLegacy.md +3 -3
  199. package/.docs/reference/tools/mcp-server.md +1 -1
  200. package/.docs/reference/vectors/convex.md +2 -2
  201. package/.docs/reference/vectors/oracledb.md +2 -2
  202. package/.docs/reference/workers/overview.md +8 -8
  203. package/.docs/reference/workflows/run-methods/timeTravel.md +1 -0
  204. package/.docs/reference/workspace/platform-filesystem.md +2 -2
  205. package/.docs/reference/workspace/platform-sandbox.md +10 -2
  206. package/.docs/reference/workspace/process-manager.md +3 -3
  207. package/.docs/reference/workspace/sandbox.md +10 -0
  208. package/CHANGELOG.md +16 -0
  209. package/dist/index.js +1 -1
  210. package/dist/{src-BZcgzbk9.js → src-D-W-bx5t.js} +2 -2
  211. package/dist/{src-BZcgzbk9.js.map → src-D-W-bx5t.js.map} +1 -1
  212. package/dist/stdio.js +1 -1
  213. package/package.json +5 -5
  214. package/.docs/docs/capabilities/channels/other-adapters.md +0 -68
  215. package/.docs/docs/observability/integrations/bridges/datadog.md +0 -219
  216. package/.docs/docs/observability/integrations/bridges/otel.md +0 -234
  217. package/.docs/docs/observability/integrations/exporters/datadog.md +0 -321
  218. package/.docs/guides/build-your-ui/copilotkit/channels.md +0 -86
  219. package/.docs/guides/build-your-ui/copilotkit/generative-ui.md +0 -174
  220. package/.docs/guides/guide/chef-michel.md +0 -211
  221. package/.docs/guides/guide/publishing-mcp-server.md +0 -137
  222. package/.docs/guides/guide/slack-assistant.md +0 -193
  223. package/.docs/guides/guide/stock-agent.md +0 -132
  224. package/.docs/guides/guide/web-search.md +0 -322
  225. package/.docs/guides/guide/whatsapp-chat-bot.md +0 -407
  226. package/.docs/guides/voice/realtime-voice.md +0 -430
  227. package/.docs/reference/voice/google.md +0 -290
  228. package/.docs/reference/voice/inworld.md +0 -137
  229. package/.docs/reference/voice/openai.md +0 -96
  230. package/.docs/reference/voice/playai.md +0 -82
  231. package/.docs/reference/workspace/vercel-serverless.md +0 -128
  232. /package/.docs/{guides/concepts → docs/guides}/multi-agent-systems.md +0 -0
  233. /package/.docs/{guides/concepts → docs/guides}/streaming.md +0 -0
  234. /package/.docs/{guides/build-your-ui → integrations/agentic-ui}/assistant-ui.md +0 -0
  235. /package/.docs/{guides/build-your-ui → integrations/agentic-ui}/openui.md +0 -0
  236. /package/.docs/{docs/server → integrations}/auth/auth0.md +0 -0
  237. /package/.docs/{docs/server → integrations}/auth/better-auth.md +0 -0
  238. /package/.docs/{docs/server → integrations}/auth/clerk.md +0 -0
  239. /package/.docs/{docs/server → integrations}/auth/firebase.md +0 -0
  240. /package/.docs/{docs/server → integrations}/auth/google.md +0 -0
  241. /package/.docs/{docs/server → integrations}/auth/okta.md +0 -0
  242. /package/.docs/{docs/server → integrations}/auth/supabase.md +0 -0
  243. /package/.docs/{docs/server → integrations}/auth/workos.md +0 -0
  244. /package/.docs/{guides/deployment → integrations/deploy}/amazon-ec2.md +0 -0
  245. /package/.docs/{guides/deployment → integrations/deploy}/inngest.md +0 -0
  246. /package/.docs/{guides/deployment → integrations/deploy}/kubernetes.md +0 -0
  247. /package/.docs/{guides/deployment → integrations/deploy}/temporal.md +0 -0
  248. /package/.docs/{reference/workspace/agentfs-filesystem.md → integrations/file-storage/agentfs.md} +0 -0
  249. /package/.docs/{reference/workspace/google-drive-filesystem.md → integrations/file-storage/google-drive.md} +0 -0
  250. /package/.docs/{guides/getting-started → integrations/frameworks}/express.md +0 -0
  251. /package/.docs/{guides/getting-started → integrations/frameworks}/hono.md +0 -0
  252. /package/.docs/{guides/getting-started → integrations/frameworks}/nestjs.md +0 -0
  253. /package/.docs/{reference/workspace/agentcore-runtime-sandbox.md → integrations/sandboxes/agentcore.md} +0 -0
  254. /package/.docs/{reference/workspace/blaxel-sandbox.md → integrations/sandboxes/blaxel.md} +0 -0
  255. /package/.docs/{guides/guide → integrations/tools}/firecrawl.md +0 -0
  256. /package/.docs/{reference → integrations}/voice/azure.md +0 -0
  257. /package/.docs/{reference → integrations}/voice/deepgram.md +0 -0
  258. /package/.docs/{reference → integrations}/voice/elevenlabs.md +0 -0
  259. /package/.docs/{reference → integrations}/voice/mistral.md +0 -0
  260. /package/.docs/{reference → integrations}/voice/murf.md +0 -0
  261. /package/.docs/{reference → integrations}/voice/sarvam.md +0 -0
  262. /package/.docs/{reference → integrations}/voice/speechify.md +0 -0
  263. /package/.docs/{reference/voice/xai-realtime.md → integrations/voice/xai.md} +0 -0
  264. /package/.docs/{guides/getting-started → reference}/manual-install.md +0 -0
  265. /package/.docs/{guides → reference}/migrations/agentnetwork.md +0 -0
  266. /package/.docs/{guides → reference}/migrations/network-to-supervisor.md +0 -0
  267. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/agent.md +0 -0
  268. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/client.md +0 -0
  269. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/deployment.md +0 -0
  270. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/evals.md +0 -0
  271. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/mastra.md +0 -0
  272. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/mcp.md +0 -0
  273. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/processors.md +0 -0
  274. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/rag.md +0 -0
  275. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/storage.md +0 -0
  276. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/vectors.md +0 -0
  277. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/voice.md +0 -0
  278. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/workflows.md +0 -0
  279. /package/.docs/{guides → reference}/migrations/vnext-to-standard-apis.md +0 -0
@@ -1,322 +0,0 @@
1
- > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
-
3
- # Building an agent that can search the web
4
-
5
- When building a web search agent, you have two main strategies to consider:
6
-
7
- 1. **Native search tools from the LLM**: Certain language models offer integrated web search capabilities that work out of the box.
8
- 2. **Implement a custom search tool**: Develop your own integration with a search provider's API to handle queries and retrieve results.
9
-
10
- ## Prerequisites
11
-
12
- - Node.js `v22.13.0` or later installed
13
- - An API key from a supported [Model Provider](https://mastra.ai/models)
14
- - An existing Mastra project (Follow the [installation guide](https://mastra.ai/guides/getting-started/quickstart) to set up a new project)
15
-
16
- ## Using native search tools
17
-
18
- Some LLM providers include built-in web search capabilities that can be used directly without additional API integrations. OpenAI's and Google's models both offer native search tools that the model can invoke during generation.
19
-
20
- 1. Install dependencies
21
-
22
- **OpenAI**:
23
-
24
- **npm**:
25
-
26
- ```bash
27
- npm install @ai-sdk/openai
28
- ```
29
-
30
- **pnpm**:
31
-
32
- ```bash
33
- pnpm add @ai-sdk/openai
34
- ```
35
-
36
- **Yarn**:
37
-
38
- ```bash
39
- yarn add @ai-sdk/openai
40
- ```
41
-
42
- **Bun**:
43
-
44
- ```bash
45
- bun add @ai-sdk/openai
46
- ```
47
-
48
- **Gemini**:
49
-
50
- ```bash
51
- npm install @ai-sdk/openai
52
- ```
53
-
54
- **Tab 3**:
55
-
56
- ```bash
57
- pnpm add @ai-sdk/openai
58
- ```
59
-
60
- **Tab 4**:
61
-
62
- ```bash
63
- yarn add @ai-sdk/openai
64
- ```
65
-
66
- **Tab 5**:
67
-
68
- ```bash
69
- bun add @ai-sdk/openai
70
- ```
71
-
72
- **Tab 6**:
73
-
74
- **npm**:
75
-
76
- ```bash
77
- npm install @ai-sdk/google
78
- ```
79
-
80
- **pnpm**:
81
-
82
- ```bash
83
- pnpm add @ai-sdk/google
84
- ```
85
-
86
- **Yarn**:
87
-
88
- ```bash
89
- yarn add @ai-sdk/google
90
- ```
91
-
92
- **Bun**:
93
-
94
- ```bash
95
- bun add @ai-sdk/google
96
- ```
97
-
98
- **Tab 7**:
99
-
100
- ```bash
101
- npm install @ai-sdk/google
102
- ```
103
-
104
- **Tab 8**:
105
-
106
- ```bash
107
- pnpm add @ai-sdk/google
108
- ```
109
-
110
- **Tab 9**:
111
-
112
- ```bash
113
- yarn add @ai-sdk/google
114
- ```
115
-
116
- **Tab 10**:
117
-
118
- ```bash
119
- bun add @ai-sdk/google
120
- ```
121
-
122
- 2. Create a new file `src/mastra/agents/searchAgent.ts` and define your agent:
123
-
124
- **OpenAI**:
125
-
126
- ```ts
127
- import { Agent } from '@mastra/core/agent'
128
-
129
- export const searchAgent = new Agent({
130
- id: 'search-agent',
131
- name: 'Search Agent',
132
- instructions: 'You are a search agent that can search the web for information.',
133
- model: 'openai/gpt-5.6-sol',
134
- })
135
- ```
136
-
137
- **Gemini**:
138
-
139
- ```ts
140
- import { Agent } from '@mastra/core/agent'
141
-
142
- export const searchAgent = new Agent({
143
- id: 'search-agent',
144
- name: 'Search Agent',
145
- instructions: 'You are a search agent that can search the web for information.',
146
- model: 'google/gemini-2.5-flash',
147
- })
148
- ```
149
-
150
- 3. Setup the tool:
151
-
152
- **OpenAI**:
153
-
154
- ```ts
155
- import { openai } from '@ai-sdk/openai'
156
- import { Agent } from '@mastra/core/agent'
157
-
158
- export const searchAgent = new Agent({
159
- id: 'search-agent',
160
- name: 'Search Agent',
161
- instructions: 'You are a search agent that can search the web for information.',
162
- model: 'openai/gpt-5.6-sol',
163
- tools: {
164
- webSearch: openai.tools.webSearch(),
165
- },
166
- })
167
- ```
168
-
169
- **Gemini**:
170
-
171
- ```ts
172
- import { google } from '@ai-sdk/google'
173
- import { Agent } from '@mastra/core/agent'
174
-
175
- export const searchAgent = new Agent({
176
- id: 'search-agent',
177
- name: 'Search Agent',
178
- instructions: 'You are a search agent that can search the web for information.',
179
- model: 'google/gemini-2.5-flash',
180
- tools: {
181
- webSearch: google.tools.googleSearch({
182
- mode: 'MODE_DYNAMIC',
183
- }),
184
- },
185
- })
186
- ```
187
-
188
- 4. In your `src/mastra/index.ts` file, register the agent:
189
-
190
- ```ts
191
- import { Mastra } from '@mastra/core'
192
- import { searchAgent } from './agents/searchAgent'
193
-
194
- export const mastra = new Mastra({
195
- agents: { searchAgent },
196
- })
197
- ```
198
-
199
- 5. You can test your agent with [Studio](https://mastra.ai/docs/studio/overview) using the `mastra dev` command:
200
-
201
- ```bash
202
- mastra dev
203
- ```
204
-
205
- Inside Studio navigate to the **"Search Agent"** and ask it: "What happened last week in AI news?"
206
-
207
- ## Using search APIs
208
-
209
- For more control over search behavior, you can integrate external search APIs as custom tools. [Exa](https://exa.ai/) is a search engine built specifically for AI applications, offering semantic search, configurable filters (category, domain, date range), and the ability to retrieve full page contents. The search API is wrapped in a Mastra tool that defines the input schema, output format, and execution logic.
210
-
211
- 1. Install dependencies
212
-
213
- **npm**:
214
-
215
- ```bash
216
- npm install exa-js
217
- ```
218
-
219
- **pnpm**:
220
-
221
- ```bash
222
- pnpm add exa-js
223
- ```
224
-
225
- **Yarn**:
226
-
227
- ```bash
228
- yarn add exa-js
229
- ```
230
-
231
- **Bun**:
232
-
233
- ```bash
234
- bun add exa-js
235
- ```
236
-
237
- 2. Create a new file `src/mastra/agents/searchAgent.ts` and define your agent:
238
-
239
- ```ts
240
- import { Agent } from '@mastra/core/agent'
241
-
242
- export const searchAgent = new Agent({
243
- id: 'search-agent',
244
- name: 'Search Agent',
245
- instructions: 'You are a search agent that can search the web for information.',
246
- model: 'openai/gpt-5.6-sol',
247
- })
248
- ```
249
-
250
- 3. Setup the tool
251
-
252
- ```ts
253
- import { createTool } from '@mastra/core/tools'
254
- import z from 'zod'
255
- import Exa from 'exa-js'
256
-
257
- export const exa = new Exa(process.env.EXA_API_KEY)
258
-
259
- export const webSearch = createTool({
260
- id: 'exa-web-search',
261
- description: 'Search the web',
262
- inputSchema: z.object({
263
- query: z.string().min(1).max(50).describe('The search query'),
264
- }),
265
- outputSchema: z.array(
266
- z.object({
267
- title: z.string().nullable(),
268
- url: z.string(),
269
- content: z.string(),
270
- publishedDate: z.string().optional(),
271
- }),
272
- ),
273
- execute: async inputData => {
274
- const { results } = await exa.searchAndContents(inputData.query, {
275
- livecrawl: 'always',
276
- numResults: 2,
277
- })
278
-
279
- return results.map(result => ({
280
- title: result.title,
281
- url: result.url,
282
- content: result.text.slice(0, 500),
283
- publishedDate: result.publishedDate,
284
- }))
285
- },
286
- })
287
- ```
288
-
289
- 4. Add to your Agent
290
-
291
- ```ts
292
- import { webSearch } from './tools/searchTool'
293
-
294
- export const searchAgent = new Agent({
295
- id: 'search-agent',
296
- name: 'Search Agent',
297
- instructions: 'You are a search agent that can search the web for information.',
298
- model: 'openai/gpt-5.6-sol',
299
- tools: {
300
- webSearch,
301
- },
302
- })
303
- ```
304
-
305
- 5. In your `src/mastra/index.ts` file, register the agent:
306
-
307
- ```ts
308
- import { Mastra } from '@mastra/core'
309
- import { searchAgent } from './agents/searchAgent'
310
-
311
- export const mastra = new Mastra({
312
- agents: { searchAgent },
313
- })
314
- ```
315
-
316
- 6. You can test your agent with [Studio](https://mastra.ai/docs/studio/overview) using the `mastra dev` command:
317
-
318
- ```bash
319
- mastra dev
320
- ```
321
-
322
- Inside Studio navigate to the **"Search Agent"** and ask it: "What happened last week in AI news?"