@mastra/mcp-docs-server 1.1.5 → 1.1.6-alpha.0

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 (556) hide show
  1. package/.docs/docs/agents/adding-voice.md +349 -0
  2. package/.docs/docs/agents/agent-approval.md +558 -0
  3. package/.docs/docs/agents/agent-memory.md +209 -0
  4. package/.docs/docs/agents/guardrails.md +374 -0
  5. package/.docs/docs/agents/network-approval.md +275 -0
  6. package/.docs/docs/agents/networks.md +299 -0
  7. package/.docs/docs/agents/overview.md +304 -0
  8. package/.docs/docs/agents/processors.md +622 -0
  9. package/.docs/docs/agents/structured-output.md +273 -0
  10. package/.docs/docs/agents/supervisor-agents.md +304 -0
  11. package/.docs/docs/agents/using-tools.md +214 -0
  12. package/.docs/docs/build-with-ai/mcp-docs-server.md +238 -0
  13. package/.docs/docs/build-with-ai/skills.md +35 -0
  14. package/.docs/docs/community/contributing-templates.md +3 -0
  15. package/.docs/docs/community/discord.md +9 -0
  16. package/.docs/docs/community/licensing.md +66 -0
  17. package/.docs/docs/deployment/cloud-providers.md +15 -0
  18. package/.docs/docs/deployment/mastra-server.md +122 -0
  19. package/.docs/docs/deployment/monorepo.md +142 -0
  20. package/.docs/docs/deployment/overview.md +62 -0
  21. package/.docs/docs/deployment/studio.md +239 -0
  22. package/.docs/docs/deployment/web-framework.md +52 -0
  23. package/.docs/docs/deployment/workflow-runners.md +9 -0
  24. package/.docs/docs/evals/built-in-scorers.md +47 -0
  25. package/.docs/docs/evals/custom-scorers.md +519 -0
  26. package/.docs/docs/evals/overview.md +141 -0
  27. package/.docs/docs/evals/running-in-ci.md +124 -0
  28. package/.docs/docs/getting-started/build-with-ai.md +68 -0
  29. package/.docs/docs/getting-started/manual-install.md +226 -0
  30. package/.docs/docs/getting-started/project-structure.md +60 -0
  31. package/.docs/docs/getting-started/start.md +28 -0
  32. package/.docs/docs/getting-started/studio.md +101 -0
  33. package/.docs/docs/index.md +43 -0
  34. package/.docs/docs/mastra-cloud/deployment.md +77 -0
  35. package/.docs/docs/mastra-cloud/observability.md +38 -0
  36. package/.docs/docs/mastra-cloud/overview.md +23 -0
  37. package/.docs/docs/mastra-cloud/setup.md +42 -0
  38. package/.docs/docs/mastra-cloud/studio.md +24 -0
  39. package/.docs/docs/mastra-code/configuration.md +299 -0
  40. package/.docs/docs/mastra-code/customization.md +228 -0
  41. package/.docs/docs/mastra-code/modes.md +104 -0
  42. package/.docs/docs/mastra-code/overview.md +135 -0
  43. package/.docs/docs/mastra-code/tools.md +229 -0
  44. package/.docs/docs/mcp/overview.md +373 -0
  45. package/.docs/docs/mcp/publishing-mcp-server.md +95 -0
  46. package/.docs/docs/memory/memory-processors.md +314 -0
  47. package/.docs/docs/memory/message-history.md +260 -0
  48. package/.docs/docs/memory/observational-memory.md +248 -0
  49. package/.docs/docs/memory/overview.md +45 -0
  50. package/.docs/docs/memory/semantic-recall.md +272 -0
  51. package/.docs/docs/memory/storage.md +261 -0
  52. package/.docs/docs/memory/working-memory.md +400 -0
  53. package/.docs/docs/observability/datasets/overview.md +198 -0
  54. package/.docs/docs/observability/datasets/running-experiments.md +274 -0
  55. package/.docs/docs/observability/logging.md +99 -0
  56. package/.docs/docs/observability/overview.md +70 -0
  57. package/.docs/docs/observability/tracing/bridges/otel.md +209 -0
  58. package/.docs/docs/observability/tracing/exporters/arize.md +272 -0
  59. package/.docs/docs/observability/tracing/exporters/braintrust.md +111 -0
  60. package/.docs/docs/observability/tracing/exporters/cloud.md +127 -0
  61. package/.docs/docs/observability/tracing/exporters/datadog.md +187 -0
  62. package/.docs/docs/observability/tracing/exporters/default.md +209 -0
  63. package/.docs/docs/observability/tracing/exporters/laminar.md +100 -0
  64. package/.docs/docs/observability/tracing/exporters/langfuse.md +213 -0
  65. package/.docs/docs/observability/tracing/exporters/langsmith.md +198 -0
  66. package/.docs/docs/observability/tracing/exporters/otel.md +476 -0
  67. package/.docs/docs/observability/tracing/exporters/posthog.md +148 -0
  68. package/.docs/docs/observability/tracing/exporters/sentry.md +208 -0
  69. package/.docs/docs/observability/tracing/overview.md +1112 -0
  70. package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +300 -0
  71. package/.docs/docs/rag/chunking-and-embedding.md +183 -0
  72. package/.docs/docs/rag/graph-rag.md +215 -0
  73. package/.docs/docs/rag/overview.md +72 -0
  74. package/.docs/docs/rag/retrieval.md +515 -0
  75. package/.docs/docs/rag/vector-databases.md +645 -0
  76. package/.docs/docs/server/auth/auth0.md +220 -0
  77. package/.docs/docs/server/auth/better-auth.md +203 -0
  78. package/.docs/docs/server/auth/clerk.md +132 -0
  79. package/.docs/docs/server/auth/composite-auth.md +234 -0
  80. package/.docs/docs/server/auth/custom-auth-provider.md +513 -0
  81. package/.docs/docs/server/auth/firebase.md +272 -0
  82. package/.docs/docs/server/auth/jwt.md +110 -0
  83. package/.docs/docs/server/auth/simple-auth.md +180 -0
  84. package/.docs/docs/server/auth/supabase.md +117 -0
  85. package/.docs/docs/server/auth/workos.md +186 -0
  86. package/.docs/docs/server/auth.md +38 -0
  87. package/.docs/docs/server/custom-adapters.md +378 -0
  88. package/.docs/docs/server/custom-api-routes.md +267 -0
  89. package/.docs/docs/server/mastra-client.md +243 -0
  90. package/.docs/docs/server/mastra-server.md +71 -0
  91. package/.docs/docs/server/middleware.md +225 -0
  92. package/.docs/docs/server/request-context.md +471 -0
  93. package/.docs/docs/server/server-adapters.md +547 -0
  94. package/.docs/docs/streaming/events.md +237 -0
  95. package/.docs/docs/streaming/overview.md +175 -0
  96. package/.docs/docs/streaming/tool-streaming.md +175 -0
  97. package/.docs/docs/streaming/workflow-streaming.md +109 -0
  98. package/.docs/docs/voice/overview.md +959 -0
  99. package/.docs/docs/voice/speech-to-speech.md +102 -0
  100. package/.docs/docs/voice/speech-to-text.md +79 -0
  101. package/.docs/docs/voice/text-to-speech.md +83 -0
  102. package/.docs/docs/workflows/agents-and-tools.md +166 -0
  103. package/.docs/docs/workflows/control-flow.md +822 -0
  104. package/.docs/docs/workflows/error-handling.md +360 -0
  105. package/.docs/docs/workflows/human-in-the-loop.md +215 -0
  106. package/.docs/docs/workflows/overview.md +370 -0
  107. package/.docs/docs/workflows/snapshots.md +238 -0
  108. package/.docs/docs/workflows/suspend-and-resume.md +205 -0
  109. package/.docs/docs/workflows/time-travel.md +309 -0
  110. package/.docs/docs/workflows/workflow-state.md +181 -0
  111. package/.docs/docs/workspace/filesystem.md +164 -0
  112. package/.docs/docs/workspace/overview.md +239 -0
  113. package/.docs/docs/workspace/sandbox.md +63 -0
  114. package/.docs/docs/workspace/search.md +243 -0
  115. package/.docs/docs/workspace/skills.md +169 -0
  116. package/.docs/guides/agent-frameworks/ai-sdk.md +140 -0
  117. package/.docs/guides/build-your-ui/ai-sdk-ui.md +1499 -0
  118. package/.docs/guides/build-your-ui/assistant-ui.md +156 -0
  119. package/.docs/guides/build-your-ui/copilotkit.md +289 -0
  120. package/.docs/guides/deployment/amazon-ec2.md +130 -0
  121. package/.docs/guides/deployment/aws-lambda.md +248 -0
  122. package/.docs/guides/deployment/azure-app-services.md +114 -0
  123. package/.docs/guides/deployment/cloudflare.md +99 -0
  124. package/.docs/guides/deployment/digital-ocean.md +168 -0
  125. package/.docs/guides/deployment/inngest.md +682 -0
  126. package/.docs/guides/deployment/netlify.md +77 -0
  127. package/.docs/guides/deployment/vercel.md +101 -0
  128. package/.docs/guides/getting-started/astro.md +398 -0
  129. package/.docs/guides/getting-started/electron.md +504 -0
  130. package/.docs/guides/getting-started/express.md +251 -0
  131. package/.docs/guides/getting-started/hono.md +190 -0
  132. package/.docs/guides/getting-started/next-js.md +347 -0
  133. package/.docs/guides/getting-started/nuxt.md +497 -0
  134. package/.docs/guides/getting-started/quickstart.md +67 -0
  135. package/.docs/guides/getting-started/sveltekit.md +296 -0
  136. package/.docs/guides/getting-started/vite-react.md +425 -0
  137. package/.docs/guides/guide/ai-recruiter.md +226 -0
  138. package/.docs/guides/guide/chef-michel.md +211 -0
  139. package/.docs/guides/guide/code-review-bot.md +226 -0
  140. package/.docs/guides/guide/dev-assistant.md +307 -0
  141. package/.docs/guides/guide/docs-manager.md +238 -0
  142. package/.docs/guides/guide/github-actions-pr-description.md +236 -0
  143. package/.docs/guides/guide/notes-mcp-server.md +416 -0
  144. package/.docs/guides/guide/research-assistant.md +348 -0
  145. package/.docs/guides/guide/research-coordinator.md +416 -0
  146. package/.docs/guides/guide/stock-agent.md +132 -0
  147. package/.docs/guides/guide/web-search.md +320 -0
  148. package/.docs/guides/guide/whatsapp-chat-bot.md +405 -0
  149. package/.docs/guides/index.md +3 -0
  150. package/.docs/guides/migrations/agentnetwork.md +97 -0
  151. package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +112 -0
  152. package/.docs/guides/migrations/network-to-supervisor.md +261 -0
  153. package/.docs/guides/migrations/upgrade-to-v1/agent.md +404 -0
  154. package/.docs/guides/migrations/upgrade-to-v1/cli.md +57 -0
  155. package/.docs/guides/migrations/upgrade-to-v1/client.md +337 -0
  156. package/.docs/guides/migrations/upgrade-to-v1/deployment.md +37 -0
  157. package/.docs/guides/migrations/upgrade-to-v1/evals.md +239 -0
  158. package/.docs/guides/migrations/upgrade-to-v1/mastra.md +143 -0
  159. package/.docs/guides/migrations/upgrade-to-v1/mcp.md +97 -0
  160. package/.docs/guides/migrations/upgrade-to-v1/memory.md +285 -0
  161. package/.docs/guides/migrations/upgrade-to-v1/overview.md +119 -0
  162. package/.docs/guides/migrations/upgrade-to-v1/processors.md +68 -0
  163. package/.docs/guides/migrations/upgrade-to-v1/rag.md +42 -0
  164. package/.docs/guides/migrations/upgrade-to-v1/storage.md +553 -0
  165. package/.docs/guides/migrations/upgrade-to-v1/tools.md +180 -0
  166. package/.docs/guides/migrations/upgrade-to-v1/tracing.md +412 -0
  167. package/.docs/guides/migrations/upgrade-to-v1/vectors.md +87 -0
  168. package/.docs/guides/migrations/upgrade-to-v1/voice.md +30 -0
  169. package/.docs/guides/migrations/upgrade-to-v1/workflows.md +341 -0
  170. package/.docs/guides/migrations/vnext-to-standard-apis.md +362 -0
  171. package/.docs/models/embeddings.md +161 -0
  172. package/.docs/models/gateways/azure-openai.md +128 -0
  173. package/.docs/models/gateways/custom-gateways.md +545 -0
  174. package/.docs/models/gateways/netlify.md +88 -0
  175. package/.docs/models/gateways/openrouter.md +219 -0
  176. package/.docs/models/gateways/vercel.md +225 -0
  177. package/.docs/models/gateways.md +14 -0
  178. package/.docs/models/index.md +286 -0
  179. package/.docs/models/providers/302ai.md +134 -0
  180. package/.docs/models/providers/abacus.md +125 -0
  181. package/.docs/models/providers/agentrouter.md +90 -0
  182. package/.docs/models/providers/aihubmix.md +107 -0
  183. package/.docs/models/providers/alibaba-cn.md +135 -0
  184. package/.docs/models/providers/alibaba.md +111 -0
  185. package/.docs/models/providers/amazon-bedrock.md +33 -0
  186. package/.docs/models/providers/anthropic.md +153 -0
  187. package/.docs/models/providers/azure.md +33 -0
  188. package/.docs/models/providers/bailing.md +72 -0
  189. package/.docs/models/providers/baseten.md +77 -0
  190. package/.docs/models/providers/berget.md +78 -0
  191. package/.docs/models/providers/cerebras.md +101 -0
  192. package/.docs/models/providers/chutes.md +136 -0
  193. package/.docs/models/providers/cloudflare-ai-gateway.md +33 -0
  194. package/.docs/models/providers/cloudflare-workers-ai.md +109 -0
  195. package/.docs/models/providers/cohere.md +33 -0
  196. package/.docs/models/providers/cortecs.md +91 -0
  197. package/.docs/models/providers/deepinfra.md +112 -0
  198. package/.docs/models/providers/deepseek.md +88 -0
  199. package/.docs/models/providers/fastrouter.md +84 -0
  200. package/.docs/models/providers/fireworks-ai.md +89 -0
  201. package/.docs/models/providers/firmware.md +85 -0
  202. package/.docs/models/providers/friendli.md +78 -0
  203. package/.docs/models/providers/github-models.md +125 -0
  204. package/.docs/models/providers/google-vertex.md +33 -0
  205. package/.docs/models/providers/google.md +159 -0
  206. package/.docs/models/providers/groq.md +107 -0
  207. package/.docs/models/providers/helicone.md +161 -0
  208. package/.docs/models/providers/huggingface.md +90 -0
  209. package/.docs/models/providers/iflowcn.md +84 -0
  210. package/.docs/models/providers/inception.md +72 -0
  211. package/.docs/models/providers/inference.md +79 -0
  212. package/.docs/models/providers/io-intelligence.md +87 -0
  213. package/.docs/models/providers/io-net.md +87 -0
  214. package/.docs/models/providers/jiekou.md +131 -0
  215. package/.docs/models/providers/kilo.md +333 -0
  216. package/.docs/models/providers/kimi-for-coding.md +100 -0
  217. package/.docs/models/providers/kuae-cloud-coding-plan.md +71 -0
  218. package/.docs/models/providers/llama.md +77 -0
  219. package/.docs/models/providers/lmstudio.md +73 -0
  220. package/.docs/models/providers/lucidquery.md +72 -0
  221. package/.docs/models/providers/minimax-cn-coding-plan.md +102 -0
  222. package/.docs/models/providers/minimax-cn.md +102 -0
  223. package/.docs/models/providers/minimax-coding-plan.md +102 -0
  224. package/.docs/models/providers/minimax.md +104 -0
  225. package/.docs/models/providers/mistral.md +124 -0
  226. package/.docs/models/providers/moark.md +72 -0
  227. package/.docs/models/providers/modelscope.md +77 -0
  228. package/.docs/models/providers/moonshotai-cn.md +76 -0
  229. package/.docs/models/providers/moonshotai.md +76 -0
  230. package/.docs/models/providers/morph.md +73 -0
  231. package/.docs/models/providers/nano-gpt.md +103 -0
  232. package/.docs/models/providers/nebius.md +116 -0
  233. package/.docs/models/providers/nova.md +72 -0
  234. package/.docs/models/providers/novita-ai.md +154 -0
  235. package/.docs/models/providers/nvidia.md +141 -0
  236. package/.docs/models/providers/ollama-cloud.md +103 -0
  237. package/.docs/models/providers/ollama.md +33 -0
  238. package/.docs/models/providers/openai.md +193 -0
  239. package/.docs/models/providers/opencode.md +100 -0
  240. package/.docs/models/providers/ovhcloud.md +83 -0
  241. package/.docs/models/providers/perplexity.md +100 -0
  242. package/.docs/models/providers/poe.md +183 -0
  243. package/.docs/models/providers/privatemode-ai.md +75 -0
  244. package/.docs/models/providers/requesty.md +90 -0
  245. package/.docs/models/providers/scaleway.md +84 -0
  246. package/.docs/models/providers/siliconflow-cn.md +138 -0
  247. package/.docs/models/providers/siliconflow.md +140 -0
  248. package/.docs/models/providers/stackit.md +78 -0
  249. package/.docs/models/providers/stepfun.md +73 -0
  250. package/.docs/models/providers/submodel.md +79 -0
  251. package/.docs/models/providers/synthetic.md +96 -0
  252. package/.docs/models/providers/togetherai.md +115 -0
  253. package/.docs/models/providers/upstage.md +73 -0
  254. package/.docs/models/providers/venice.md +95 -0
  255. package/.docs/models/providers/vivgrid.md +106 -0
  256. package/.docs/models/providers/vultr.md +75 -0
  257. package/.docs/models/providers/wandb.md +80 -0
  258. package/.docs/models/providers/xai.md +141 -0
  259. package/.docs/models/providers/xiaomi.md +71 -0
  260. package/.docs/models/providers/zai-coding-plan.md +80 -0
  261. package/.docs/models/providers/zai.md +79 -0
  262. package/.docs/models/providers/zenmux.md +161 -0
  263. package/.docs/models/providers/zhipuai-coding-plan.md +79 -0
  264. package/.docs/models/providers/zhipuai.md +79 -0
  265. package/.docs/models/providers.md +81 -0
  266. package/.docs/reference/agents/agent.md +141 -0
  267. package/.docs/reference/agents/generate.md +186 -0
  268. package/.docs/reference/agents/generateLegacy.md +173 -0
  269. package/.docs/reference/agents/getDefaultGenerateOptions.md +36 -0
  270. package/.docs/reference/agents/getDefaultOptions.md +34 -0
  271. package/.docs/reference/agents/getDefaultStreamOptions.md +36 -0
  272. package/.docs/reference/agents/getDescription.md +21 -0
  273. package/.docs/reference/agents/getInstructions.md +34 -0
  274. package/.docs/reference/agents/getLLM.md +37 -0
  275. package/.docs/reference/agents/getMemory.md +34 -0
  276. package/.docs/reference/agents/getModel.md +34 -0
  277. package/.docs/reference/agents/getTools.md +29 -0
  278. package/.docs/reference/agents/getVoice.md +34 -0
  279. package/.docs/reference/agents/listAgents.md +35 -0
  280. package/.docs/reference/agents/listScorers.md +34 -0
  281. package/.docs/reference/agents/listTools.md +34 -0
  282. package/.docs/reference/agents/listWorkflows.md +34 -0
  283. package/.docs/reference/agents/network.md +133 -0
  284. package/.docs/reference/ai-sdk/chat-route.md +82 -0
  285. package/.docs/reference/ai-sdk/handle-chat-stream.md +53 -0
  286. package/.docs/reference/ai-sdk/handle-network-stream.md +37 -0
  287. package/.docs/reference/ai-sdk/handle-workflow-stream.md +55 -0
  288. package/.docs/reference/ai-sdk/network-route.md +74 -0
  289. package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +231 -0
  290. package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +79 -0
  291. package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +76 -0
  292. package/.docs/reference/ai-sdk/with-mastra.md +59 -0
  293. package/.docs/reference/ai-sdk/workflow-route.md +79 -0
  294. package/.docs/reference/auth/auth0.md +73 -0
  295. package/.docs/reference/auth/better-auth.md +71 -0
  296. package/.docs/reference/auth/clerk.md +36 -0
  297. package/.docs/reference/auth/firebase.md +80 -0
  298. package/.docs/reference/auth/jwt.md +26 -0
  299. package/.docs/reference/auth/supabase.md +33 -0
  300. package/.docs/reference/auth/workos.md +84 -0
  301. package/.docs/reference/cli/create-mastra.md +137 -0
  302. package/.docs/reference/cli/mastra.md +336 -0
  303. package/.docs/reference/client-js/agents.md +437 -0
  304. package/.docs/reference/client-js/error-handling.md +16 -0
  305. package/.docs/reference/client-js/logs.md +24 -0
  306. package/.docs/reference/client-js/mastra-client.md +63 -0
  307. package/.docs/reference/client-js/memory.md +221 -0
  308. package/.docs/reference/client-js/observability.md +72 -0
  309. package/.docs/reference/client-js/telemetry.md +20 -0
  310. package/.docs/reference/client-js/tools.md +44 -0
  311. package/.docs/reference/client-js/vectors.md +79 -0
  312. package/.docs/reference/client-js/workflows.md +199 -0
  313. package/.docs/reference/configuration.md +752 -0
  314. package/.docs/reference/core/addGateway.md +42 -0
  315. package/.docs/reference/core/getAgent.md +21 -0
  316. package/.docs/reference/core/getAgentById.md +21 -0
  317. package/.docs/reference/core/getDeployer.md +22 -0
  318. package/.docs/reference/core/getGateway.md +38 -0
  319. package/.docs/reference/core/getGatewayById.md +41 -0
  320. package/.docs/reference/core/getLogger.md +22 -0
  321. package/.docs/reference/core/getMCPServer.md +47 -0
  322. package/.docs/reference/core/getMCPServerById.md +55 -0
  323. package/.docs/reference/core/getMemory.md +50 -0
  324. package/.docs/reference/core/getScorer.md +54 -0
  325. package/.docs/reference/core/getScorerById.md +54 -0
  326. package/.docs/reference/core/getServer.md +22 -0
  327. package/.docs/reference/core/getStorage.md +22 -0
  328. package/.docs/reference/core/getStoredAgentById.md +89 -0
  329. package/.docs/reference/core/getTelemetry.md +22 -0
  330. package/.docs/reference/core/getVector.md +22 -0
  331. package/.docs/reference/core/getWorkflow.md +42 -0
  332. package/.docs/reference/core/listAgents.md +21 -0
  333. package/.docs/reference/core/listGateways.md +40 -0
  334. package/.docs/reference/core/listLogs.md +38 -0
  335. package/.docs/reference/core/listLogsByRunId.md +36 -0
  336. package/.docs/reference/core/listMCPServers.md +55 -0
  337. package/.docs/reference/core/listMemory.md +56 -0
  338. package/.docs/reference/core/listScorers.md +29 -0
  339. package/.docs/reference/core/listStoredAgents.md +93 -0
  340. package/.docs/reference/core/listVectors.md +22 -0
  341. package/.docs/reference/core/listWorkflows.md +21 -0
  342. package/.docs/reference/core/mastra-class.md +66 -0
  343. package/.docs/reference/core/mastra-model-gateway.md +153 -0
  344. package/.docs/reference/core/setLogger.md +26 -0
  345. package/.docs/reference/core/setStorage.md +27 -0
  346. package/.docs/reference/datasets/addItem.md +37 -0
  347. package/.docs/reference/datasets/addItems.md +35 -0
  348. package/.docs/reference/datasets/compareExperiments.md +52 -0
  349. package/.docs/reference/datasets/create.md +51 -0
  350. package/.docs/reference/datasets/dataset.md +82 -0
  351. package/.docs/reference/datasets/datasets-manager.md +94 -0
  352. package/.docs/reference/datasets/delete.md +25 -0
  353. package/.docs/reference/datasets/deleteExperiment.md +27 -0
  354. package/.docs/reference/datasets/deleteItem.md +27 -0
  355. package/.docs/reference/datasets/deleteItems.md +29 -0
  356. package/.docs/reference/datasets/get.md +31 -0
  357. package/.docs/reference/datasets/getDetails.md +47 -0
  358. package/.docs/reference/datasets/getExperiment.md +30 -0
  359. package/.docs/reference/datasets/getItem.md +33 -0
  360. package/.docs/reference/datasets/getItemHistory.md +31 -0
  361. package/.docs/reference/datasets/list.md +31 -0
  362. package/.docs/reference/datasets/listExperimentResults.md +39 -0
  363. package/.docs/reference/datasets/listExperiments.md +33 -0
  364. package/.docs/reference/datasets/listItems.md +46 -0
  365. package/.docs/reference/datasets/listVersions.md +33 -0
  366. package/.docs/reference/datasets/startExperiment.md +62 -0
  367. package/.docs/reference/datasets/startExperimentAsync.md +43 -0
  368. package/.docs/reference/datasets/update.md +48 -0
  369. package/.docs/reference/datasets/updateItem.md +38 -0
  370. package/.docs/reference/deployer/cloudflare.md +79 -0
  371. package/.docs/reference/deployer/netlify.md +80 -0
  372. package/.docs/reference/deployer/vercel.md +91 -0
  373. package/.docs/reference/deployer.md +100 -0
  374. package/.docs/reference/evals/answer-relevancy.md +105 -0
  375. package/.docs/reference/evals/answer-similarity.md +99 -0
  376. package/.docs/reference/evals/bias.md +120 -0
  377. package/.docs/reference/evals/completeness.md +136 -0
  378. package/.docs/reference/evals/content-similarity.md +101 -0
  379. package/.docs/reference/evals/context-precision.md +196 -0
  380. package/.docs/reference/evals/context-relevance.md +531 -0
  381. package/.docs/reference/evals/create-scorer.md +270 -0
  382. package/.docs/reference/evals/faithfulness.md +114 -0
  383. package/.docs/reference/evals/hallucination.md +213 -0
  384. package/.docs/reference/evals/keyword-coverage.md +128 -0
  385. package/.docs/reference/evals/mastra-scorer.md +123 -0
  386. package/.docs/reference/evals/noise-sensitivity.md +675 -0
  387. package/.docs/reference/evals/prompt-alignment.md +614 -0
  388. package/.docs/reference/evals/run-evals.md +179 -0
  389. package/.docs/reference/evals/scorer-utils.md +326 -0
  390. package/.docs/reference/evals/textual-difference.md +113 -0
  391. package/.docs/reference/evals/tone-consistency.md +119 -0
  392. package/.docs/reference/evals/tool-call-accuracy.md +533 -0
  393. package/.docs/reference/evals/toxicity.md +123 -0
  394. package/.docs/reference/harness/harness-class.md +708 -0
  395. package/.docs/reference/index.md +277 -0
  396. package/.docs/reference/logging/pino-logger.md +117 -0
  397. package/.docs/reference/mastra-code/createMastraCode.md +108 -0
  398. package/.docs/reference/memory/clone-utilities.md +199 -0
  399. package/.docs/reference/memory/cloneThread.md +130 -0
  400. package/.docs/reference/memory/createThread.md +68 -0
  401. package/.docs/reference/memory/deleteMessages.md +38 -0
  402. package/.docs/reference/memory/getThreadById.md +24 -0
  403. package/.docs/reference/memory/listThreads.md +145 -0
  404. package/.docs/reference/memory/memory-class.md +147 -0
  405. package/.docs/reference/memory/observational-memory.md +565 -0
  406. package/.docs/reference/memory/recall.md +91 -0
  407. package/.docs/reference/observability/tracing/bridges/otel.md +131 -0
  408. package/.docs/reference/observability/tracing/configuration.md +178 -0
  409. package/.docs/reference/observability/tracing/exporters/arize.md +141 -0
  410. package/.docs/reference/observability/tracing/exporters/braintrust.md +93 -0
  411. package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +163 -0
  412. package/.docs/reference/observability/tracing/exporters/console-exporter.md +138 -0
  413. package/.docs/reference/observability/tracing/exporters/datadog.md +116 -0
  414. package/.docs/reference/observability/tracing/exporters/default-exporter.md +174 -0
  415. package/.docs/reference/observability/tracing/exporters/laminar.md +78 -0
  416. package/.docs/reference/observability/tracing/exporters/langfuse.md +134 -0
  417. package/.docs/reference/observability/tracing/exporters/langsmith.md +108 -0
  418. package/.docs/reference/observability/tracing/exporters/otel.md +199 -0
  419. package/.docs/reference/observability/tracing/exporters/posthog.md +92 -0
  420. package/.docs/reference/observability/tracing/exporters/sentry.md +184 -0
  421. package/.docs/reference/observability/tracing/instances.md +107 -0
  422. package/.docs/reference/observability/tracing/interfaces.md +743 -0
  423. package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +144 -0
  424. package/.docs/reference/observability/tracing/spans.md +224 -0
  425. package/.docs/reference/processors/batch-parts-processor.md +61 -0
  426. package/.docs/reference/processors/language-detector.md +82 -0
  427. package/.docs/reference/processors/message-history-processor.md +85 -0
  428. package/.docs/reference/processors/moderation-processor.md +104 -0
  429. package/.docs/reference/processors/pii-detector.md +108 -0
  430. package/.docs/reference/processors/processor-interface.md +521 -0
  431. package/.docs/reference/processors/prompt-injection-detector.md +72 -0
  432. package/.docs/reference/processors/semantic-recall-processor.md +117 -0
  433. package/.docs/reference/processors/system-prompt-scrubber.md +80 -0
  434. package/.docs/reference/processors/token-limiter-processor.md +115 -0
  435. package/.docs/reference/processors/tool-call-filter.md +85 -0
  436. package/.docs/reference/processors/tool-search-processor.md +111 -0
  437. package/.docs/reference/processors/unicode-normalizer.md +62 -0
  438. package/.docs/reference/processors/working-memory-processor.md +152 -0
  439. package/.docs/reference/rag/chunk.md +221 -0
  440. package/.docs/reference/rag/database-config.md +261 -0
  441. package/.docs/reference/rag/document.md +114 -0
  442. package/.docs/reference/rag/embeddings.md +92 -0
  443. package/.docs/reference/rag/extract-params.md +168 -0
  444. package/.docs/reference/rag/graph-rag.md +111 -0
  445. package/.docs/reference/rag/metadata-filters.md +216 -0
  446. package/.docs/reference/rag/rerank.md +75 -0
  447. package/.docs/reference/rag/rerankWithScorer.md +80 -0
  448. package/.docs/reference/server/create-route.md +262 -0
  449. package/.docs/reference/server/express-adapter.md +176 -0
  450. package/.docs/reference/server/fastify-adapter.md +90 -0
  451. package/.docs/reference/server/hono-adapter.md +162 -0
  452. package/.docs/reference/server/koa-adapter.md +127 -0
  453. package/.docs/reference/server/mastra-server.md +298 -0
  454. package/.docs/reference/server/register-api-route.md +249 -0
  455. package/.docs/reference/server/routes.md +306 -0
  456. package/.docs/reference/storage/cloudflare-d1.md +218 -0
  457. package/.docs/reference/storage/cloudflare.md +88 -0
  458. package/.docs/reference/storage/composite.md +235 -0
  459. package/.docs/reference/storage/convex.md +161 -0
  460. package/.docs/reference/storage/dynamodb.md +282 -0
  461. package/.docs/reference/storage/lance.md +131 -0
  462. package/.docs/reference/storage/libsql.md +135 -0
  463. package/.docs/reference/storage/mongodb.md +262 -0
  464. package/.docs/reference/storage/mssql.md +157 -0
  465. package/.docs/reference/storage/overview.md +121 -0
  466. package/.docs/reference/storage/postgresql.md +526 -0
  467. package/.docs/reference/storage/upstash.md +160 -0
  468. package/.docs/reference/streaming/ChunkType.md +292 -0
  469. package/.docs/reference/streaming/agents/MastraModelOutput.md +182 -0
  470. package/.docs/reference/streaming/agents/stream.md +221 -0
  471. package/.docs/reference/streaming/agents/streamLegacy.md +142 -0
  472. package/.docs/reference/streaming/workflows/observeStream.md +42 -0
  473. package/.docs/reference/streaming/workflows/resumeStream.md +61 -0
  474. package/.docs/reference/streaming/workflows/stream.md +88 -0
  475. package/.docs/reference/streaming/workflows/timeTravelStream.md +142 -0
  476. package/.docs/reference/templates/overview.md +194 -0
  477. package/.docs/reference/tools/create-tool.md +237 -0
  478. package/.docs/reference/tools/document-chunker-tool.md +89 -0
  479. package/.docs/reference/tools/graph-rag-tool.md +182 -0
  480. package/.docs/reference/tools/mcp-client.md +954 -0
  481. package/.docs/reference/tools/mcp-server.md +1271 -0
  482. package/.docs/reference/tools/vector-query-tool.md +459 -0
  483. package/.docs/reference/vectors/astra.md +121 -0
  484. package/.docs/reference/vectors/chroma.md +264 -0
  485. package/.docs/reference/vectors/convex.md +300 -0
  486. package/.docs/reference/vectors/couchbase.md +226 -0
  487. package/.docs/reference/vectors/duckdb.md +318 -0
  488. package/.docs/reference/vectors/elasticsearch.md +189 -0
  489. package/.docs/reference/vectors/lance.md +220 -0
  490. package/.docs/reference/vectors/libsql.md +305 -0
  491. package/.docs/reference/vectors/mongodb.md +295 -0
  492. package/.docs/reference/vectors/opensearch.md +99 -0
  493. package/.docs/reference/vectors/pg.md +408 -0
  494. package/.docs/reference/vectors/pinecone.md +168 -0
  495. package/.docs/reference/vectors/qdrant.md +222 -0
  496. package/.docs/reference/vectors/s3vectors.md +277 -0
  497. package/.docs/reference/vectors/turbopuffer.md +157 -0
  498. package/.docs/reference/vectors/upstash.md +294 -0
  499. package/.docs/reference/vectors/vectorize.md +147 -0
  500. package/.docs/reference/voice/azure.md +148 -0
  501. package/.docs/reference/voice/cloudflare.md +83 -0
  502. package/.docs/reference/voice/composite-voice.md +121 -0
  503. package/.docs/reference/voice/deepgram.md +79 -0
  504. package/.docs/reference/voice/elevenlabs.md +98 -0
  505. package/.docs/reference/voice/google-gemini-live.md +378 -0
  506. package/.docs/reference/voice/google.md +228 -0
  507. package/.docs/reference/voice/mastra-voice.md +311 -0
  508. package/.docs/reference/voice/murf.md +122 -0
  509. package/.docs/reference/voice/openai-realtime.md +203 -0
  510. package/.docs/reference/voice/openai.md +88 -0
  511. package/.docs/reference/voice/playai.md +80 -0
  512. package/.docs/reference/voice/sarvam.md +126 -0
  513. package/.docs/reference/voice/speechify.md +75 -0
  514. package/.docs/reference/voice/voice.addInstructions.md +55 -0
  515. package/.docs/reference/voice/voice.addTools.md +67 -0
  516. package/.docs/reference/voice/voice.answer.md +54 -0
  517. package/.docs/reference/voice/voice.close.md +51 -0
  518. package/.docs/reference/voice/voice.connect.md +94 -0
  519. package/.docs/reference/voice/voice.events.md +37 -0
  520. package/.docs/reference/voice/voice.getSpeakers.md +129 -0
  521. package/.docs/reference/voice/voice.listen.md +164 -0
  522. package/.docs/reference/voice/voice.off.md +54 -0
  523. package/.docs/reference/voice/voice.on.md +111 -0
  524. package/.docs/reference/voice/voice.send.md +65 -0
  525. package/.docs/reference/voice/voice.speak.md +157 -0
  526. package/.docs/reference/voice/voice.updateConfig.md +60 -0
  527. package/.docs/reference/workflows/run-methods/cancel.md +86 -0
  528. package/.docs/reference/workflows/run-methods/restart.md +33 -0
  529. package/.docs/reference/workflows/run-methods/resume.md +59 -0
  530. package/.docs/reference/workflows/run-methods/start.md +58 -0
  531. package/.docs/reference/workflows/run-methods/startAsync.md +67 -0
  532. package/.docs/reference/workflows/run-methods/timeTravel.md +142 -0
  533. package/.docs/reference/workflows/run.md +59 -0
  534. package/.docs/reference/workflows/step.md +119 -0
  535. package/.docs/reference/workflows/workflow-methods/branch.md +25 -0
  536. package/.docs/reference/workflows/workflow-methods/commit.md +17 -0
  537. package/.docs/reference/workflows/workflow-methods/create-run.md +63 -0
  538. package/.docs/reference/workflows/workflow-methods/dountil.md +25 -0
  539. package/.docs/reference/workflows/workflow-methods/dowhile.md +25 -0
  540. package/.docs/reference/workflows/workflow-methods/foreach.md +118 -0
  541. package/.docs/reference/workflows/workflow-methods/map.md +93 -0
  542. package/.docs/reference/workflows/workflow-methods/parallel.md +21 -0
  543. package/.docs/reference/workflows/workflow-methods/sleep.md +35 -0
  544. package/.docs/reference/workflows/workflow-methods/sleepUntil.md +35 -0
  545. package/.docs/reference/workflows/workflow-methods/then.md +21 -0
  546. package/.docs/reference/workflows/workflow.md +157 -0
  547. package/.docs/reference/workspace/e2b-sandbox.md +289 -0
  548. package/.docs/reference/workspace/filesystem.md +255 -0
  549. package/.docs/reference/workspace/gcs-filesystem.md +174 -0
  550. package/.docs/reference/workspace/local-filesystem.md +343 -0
  551. package/.docs/reference/workspace/local-sandbox.md +301 -0
  552. package/.docs/reference/workspace/s3-filesystem.md +175 -0
  553. package/.docs/reference/workspace/sandbox.md +87 -0
  554. package/.docs/reference/workspace/workspace-class.md +244 -0
  555. package/CHANGELOG.md +8 -0
  556. package/package.json +5 -5
