[{"data":1,"prerenderedAt":2342},["ShallowReactive",2],{"navigation_docs":3,"-handlers-structure-and-options":282,"-handlers-structure-and-options-surround":2337},[4,40,70,99,122,156,189,253],{"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},"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},"Tools","\u002Ftools","2.tools",[45,50,55,60,65],{"title":46,"path":47,"stem":48,"icon":49},"Overview","\u002Ftools\u002Foverview","2.tools\u002F0.overview","i-lucide-wrench",{"title":51,"path":52,"stem":53,"icon":54},"Schema, handler & returns","\u002Ftools\u002Fschema-handler","2.tools\u002F1.schema-handler","i-lucide-braces",{"title":56,"path":57,"stem":58,"icon":59},"Annotations & input examples","\u002Ftools\u002Fannotations","2.tools\u002F2.annotations","i-lucide-badge-info",{"title":61,"path":62,"stem":63,"icon":64},"Errors & caching","\u002Ftools\u002Ferrors-caching","2.tools\u002F3.errors-caching","i-lucide-shield",{"title":66,"path":67,"stem":68,"icon":69},"Groups, files & dynamic registration","\u002Ftools\u002Fgroups-organization","2.tools\u002F4.groups-organization","i-lucide-tags",{"title":71,"path":72,"stem":73,"children":74,"page":39},"Resources","\u002Fresources","3.resources",[75,79,84,89,94],{"title":46,"path":76,"stem":77,"icon":78},"\u002Fresources\u002Foverview","3.resources\u002F0.overview","i-lucide-package",{"title":80,"path":81,"stem":82,"icon":83},"Static resources & structure","\u002Fresources\u002Fstatic-and-structure","3.resources\u002F1.static-and-structure","i-lucide-file-stack",{"title":85,"path":86,"stem":87,"icon":88},"Templates & handlers","\u002Fresources\u002Ftemplates-and-handlers","3.resources\u002F2.templates-and-handlers","i-lucide-git-branch",{"title":90,"path":91,"stem":92,"icon":93},"Metadata, content & errors","\u002Fresources\u002Fcontent-metadata-errors","3.resources\u002F3.content-metadata-errors","i-lucide-layers",{"title":95,"path":96,"stem":97,"icon":98},"Groups & organization","\u002Fresources\u002Forganization","3.resources\u002F4.organization","i-lucide-folder-tree",{"title":100,"path":101,"stem":102,"children":103,"page":39},"Prompts","\u002Fprompts","4.prompts",[104,108,113,117],{"title":46,"path":105,"stem":106,"icon":107},"\u002Fprompts\u002Foverview","4.prompts\u002F0.overview","i-lucide-message-square",{"title":109,"path":110,"stem":111,"icon":112},"Authoring & structure","\u002Fprompts\u002Fauthoring","4.prompts\u002F1.authoring","i-lucide-pen-line",{"title":114,"path":115,"stem":116,"icon":93},"Input, handler & messages","\u002Fprompts\u002Finput-handler-messages","4.prompts\u002F2.input-handler-messages",{"title":118,"path":119,"stem":120,"icon":121},"Patterns & advanced","\u002Fprompts\u002Fpatterns-advanced","4.prompts\u002F3.patterns-advanced","i-lucide-line-chart",{"title":123,"path":124,"stem":125,"children":126,"page":39},"Handlers","\u002Fhandlers","5.handlers",[127,131,136,141,146,151],{"title":46,"path":128,"stem":129,"icon":130},"\u002Fhandlers\u002Foverview","5.handlers\u002F0.overview","i-lucide-server",{"title":132,"path":133,"stem":134,"icon":135},"Default & custom handlers","\u002Fhandlers\u002Fdefault-and-custom","5.handlers\u002F1.default-and-custom","i-lucide-toggle-left",{"title":137,"path":138,"stem":139,"icon":140},"Structure & options","\u002Fhandlers\u002Fstructure-and-options","5.handlers\u002F2.structure-and-options","i-lucide-sliders-horizontal",{"title":142,"path":143,"stem":144,"icon":145},"Examples & routing","\u002Fhandlers\u002Fexamples-routing","5.handlers\u002F3.examples-routing","i-lucide-route",{"title":147,"path":148,"stem":149,"icon":150},"Sharing & practices","\u002Fhandlers\u002Fsharing-practices","5.handlers\u002F4.sharing-practices","i-lucide-share-2",{"title":152,"path":153,"stem":154,"icon":155},"Multi-handler organization","\u002Fhandlers\u002Forganization","5.handlers\u002F5.organization","i-lucide-network",{"title":157,"path":158,"stem":159,"children":160,"page":39},"Apps","\u002Fapps","6.apps",[161,165,170,175,179,184],{"title":46,"path":162,"stem":163,"icon":164},"\u002Fapps\u002Foverview","6.apps\u002F0.overview","i-lucide-app-window",{"title":166,"path":167,"stem":168,"icon":169},"Authoring & defineMcpApp","\u002Fapps\u002Fauthoring","6.apps\u002F1.authoring","i-lucide-code-2",{"title":171,"path":172,"stem":173,"icon":174},"useMcpApp() bridge","\u002Fapps\u002Fuse-mcp-app","6.apps\u002F2.use-mcp-app","i-lucide-message-circle",{"title":176,"path":177,"stem":178,"icon":64},"CSP & build pipeline","\u002Fapps\u002Fcsp-and-wiring","6.apps\u002F3.csp-and-wiring",{"title":180,"path":181,"stem":182,"icon":183},"Testing & publishing","\u002Fapps\u002Ftesting-publishing","6.apps\u002F4.testing-publishing","i-lucide-rocket",{"title":185,"path":186,"stem":187,"icon":188},"Patterns & limits","\u002Fapps\u002Fpatterns-reference","6.apps\u002F5.patterns-reference","i-lucide-book-marked",{"title":190,"path":191,"stem":192,"children":193,"page":39},"Advanced Topics","\u002Fadvanced","7.advanced",[194,199,204,209,214,218,223,228,233,238,243,248],{"title":195,"path":196,"stem":197,"icon":198},"Custom Paths","\u002Fadvanced\u002Fcustom-paths","7.advanced\u002F1.custom-paths","i-lucide-folder",{"title":200,"path":201,"stem":202,"icon":203},"Logging","\u002Fadvanced\u002Flogging","7.advanced\u002F10.logging","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"MCP Apps Internals","\u002Fadvanced\u002Fmcp-apps-internals","7.advanced\u002F11.mcp-apps-internals","i-lucide-cog",{"title":210,"path":211,"stem":212,"icon":213},"Listing Definitions","\u002Fadvanced\u002Flisting-definitions","7.advanced\u002F12.listing-definitions","i-lucide-list",{"title":215,"path":216,"stem":217,"icon":64},"Middleware","\u002Fadvanced\u002Fmiddleware","7.advanced\u002F2.middleware",{"title":219,"path":220,"stem":221,"icon":222},"TypeScript","\u002Fadvanced\u002Ftypescript","7.advanced\u002F3.typescript","i-lucide-type",{"title":224,"path":225,"stem":226,"icon":227},"Hooks","\u002Fadvanced\u002Fhooks","7.advanced\u002F4.hooks","i-lucide-webhook",{"title":229,"path":230,"stem":231,"icon":232},"MCP Evals","\u002Fadvanced\u002Fevals","7.advanced\u002F5.evals","i-lucide-flask-conical",{"title":234,"path":235,"stem":236,"icon":237},"Sessions","\u002Fadvanced\u002Fsessions","7.advanced\u002F6.sessions","i-lucide-database",{"title":239,"path":240,"stem":241,"icon":242},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","7.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":244,"path":245,"stem":246,"icon":247},"Code Mode","\u002Fadvanced\u002Fcode-mode","7.advanced\u002F8.code-mode","i-lucide-code",{"title":249,"path":250,"stem":251,"icon":252},"Elicitation","\u002Fadvanced\u002Felicitation","7.advanced\u002F9.elicitation","i-lucide-message-square-quote",{"title":254,"path":255,"stem":256,"children":257,"page":39},"Examples","\u002Fexamples","8.examples",[258,263,268,273,278],{"title":259,"path":260,"stem":261,"icon":262},"Authentication","\u002Fexamples\u002Fauthentication","8.examples\u002F1.authentication","i-lucide-shield-check",{"title":264,"path":265,"stem":266,"icon":267},"API Integration","\u002Fexamples\u002Fapi-integration","8.examples\u002F2.api-integration","i-lucide-globe",{"title":269,"path":270,"stem":271,"icon":272},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","8.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":274,"path":275,"stem":276,"icon":277},"File Operations","\u002Fexamples\u002Ffile-operations","8.examples\u002F4.file-operations","i-lucide-file",{"title":279,"path":280,"stem":281,"icon":107},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","8.examples\u002F5.prompt-examples",{"id":283,"title":137,"body":284,"description":2328,"extension":2329,"links":2330,"meta":2331,"navigation":2332,"path":138,"seo":2333,"stem":139,"__hash__":2336},"docs\u002F5.handlers\u002F2.structure-and-options.md",{"type":285,"value":286,"toc":2299},"minimark",[287,292,296,695,699,707,717,780,787,790,864,870,884,959,965,976,1050,1056,1082,1211,1233,1239,1244,1263,1340,1346,1351,1425,1431,1434,1544,1552,1558,1568,1663,1673,1679,1685,1688,1991,2010,2016,2028,2154,2160,2169,2295],[288,289,291],"h2",{"id":290},"handler-structure","Handler Structure",[293,294,295],"p",{},"A handler definition consists of:",[297,298,299,402],"code-group",{},[300,301,307],"pre",{"className":302,"code":303,"filename":304,"language":305,"meta":306,"style":306},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'handler-name',  \u002F\u002F Unique identifier\n})\n","Required Fields","typescript","",[308,309,310,343,350,368,393],"code",{"__ignoreMap":306},[311,312,315,319,323,327,330,333,336,340],"span",{"class":313,"line":314},"line",1,[311,316,318],{"class":317},"s7zQu","import",[311,320,322],{"class":321},"sMK4o"," {",[311,324,326],{"class":325},"sTEyZ"," defineMcpHandler",[311,328,329],{"class":321}," }",[311,331,332],{"class":317}," from",[311,334,335],{"class":321}," '",[311,337,339],{"class":338},"sfazB","@nuxtjs\u002Fmcp-toolkit\u002Fserver",[311,341,342],{"class":321},"'\n",[311,344,346],{"class":313,"line":345},2,[311,347,349],{"emptyLinePlaceholder":348},true,"\n",[311,351,353,356,359,362,365],{"class":313,"line":352},3,[311,354,355],{"class":317},"export",[311,357,358],{"class":317}," default",[311,360,326],{"class":361},"s2Zo4",[311,363,364],{"class":325},"(",[311,366,367],{"class":321},"{\n",[311,369,371,375,378,380,383,386,389],{"class":313,"line":370},4,[311,372,374],{"class":373},"swJcz","  name",[311,376,377],{"class":321},":",[311,379,335],{"class":321},[311,381,382],{"class":338},"handler-name",[311,384,385],{"class":321},"'",[311,387,388],{"class":321},",",[311,390,392],{"class":391},"sHwdD","  \u002F\u002F Unique identifier\n",[311,394,396,399],{"class":313,"line":395},5,[311,397,398],{"class":321},"}",[311,400,401],{"class":325},")\n",[300,403,406],{"className":302,"code":404,"filename":405,"language":305,"meta":306,"style":306},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'handler-name',\n  version: '1.0.0',              \u002F\u002F Handler version\n  description: 'Admin tools',    \u002F\u002F serverInfo description shown by clients\n  instructions: 'Always …',      \u002F\u002F System-prompt guidance for LLMs\n  icons: [ ... ],                 \u002F\u002F Server icons shown in client UIs\n  route: '\u002Fmcp\u002Fcustom',          \u002F\u002F Custom route\n  browserRedirect: '\u002F',          \u002F\u002F Browser redirect URL\n  middleware: async (event) => { ... }, \u002F\u002F Request interception\n  tools: [ ... ],                 \u002F\u002F Array of tools\n  resources: [ ... ],            \u002F\u002F Array of resources\n  prompts: [ ... ],               \u002F\u002F Array of prompts\n  experimental_codeMode: true,    \u002F\u002F Enable code mode (experimental)\n})\n","Optional Fields",[308,407,408,426,430,442,457,476,496,516,538,558,578,614,633,652,671,688],{"__ignoreMap":306},[311,409,410,412,414,416,418,420,422,424],{"class":313,"line":314},[311,411,318],{"class":317},[311,413,322],{"class":321},[311,415,326],{"class":325},[311,417,329],{"class":321},[311,419,332],{"class":317},[311,421,335],{"class":321},[311,423,339],{"class":338},[311,425,342],{"class":321},[311,427,428],{"class":313,"line":345},[311,429,349],{"emptyLinePlaceholder":348},[311,431,432,434,436,438,440],{"class":313,"line":352},[311,433,355],{"class":317},[311,435,358],{"class":317},[311,437,326],{"class":361},[311,439,364],{"class":325},[311,441,367],{"class":321},[311,443,444,446,448,450,452,454],{"class":313,"line":370},[311,445,374],{"class":373},[311,447,377],{"class":321},[311,449,335],{"class":321},[311,451,382],{"class":338},[311,453,385],{"class":321},[311,455,456],{"class":321},",\n",[311,458,459,462,464,466,469,471,473],{"class":313,"line":395},[311,460,461],{"class":373},"  version",[311,463,377],{"class":321},[311,465,335],{"class":321},[311,467,468],{"class":338},"1.0.0",[311,470,385],{"class":321},[311,472,388],{"class":321},[311,474,475],{"class":391},"              \u002F\u002F Handler version\n",[311,477,479,482,484,486,489,491,493],{"class":313,"line":478},6,[311,480,481],{"class":373},"  description",[311,483,377],{"class":321},[311,485,335],{"class":321},[311,487,488],{"class":338},"Admin tools",[311,490,385],{"class":321},[311,492,388],{"class":321},[311,494,495],{"class":391},"    \u002F\u002F serverInfo description shown by clients\n",[311,497,499,502,504,506,509,511,513],{"class":313,"line":498},7,[311,500,501],{"class":373},"  instructions",[311,503,377],{"class":321},[311,505,335],{"class":321},[311,507,508],{"class":338},"Always …",[311,510,385],{"class":321},[311,512,388],{"class":321},[311,514,515],{"class":391},"      \u002F\u002F System-prompt guidance for LLMs\n",[311,517,519,522,524,527,530,533,535],{"class":313,"line":518},8,[311,520,521],{"class":373},"  icons",[311,523,377],{"class":321},[311,525,526],{"class":325}," [ ",[311,528,529],{"class":321},"...",[311,531,532],{"class":325}," ]",[311,534,388],{"class":321},[311,536,537],{"class":391},"                 \u002F\u002F Server icons shown in client UIs\n",[311,539,541,544,546,548,551,553,555],{"class":313,"line":540},9,[311,542,543],{"class":373},"  route",[311,545,377],{"class":321},[311,547,335],{"class":321},[311,549,550],{"class":338},"\u002Fmcp\u002Fcustom",[311,552,385],{"class":321},[311,554,388],{"class":321},[311,556,557],{"class":391},"          \u002F\u002F Custom route\n",[311,559,561,564,566,568,571,573,575],{"class":313,"line":560},10,[311,562,563],{"class":373},"  browserRedirect",[311,565,377],{"class":321},[311,567,335],{"class":321},[311,569,570],{"class":338},"\u002F",[311,572,385],{"class":321},[311,574,388],{"class":321},[311,576,577],{"class":391},"          \u002F\u002F Browser redirect URL\n",[311,579,581,584,586,590,593,597,600,603,605,608,611],{"class":313,"line":580},11,[311,582,583],{"class":361},"  middleware",[311,585,377],{"class":321},[311,587,589],{"class":588},"spNyl"," async",[311,591,592],{"class":321}," (",[311,594,596],{"class":595},"sHdIc","event",[311,598,599],{"class":321},")",[311,601,602],{"class":588}," =>",[311,604,322],{"class":321},[311,606,607],{"class":321}," ...",[311,609,610],{"class":321}," },",[311,612,613],{"class":391}," \u002F\u002F Request interception\n",[311,615,617,620,622,624,626,628,630],{"class":313,"line":616},12,[311,618,619],{"class":373},"  tools",[311,621,377],{"class":321},[311,623,526],{"class":325},[311,625,529],{"class":321},[311,627,532],{"class":325},[311,629,388],{"class":321},[311,631,632],{"class":391},"                 \u002F\u002F Array of tools\n",[311,634,636,639,641,643,645,647,649],{"class":313,"line":635},13,[311,637,638],{"class":373},"  resources",[311,640,377],{"class":321},[311,642,526],{"class":325},[311,644,529],{"class":321},[311,646,532],{"class":325},[311,648,388],{"class":321},[311,650,651],{"class":391},"            \u002F\u002F Array of resources\n",[311,653,655,658,660,662,664,666,668],{"class":313,"line":654},14,[311,656,657],{"class":373},"  prompts",[311,659,377],{"class":321},[311,661,526],{"class":325},[311,663,529],{"class":321},[311,665,532],{"class":325},[311,667,388],{"class":321},[311,669,670],{"class":391},"               \u002F\u002F Array of prompts\n",[311,672,674,677,679,683,685],{"class":313,"line":673},15,[311,675,676],{"class":373},"  experimental_codeMode",[311,678,377],{"class":321},[311,680,682],{"class":681},"sfNiH"," true",[311,684,388],{"class":321},[311,686,687],{"class":391},"    \u002F\u002F Enable code mode (experimental)\n",[311,689,691,693],{"class":313,"line":690},16,[311,692,398],{"class":321},[311,694,401],{"class":325},[288,696,698],{"id":697},"handler-options","Handler Options",[700,701,703,706],"h3",{"id":702},"name-required",[308,704,705],{},"name"," (required)",[293,708,709,710,712,713,716],{},"Unique identifier for the handler. The ",[308,711,705],{}," determines where the handler will be mounted. By default, the handler will be accessible at ",[308,714,715],{},"\u002Fmcp\u002F:name",".",[300,718,720],{"className":302,"code":719,"language":305,"meta":306,"style":306},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'migration', \u002F\u002F Handler mounted at \u002Fmcp\u002Fmigration\n})\n",[308,721,722,740,744,756,774],{"__ignoreMap":306},[311,723,724,726,728,730,732,734,736,738],{"class":313,"line":314},[311,725,318],{"class":317},[311,727,322],{"class":321},[311,729,326],{"class":325},[311,731,329],{"class":321},[311,733,332],{"class":317},[311,735,335],{"class":321},[311,737,339],{"class":338},[311,739,342],{"class":321},[311,741,742],{"class":313,"line":345},[311,743,349],{"emptyLinePlaceholder":348},[311,745,746,748,750,752,754],{"class":313,"line":352},[311,747,355],{"class":317},[311,749,358],{"class":317},[311,751,326],{"class":361},[311,753,364],{"class":325},[311,755,367],{"class":321},[311,757,758,760,762,764,767,769,771],{"class":313,"line":370},[311,759,374],{"class":373},[311,761,377],{"class":321},[311,763,335],{"class":321},[311,765,766],{"class":338},"migration",[311,768,385],{"class":321},[311,770,388],{"class":321},[311,772,773],{"class":391}," \u002F\u002F Handler mounted at \u002Fmcp\u002Fmigration\n",[311,775,776,778],{"class":313,"line":395},[311,777,398],{"class":321},[311,779,401],{"class":325},[700,781,783,786],{"id":782},"version-optional",[308,784,785],{},"version"," (optional)",[293,788,789],{},"Version of the handler. Defaults to the module's configured version.",[300,791,793],{"className":302,"code":792,"language":305,"meta":306,"style":306},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'migration',\n  version: '2.0.0',\n})\n",[308,794,795,813,817,829,843,858],{"__ignoreMap":306},[311,796,797,799,801,803,805,807,809,811],{"class":313,"line":314},[311,798,318],{"class":317},[311,800,322],{"class":321},[311,802,326],{"class":325},[311,804,329],{"class":321},[311,806,332],{"class":317},[311,808,335],{"class":321},[311,810,339],{"class":338},[311,812,342],{"class":321},[311,814,815],{"class":313,"line":345},[311,816,349],{"emptyLinePlaceholder":348},[311,818,819,821,823,825,827],{"class":313,"line":352},[311,820,355],{"class":317},[311,822,358],{"class":317},[311,824,326],{"class":361},[311,826,364],{"class":325},[311,828,367],{"class":321},[311,830,831,833,835,837,839,841],{"class":313,"line":370},[311,832,374],{"class":373},[311,834,377],{"class":321},[311,836,335],{"class":321},[311,838,766],{"class":338},[311,840,385],{"class":321},[311,842,456],{"class":321},[311,844,845,847,849,851,854,856],{"class":313,"line":395},[311,846,461],{"class":373},[311,848,377],{"class":321},[311,850,335],{"class":321},[311,852,853],{"class":338},"2.0.0",[311,855,385],{"class":321},[311,857,456],{"class":321},[311,859,860,862],{"class":313,"line":478},[311,861,398],{"class":321},[311,863,401],{"class":325},[700,865,867,786],{"id":866},"description-optional",[308,868,869],{},"description",[293,871,872,873,876,877,880,881,716],{},"Human-readable description sent as part of ",[308,874,875],{},"serverInfo"," during MCP initialization. Clients use it to identify the handler in UIs (server lists, install prompts, tooltips). Falls back to ",[308,878,879],{},"mcp.description"," from ",[308,882,883],{},"nuxt.config.ts",[300,885,887],{"className":302,"code":886,"language":305,"meta":306,"style":306},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'admin',\n  description: 'Admin tools — destructive operations gated by Bearer auth.',\n})\n",[308,888,889,907,911,923,938,953],{"__ignoreMap":306},[311,890,891,893,895,897,899,901,903,905],{"class":313,"line":314},[311,892,318],{"class":317},[311,894,322],{"class":321},[311,896,326],{"class":325},[311,898,329],{"class":321},[311,900,332],{"class":317},[311,902,335],{"class":321},[311,904,339],{"class":338},[311,906,342],{"class":321},[311,908,909],{"class":313,"line":345},[311,910,349],{"emptyLinePlaceholder":348},[311,912,913,915,917,919,921],{"class":313,"line":352},[311,914,355],{"class":317},[311,916,358],{"class":317},[311,918,326],{"class":361},[311,920,364],{"class":325},[311,922,367],{"class":321},[311,924,925,927,929,931,934,936],{"class":313,"line":370},[311,926,374],{"class":373},[311,928,377],{"class":321},[311,930,335],{"class":321},[311,932,933],{"class":338},"admin",[311,935,385],{"class":321},[311,937,456],{"class":321},[311,939,940,942,944,946,949,951],{"class":313,"line":395},[311,941,481],{"class":373},[311,943,377],{"class":321},[311,945,335],{"class":321},[311,947,948],{"class":338},"Admin tools — destructive operations gated by Bearer auth.",[311,950,385],{"class":321},[311,952,456],{"class":321},[311,954,955,957],{"class":313,"line":478},[311,956,398],{"class":321},[311,958,401],{"class":325},[700,960,962,786],{"id":961},"instructions-optional",[308,963,964],{},"instructions",[293,966,967,968,970,971,880,974,716],{},"Operational guidance for AI agents — typically injected by clients into the model's system prompt. Use this to describe workflows, constraints, or relationships between tools (use ",[308,969,869],{}," to identify the handler). Falls back to ",[308,972,973],{},"mcp.instructions",[308,975,883],{},[300,977,979],{"className":302,"code":978,"language":305,"meta":306,"style":306},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'admin',\n  instructions: 'Always call list-users before delete-user. Confirm with the operator before any destructive action.',\n})\n",[308,980,981,999,1003,1015,1029,1044],{"__ignoreMap":306},[311,982,983,985,987,989,991,993,995,997],{"class":313,"line":314},[311,984,318],{"class":317},[311,986,322],{"class":321},[311,988,326],{"class":325},[311,990,329],{"class":321},[311,992,332],{"class":317},[311,994,335],{"class":321},[311,996,339],{"class":338},[311,998,342],{"class":321},[311,1000,1001],{"class":313,"line":345},[311,1002,349],{"emptyLinePlaceholder":348},[311,1004,1005,1007,1009,1011,1013],{"class":313,"line":352},[311,1006,355],{"class":317},[311,1008,358],{"class":317},[311,1010,326],{"class":361},[311,1012,364],{"class":325},[311,1014,367],{"class":321},[311,1016,1017,1019,1021,1023,1025,1027],{"class":313,"line":370},[311,1018,374],{"class":373},[311,1020,377],{"class":321},[311,1022,335],{"class":321},[311,1024,933],{"class":338},[311,1026,385],{"class":321},[311,1028,456],{"class":321},[311,1030,1031,1033,1035,1037,1040,1042],{"class":313,"line":395},[311,1032,501],{"class":373},[311,1034,377],{"class":321},[311,1036,335],{"class":321},[311,1038,1039],{"class":338},"Always call list-users before delete-user. Confirm with the operator before any destructive action.",[311,1041,385],{"class":321},[311,1043,456],{"class":321},[311,1045,1046,1048],{"class":313,"line":478},[311,1047,398],{"class":321},[311,1049,401],{"class":325},[700,1051,1053,786],{"id":1052},"icons-optional",[308,1054,1055],{},"icons",[293,1057,1058,1059,1062,1063,1066,1067,1062,1070,592,1073,1076,1077,880,1080,716],{},"Icons displayed by clients in their UIs. Each entry needs ",[308,1060,1061],{},"src"," and ",[308,1064,1065],{},"mimeType",", with optional ",[308,1068,1069],{},"sizes",[308,1071,1072],{},"theme",[308,1074,1075],{},"'light' | 'dark'","). Falls back to ",[308,1078,1079],{},"mcp.icons",[308,1081,883],{},[300,1083,1085],{"className":302,"code":1084,"language":305,"meta":306,"style":306},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'admin',\n  icons: [\n    { src: 'https:\u002F\u002Fexample.com\u002Fadmin.png', mimeType: 'image\u002Fpng', sizes: ['64x64'] },\n  ],\n})\n",[308,1086,1087,1105,1109,1121,1135,1144,1198,1205],{"__ignoreMap":306},[311,1088,1089,1091,1093,1095,1097,1099,1101,1103],{"class":313,"line":314},[311,1090,318],{"class":317},[311,1092,322],{"class":321},[311,1094,326],{"class":325},[311,1096,329],{"class":321},[311,1098,332],{"class":317},[311,1100,335],{"class":321},[311,1102,339],{"class":338},[311,1104,342],{"class":321},[311,1106,1107],{"class":313,"line":345},[311,1108,349],{"emptyLinePlaceholder":348},[311,1110,1111,1113,1115,1117,1119],{"class":313,"line":352},[311,1112,355],{"class":317},[311,1114,358],{"class":317},[311,1116,326],{"class":361},[311,1118,364],{"class":325},[311,1120,367],{"class":321},[311,1122,1123,1125,1127,1129,1131,1133],{"class":313,"line":370},[311,1124,374],{"class":373},[311,1126,377],{"class":321},[311,1128,335],{"class":321},[311,1130,933],{"class":338},[311,1132,385],{"class":321},[311,1134,456],{"class":321},[311,1136,1137,1139,1141],{"class":313,"line":395},[311,1138,521],{"class":373},[311,1140,377],{"class":321},[311,1142,1143],{"class":325}," [\n",[311,1145,1146,1149,1152,1154,1156,1159,1161,1163,1166,1168,1170,1173,1175,1177,1180,1182,1185,1187,1190,1192,1195],{"class":313,"line":478},[311,1147,1148],{"class":321},"    {",[311,1150,1151],{"class":373}," src",[311,1153,377],{"class":321},[311,1155,335],{"class":321},[311,1157,1158],{"class":338},"https:\u002F\u002Fexample.com\u002Fadmin.png",[311,1160,385],{"class":321},[311,1162,388],{"class":321},[311,1164,1165],{"class":373}," mimeType",[311,1167,377],{"class":321},[311,1169,335],{"class":321},[311,1171,1172],{"class":338},"image\u002Fpng",[311,1174,385],{"class":321},[311,1176,388],{"class":321},[311,1178,1179],{"class":373}," sizes",[311,1181,377],{"class":321},[311,1183,1184],{"class":325}," [",[311,1186,385],{"class":321},[311,1188,1189],{"class":338},"64x64",[311,1191,385],{"class":321},[311,1193,1194],{"class":325},"] ",[311,1196,1197],{"class":321},"},\n",[311,1199,1200,1203],{"class":313,"line":498},[311,1201,1202],{"class":325},"  ]",[311,1204,456],{"class":321},[311,1206,1207,1209],{"class":313,"line":518},[311,1208,398],{"class":321},[311,1210,401],{"class":325},[1212,1213,1216,1218,1219,1221,1222,1224,1225,1232],"callout",{"color":1214,"icon":1215},"info","i-lucide-info",[308,1217,869],{},", ",[308,1220,964],{},", and ",[308,1223,1055],{}," are part of the ",[1226,1227,1231],"a",{"href":1228,"rel":1229},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fbasic\u002Flifecycle#initialization",[1230],"nofollow","MCP lifecycle spec",". Set them at the module level for shared metadata, override per-handler when a specific endpoint needs different identity.",[700,1234,1236,786],{"id":1235},"route-optional",[308,1237,1238],{},"route",[293,1240,1241,1242,716],{},"Custom route for the handler. Defaults to ",[308,1243,715],{},[1212,1245,1246,1247,1251,1252,1255,1256,1259,1260,1262],{"color":1214,"icon":1215},"This option is only used for ",[1248,1249,1250],"strong",{},"custom handlers",". For the default handler override (",[308,1253,1254],{},"index.ts","), use ",[308,1257,1258],{},"mcp.route"," in ",[308,1261,883],{}," instead.",[300,1264,1266],{"className":302,"code":1265,"language":305,"meta":306,"style":306},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'migration',\n  route: '\u002Fapi\u002Fmcp\u002Fmigration', \u002F\u002F Custom route\n})\n",[308,1267,1268,1286,1290,1302,1316,1334],{"__ignoreMap":306},[311,1269,1270,1272,1274,1276,1278,1280,1282,1284],{"class":313,"line":314},[311,1271,318],{"class":317},[311,1273,322],{"class":321},[311,1275,326],{"class":325},[311,1277,329],{"class":321},[311,1279,332],{"class":317},[311,1281,335],{"class":321},[311,1283,339],{"class":338},[311,1285,342],{"class":321},[311,1287,1288],{"class":313,"line":345},[311,1289,349],{"emptyLinePlaceholder":348},[311,1291,1292,1294,1296,1298,1300],{"class":313,"line":352},[311,1293,355],{"class":317},[311,1295,358],{"class":317},[311,1297,326],{"class":361},[311,1299,364],{"class":325},[311,1301,367],{"class":321},[311,1303,1304,1306,1308,1310,1312,1314],{"class":313,"line":370},[311,1305,374],{"class":373},[311,1307,377],{"class":321},[311,1309,335],{"class":321},[311,1311,766],{"class":338},[311,1313,385],{"class":321},[311,1315,456],{"class":321},[311,1317,1318,1320,1322,1324,1327,1329,1331],{"class":313,"line":395},[311,1319,543],{"class":373},[311,1321,377],{"class":321},[311,1323,335],{"class":321},[311,1325,1326],{"class":338},"\u002Fapi\u002Fmcp\u002Fmigration",[311,1328,385],{"class":321},[311,1330,388],{"class":321},[311,1332,1333],{"class":391}," \u002F\u002F Custom route\n",[311,1335,1336,1338],{"class":313,"line":478},[311,1337,398],{"class":321},[311,1339,401],{"class":325},[700,1341,1343,786],{"id":1342},"browserredirect-optional",[308,1344,1345],{},"browserRedirect",[293,1347,1348,1349,716],{},"URL to redirect browsers when they access the handler endpoint. Defaults to the module's configured ",[308,1350,1345],{},[300,1352,1354],{"className":302,"code":1353,"language":305,"meta":306,"style":306},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'migration',\n  browserRedirect: '\u002Fdocs\u002Fmigration',\n})\n",[308,1355,1356,1374,1378,1390,1404,1419],{"__ignoreMap":306},[311,1357,1358,1360,1362,1364,1366,1368,1370,1372],{"class":313,"line":314},[311,1359,318],{"class":317},[311,1361,322],{"class":321},[311,1363,326],{"class":325},[311,1365,329],{"class":321},[311,1367,332],{"class":317},[311,1369,335],{"class":321},[311,1371,339],{"class":338},[311,1373,342],{"class":321},[311,1375,1376],{"class":313,"line":345},[311,1377,349],{"emptyLinePlaceholder":348},[311,1379,1380,1382,1384,1386,1388],{"class":313,"line":352},[311,1381,355],{"class":317},[311,1383,358],{"class":317},[311,1385,326],{"class":361},[311,1387,364],{"class":325},[311,1389,367],{"class":321},[311,1391,1392,1394,1396,1398,1400,1402],{"class":313,"line":370},[311,1393,374],{"class":373},[311,1395,377],{"class":321},[311,1397,335],{"class":321},[311,1399,766],{"class":338},[311,1401,385],{"class":321},[311,1403,456],{"class":321},[311,1405,1406,1408,1410,1412,1415,1417],{"class":313,"line":395},[311,1407,563],{"class":373},[311,1409,377],{"class":321},[311,1411,335],{"class":321},[311,1413,1414],{"class":338},"\u002Fdocs\u002Fmigration",[311,1416,385],{"class":321},[311,1418,456],{"class":321},[311,1420,1421,1423],{"class":313,"line":478},[311,1422,398],{"class":321},[311,1424,401],{"class":325},[700,1426,1428,786],{"id":1427},"middleware-optional",[308,1429,1430],{},"middleware",[293,1432,1433],{},"Function to intercept requests before\u002Fafter they are processed. Useful for authentication, logging, and setting context.",[300,1435,1438],{"className":302,"code":1436,"filename":1437,"language":305,"meta":306,"style":306},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'custom',\n  middleware: async (event) => {\n    event.context.userId = 'user-123'\n  },\n})\n","server\u002Fmcp\u002Fcustom.ts",[308,1439,1440,1458,1462,1474,1489,1508,1533,1538],{"__ignoreMap":306},[311,1441,1442,1444,1446,1448,1450,1452,1454,1456],{"class":313,"line":314},[311,1443,318],{"class":317},[311,1445,322],{"class":321},[311,1447,326],{"class":325},[311,1449,329],{"class":321},[311,1451,332],{"class":317},[311,1453,335],{"class":321},[311,1455,339],{"class":338},[311,1457,342],{"class":321},[311,1459,1460],{"class":313,"line":345},[311,1461,349],{"emptyLinePlaceholder":348},[311,1463,1464,1466,1468,1470,1472],{"class":313,"line":352},[311,1465,355],{"class":317},[311,1467,358],{"class":317},[311,1469,326],{"class":361},[311,1471,364],{"class":325},[311,1473,367],{"class":321},[311,1475,1476,1478,1480,1482,1485,1487],{"class":313,"line":370},[311,1477,374],{"class":373},[311,1479,377],{"class":321},[311,1481,335],{"class":321},[311,1483,1484],{"class":338},"custom",[311,1486,385],{"class":321},[311,1488,456],{"class":321},[311,1490,1491,1493,1495,1497,1499,1501,1503,1505],{"class":313,"line":395},[311,1492,583],{"class":361},[311,1494,377],{"class":321},[311,1496,589],{"class":588},[311,1498,592],{"class":321},[311,1500,596],{"class":595},[311,1502,599],{"class":321},[311,1504,602],{"class":588},[311,1506,1507],{"class":321}," {\n",[311,1509,1510,1513,1515,1518,1520,1523,1526,1528,1531],{"class":313,"line":478},[311,1511,1512],{"class":325},"    event",[311,1514,716],{"class":321},[311,1516,1517],{"class":325},"context",[311,1519,716],{"class":321},[311,1521,1522],{"class":325},"userId",[311,1524,1525],{"class":321}," =",[311,1527,335],{"class":321},[311,1529,1530],{"class":338},"user-123",[311,1532,342],{"class":321},[311,1534,1535],{"class":313,"line":498},[311,1536,1537],{"class":321},"  },\n",[311,1539,1540,1542],{"class":313,"line":518},[311,1541,398],{"class":321},[311,1543,401],{"class":325},[1212,1545,1547,1548,1551],{"color":1546,"icon":13},"primary","See the ",[1226,1549,1550],{"href":216},"Middleware guide"," for detailed documentation and examples.",[700,1553,1555,786],{"id":1554},"experimental_codemode-optional",[308,1556,1557],{},"experimental_codeMode",[293,1559,1560,1561,1563,1564,1567],{},"Enable ",[1226,1562,244],{"href":245}," to let LLMs orchestrate multiple tool calls in a single JavaScript execution. Pass ",[308,1565,1566],{},"true"," for defaults or an options object:",[300,1569,1571],{"className":302,"code":1570,"language":305,"meta":306,"style":306},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'custom',\n  experimental_codeMode: {\n    progressive: true,\n    memoryLimit: 128,\n  },\n})\n",[308,1572,1573,1591,1595,1607,1621,1629,1640,1653,1657],{"__ignoreMap":306},[311,1574,1575,1577,1579,1581,1583,1585,1587,1589],{"class":313,"line":314},[311,1576,318],{"class":317},[311,1578,322],{"class":321},[311,1580,326],{"class":325},[311,1582,329],{"class":321},[311,1584,332],{"class":317},[311,1586,335],{"class":321},[311,1588,339],{"class":338},[311,1590,342],{"class":321},[311,1592,1593],{"class":313,"line":345},[311,1594,349],{"emptyLinePlaceholder":348},[311,1596,1597,1599,1601,1603,1605],{"class":313,"line":352},[311,1598,355],{"class":317},[311,1600,358],{"class":317},[311,1602,326],{"class":361},[311,1604,364],{"class":325},[311,1606,367],{"class":321},[311,1608,1609,1611,1613,1615,1617,1619],{"class":313,"line":370},[311,1610,374],{"class":373},[311,1612,377],{"class":321},[311,1614,335],{"class":321},[311,1616,1484],{"class":338},[311,1618,385],{"class":321},[311,1620,456],{"class":321},[311,1622,1623,1625,1627],{"class":313,"line":395},[311,1624,676],{"class":373},[311,1626,377],{"class":321},[311,1628,1507],{"class":321},[311,1630,1631,1634,1636,1638],{"class":313,"line":478},[311,1632,1633],{"class":373},"    progressive",[311,1635,377],{"class":321},[311,1637,682],{"class":681},[311,1639,456],{"class":321},[311,1641,1642,1645,1647,1651],{"class":313,"line":498},[311,1643,1644],{"class":373},"    memoryLimit",[311,1646,377],{"class":321},[311,1648,1650],{"class":1649},"sbssI"," 128",[311,1652,456],{"class":321},[311,1654,1655],{"class":313,"line":518},[311,1656,1537],{"class":321},[311,1658,1659,1661],{"class":313,"line":540},[311,1660,398],{"class":321},[311,1662,401],{"class":325},[293,1664,1665,1666,1669,1670,716],{},"Code Mode requires ",[308,1667,1668],{},"secure-exec"," and Node.js ",[308,1671,1672],{},">=18.16.0",[1212,1674,1547,1675,1678],{"color":1546,"icon":13},[1226,1676,1677],{"href":245},"Code Mode guide"," for full documentation, security details, and configuration options.",[700,1680,1682,786],{"id":1681},"tools-optional",[308,1683,1684],{},"tools",[293,1686,1687],{},"Accepts three shapes — pick whichever matches your use case:",[297,1689,1690,1762,1892],{},[300,1691,1694],{"className":302,"code":1692,"filename":1693,"language":305,"meta":306,"style":306},"\u002F\u002F server\u002Fmcp\u002Fhandlers\u002Fadmin\u002Findex.ts\nimport { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\n\u002F\u002F `tools` omitted → every tool under handlers\u002Fadmin\u002Ftools\u002F\n\u002F\u002F is auto-registered (folder convention).\nexport default defineMcpHandler({\n  middleware: requireAdmin,\n})\n","Auto (default)",[308,1695,1696,1701,1719,1723,1728,1733,1745,1756],{"__ignoreMap":306},[311,1697,1698],{"class":313,"line":314},[311,1699,1700],{"class":391},"\u002F\u002F server\u002Fmcp\u002Fhandlers\u002Fadmin\u002Findex.ts\n",[311,1702,1703,1705,1707,1709,1711,1713,1715,1717],{"class":313,"line":345},[311,1704,318],{"class":317},[311,1706,322],{"class":321},[311,1708,326],{"class":325},[311,1710,329],{"class":321},[311,1712,332],{"class":317},[311,1714,335],{"class":321},[311,1716,339],{"class":338},[311,1718,342],{"class":321},[311,1720,1721],{"class":313,"line":352},[311,1722,349],{"emptyLinePlaceholder":348},[311,1724,1725],{"class":313,"line":370},[311,1726,1727],{"class":391},"\u002F\u002F `tools` omitted → every tool under handlers\u002Fadmin\u002Ftools\u002F\n",[311,1729,1730],{"class":313,"line":395},[311,1731,1732],{"class":391},"\u002F\u002F is auto-registered (folder convention).\n",[311,1734,1735,1737,1739,1741,1743],{"class":313,"line":478},[311,1736,355],{"class":317},[311,1738,358],{"class":317},[311,1740,326],{"class":361},[311,1742,364],{"class":325},[311,1744,367],{"class":321},[311,1746,1747,1749,1751,1754],{"class":313,"line":498},[311,1748,583],{"class":373},[311,1750,377],{"class":321},[311,1752,1753],{"class":325}," requireAdmin",[311,1755,456],{"class":321},[311,1757,1758,1760],{"class":313,"line":518},[311,1759,398],{"class":321},[311,1761,401],{"class":325},[300,1763,1766],{"className":302,"code":1764,"filename":1765,"language":305,"meta":306,"style":306},"import { defineMcpTool, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nconst tool1 = defineMcpTool({ ... })\nconst tool2 = defineMcpTool({ ... })\n\nexport default defineMcpHandler({\n  name: 'custom',\n  tools: [tool1, tool2],\n})\n","Static array",[308,1767,1768,1791,1795,1819,1840,1844,1856,1870,1886],{"__ignoreMap":306},[311,1769,1770,1772,1774,1777,1779,1781,1783,1785,1787,1789],{"class":313,"line":314},[311,1771,318],{"class":317},[311,1773,322],{"class":321},[311,1775,1776],{"class":325}," defineMcpTool",[311,1778,388],{"class":321},[311,1780,326],{"class":325},[311,1782,329],{"class":321},[311,1784,332],{"class":317},[311,1786,335],{"class":321},[311,1788,339],{"class":338},[311,1790,342],{"class":321},[311,1792,1793],{"class":313,"line":345},[311,1794,349],{"emptyLinePlaceholder":348},[311,1796,1797,1800,1803,1806,1808,1810,1813,1815,1817],{"class":313,"line":352},[311,1798,1799],{"class":588},"const",[311,1801,1802],{"class":325}," tool1 ",[311,1804,1805],{"class":321},"=",[311,1807,1776],{"class":361},[311,1809,364],{"class":325},[311,1811,1812],{"class":321},"{",[311,1814,607],{"class":321},[311,1816,329],{"class":321},[311,1818,401],{"class":325},[311,1820,1821,1823,1826,1828,1830,1832,1834,1836,1838],{"class":313,"line":370},[311,1822,1799],{"class":588},[311,1824,1825],{"class":325}," tool2 ",[311,1827,1805],{"class":321},[311,1829,1776],{"class":361},[311,1831,364],{"class":325},[311,1833,1812],{"class":321},[311,1835,607],{"class":321},[311,1837,329],{"class":321},[311,1839,401],{"class":325},[311,1841,1842],{"class":313,"line":395},[311,1843,349],{"emptyLinePlaceholder":348},[311,1845,1846,1848,1850,1852,1854],{"class":313,"line":478},[311,1847,355],{"class":317},[311,1849,358],{"class":317},[311,1851,326],{"class":361},[311,1853,364],{"class":325},[311,1855,367],{"class":321},[311,1857,1858,1860,1862,1864,1866,1868],{"class":313,"line":498},[311,1859,374],{"class":373},[311,1861,377],{"class":321},[311,1863,335],{"class":321},[311,1865,1484],{"class":338},[311,1867,385],{"class":321},[311,1869,456],{"class":321},[311,1871,1872,1874,1876,1879,1881,1884],{"class":313,"line":518},[311,1873,619],{"class":373},[311,1875,377],{"class":321},[311,1877,1878],{"class":325}," [tool1",[311,1880,388],{"class":321},[311,1882,1883],{"class":325}," tool2]",[311,1885,456],{"class":321},[311,1887,1888,1890],{"class":313,"line":540},[311,1889,398],{"class":321},[311,1891,401],{"class":325},[300,1893,1896],{"className":302,"code":1894,"filename":1895,"language":305,"meta":306,"style":306},"import { defineMcpHandler, getMcpTools } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  \u002F\u002F Every tool tagged 'searchable', regardless of folder.\n  tools: event => getMcpTools({ event, tags: ['searchable'] }),\n})\n","Dynamic function",[308,1897,1898,1921,1925,1937,1942,1985],{"__ignoreMap":306},[311,1899,1900,1902,1904,1906,1908,1911,1913,1915,1917,1919],{"class":313,"line":314},[311,1901,318],{"class":317},[311,1903,322],{"class":321},[311,1905,326],{"class":325},[311,1907,388],{"class":321},[311,1909,1910],{"class":325}," getMcpTools",[311,1912,329],{"class":321},[311,1914,332],{"class":317},[311,1916,335],{"class":321},[311,1918,339],{"class":338},[311,1920,342],{"class":321},[311,1922,1923],{"class":313,"line":345},[311,1924,349],{"emptyLinePlaceholder":348},[311,1926,1927,1929,1931,1933,1935],{"class":313,"line":352},[311,1928,355],{"class":317},[311,1930,358],{"class":317},[311,1932,326],{"class":361},[311,1934,364],{"class":325},[311,1936,367],{"class":321},[311,1938,1939],{"class":313,"line":370},[311,1940,1941],{"class":391},"  \u002F\u002F Every tool tagged 'searchable', regardless of folder.\n",[311,1943,1944,1946,1948,1951,1953,1955,1957,1959,1961,1963,1966,1968,1970,1972,1975,1977,1979,1981,1983],{"class":313,"line":395},[311,1945,619],{"class":361},[311,1947,377],{"class":321},[311,1949,1950],{"class":595}," event",[311,1952,602],{"class":588},[311,1954,1910],{"class":361},[311,1956,364],{"class":325},[311,1958,1812],{"class":321},[311,1960,1950],{"class":325},[311,1962,388],{"class":321},[311,1964,1965],{"class":373}," tags",[311,1967,377],{"class":321},[311,1969,1184],{"class":325},[311,1971,385],{"class":321},[311,1973,1974],{"class":338},"searchable",[311,1976,385],{"class":321},[311,1978,1194],{"class":325},[311,1980,398],{"class":321},[311,1982,599],{"class":325},[311,1984,456],{"class":321},[311,1986,1987,1989],{"class":313,"line":478},[311,1988,398],{"class":321},[311,1990,401],{"class":325},[1212,1992,1993,1994,1997,1998,2003,2004,2007,2008,716],{"color":1546,"icon":13},"See ",[1226,1995,1996],{"href":153},"multi-handler organization"," for the folder convention, and ",[1226,1999,2000],{"href":211},[308,2001,2002],{},"getMcpTools"," for ad-hoc filtering. Per-tool ",[308,2005,2006],{},"enabled()"," guards apply automatically — see ",[1226,2009,239],{"href":240},[700,2011,2013,786],{"id":2012},"resources-optional",[308,2014,2015],{},"resources",[293,2017,2018,2019,2024,2025,716],{},"Same shapes as ",[1226,2020,2022],{"href":2021},"#tools-optional",[308,2023,1684],{},": omit for folder-convention auto-attribution, pass an array, or pass ",[308,2026,2027],{},"event => getMcpResources({ event, ... })",[300,2029,2031],{"className":302,"code":2030,"language":305,"meta":306,"style":306},"import { defineMcpResource, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nconst resource1 = defineMcpResource({ ... })\nconst resource2 = defineMcpResource({ ... })\n\nexport default defineMcpHandler({\n  name: 'custom',\n  resources: [resource1, resource2],\n})\n",[308,2032,2033,2056,2060,2081,2102,2106,2118,2132,2148],{"__ignoreMap":306},[311,2034,2035,2037,2039,2042,2044,2046,2048,2050,2052,2054],{"class":313,"line":314},[311,2036,318],{"class":317},[311,2038,322],{"class":321},[311,2040,2041],{"class":325}," defineMcpResource",[311,2043,388],{"class":321},[311,2045,326],{"class":325},[311,2047,329],{"class":321},[311,2049,332],{"class":317},[311,2051,335],{"class":321},[311,2053,339],{"class":338},[311,2055,342],{"class":321},[311,2057,2058],{"class":313,"line":345},[311,2059,349],{"emptyLinePlaceholder":348},[311,2061,2062,2064,2067,2069,2071,2073,2075,2077,2079],{"class":313,"line":352},[311,2063,1799],{"class":588},[311,2065,2066],{"class":325}," resource1 ",[311,2068,1805],{"class":321},[311,2070,2041],{"class":361},[311,2072,364],{"class":325},[311,2074,1812],{"class":321},[311,2076,607],{"class":321},[311,2078,329],{"class":321},[311,2080,401],{"class":325},[311,2082,2083,2085,2088,2090,2092,2094,2096,2098,2100],{"class":313,"line":370},[311,2084,1799],{"class":588},[311,2086,2087],{"class":325}," resource2 ",[311,2089,1805],{"class":321},[311,2091,2041],{"class":361},[311,2093,364],{"class":325},[311,2095,1812],{"class":321},[311,2097,607],{"class":321},[311,2099,329],{"class":321},[311,2101,401],{"class":325},[311,2103,2104],{"class":313,"line":395},[311,2105,349],{"emptyLinePlaceholder":348},[311,2107,2108,2110,2112,2114,2116],{"class":313,"line":478},[311,2109,355],{"class":317},[311,2111,358],{"class":317},[311,2113,326],{"class":361},[311,2115,364],{"class":325},[311,2117,367],{"class":321},[311,2119,2120,2122,2124,2126,2128,2130],{"class":313,"line":498},[311,2121,374],{"class":373},[311,2123,377],{"class":321},[311,2125,335],{"class":321},[311,2127,1484],{"class":338},[311,2129,385],{"class":321},[311,2131,456],{"class":321},[311,2133,2134,2136,2138,2141,2143,2146],{"class":313,"line":518},[311,2135,638],{"class":373},[311,2137,377],{"class":321},[311,2139,2140],{"class":325}," [resource1",[311,2142,388],{"class":321},[311,2144,2145],{"class":325}," resource2]",[311,2147,456],{"class":321},[311,2149,2150,2152],{"class":313,"line":540},[311,2151,398],{"class":321},[311,2153,401],{"class":325},[700,2155,2157,786],{"id":2156},"prompts-optional",[308,2158,2159],{},"prompts",[293,2161,2018,2162,2024,2166,716],{},[1226,2163,2164],{"href":2021},[308,2165,1684],{},[308,2167,2168],{},"event => getMcpPrompts({ event, ... })",[300,2170,2172],{"className":302,"code":2171,"language":305,"meta":306,"style":306},"import { defineMcpPrompt, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nconst prompt1 = defineMcpPrompt({ ... })\nconst prompt2 = defineMcpPrompt({ ... })\n\nexport default defineMcpHandler({\n  name: 'custom',\n  prompts: [prompt1, prompt2],\n})\n",[308,2173,2174,2197,2201,2222,2243,2247,2259,2273,2289],{"__ignoreMap":306},[311,2175,2176,2178,2180,2183,2185,2187,2189,2191,2193,2195],{"class":313,"line":314},[311,2177,318],{"class":317},[311,2179,322],{"class":321},[311,2181,2182],{"class":325}," defineMcpPrompt",[311,2184,388],{"class":321},[311,2186,326],{"class":325},[311,2188,329],{"class":321},[311,2190,332],{"class":317},[311,2192,335],{"class":321},[311,2194,339],{"class":338},[311,2196,342],{"class":321},[311,2198,2199],{"class":313,"line":345},[311,2200,349],{"emptyLinePlaceholder":348},[311,2202,2203,2205,2208,2210,2212,2214,2216,2218,2220],{"class":313,"line":352},[311,2204,1799],{"class":588},[311,2206,2207],{"class":325}," prompt1 ",[311,2209,1805],{"class":321},[311,2211,2182],{"class":361},[311,2213,364],{"class":325},[311,2215,1812],{"class":321},[311,2217,607],{"class":321},[311,2219,329],{"class":321},[311,2221,401],{"class":325},[311,2223,2224,2226,2229,2231,2233,2235,2237,2239,2241],{"class":313,"line":370},[311,2225,1799],{"class":588},[311,2227,2228],{"class":325}," prompt2 ",[311,2230,1805],{"class":321},[311,2232,2182],{"class":361},[311,2234,364],{"class":325},[311,2236,1812],{"class":321},[311,2238,607],{"class":321},[311,2240,329],{"class":321},[311,2242,401],{"class":325},[311,2244,2245],{"class":313,"line":395},[311,2246,349],{"emptyLinePlaceholder":348},[311,2248,2249,2251,2253,2255,2257],{"class":313,"line":478},[311,2250,355],{"class":317},[311,2252,358],{"class":317},[311,2254,326],{"class":361},[311,2256,364],{"class":325},[311,2258,367],{"class":321},[311,2260,2261,2263,2265,2267,2269,2271],{"class":313,"line":498},[311,2262,374],{"class":373},[311,2264,377],{"class":321},[311,2266,335],{"class":321},[311,2268,1484],{"class":338},[311,2270,385],{"class":321},[311,2272,456],{"class":321},[311,2274,2275,2277,2279,2282,2284,2287],{"class":313,"line":518},[311,2276,657],{"class":373},[311,2278,377],{"class":321},[311,2280,2281],{"class":325}," [prompt1",[311,2283,388],{"class":321},[311,2285,2286],{"class":325}," prompt2]",[311,2288,456],{"class":321},[311,2290,2291,2293],{"class":313,"line":540},[311,2292,398],{"class":321},[311,2294,401],{"class":325},[2296,2297,2298],"style",{},"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}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":306,"searchDepth":345,"depth":345,"links":2300},[2301,2302],{"id":290,"depth":345,"text":291},{"id":697,"depth":345,"text":698,"children":2303},[2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326],{"id":702,"depth":352,"text":2305},"name (required)",{"id":782,"depth":352,"text":2307},"version (optional)",{"id":866,"depth":352,"text":2309},"description (optional)",{"id":961,"depth":352,"text":2311},"instructions (optional)",{"id":1052,"depth":352,"text":2313},"icons (optional)",{"id":1235,"depth":352,"text":2315},"route (optional)",{"id":1342,"depth":352,"text":2317},"browserRedirect (optional)",{"id":1427,"depth":352,"text":2319},"middleware (optional)",{"id":1554,"depth":352,"text":2321},"experimental_codeMode (optional)",{"id":1681,"depth":352,"text":2323},"tools (optional)",{"id":2012,"depth":352,"text":2325},"resources (optional)",{"id":2156,"depth":352,"text":2327},"prompts (optional)","Required fields and every defineMcpHandler option, including tools, resources, and prompts.","md",null,{},{"icon":140},{"title":2334,"description":2335},"Handler structure & options","defineMcpHandler fields, route, middleware, experimental_codeMode, tools, resources, prompts.","HPSxrOqeGlskI5jaQcvAxA4vUsRkrDSG2IxRf917fak",[2338,2340],{"title":132,"path":133,"stem":134,"description":2339,"icon":135,"children":-1},"Override the default `\u002Fmcp` handler and add custom defineMcpHandler endpoints.",{"title":142,"path":143,"stem":144,"description":2341,"icon":145,"children":-1},"Full handler examples, multiple handlers, routes, and default vs custom comparison.",1777888635510]