[{"data":1,"prerenderedAt":905},["ShallowReactive",2],{"navigation_docs":3,"-advanced-hooks":139,"-advanced-hooks-surround":900},[4,40,65,110],{"title":5,"path":6,"stem":7,"children":8,"page":39},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24,29,34],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration","i-lucide-settings",{"title":25,"path":26,"stem":27,"icon":28},"MCP Inspector","\u002Fgetting-started\u002Finspector","1.getting-started\u002F4.inspector","i-lucide-circuit-board",{"title":30,"path":31,"stem":32,"icon":33},"Connection","\u002Fgetting-started\u002Fconnection","1.getting-started\u002F5.connection","i-lucide-plug",{"title":35,"path":36,"stem":37,"icon":38},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F6.agent-skills","i-lucide-sparkles",false,{"title":41,"path":42,"stem":43,"children":44,"page":39},"Core Concepts","\u002Fcore-concepts","2.core-concepts",[45,50,55,60],{"title":46,"path":47,"stem":48,"icon":49},"Tools","\u002Fcore-concepts\u002Ftools","2.core-concepts\u002F2.tools","i-lucide-wrench",{"title":51,"path":52,"stem":53,"icon":54},"Resources","\u002Fcore-concepts\u002Fresources","2.core-concepts\u002F3.resources","i-lucide-package",{"title":56,"path":57,"stem":58,"icon":59},"Prompts","\u002Fcore-concepts\u002Fprompts","2.core-concepts\u002F4.prompts","i-lucide-message-square",{"title":61,"path":62,"stem":63,"icon":64},"Handlers","\u002Fcore-concepts\u002Fhandlers","2.core-concepts\u002F5.handlers","i-lucide-server",{"title":66,"path":67,"stem":68,"children":69,"page":39},"Advanced Topics","\u002Fadvanced","3.advanced",[70,75,80,85,90,95,100,105],{"title":71,"path":72,"stem":73,"icon":74},"Custom Paths","\u002Fadvanced\u002Fcustom-paths","3.advanced\u002F1.custom-paths","i-lucide-folder",{"title":76,"path":77,"stem":78,"icon":79},"Middleware","\u002Fadvanced\u002Fmiddleware","3.advanced\u002F2.middleware","i-lucide-shield",{"title":81,"path":82,"stem":83,"icon":84},"TypeScript","\u002Fadvanced\u002Ftypescript","3.advanced\u002F3.typescript","i-lucide-type",{"title":86,"path":87,"stem":88,"icon":89},"Hooks","\u002Fadvanced\u002Fhooks","3.advanced\u002F4.hooks","i-lucide-webhook",{"title":91,"path":92,"stem":93,"icon":94},"MCP Evals","\u002Fadvanced\u002Fevals","3.advanced\u002F5.evals","i-lucide-flask-conical",{"title":96,"path":97,"stem":98,"icon":99},"Sessions","\u002Fadvanced\u002Fsessions","3.advanced\u002F6.sessions","i-lucide-database",{"title":101,"path":102,"stem":103,"icon":104},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","3.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":106,"path":107,"stem":108,"icon":109},"Code Mode","\u002Fadvanced\u002Fcode-mode","3.advanced\u002F8.code-mode","i-lucide-code",{"title":111,"path":112,"stem":113,"children":114,"page":39},"Examples","\u002Fexamples","4.examples",[115,120,125,130,135],{"title":116,"path":117,"stem":118,"icon":119},"Authentication","\u002Fexamples\u002Fauthentication","4.examples\u002F1.authentication","i-lucide-shield-check",{"title":121,"path":122,"stem":123,"icon":124},"API Integration","\u002Fexamples\u002Fapi-integration","4.examples\u002F2.api-integration","i-lucide-globe",{"title":126,"path":127,"stem":128,"icon":129},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","4.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":131,"path":132,"stem":133,"icon":134},"File Operations","\u002Fexamples\u002Ffile-operations","4.examples\u002F4.file-operations","i-lucide-file",{"title":136,"path":137,"stem":138,"icon":59},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","4.examples\u002F5.prompt-examples",{"id":140,"title":86,"body":141,"description":892,"extension":893,"links":894,"meta":895,"navigation":896,"path":87,"seo":897,"stem":88,"__hash__":899},"docs\u002F3.advanced\u002F4.hooks.md",{"type":142,"value":143,"toc":881},"minimark",[144,149,153,160,163,168,301,305,560,564,722,726,732,801,808,812,815,854,858,877],[145,146,148],"h2",{"id":147},"available-hooks","Available Hooks",[150,151,152],"p",{},"The Nuxt MCP module provides hooks for extending and customizing behavior.",[145,154,156],{"id":155},"mcpdefinitionspaths",[157,158,159],"code",{},"mcp:definitions:paths",[150,161,162],{},"This hook allows you to add additional directories to scan for MCP definitions.",[164,165,167],"h3",{"id":166},"hook-signature","Hook Signature",[169,170,175],"pre",{"className":171,"code":172,"language":173,"meta":174,"style":174},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","nuxt.hook('mcp:definitions:paths', (paths: {\n  tools: string[]\n  resources: string[]\n  prompts: string[]\n  handlers: string[]\n}) => {\n  \u002F\u002F Modify paths\n})\n","typescript","",[157,176,177,221,237,249,261,273,285,292],{"__ignoreMap":174},[178,179,182,186,190,194,197,200,203,205,208,211,215,218],"span",{"class":180,"line":181},"line",1,[178,183,185],{"class":184},"sTEyZ","nuxt",[178,187,189],{"class":188},"sMK4o",".",[178,191,193],{"class":192},"s2Zo4","hook",[178,195,196],{"class":184},"(",[178,198,199],{"class":188},"'",[178,201,159],{"class":202},"sfazB",[178,204,199],{"class":188},[178,206,207],{"class":188},",",[178,209,210],{"class":188}," (",[178,212,214],{"class":213},"sHdIc","paths",[178,216,217],{"class":188},":",[178,219,220],{"class":188}," {\n",[178,222,224,228,230,234],{"class":180,"line":223},2,[178,225,227],{"class":226},"swJcz","  tools",[178,229,217],{"class":188},[178,231,233],{"class":232},"sBMFI"," string",[178,235,236],{"class":184},"[]\n",[178,238,240,243,245,247],{"class":180,"line":239},3,[178,241,242],{"class":226},"  resources",[178,244,217],{"class":188},[178,246,233],{"class":232},[178,248,236],{"class":184},[178,250,252,255,257,259],{"class":180,"line":251},4,[178,253,254],{"class":226},"  prompts",[178,256,217],{"class":188},[178,258,233],{"class":232},[178,260,236],{"class":184},[178,262,264,267,269,271],{"class":180,"line":263},5,[178,265,266],{"class":226},"  handlers",[178,268,217],{"class":188},[178,270,233],{"class":232},[178,272,236],{"class":184},[178,274,276,279,283],{"class":180,"line":275},6,[178,277,278],{"class":188},"})",[178,280,282],{"class":281},"spNyl"," =>",[178,284,220],{"class":188},[178,286,288],{"class":180,"line":287},7,[178,289,291],{"class":290},"sHwdD","  \u002F\u002F Modify paths\n",[178,293,295,298],{"class":180,"line":294},8,[178,296,297],{"class":188},"}",[178,299,300],{"class":184},")\n",[164,302,304],{"id":303},"usage-in-nuxtconfigts","Usage in nuxt.config.ts",[169,306,309],{"className":171,"code":307,"filename":308,"language":173,"meta":174,"style":174},"export default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fmcp-toolkit'],\n  hooks: {\n    'mcp:definitions:paths'(paths) {\n      \u002F\u002F Add additional tool directories\n      paths.tools.push('shared\u002Ftools')\n      paths.tools.push('legacy\u002Ftools')\n\n      \u002F\u002F Add additional resource directories\n      paths.resources.push('shared\u002Fresources')\n\n      \u002F\u002F Add additional prompt directories\n      paths.prompts.push('shared\u002Fprompts')\n\n      \u002F\u002F Add additional handler directories\n      paths.handlers.push('custom\u002Fhandlers')\n    },\n  },\n})\n","nuxt.config.ts",[157,310,311,328,351,360,378,383,409,432,438,444,469,474,480,505,510,516,541,547,553],{"__ignoreMap":174},[178,312,313,317,320,323,325],{"class":180,"line":181},[178,314,316],{"class":315},"s7zQu","export",[178,318,319],{"class":315}," default",[178,321,322],{"class":192}," defineNuxtConfig",[178,324,196],{"class":184},[178,326,327],{"class":188},"{\n",[178,329,330,333,335,338,340,343,345,348],{"class":180,"line":223},[178,331,332],{"class":226},"  modules",[178,334,217],{"class":188},[178,336,337],{"class":184}," [",[178,339,199],{"class":188},[178,341,342],{"class":202},"@nuxtjs\u002Fmcp-toolkit",[178,344,199],{"class":188},[178,346,347],{"class":184},"]",[178,349,350],{"class":188},",\n",[178,352,353,356,358],{"class":180,"line":239},[178,354,355],{"class":226},"  hooks",[178,357,217],{"class":188},[178,359,220],{"class":188},[178,361,362,365,367,369,371,373,376],{"class":180,"line":251},[178,363,364],{"class":188},"    '",[178,366,159],{"class":202},[178,368,199],{"class":188},[178,370,196],{"class":188},[178,372,214],{"class":213},[178,374,375],{"class":188},")",[178,377,220],{"class":188},[178,379,380],{"class":180,"line":263},[178,381,382],{"class":290},"      \u002F\u002F Add additional tool directories\n",[178,384,385,388,390,393,395,398,400,402,405,407],{"class":180,"line":275},[178,386,387],{"class":184},"      paths",[178,389,189],{"class":188},[178,391,392],{"class":184},"tools",[178,394,189],{"class":188},[178,396,397],{"class":192},"push",[178,399,196],{"class":226},[178,401,199],{"class":188},[178,403,404],{"class":202},"shared\u002Ftools",[178,406,199],{"class":188},[178,408,300],{"class":226},[178,410,411,413,415,417,419,421,423,425,428,430],{"class":180,"line":287},[178,412,387],{"class":184},[178,414,189],{"class":188},[178,416,392],{"class":184},[178,418,189],{"class":188},[178,420,397],{"class":192},[178,422,196],{"class":226},[178,424,199],{"class":188},[178,426,427],{"class":202},"legacy\u002Ftools",[178,429,199],{"class":188},[178,431,300],{"class":226},[178,433,434],{"class":180,"line":294},[178,435,437],{"emptyLinePlaceholder":436},true,"\n",[178,439,441],{"class":180,"line":440},9,[178,442,443],{"class":290},"      \u002F\u002F Add additional resource directories\n",[178,445,447,449,451,454,456,458,460,462,465,467],{"class":180,"line":446},10,[178,448,387],{"class":184},[178,450,189],{"class":188},[178,452,453],{"class":184},"resources",[178,455,189],{"class":188},[178,457,397],{"class":192},[178,459,196],{"class":226},[178,461,199],{"class":188},[178,463,464],{"class":202},"shared\u002Fresources",[178,466,199],{"class":188},[178,468,300],{"class":226},[178,470,472],{"class":180,"line":471},11,[178,473,437],{"emptyLinePlaceholder":436},[178,475,477],{"class":180,"line":476},12,[178,478,479],{"class":290},"      \u002F\u002F Add additional prompt directories\n",[178,481,483,485,487,490,492,494,496,498,501,503],{"class":180,"line":482},13,[178,484,387],{"class":184},[178,486,189],{"class":188},[178,488,489],{"class":184},"prompts",[178,491,189],{"class":188},[178,493,397],{"class":192},[178,495,196],{"class":226},[178,497,199],{"class":188},[178,499,500],{"class":202},"shared\u002Fprompts",[178,502,199],{"class":188},[178,504,300],{"class":226},[178,506,508],{"class":180,"line":507},14,[178,509,437],{"emptyLinePlaceholder":436},[178,511,513],{"class":180,"line":512},15,[178,514,515],{"class":290},"      \u002F\u002F Add additional handler directories\n",[178,517,519,521,523,526,528,530,532,534,537,539],{"class":180,"line":518},16,[178,520,387],{"class":184},[178,522,189],{"class":188},[178,524,525],{"class":184},"handlers",[178,527,189],{"class":188},[178,529,397],{"class":192},[178,531,196],{"class":226},[178,533,199],{"class":188},[178,535,536],{"class":202},"custom\u002Fhandlers",[178,538,199],{"class":188},[178,540,300],{"class":226},[178,542,544],{"class":180,"line":543},17,[178,545,546],{"class":188},"    },\n",[178,548,550],{"class":180,"line":549},18,[178,551,552],{"class":188},"  },\n",[178,554,556,558],{"class":180,"line":555},19,[178,557,297],{"class":188},[178,559,300],{"class":184},[164,561,563],{"id":562},"usage-in-a-custom-module","Usage in a Custom Module",[169,565,568],{"className":171,"code":566,"filename":567,"language":173,"meta":174,"style":174},"export default defineNuxtModule({\n  setup(options, nuxt) {\n    nuxt.hook('mcp:definitions:paths', (paths) => {\n      \u002F\u002F Add paths from this module\n      paths.tools.push('my-module\u002Ftools')\n      paths.resources.push('my-module\u002Fresources')\n      paths.prompts.push('my-module\u002Fprompts')\n    })\n  },\n})\n","my-module.ts",[157,569,570,583,602,631,636,659,682,705,712,716],{"__ignoreMap":174},[178,571,572,574,576,579,581],{"class":180,"line":181},[178,573,316],{"class":315},[178,575,319],{"class":315},[178,577,578],{"class":192}," defineNuxtModule",[178,580,196],{"class":184},[178,582,327],{"class":188},[178,584,585,588,590,593,595,598,600],{"class":180,"line":223},[178,586,587],{"class":226},"  setup",[178,589,196],{"class":188},[178,591,592],{"class":213},"options",[178,594,207],{"class":188},[178,596,597],{"class":213}," nuxt",[178,599,375],{"class":188},[178,601,220],{"class":188},[178,603,604,607,609,611,613,615,617,619,621,623,625,627,629],{"class":180,"line":239},[178,605,606],{"class":184},"    nuxt",[178,608,189],{"class":188},[178,610,193],{"class":192},[178,612,196],{"class":226},[178,614,199],{"class":188},[178,616,159],{"class":202},[178,618,199],{"class":188},[178,620,207],{"class":188},[178,622,210],{"class":188},[178,624,214],{"class":213},[178,626,375],{"class":188},[178,628,282],{"class":281},[178,630,220],{"class":188},[178,632,633],{"class":180,"line":251},[178,634,635],{"class":290},"      \u002F\u002F Add paths from this module\n",[178,637,638,640,642,644,646,648,650,652,655,657],{"class":180,"line":263},[178,639,387],{"class":184},[178,641,189],{"class":188},[178,643,392],{"class":184},[178,645,189],{"class":188},[178,647,397],{"class":192},[178,649,196],{"class":226},[178,651,199],{"class":188},[178,653,654],{"class":202},"my-module\u002Ftools",[178,656,199],{"class":188},[178,658,300],{"class":226},[178,660,661,663,665,667,669,671,673,675,678,680],{"class":180,"line":275},[178,662,387],{"class":184},[178,664,189],{"class":188},[178,666,453],{"class":184},[178,668,189],{"class":188},[178,670,397],{"class":192},[178,672,196],{"class":226},[178,674,199],{"class":188},[178,676,677],{"class":202},"my-module\u002Fresources",[178,679,199],{"class":188},[178,681,300],{"class":226},[178,683,684,686,688,690,692,694,696,698,701,703],{"class":180,"line":287},[178,685,387],{"class":184},[178,687,189],{"class":188},[178,689,489],{"class":184},[178,691,189],{"class":188},[178,693,397],{"class":192},[178,695,196],{"class":226},[178,697,199],{"class":188},[178,699,700],{"class":202},"my-module\u002Fprompts",[178,702,199],{"class":188},[178,704,300],{"class":226},[178,706,707,710],{"class":180,"line":294},[178,708,709],{"class":188},"    }",[178,711,300],{"class":226},[178,713,714],{"class":180,"line":440},[178,715,552],{"class":188},[178,717,718,720],{"class":180,"line":446},[178,719,297],{"class":188},[178,721,300],{"class":184},[145,723,725],{"id":724},"path-structure","Path Structure",[150,727,728,729,731],{},"The ",[157,730,214],{}," object contains arrays of directory paths:",[169,733,735],{"className":171,"code":734,"language":173,"meta":174,"style":174},"{\n  tools: string[]      \u002F\u002F Directories to scan for tools\n  resources: string[]  \u002F\u002F Directories to scan for resources\n  prompts: string[]    \u002F\u002F Directories to scan for prompts\n  handlers: string[]  \u002F\u002F Directories to scan for handlers\n}\n",[157,736,737,741,755,769,783,796],{"__ignoreMap":174},[178,738,739],{"class":180,"line":181},[178,740,327],{"class":188},[178,742,743,745,747,749,752],{"class":180,"line":223},[178,744,227],{"class":232},[178,746,217],{"class":188},[178,748,233],{"class":184},[178,750,751],{"class":226},"[]      ",[178,753,754],{"class":290},"\u002F\u002F Directories to scan for tools\n",[178,756,757,759,761,763,766],{"class":180,"line":239},[178,758,242],{"class":232},[178,760,217],{"class":188},[178,762,233],{"class":184},[178,764,765],{"class":226},"[]  ",[178,767,768],{"class":290},"\u002F\u002F Directories to scan for resources\n",[178,770,771,773,775,777,780],{"class":180,"line":251},[178,772,254],{"class":232},[178,774,217],{"class":188},[178,776,233],{"class":184},[178,778,779],{"class":226},"[]    ",[178,781,782],{"class":290},"\u002F\u002F Directories to scan for prompts\n",[178,784,785,787,789,791,793],{"class":180,"line":263},[178,786,266],{"class":232},[178,788,217],{"class":188},[178,790,233],{"class":184},[178,792,765],{"class":226},[178,794,795],{"class":290},"\u002F\u002F Directories to scan for handlers\n",[178,797,798],{"class":180,"line":275},[178,799,800],{"class":188},"}\n",[150,802,803,804,807],{},"All paths are relative to the ",[157,805,806],{},"server\u002F"," directory of each Nuxt layer.",[145,809,811],{"id":810},"path-resolution","Path Resolution",[150,813,814],{},"Paths are resolved in the following order:",[816,817,818,835,845],"ol",{},[819,820,821,827,828,831,832],"li",{},[822,823,824,825],"strong",{},"Relative to ",[157,826,806],{},": Paths like ",[157,829,830],{},"'tools'"," resolve to ",[157,833,834],{},"server\u002Ftools\u002F",[819,836,837,840,841,844],{},[822,838,839],{},"Absolute paths",": Paths starting with ",[157,842,843],{},"\u002F"," resolve from project root",[819,846,847,850,851,853],{},[822,848,849],{},"Layer-specific",": Each Nuxt layer resolves paths relative to its own ",[157,852,806],{}," directory",[145,855,857],{"id":856},"next-steps","Next Steps",[859,860,861,867,872],"ul",{},[819,862,863,866],{},[864,865,71],"a",{"href":72}," - Learn more about customizing paths",[819,868,869,871],{},[864,870,61],{"href":62}," - Create multiple MCP endpoints",[819,873,874,876],{},[864,875,20],{"href":21}," - Configure the module",[878,879,880],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":174,"searchDepth":223,"depth":223,"links":882},[883,884,889,890,891],{"id":147,"depth":223,"text":148},{"id":155,"depth":223,"text":159,"children":885},[886,887,888],{"id":166,"depth":239,"text":167},{"id":303,"depth":239,"text":304},{"id":562,"depth":239,"text":563},{"id":724,"depth":223,"text":725},{"id":810,"depth":223,"text":811},{"id":856,"depth":223,"text":857},"Use Nuxt hooks to extend and customize the MCP module.","md",null,{},{"icon":89},{"title":86,"description":898},"Use hooks to extend MCP definitions paths and customize behavior.","sKZWQ0KFecixTom8n5KHvX1cVr0nvVA39NVnba-f8tY",[901,903],{"title":81,"path":82,"stem":83,"description":902,"icon":84,"children":-1},"Type safety and TypeScript features in the Nuxt MCP module.",{"title":91,"path":92,"stem":93,"description":904,"icon":94,"children":-1},"Evaluate MCP tools and workflows with Evalite and the AI SDK MCP client.",1774895335423]