@@ -0,0 +1,531 @@
1
+ # Context Relevance Scorer
2
+
3
+ The `createContextRelevanceScorerLLM()` function creates a scorer that evaluates how relevant and useful provided context was for generating agent responses. It uses weighted relevance levels and applies penalties for unused high-relevance context and missing information.
4
+
5
+ It is especially useful for these use cases:
6
+
7
+ ## Content Generation Evaluation
8
+
9
+ Best for evaluating context quality in:
10
+
11
+ - Chat systems where context usage matters
12
+ - RAG pipelines needing nuanced relevance assessment
13
+ - Systems where missing context affects quality
14
+
15
+ ## Context Selection Optimization
16
+
17
+ Use when optimizing for:
18
+
19
+ - Comprehensive context coverage
20
+ - Effective context utilization
21
+ - Identifying context gaps
22
+
23
+ ## Parameters
24
+
25
+ **model:** (`MastraModelConfig`): The language model to use for evaluating context relevance
26
+
27
+ **options:** (`ContextRelevanceOptions`): Configuration options for the scorer
28
+
29
+ Note: Either `context` or `contextExtractor` must be provided. If both are provided, `contextExtractor` takes precedence.
30
+
31
+ ## .run() Returns
32
+
33
+ **score:** (`number`): Weighted relevance score between 0 and scale (default 0-1)
34
+
35
+ **reason:** (`string`): Human-readable explanation of the context relevance evaluation
36
+
37
+ ## Scoring Details
38
+
39
+ ### Weighted Relevance Scoring
40
+
41
+ Context Relevance uses a sophisticated scoring algorithm that considers:
42
+
43
+ 1. **Relevance Levels**: Each context piece is classified with weighted values:
44
+
45
+ - `high` = 1.0 (directly addresses the query)
46
+ - `medium` = 0.7 (supporting information)
47
+ - `low` = 0.3 (tangentially related)
48
+ - `none` = 0.0 (completely irrelevant)
49
+
50
+ 2. **Usage Detection**: Tracks whether relevant context was actually used in the response
51
+
52
+ 3. **Penalties Applied** (configurable via `penalties` options):
53
+
54
+ - **Unused High-Relevance**: `unusedHighRelevanceContext` penalty per unused high-relevance context (default: 0.1)
55
+ - **Missing Context**: Up to `maxMissingContextPenalty` for identified missing information (default: 0.5)
56
+
57
+ ### Scoring Formula
58
+
59
+ ```text
60
+ Base Score = Σ(relevance_weights) / (num_contexts × 1.0)
61
+ Usage Penalty = count(unused_high_relevance) × unusedHighRelevanceContext
62
+ Missing Penalty = min(count(missing_context) × missingContextPerItem, maxMissingContextPenalty)
63
+
64
+ Final Score = max(0, Base Score - Usage Penalty - Missing Penalty) × scale
65
+ ```
66
+
67
+ **Default Values**:
68
+
69
+ - `unusedHighRelevanceContext` = 0.1 (10% penalty per unused high-relevance context)
70
+ - `missingContextPerItem` = 0.15 (15% penalty per missing context item)
71
+ - `maxMissingContextPenalty` = 0.5 (maximum 50% penalty for missing context)
72
+ - `scale` = 1
73
+
74
+ ### Score interpretation
75
+
76
+ - **0.9-1.0**: Excellent - all context highly relevant and used
77
+ - **0.7-0.8**: Good - mostly relevant with minor gaps
78
+ - **0.4-0.6**: Mixed - significant irrelevant or unused context
79
+ - **0.2-0.3**: Poor - mostly irrelevant context
80
+ - **0.0-0.1**: Very poor - no relevant context found
81
+
82
+ ### Reason analysis
83
+
84
+ The reason field provides insights on:
85
+
86
+ - Relevance level of each context piece (high/medium/low/none)
87
+ - Which context was actually used in the response
88
+ - Penalties applied for unused high-relevance context (configurable via `unusedHighRelevanceContext`)
89
+ - Missing context that would have improved the response (penalized via `missingContextPerItem` up to `maxMissingContextPenalty`)
90
+
91
+ ### Optimization strategies
92
+
93
+ Use results to improve your system:
94
+
95
+ - **Filter irrelevant context**: Remove low/none relevance pieces before processing
96
+ - **Ensure context usage**: Make sure high-relevance context is incorporated
97
+ - **Fill context gaps**: Add missing information identified by the scorer
98
+ - **Balance context size**: Find optimal amount of context for best relevance
99
+ - **Tune penalty sensitivity**: Adjust `unusedHighRelevanceContext`, `missingContextPerItem`, and `maxMissingContextPenalty` based on your application's tolerance for unused or missing context
100
+
101
+ ### Difference from Context Precision
102
+
103
+ | Aspect | Context Relevance | Context Precision |
104
+ | ------------- | -------------------------------------- | ---------------------------------- |
105
+ | **Algorithm** | Weighted levels with penalties | Mean Average Precision (MAP) |
106
+ | **Relevance** | Multiple levels (high/medium/low/none) | Binary (yes/no) |
107
+ | **Position** | Not considered | Critical (rewards early placement) |
108
+ | **Usage** | Tracks and penalizes unused context | Not considered |
109
+ | **Missing** | Identifies and penalizes gaps | Not evaluated |
110
+
111
+ ## Scorer configuration
112
+
113
+ ### Custom penalty configuration
114
+
115
+ Control how penalties are applied for unused and missing context:
116
+
117
+ ```typescript
118
+ import { createContextRelevanceScorerLLM } from '@mastra/evals'
119
+
120
+ // Stricter penalty configuration
121
+ const strictScorer = createContextRelevanceScorerLLM({
122
+ model: 'openai/gpt-5.1',
123
+ options: {
124
+ context: [
125
+ 'Einstein won the Nobel Prize for photoelectric effect',
126
+ 'He developed the theory of relativity',
127
+ 'Einstein was born in Germany',
128
+ ],
129
+ penalties: {
130
+ unusedHighRelevanceContext: 0.2, // 20% penalty per unused high-relevance context
131
+ missingContextPerItem: 0.25, // 25% penalty per missing context item
132
+ maxMissingContextPenalty: 0.6, // Maximum 60% penalty for missing context
133
+ },
134
+ scale: 1,
135
+ },
136
+ })
137
+
138
+ // Lenient penalty configuration
139
+ const lenientScorer = createContextRelevanceScorerLLM({
140
+ model: 'openai/gpt-5.1',
141
+ options: {
142
+ context: [
143
+ 'Einstein won the Nobel Prize for photoelectric effect',
144
+ 'He developed the theory of relativity',
145
+ 'Einstein was born in Germany',
146
+ ],
147
+ penalties: {
148
+ unusedHighRelevanceContext: 0.05, // 5% penalty per unused high-relevance context
149
+ missingContextPerItem: 0.1, // 10% penalty per missing context item
150
+ maxMissingContextPenalty: 0.3, // Maximum 30% penalty for missing context
151
+ },
152
+ scale: 1,
153
+ },
154
+ })
155
+
156
+ const testRun = {
157
+ input: {
158
+ inputMessages: [
159
+ {
160
+ id: '1',
161
+ role: 'user',
162
+ content: 'What did Einstein achieve in physics?',
163
+ },
164
+ ],
165
+ },
166
+ output: [
167
+ {
168
+ id: '2',
169
+ role: 'assistant',
170
+ content: 'Einstein won the Nobel Prize for his work on the photoelectric effect.',
171
+ },
172
+ ],
173
+ }
174
+
175
+ const strictResult = await strictScorer.run(testRun)
176
+ const lenientResult = await lenientScorer.run(testRun)
177
+
178
+ console.log('Strict penalties:', strictResult.score) // Lower score due to unused context
179
+ console.log('Lenient penalties:', lenientResult.score) // Higher score, less penalty
180
+ ```
181
+
182
+ ### Dynamic Context Extraction
183
+
184
+ ```typescript
185
+ const scorer = createContextRelevanceScorerLLM({
186
+ model: 'openai/gpt-5.1',
187
+ options: {
188
+ contextExtractor: (input, output) => {
189
+ // Extract context based on the query
190
+ const userQuery = input?.inputMessages?.[0]?.content || ''
191
+ if (userQuery.includes('Einstein')) {
192
+ return [
193
+ 'Einstein won the Nobel Prize for the photoelectric effect',
194
+ 'He developed the theory of relativity',
195
+ ]
196
+ }
197
+ return ['General physics information']
198
+ },
199
+ penalties: {
200
+ unusedHighRelevanceContext: 0.15,
201
+ },
202
+ },
203
+ })
204
+ ```
205
+
206
+ ### Custom scale factor
207
+
208
+ ```typescript
209
+ const scorer = createContextRelevanceScorerLLM({
210
+ model: 'openai/gpt-5.1',
211
+ options: {
212
+ context: ['Relevant information...', 'Supporting details...'],
213
+ scale: 100, // Scale scores from 0-100 instead of 0-1
214
+ },
215
+ })
216
+
217
+ // Result will be scaled: score: 85 instead of 0.85
218
+ ```
219
+
220
+ ### Combining multiple context sources
221
+
222
+ ```typescript
223
+ const scorer = createContextRelevanceScorerLLM({
224
+ model: 'openai/gpt-5.1',
225
+ options: {
226
+ contextExtractor: (input, output) => {
227
+ const query = input?.inputMessages?.[0]?.content || ''
228
+
229
+ // Combine from multiple sources
230
+ const kbContext = knowledgeBase.search(query)
231
+ const docContext = documentStore.retrieve(query)
232
+ const cacheContext = contextCache.get(query)
233
+
234
+ return [...kbContext, ...docContext, ...cacheContext]
235
+ },
236
+ scale: 1,
237
+ },
238
+ })
239
+ ```
240
+
241
+ ## Examples
242
+
243
+ ### High relevance example
244
+
245
+ This example shows excellent context relevance where all context directly supports the response:
246
+
247
+ ```typescript
248
+ import { createContextRelevanceScorerLLM } from '@mastra/evals'
249
+
250
+ const scorer = createContextRelevanceScorerLLM({
251
+ model: 'openai/gpt-5.1',
252
+ options: {
253
+ context: [
254
+ 'Einstein won the Nobel Prize for his discovery of the photoelectric effect in 1921.',
255
+ 'He published his theory of special relativity in 1905.',
256
+ 'His general relativity theory, published in 1915, revolutionized our understanding of gravity.',
257
+ ],
258
+ scale: 1,
259
+ },
260
+ })
261
+
262
+ const result = await scorer.run({
263
+ input: {
264
+ inputMessages: [
265
+ {
266
+ id: '1',
267
+ role: 'user',
268
+ content: "What were Einstein's major scientific achievements?",
269
+ },
270
+ ],
271
+ },
272
+ output: [
273
+ {
274
+ id: '2',
275
+ role: 'assistant',
276
+ content:
277
+ "Einstein's major achievements include the Nobel Prize for the photoelectric effect, special relativity in 1905, and general relativity in 1915.",
278
+ },
279
+ ],
280
+ })
281
+
282
+ console.log(result)
283
+ // Output:
284
+ // {
285
+ // score: 1.0,
286
+ // reason: "The score is 1.0 because all context pieces are highly relevant to Einstein's achievements and were effectively used in generating the comprehensive response."
287
+ // }
288
+ ```
289
+
290
+ ### Mixed relevance example
291
+
292
+ This example shows moderate relevance with some context being irrelevant or unused:
293
+
294
+ ```typescript
295
+ import { createContextRelevanceScorerLLM } from '@mastra/evals'
296
+
297
+ const scorer = createContextRelevanceScorerLLM({
298
+ model: 'openai/gpt-5.1',
299
+ options: {
300
+ context: [
301
+ 'Solar eclipses occur when the Moon blocks the Sun.',
302
+ 'The Moon moves between the Earth and Sun during eclipses.',
303
+ 'The Moon is visible at night.',
304
+ 'Stars twinkle due to atmospheric interference.',
305
+ 'Total eclipses can last up to 7.5 minutes.',
306
+ ],
307
+ scale: 1,
308
+ },
309
+ })
310
+
311
+ const result = await scorer.run({
312
+ input: {
313
+ inputMessages: [
314
+ {
315
+ id: '1',
316
+ role: 'user',
317
+ content: 'What causes solar eclipses?',
318
+ },
319
+ ],
320
+ },
321
+ output: [
322
+ {
323
+ id: '2',
324
+ role: 'assistant',
325
+ content:
326
+ 'Solar eclipses happen when the Moon moves between Earth and the Sun, blocking sunlight.',
327
+ },
328
+ ],
329
+ })
330
+
331
+ console.log(result)
332
+ // Output with default penalties:
333
+ // {
334
+ // score: 0.64,
335
+ // reason: "The score is 0.64 because contexts 1 and 2 are highly relevant and used, context 5 is relevant but unused (10% penalty), while contexts 3 and 4 are irrelevant."
336
+ // }
337
+
338
+ // With custom penalty configuration
339
+ const customScorer = createContextRelevanceScorerLLM({
340
+ model: 'openai/gpt-5.1',
341
+ options: {
342
+ context: [
343
+ 'Solar eclipses occur when the Moon blocks the Sun.',
344
+ 'The Moon moves between the Earth and Sun during eclipses.',
345
+ 'The Moon is visible at night.',
346
+ 'Stars twinkle due to atmospheric interference.',
347
+ 'Total eclipses can last up to 7.5 minutes.',
348
+ ],
349
+ penalties: {
350
+ unusedHighRelevanceContext: 0.05, // Lower penalty for unused context
351
+ missingContextPerItem: 0.1,
352
+ maxMissingContextPenalty: 0.3,
353
+ },
354
+ },
355
+ })
356
+
357
+ const customResult = await customScorer.run({
358
+ input: {
359
+ inputMessages: [{ id: '1', role: 'user', content: 'What causes solar eclipses?' }],
360
+ },
361
+ output: [
362
+ {
363
+ id: '2',
364
+ role: 'assistant',
365
+ content:
366
+ 'Solar eclipses happen when the Moon moves between Earth and the Sun, blocking sunlight.',
367
+ },
368
+ ],
369
+ })
370
+
371
+ console.log(customResult)
372
+ // Output with lenient penalties:
373
+ // {
374
+ // score: 0.69, // Higher score due to reduced penalty for unused context
375
+ // reason: "The score is 0.69 because contexts 1 and 2 are highly relevant and used, context 5 is relevant but unused (5% penalty), while contexts 3 and 4 are irrelevant."
376
+ // }
377
+ ```
378
+
379
+ ### Low relevance example
380
+
381
+ This example shows poor context relevance with mostly irrelevant information:
382
+
383
+ ```typescript
384
+ import { createContextRelevanceScorerLLM } from '@mastra/evals'
385
+
386
+ const scorer = createContextRelevanceScorerLLM({
387
+ model: 'openai/gpt-5.1',
388
+ options: {
389
+ context: [
390
+ 'The Great Barrier Reef is located in Australia.',
391
+ 'Coral reefs need warm water to survive.',
392
+ 'Many fish species live in coral reefs.',
393
+ 'Australia has six states and two territories.',
394
+ 'The capital of Australia is Canberra.',
395
+ ],
396
+ scale: 1,
397
+ },
398
+ })
399
+
400
+ const result = await scorer.run({
401
+ input: {
402
+ inputMessages: [
403
+ {
404
+ id: '1',
405
+ role: 'user',
406
+ content: 'What is the capital of Australia?',
407
+ },
408
+ ],
409
+ },
410
+ output: [
411
+ {
412
+ id: '2',
413
+ role: 'assistant',
414
+ content: 'The capital of Australia is Canberra.',
415
+ },
416
+ ],
417
+ })
418
+
419
+ console.log(result)
420
+ // Output:
421
+ // {
422
+ // score: 0.26,
423
+ // reason: "The score is 0.26 because only context 5 is relevant to the query about Australia's capital, while the other contexts about reefs are completely irrelevant."
424
+ // }
425
+ ```
426
+
427
+ ### Dynamic context extraction
428
+
429
+ Extract context dynamically based on the run input:
430
+
431
+ ```typescript
432
+ import { createContextRelevanceScorerLLM } from '@mastra/evals'
433
+
434
+ const scorer = createContextRelevanceScorerLLM({
435
+ model: 'openai/gpt-5.1',
436
+ options: {
437
+ contextExtractor: (input, output) => {
438
+ // Extract query from input
439
+ const query = input?.inputMessages?.[0]?.content || ''
440
+
441
+ // Dynamically retrieve context based on query
442
+ if (query.toLowerCase().includes('einstein')) {
443
+ return [
444
+ 'Einstein developed E=mc²',
445
+ 'He won the Nobel Prize in 1921',
446
+ 'His theories revolutionized physics',
447
+ ]
448
+ }
449
+
450
+ if (query.toLowerCase().includes('climate')) {
451
+ return [
452
+ 'Global temperatures are rising',
453
+ 'CO2 levels affect climate',
454
+ 'Renewable energy reduces emissions',
455
+ ]
456
+ }
457
+
458
+ return ['General knowledge base entry']
459
+ },
460
+ penalties: {
461
+ unusedHighRelevanceContext: 0.15, // 15% penalty for unused relevant context
462
+ missingContextPerItem: 0.2, // 20% penalty per missing context item
463
+ maxMissingContextPenalty: 0.4, // Cap at 40% total missing context penalty
464
+ },
465
+ scale: 1,
466
+ },
467
+ })
468
+ ```
469
+
470
+ ### RAG system integration
471
+
472
+ Integrate with RAG pipelines to evaluate retrieved context:
473
+
474
+ ```typescript
475
+ import { createContextRelevanceScorerLLM } from '@mastra/evals'
476
+
477
+ const scorer = createContextRelevanceScorerLLM({
478
+ model: 'openai/gpt-5.1',
479
+ options: {
480
+ contextExtractor: (input, output) => {
481
+ // Extract from RAG retrieval results
482
+ const ragResults = inputData.metadata?.ragResults || []
483
+
484
+ // Return the text content of retrieved documents
485
+ return ragResults.filter(doc => doc.relevanceScore > 0.5).map(doc => doc.content)
486
+ },
487
+ penalties: {
488
+ unusedHighRelevanceContext: 0.12, // Moderate penalty for unused RAG context
489
+ missingContextPerItem: 0.18, // Higher penalty for missing information in RAG
490
+ maxMissingContextPenalty: 0.45, // Slightly higher cap for RAG systems
491
+ },
492
+ scale: 1,
493
+ },
494
+ })
495
+
496
+ // Evaluate RAG system performance
497
+ const evaluateRAG = async testCases => {
498
+ const results = []
499
+
500
+ for (const testCase of testCases) {
501
+ const score = await scorer.run(testCase)
502
+ results.push({
503
+ query: testCase.inputData.inputMessages[0].content,
504
+ relevanceScore: score.score,
505
+ feedback: score.reason,
506
+ unusedContext: score.reason.includes('unused'),
507
+ missingContext: score.reason.includes('missing'),
508
+ })
509
+ }
510
+
511
+ return results
512
+ }
513
+ ```
514
+
515
+ ## Comparison with Context Precision
516
+
517
+ Choose the right scorer for your needs:
518
+
519
+ | Use Case | Context Relevance | Context Precision |
520
+ | ------------------------ | -------------------- | ------------------------- |
521
+ | **RAG evaluation** | When usage matters | When ranking matters |
522
+ | **Context quality** | Nuanced levels | Binary relevance |
523
+ | **Missing detection** | ✓ Identifies gaps | ✗ Not evaluated |
524
+ | **Usage tracking** | ✓ Tracks utilization | ✗ Not considered |
525
+ | **Position sensitivity** | ✗ Position agnostic | ✓ Rewards early placement |
526
+
527
+ ## Related
528
+
529
+ - [Context Precision Scorer](https://mastra.ai/reference/evals/context-precision) - Evaluates context ranking using MAP
530
+ - [Faithfulness Scorer](https://mastra.ai/reference/evals/faithfulness) - Measures answer groundedness in context
531
+ - [Custom Scorers](https://mastra.ai/docs/evals/custom-scorers) - Creating your own evaluation metrics