[{"data":1,"prerenderedAt":2101},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-configuration":282,"-getting-started-configuration-surround":2096},[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":284,"body":285,"description":2087,"extension":2088,"links":2089,"meta":2090,"navigation":2091,"path":21,"seo":2092,"stem":22,"__hash__":2095},"docs\u002F1.getting-started\u002F3.configuration.md","Configure the module",{"type":286,"value":287,"toc":2071},"minimark",[288,293,302,406,409,413,416,1113,1117,1122,1125,1198,1202,1205,1277,1280,1297,1301,1304,1376,1382,1388,1484,1488,1491,1557,1563,1576,1580,1583,1648,1651,1835,1839,1842,1909,1913,1916,2034,2038,2067],[289,290,292],"h2",{"id":291},"basic-configuration","Basic Configuration",[294,295,296,297,301],"p",{},"Add the module to your ",[298,299,300],"code",{},"nuxt.config.ts",":",[303,304,309],"pre",{"className":305,"code":306,"filename":300,"language":307,"meta":308,"style":308},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fmcp-toolkit'],\n  mcp: {\n    name: 'My MCP Server',\n  },\n})\n","typescript","",[298,310,311,335,362,373,391,397],{"__ignoreMap":308},[312,313,316,320,323,327,331],"span",{"class":314,"line":315},"line",1,[312,317,319],{"class":318},"s7zQu","export",[312,321,322],{"class":318}," default",[312,324,326],{"class":325},"s2Zo4"," defineNuxtConfig",[312,328,330],{"class":329},"sTEyZ","(",[312,332,334],{"class":333},"sMK4o","{\n",[312,336,338,342,344,347,350,354,356,359],{"class":314,"line":337},2,[312,339,341],{"class":340},"swJcz","  modules",[312,343,301],{"class":333},[312,345,346],{"class":329}," [",[312,348,349],{"class":333},"'",[312,351,353],{"class":352},"sfazB","@nuxtjs\u002Fmcp-toolkit",[312,355,349],{"class":333},[312,357,358],{"class":329},"]",[312,360,361],{"class":333},",\n",[312,363,365,368,370],{"class":314,"line":364},3,[312,366,367],{"class":340},"  mcp",[312,369,301],{"class":333},[312,371,372],{"class":333}," {\n",[312,374,376,379,381,384,387,389],{"class":314,"line":375},4,[312,377,378],{"class":340},"    name",[312,380,301],{"class":333},[312,382,383],{"class":333}," '",[312,385,386],{"class":352},"My MCP Server",[312,388,349],{"class":333},[312,390,361],{"class":333},[312,392,394],{"class":314,"line":393},5,[312,395,396],{"class":333},"  },\n",[312,398,400,403],{"class":314,"line":399},6,[312,401,402],{"class":333},"}",[312,404,405],{"class":329},")\n",[294,407,408],{},"The module works with sensible defaults, so minimal configuration is required.",[289,410,412],{"id":411},"configuration-options","Configuration Options",[294,414,415],{},"All available configuration options:",[417,418,419,433,445,456,467,478,486,575,775,822,848,881,933,999,1065],"field-group",{},[420,421,424,430],"field",{"name":422,"type":423},"enabled","boolean",[294,425,426,427],{},"Default: ",[298,428,429],{},"true",[294,431,432],{},"Enable or disable the MCP server.",[420,434,437,442],{"name":435,"type":436},"route","string",[294,438,426,439],{},[298,440,441],{},"'\u002Fmcp'",[294,443,444],{},"The HTTP route where the MCP server will be accessible.",[420,446,448,453],{"name":447,"type":436},"browserRedirect",[294,449,426,450],{},[298,451,452],{},"'\u002F'",[294,454,455],{},"URL to redirect browsers when they access the MCP endpoint.",[420,457,459,464],{"name":458,"type":436},"name",[294,460,426,461],{},[298,462,463],{},"''",[294,465,466],{},"The name of your MCP server (used in the MCP protocol handshake).",[420,468,470,475],{"name":469,"type":436},"version",[294,471,426,472],{},[298,473,474],{},"'1.0.0'",[294,476,477],{},"The version of your MCP server (semantic versioning).",[420,479,481,482,485],{"name":480,"type":436},"description","Optional. A human-readable description of the server, sent as part of ",[298,483,484],{},"serverInfo"," during initialization. Clients display it in their UI (server lists, tooltips, install prompts).",[420,487,489,495,564],{"name":488,"type":436},"instructions",[294,490,491,492,494],{},"Optional. Operational instructions injected by clients into the model's system prompt. Use this to guide LLMs on workflows, tool relationships, or constraints — not to identify the server (use ",[298,493,480],{}," for that).",[303,496,500],{"className":497,"code":498,"filename":300,"language":499,"meta":308,"style":308},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  mcp: {\n    description: 'Read and update todos for the current user.',\n    instructions: 'Always call list-todos before create-todo. Group results by status.',\n  },\n})\n","ts",[298,501,502,514,522,538,554,558],{"__ignoreMap":308},[312,503,504,506,508,510,512],{"class":314,"line":315},[312,505,319],{"class":318},[312,507,322],{"class":318},[312,509,326],{"class":325},[312,511,330],{"class":329},[312,513,334],{"class":333},[312,515,516,518,520],{"class":314,"line":337},[312,517,367],{"class":340},[312,519,301],{"class":333},[312,521,372],{"class":333},[312,523,524,527,529,531,534,536],{"class":314,"line":364},[312,525,526],{"class":340},"    description",[312,528,301],{"class":333},[312,530,383],{"class":333},[312,532,533],{"class":352},"Read and update todos for the current user.",[312,535,349],{"class":333},[312,537,361],{"class":333},[312,539,540,543,545,547,550,552],{"class":314,"line":375},[312,541,542],{"class":340},"    instructions",[312,544,301],{"class":333},[312,546,383],{"class":333},[312,548,549],{"class":352},"Always call list-todos before create-todo. Group results by status.",[312,551,349],{"class":333},[312,553,361],{"class":333},[312,555,556],{"class":314,"line":393},[312,557,396],{"class":333},[312,559,560,562],{"class":314,"line":399},[312,561,402],{"class":333},[312,563,405],{"class":329},[294,565,566,567,574],{},"See the ",[568,569,573],"a",{"href":570,"rel":571},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fbasic\u002Flifecycle#initialization",[572],"nofollow","MCP lifecycle spec",".",[420,576,579,596],{"name":577,"type":578},"icons","McpIcon[]",[294,580,581,582,585,586,589,590,585,593,301],{},"Optional. Icons for the server, displayed by clients in their UI. Each entry needs ",[298,583,584],{},"src"," and ",[298,587,588],{},"mimeType",", with optional ",[298,591,592],{},"sizes",[298,594,595],{},"theme",[303,597,599],{"className":497,"code":598,"filename":300,"language":499,"meta":308,"style":308},"export default defineNuxtConfig({\n  mcp: {\n    icons: [\n      { src: 'https:\u002F\u002Fexample.com\u002Ficon-light.png', mimeType: 'image\u002Fpng', sizes: ['64x64'], theme: 'light' },\n      { src: 'https:\u002F\u002Fexample.com\u002Ficon-dark.png', mimeType: 'image\u002Fpng', sizes: ['64x64'], theme: 'dark' },\n    ],\n  },\n})\n",[298,600,601,613,621,631,698,756,763,768],{"__ignoreMap":308},[312,602,603,605,607,609,611],{"class":314,"line":315},[312,604,319],{"class":318},[312,606,322],{"class":318},[312,608,326],{"class":325},[312,610,330],{"class":329},[312,612,334],{"class":333},[312,614,615,617,619],{"class":314,"line":337},[312,616,367],{"class":340},[312,618,301],{"class":333},[312,620,372],{"class":333},[312,622,623,626,628],{"class":314,"line":364},[312,624,625],{"class":340},"    icons",[312,627,301],{"class":333},[312,629,630],{"class":329}," [\n",[312,632,633,636,639,641,643,646,648,651,654,656,658,661,663,665,668,670,672,674,677,679,681,683,686,688,690,693,695],{"class":314,"line":375},[312,634,635],{"class":333},"      {",[312,637,638],{"class":340}," src",[312,640,301],{"class":333},[312,642,383],{"class":333},[312,644,645],{"class":352},"https:\u002F\u002Fexample.com\u002Ficon-light.png",[312,647,349],{"class":333},[312,649,650],{"class":333},",",[312,652,653],{"class":340}," mimeType",[312,655,301],{"class":333},[312,657,383],{"class":333},[312,659,660],{"class":352},"image\u002Fpng",[312,662,349],{"class":333},[312,664,650],{"class":333},[312,666,667],{"class":340}," sizes",[312,669,301],{"class":333},[312,671,346],{"class":329},[312,673,349],{"class":333},[312,675,676],{"class":352},"64x64",[312,678,349],{"class":333},[312,680,358],{"class":329},[312,682,650],{"class":333},[312,684,685],{"class":340}," theme",[312,687,301],{"class":333},[312,689,383],{"class":333},[312,691,692],{"class":352},"light",[312,694,349],{"class":333},[312,696,697],{"class":333}," },\n",[312,699,700,702,704,706,708,711,713,715,717,719,721,723,725,727,729,731,733,735,737,739,741,743,745,747,749,752,754],{"class":314,"line":393},[312,701,635],{"class":333},[312,703,638],{"class":340},[312,705,301],{"class":333},[312,707,383],{"class":333},[312,709,710],{"class":352},"https:\u002F\u002Fexample.com\u002Ficon-dark.png",[312,712,349],{"class":333},[312,714,650],{"class":333},[312,716,653],{"class":340},[312,718,301],{"class":333},[312,720,383],{"class":333},[312,722,660],{"class":352},[312,724,349],{"class":333},[312,726,650],{"class":333},[312,728,667],{"class":340},[312,730,301],{"class":333},[312,732,346],{"class":329},[312,734,349],{"class":333},[312,736,676],{"class":352},[312,738,349],{"class":333},[312,740,358],{"class":329},[312,742,650],{"class":333},[312,744,685],{"class":340},[312,746,301],{"class":333},[312,748,383],{"class":333},[312,750,751],{"class":352},"dark",[312,753,349],{"class":333},[312,755,697],{"class":333},[312,757,758,761],{"class":314,"line":399},[312,759,760],{"class":329},"    ]",[312,762,361],{"class":333},[312,764,766],{"class":314,"line":765},7,[312,767,396],{"class":333},[312,769,771,773],{"class":314,"line":770},8,[312,772,402],{"class":333},[312,774,405],{"class":329},[420,776,778,783,790],{"name":777,"type":436},"dir",[294,779,426,780],{},[298,781,782],{},"'mcp'",[294,784,785,786,789],{},"Base directory for MCP definitions (relative to ",[298,787,788],{},"server\u002F","). The module expects:",[791,792,793,800,806,812],"ul",{},[794,795,796,799],"li",{},[298,797,798],{},"{dir}\u002Ftools\u002F"," - Tool definitions",[794,801,802,805],{},[298,803,804],{},"{dir}\u002Fresources\u002F"," - Resource definitions",[794,807,808,811],{},[298,809,810],{},"{dir}\u002Fprompts\u002F"," - Prompt definitions",[794,813,814,817,818,821],{},[298,815,816],{},"{dir}\u002Fhandlers\u002F\u003Cname>\u002F"," - Optional named handler folders (",[568,819,820],{"href":153},"organization",")",[420,823,825,829],{"name":824,"type":436},"appsDir",[294,826,426,827],{},[298,828,782],{},[294,830,831,832,835,836,839,840,843,844,847],{},"Base directory for ",[568,833,834],{"href":162},"MCP Apps"," ",[298,837,838],{},".vue"," files (relative to Nuxt's ",[298,841,842],{},"app\u002F"," directory). Scanned across layers. Defaults to ",[298,845,846],{},"app\u002Fmcp\u002F",". The MCP Apps pipeline only runs when this directory exists.",[420,849,852,857,868],{"name":850,"type":851},"defaultHandlerStrategy","'orphans' | 'all'",[294,853,426,854],{},[298,855,856],{},"'orphans'",[294,858,859,860,863,864,867],{},"Controls which auto-discovered definitions land on the default ",[298,861,862],{},"\u002Fmcp"," route when ",[568,865,866],{"href":153},"named handlers"," exist:",[791,869,870,875],{},[794,871,872,874],{},[298,873,856],{}," — only definitions not attached to any named handler (no folder attribution). When no folder handler exists, every definition is an orphan, so this naturally falls back to \"expose everything\" — zero-effort back-compat.",[794,876,877,880],{},[298,878,879],{},"'all'"," — every discovered definition, including those attributed to named handlers. Useful when you want a \"kitchen sink\" route in addition to specialized ones.",[420,882,884,888],{"name":883,"type":423},"autoImports",[294,885,426,886],{},[298,887,429],{},[294,889,890,891,894,895,894,898,894,901,904,905,908,909,894,912,894,915,894,918,921,922,925,926,929,930,574],{},"Auto-import MCP helpers (",[298,892,893],{},"defineMcpTool",", ",[298,896,897],{},"defineMcpResource",[298,899,900],{},"defineMcpHandler",[298,902,903],{},"defineMcpApp",", …), types (",[298,906,907],{},"McpRequestExtra",", …), composables (",[298,910,911],{},"useMcpSession",[298,913,914],{},"useMcpServer",[298,916,917],{},"useMcpLogger",[298,919,920],{},"useMcpElicitation","), and the ",[298,923,924],{},"InstallButton"," component. Set to ",[298,927,928],{},"false"," to disable all auto-imports and require explicit imports from ",[298,931,932],{},"@nuxtjs\u002Fmcp-toolkit\u002Fserver",[420,934,936,949,974],{"name":935,"type":423},"logging",[294,937,938,939,944,945,574],{},"Optional. Server-side observability for every MCP request via ",[568,940,943],{"href":941,"rel":942},"https:\u002F\u002Fevlog.dev",[572],"evlog",", an ",[946,947,948],"strong",{},"optional peer dependency",[791,950,951,961,969],{},[794,952,953,956,957,960],{},[298,954,955],{},"undefined"," (default) — auto-detect: on if the ",[298,958,959],{},"evlog\u002Fnuxt"," module is registered, off otherwise.",[794,962,963,965,966,968],{},[298,964,429],{}," — assert ",[298,967,959],{}," is registered; throw at build otherwise.",[794,970,971,973],{},[298,972,928],{}," — opt out entirely.",[294,975,976,977,894,980,894,983,894,986,894,989,992,993,998],{},"When active, every MCP request emits a wide event tagged with ",[298,978,979],{},"mcp.transport",[298,981,982],{},"mcp.method",[298,984,985],{},"mcp.tool",[298,987,988],{},"mcp.session_id",[298,990,991],{},"mcp.request_id",", etc. Use ",[568,994,995],{"href":201},[298,996,997],{},"useMcpLogger()"," to push extra fields and discrete events.",[420,1000,1003,1007,1020,1026],{"name":1001,"type":1002},"sessions","boolean | object",[294,1004,426,1005],{},[298,1006,928],{},[294,1008,1009,1010,1015,1016,1019],{},"Enable ",[568,1011,1014],{"href":1012,"rel":1013},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fbasic\u002Ftransports#session-management",[572],"MCP session management"," (stateful transport). When enabled, the server assigns session IDs via the ",[298,1017,1018],{},"MCP-Session-Id"," header and maintains state across requests, enabling SSE streaming, server-to-client notifications, and session continuity.",[294,1021,1022,1023,1025],{},"Pass ",[298,1024,429],{}," for defaults or an object with:",[791,1027,1028,1033,1043],{},[794,1029,1030,1032],{},[298,1031,422],{}," - Enable or disable sessions",[794,1034,1035,1038,1039,1042],{},[298,1036,1037],{},"maxDuration"," - Session timeout in milliseconds (default: ",[298,1040,1041],{},"1800000"," \u002F 30 minutes)",[794,1044,1045,1048,1049,1052,1053,1056,1057,1060,1061,1064],{},[298,1046,1047],{},"maxSessions"," - Maximum concurrent sessions before new session creation returns ",[298,1050,1051],{},"503"," (default: ",[298,1054,1055],{},"1000","). Enforced on the ",[946,1058,1059],{},"Node"," Nitro server only; Cloudflare Workers use the ",[298,1062,1063],{},"agents\u002Fmcp"," path in this module, which does not apply this cap.",[420,1066,1069,1078,1104],{"name":1067,"type":1068},"security","object",[294,1070,1071,1072,1077],{},"Optional. Hardens ",[568,1073,1076],{"href":1074,"rel":1075},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fbasic\u002Ftransports#security",[572],"Streamable HTTP"," requests.",[791,1079,1080],{},[794,1081,1082,1085,1086,1088,1089,1092,1093,1095,1096,1099,1100,1103],{},[298,1083,1084],{},"allowedOrigins"," — ",[298,1087,955],{}," (default): allow requests with no ",[298,1090,1091],{},"Origin"," header (typical for same-origin and CLI); otherwise require ",[298,1094,1091],{}," to match the server origin (scheme + host + port). Use the literal ",[298,1097,1098],{},"'*'"," in config to disable Origin checks (explicit opt-out). ",[298,1101,1102],{},"string[]"," — allow only listed origins (each entry is normalized to an origin URL).",[294,1105,1106,1107,1109,1110,574],{},"Cross-site browser clients must send an allowed ",[298,1108,1091],{}," or receive ",[946,1111,1112],{},"403",[289,1114,1116],{"id":1115},"common-configuration-scenarios","Common Configuration Scenarios",[1118,1119,1121],"h3",{"id":1120},"custom-route","Custom Route",[294,1123,1124],{},"Change the MCP endpoint route:",[303,1126,1128],{"className":305,"code":1127,"filename":300,"language":307,"meta":308,"style":308},"export default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fmcp-toolkit'],\n  mcp: {\n    route: '\u002Fapi\u002Fmcp', \u002F\u002F Custom route\n  },\n})\n",[298,1129,1130,1142,1160,1168,1188,1192],{"__ignoreMap":308},[312,1131,1132,1134,1136,1138,1140],{"class":314,"line":315},[312,1133,319],{"class":318},[312,1135,322],{"class":318},[312,1137,326],{"class":325},[312,1139,330],{"class":329},[312,1141,334],{"class":333},[312,1143,1144,1146,1148,1150,1152,1154,1156,1158],{"class":314,"line":337},[312,1145,341],{"class":340},[312,1147,301],{"class":333},[312,1149,346],{"class":329},[312,1151,349],{"class":333},[312,1153,353],{"class":352},[312,1155,349],{"class":333},[312,1157,358],{"class":329},[312,1159,361],{"class":333},[312,1161,1162,1164,1166],{"class":314,"line":364},[312,1163,367],{"class":340},[312,1165,301],{"class":333},[312,1167,372],{"class":333},[312,1169,1170,1173,1175,1177,1180,1182,1184],{"class":314,"line":375},[312,1171,1172],{"class":340},"    route",[312,1174,301],{"class":333},[312,1176,383],{"class":333},[312,1178,1179],{"class":352},"\u002Fapi\u002Fmcp",[312,1181,349],{"class":333},[312,1183,650],{"class":333},[312,1185,1187],{"class":1186},"sHwdD"," \u002F\u002F Custom route\n",[312,1189,1190],{"class":314,"line":393},[312,1191,396],{"class":333},[312,1193,1194,1196],{"class":314,"line":399},[312,1195,402],{"class":333},[312,1197,405],{"class":329},[1118,1199,1201],{"id":1200},"custom-directory","Custom Directory",[294,1203,1204],{},"Use a different directory for MCP definitions:",[303,1206,1208],{"className":305,"code":1207,"filename":300,"language":307,"meta":308,"style":308},"export default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fmcp-toolkit'],\n  mcp: {\n    dir: 'my-mcp', \u002F\u002F Look in server\u002Fmy-mcp\u002F instead of server\u002Fmcp\u002F\n  },\n})\n",[298,1209,1210,1222,1240,1248,1267,1271],{"__ignoreMap":308},[312,1211,1212,1214,1216,1218,1220],{"class":314,"line":315},[312,1213,319],{"class":318},[312,1215,322],{"class":318},[312,1217,326],{"class":325},[312,1219,330],{"class":329},[312,1221,334],{"class":333},[312,1223,1224,1226,1228,1230,1232,1234,1236,1238],{"class":314,"line":337},[312,1225,341],{"class":340},[312,1227,301],{"class":333},[312,1229,346],{"class":329},[312,1231,349],{"class":333},[312,1233,353],{"class":352},[312,1235,349],{"class":333},[312,1237,358],{"class":329},[312,1239,361],{"class":333},[312,1241,1242,1244,1246],{"class":314,"line":364},[312,1243,367],{"class":340},[312,1245,301],{"class":333},[312,1247,372],{"class":333},[312,1249,1250,1253,1255,1257,1260,1262,1264],{"class":314,"line":375},[312,1251,1252],{"class":340},"    dir",[312,1254,301],{"class":333},[312,1256,383],{"class":333},[312,1258,1259],{"class":352},"my-mcp",[312,1261,349],{"class":333},[312,1263,650],{"class":333},[312,1265,1266],{"class":1186}," \u002F\u002F Look in server\u002Fmy-mcp\u002F instead of server\u002Fmcp\u002F\n",[312,1268,1269],{"class":314,"line":393},[312,1270,396],{"class":333},[312,1272,1273,1275],{"class":314,"line":399},[312,1274,402],{"class":333},[312,1276,405],{"class":329},[294,1278,1279],{},"This will look for definitions in:",[791,1281,1282,1287,1292],{},[794,1283,1284],{},[298,1285,1286],{},"server\u002Fmy-mcp\u002Ftools\u002F",[794,1288,1289],{},[298,1290,1291],{},"server\u002Fmy-mcp\u002Fresources\u002F",[794,1293,1294],{},[298,1295,1296],{},"server\u002Fmy-mcp\u002Fprompts\u002F",[1118,1298,1300],{"id":1299},"browser-redirect","Browser Redirect",[294,1302,1303],{},"Redirect browsers to a custom URL:",[303,1305,1307],{"className":305,"code":1306,"filename":300,"language":307,"meta":308,"style":308},"export default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fmcp-toolkit'],\n  mcp: {\n    browserRedirect: '\u002Fdocs\u002Fmcp', \u002F\u002F Redirect browsers to documentation\n  },\n})\n",[298,1308,1309,1321,1339,1347,1366,1370],{"__ignoreMap":308},[312,1310,1311,1313,1315,1317,1319],{"class":314,"line":315},[312,1312,319],{"class":318},[312,1314,322],{"class":318},[312,1316,326],{"class":325},[312,1318,330],{"class":329},[312,1320,334],{"class":333},[312,1322,1323,1325,1327,1329,1331,1333,1335,1337],{"class":314,"line":337},[312,1324,341],{"class":340},[312,1326,301],{"class":333},[312,1328,346],{"class":329},[312,1330,349],{"class":333},[312,1332,353],{"class":352},[312,1334,349],{"class":333},[312,1336,358],{"class":329},[312,1338,361],{"class":333},[312,1340,1341,1343,1345],{"class":314,"line":364},[312,1342,367],{"class":340},[312,1344,301],{"class":333},[312,1346,372],{"class":333},[312,1348,1349,1352,1354,1356,1359,1361,1363],{"class":314,"line":375},[312,1350,1351],{"class":340},"    browserRedirect",[312,1353,301],{"class":333},[312,1355,383],{"class":333},[312,1357,1358],{"class":352},"\u002Fdocs\u002Fmcp",[312,1360,349],{"class":333},[312,1362,650],{"class":333},[312,1364,1365],{"class":1186}," \u002F\u002F Redirect browsers to documentation\n",[312,1367,1368],{"class":314,"line":393},[312,1369,396],{"class":333},[312,1371,1372,1374],{"class":314,"line":399},[312,1373,402],{"class":333},[312,1375,405],{"class":329},[1118,1377,1379,1380,821],{"id":1378},"streamable-http-security-allowedorigins","Streamable HTTP security (",[298,1381,1084],{},[294,1383,1384,1385,1387],{},"When browsers call your MCP endpoint from another site, they send an ",[298,1386,1091],{}," header. By default the module requires that origin to match your app. Allow a SPA on another host (or disable checks only in controlled environments):",[303,1389,1391],{"className":305,"code":1390,"filename":300,"language":307,"meta":308,"style":308},"export default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fmcp-toolkit'],\n  mcp: {\n    security: {\n      allowedOrigins: ['https:\u002F\u002Fmy-app.vercel.app'],\n      \u002F\u002F allowedOrigins: '*' \u002F\u002F explicit opt-out — use with care\n    },\n  },\n})\n",[298,1392,1393,1405,1423,1431,1440,1460,1468,1473,1477],{"__ignoreMap":308},[312,1394,1395,1397,1399,1401,1403],{"class":314,"line":315},[312,1396,319],{"class":318},[312,1398,322],{"class":318},[312,1400,326],{"class":325},[312,1402,330],{"class":329},[312,1404,334],{"class":333},[312,1406,1407,1409,1411,1413,1415,1417,1419,1421],{"class":314,"line":337},[312,1408,341],{"class":340},[312,1410,301],{"class":333},[312,1412,346],{"class":329},[312,1414,349],{"class":333},[312,1416,353],{"class":352},[312,1418,349],{"class":333},[312,1420,358],{"class":329},[312,1422,361],{"class":333},[312,1424,1425,1427,1429],{"class":314,"line":364},[312,1426,367],{"class":340},[312,1428,301],{"class":333},[312,1430,372],{"class":333},[312,1432,1433,1436,1438],{"class":314,"line":375},[312,1434,1435],{"class":340},"    security",[312,1437,301],{"class":333},[312,1439,372],{"class":333},[312,1441,1442,1445,1447,1449,1451,1454,1456,1458],{"class":314,"line":393},[312,1443,1444],{"class":340},"      allowedOrigins",[312,1446,301],{"class":333},[312,1448,346],{"class":329},[312,1450,349],{"class":333},[312,1452,1453],{"class":352},"https:\u002F\u002Fmy-app.vercel.app",[312,1455,349],{"class":333},[312,1457,358],{"class":329},[312,1459,361],{"class":333},[312,1461,1462,1465],{"class":314,"line":399},[312,1463,1464],{"class":1186},"      \u002F\u002F allowedOrigins: '*'",[312,1466,1467],{"class":1186}," \u002F\u002F explicit opt-out — use with care\n",[312,1469,1470],{"class":314,"line":765},[312,1471,1472],{"class":333},"    },\n",[312,1474,1475],{"class":314,"line":770},[312,1476,396],{"class":333},[312,1478,1480,1482],{"class":314,"line":1479},9,[312,1481,402],{"class":333},[312,1483,405],{"class":329},[1118,1485,1487],{"id":1486},"session-management","Session Management",[294,1489,1490],{},"Enable stateful sessions to support SSE streaming, server-to-client notifications, and per-session state:",[303,1492,1494],{"className":305,"code":1493,"filename":300,"language":307,"meta":308,"style":308},"export default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fmcp-toolkit'],\n  mcp: {\n    sessions: true,\n  },\n})\n",[298,1495,1496,1508,1526,1534,1547,1551],{"__ignoreMap":308},[312,1497,1498,1500,1502,1504,1506],{"class":314,"line":315},[312,1499,319],{"class":318},[312,1501,322],{"class":318},[312,1503,326],{"class":325},[312,1505,330],{"class":329},[312,1507,334],{"class":333},[312,1509,1510,1512,1514,1516,1518,1520,1522,1524],{"class":314,"line":337},[312,1511,341],{"class":340},[312,1513,301],{"class":333},[312,1515,346],{"class":329},[312,1517,349],{"class":333},[312,1519,353],{"class":352},[312,1521,349],{"class":333},[312,1523,358],{"class":329},[312,1525,361],{"class":333},[312,1527,1528,1530,1532],{"class":314,"line":364},[312,1529,367],{"class":340},[312,1531,301],{"class":333},[312,1533,372],{"class":333},[312,1535,1536,1539,1541,1545],{"class":314,"line":375},[312,1537,1538],{"class":340},"    sessions",[312,1540,301],{"class":333},[312,1542,1544],{"class":1543},"sfNiH"," true",[312,1546,361],{"class":333},[312,1548,1549],{"class":314,"line":393},[312,1550,396],{"class":333},[312,1552,1553,1555],{"class":314,"line":399},[312,1554,402],{"class":333},[312,1556,405],{"class":329},[294,1558,1559,1560,1562],{},"With sessions enabled, the server assigns an ",[298,1561,1018],{}," during initialization. Clients include this ID in subsequent requests, allowing the server to maintain state across the session lifecycle.",[1564,1565,566,1568,1571,1572,1575],"callout",{"color":1566,"icon":1567},"info","i-lucide-info",[568,1569,1570],{"href":235},"Sessions guide"," for the full ",[298,1573,1574],{},"useMcpSession()"," API, use cases, and examples.",[1118,1577,1579],{"id":1578},"disable-auto-imports","Disable Auto-Imports",[294,1581,1582],{},"If you prefer explicit imports over auto-imports:",[303,1584,1586],{"className":305,"code":1585,"filename":300,"language":307,"meta":308,"style":308},"export default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fmcp-toolkit'],\n  mcp: {\n    autoImports: false,\n  },\n})\n",[298,1587,1588,1600,1618,1626,1638,1642],{"__ignoreMap":308},[312,1589,1590,1592,1594,1596,1598],{"class":314,"line":315},[312,1591,319],{"class":318},[312,1593,322],{"class":318},[312,1595,326],{"class":325},[312,1597,330],{"class":329},[312,1599,334],{"class":333},[312,1601,1602,1604,1606,1608,1610,1612,1614,1616],{"class":314,"line":337},[312,1603,341],{"class":340},[312,1605,301],{"class":333},[312,1607,346],{"class":329},[312,1609,349],{"class":333},[312,1611,353],{"class":352},[312,1613,349],{"class":333},[312,1615,358],{"class":329},[312,1617,361],{"class":333},[312,1619,1620,1622,1624],{"class":314,"line":364},[312,1621,367],{"class":340},[312,1623,301],{"class":333},[312,1625,372],{"class":333},[312,1627,1628,1631,1633,1636],{"class":314,"line":375},[312,1629,1630],{"class":340},"    autoImports",[312,1632,301],{"class":333},[312,1634,1635],{"class":1543}," false",[312,1637,361],{"class":333},[312,1639,1640],{"class":314,"line":393},[312,1641,396],{"class":333},[312,1643,1644,1646],{"class":314,"line":399},[312,1645,402],{"class":333},[312,1647,405],{"class":329},[294,1649,1650],{},"With auto-imports disabled, import helpers and types explicitly:",[303,1652,1655],{"className":305,"code":1653,"filename":1654,"language":307,"meta":308,"style":308},"import { z } from 'zod'\nimport { defineMcpTool, type McpRequestExtra } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  description: 'Echo back a message',\n  inputSchema: { message: z.string() },\n  handler: async ({ message }, extra: McpRequestExtra) => {\n    return `Echo: ${message}`\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fecho.ts",[298,1656,1657,1682,1709,1715,1727,1743,1769,1804,1824,1828],{"__ignoreMap":308},[312,1658,1659,1662,1665,1668,1671,1674,1676,1679],{"class":314,"line":315},[312,1660,1661],{"class":318},"import",[312,1663,1664],{"class":333}," {",[312,1666,1667],{"class":329}," z",[312,1669,1670],{"class":333}," }",[312,1672,1673],{"class":318}," from",[312,1675,383],{"class":333},[312,1677,1678],{"class":352},"zod",[312,1680,1681],{"class":333},"'\n",[312,1683,1684,1686,1688,1691,1693,1696,1699,1701,1703,1705,1707],{"class":314,"line":337},[312,1685,1661],{"class":318},[312,1687,1664],{"class":333},[312,1689,1690],{"class":329}," defineMcpTool",[312,1692,650],{"class":333},[312,1694,1695],{"class":318}," type",[312,1697,1698],{"class":329}," McpRequestExtra",[312,1700,1670],{"class":333},[312,1702,1673],{"class":318},[312,1704,383],{"class":333},[312,1706,932],{"class":352},[312,1708,1681],{"class":333},[312,1710,1711],{"class":314,"line":364},[312,1712,1714],{"emptyLinePlaceholder":1713},true,"\n",[312,1716,1717,1719,1721,1723,1725],{"class":314,"line":375},[312,1718,319],{"class":318},[312,1720,322],{"class":318},[312,1722,1690],{"class":325},[312,1724,330],{"class":329},[312,1726,334],{"class":333},[312,1728,1729,1732,1734,1736,1739,1741],{"class":314,"line":393},[312,1730,1731],{"class":340},"  description",[312,1733,301],{"class":333},[312,1735,383],{"class":333},[312,1737,1738],{"class":352},"Echo back a message",[312,1740,349],{"class":333},[312,1742,361],{"class":333},[312,1744,1745,1748,1750,1752,1755,1757,1759,1761,1763,1766],{"class":314,"line":399},[312,1746,1747],{"class":340},"  inputSchema",[312,1749,301],{"class":333},[312,1751,1664],{"class":333},[312,1753,1754],{"class":340}," message",[312,1756,301],{"class":333},[312,1758,1667],{"class":329},[312,1760,574],{"class":333},[312,1762,436],{"class":325},[312,1764,1765],{"class":329},"() ",[312,1767,1768],{"class":333},"},\n",[312,1770,1771,1774,1776,1780,1783,1786,1789,1792,1794,1797,1799,1802],{"class":314,"line":765},[312,1772,1773],{"class":325},"  handler",[312,1775,301],{"class":333},[312,1777,1779],{"class":1778},"spNyl"," async",[312,1781,1782],{"class":333}," ({",[312,1784,1754],{"class":1785},"sHdIc",[312,1787,1788],{"class":333}," },",[312,1790,1791],{"class":1785}," extra",[312,1793,301],{"class":333},[312,1795,1698],{"class":1796},"sBMFI",[312,1798,821],{"class":333},[312,1800,1801],{"class":1778}," =>",[312,1803,372],{"class":333},[312,1805,1806,1809,1812,1815,1818,1821],{"class":314,"line":770},[312,1807,1808],{"class":318},"    return",[312,1810,1811],{"class":333}," `",[312,1813,1814],{"class":352},"Echo: ",[312,1816,1817],{"class":333},"${",[312,1819,1820],{"class":329},"message",[312,1822,1823],{"class":333},"}`\n",[312,1825,1826],{"class":314,"line":1479},[312,1827,396],{"class":333},[312,1829,1831,1833],{"class":314,"line":1830},10,[312,1832,402],{"class":333},[312,1834,405],{"class":329},[1118,1836,1838],{"id":1837},"disable-the-module","Disable the Module",[294,1840,1841],{},"Temporarily disable the MCP server:",[303,1843,1845],{"className":305,"code":1844,"filename":300,"language":307,"meta":308,"style":308},"export default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fmcp-toolkit'],\n  mcp: {\n    enabled: false, \u002F\u002F Disable the MCP server\n  },\n})\n",[298,1846,1847,1859,1877,1885,1899,1903],{"__ignoreMap":308},[312,1848,1849,1851,1853,1855,1857],{"class":314,"line":315},[312,1850,319],{"class":318},[312,1852,322],{"class":318},[312,1854,326],{"class":325},[312,1856,330],{"class":329},[312,1858,334],{"class":333},[312,1860,1861,1863,1865,1867,1869,1871,1873,1875],{"class":314,"line":337},[312,1862,341],{"class":340},[312,1864,301],{"class":333},[312,1866,346],{"class":329},[312,1868,349],{"class":333},[312,1870,353],{"class":352},[312,1872,349],{"class":333},[312,1874,358],{"class":329},[312,1876,361],{"class":333},[312,1878,1879,1881,1883],{"class":314,"line":364},[312,1880,367],{"class":340},[312,1882,301],{"class":333},[312,1884,372],{"class":333},[312,1886,1887,1890,1892,1894,1896],{"class":314,"line":375},[312,1888,1889],{"class":340},"    enabled",[312,1891,301],{"class":333},[312,1893,1635],{"class":1543},[312,1895,650],{"class":333},[312,1897,1898],{"class":1186}," \u002F\u002F Disable the MCP server\n",[312,1900,1901],{"class":314,"line":393},[312,1902,396],{"class":333},[312,1904,1905,1907],{"class":314,"line":399},[312,1906,402],{"class":333},[312,1908,405],{"class":329},[289,1910,1912],{"id":1911},"runtime-configuration","Runtime Configuration",[294,1914,1915],{},"Access configuration at runtime:",[303,1917,1920],{"className":305,"code":1918,"filename":1919,"language":307,"meta":308,"style":308},"export default defineEventHandler((event) => {\n  const config = useRuntimeConfig(event).mcp\n\n  return {\n    name: config.name,\n    version: config.version,\n    route: config.route,\n  }\n})\n","server\u002Fapi\u002Fconfig.ts",[298,1921,1922,1944,1969,1973,1980,1994,2009,2023,2028],{"__ignoreMap":308},[312,1923,1924,1926,1928,1931,1933,1935,1938,1940,1942],{"class":314,"line":315},[312,1925,319],{"class":318},[312,1927,322],{"class":318},[312,1929,1930],{"class":325}," defineEventHandler",[312,1932,330],{"class":329},[312,1934,330],{"class":333},[312,1936,1937],{"class":1785},"event",[312,1939,821],{"class":333},[312,1941,1801],{"class":1778},[312,1943,372],{"class":333},[312,1945,1946,1949,1952,1955,1958,1960,1962,1964,1966],{"class":314,"line":337},[312,1947,1948],{"class":1778},"  const",[312,1950,1951],{"class":329}," config",[312,1953,1954],{"class":333}," =",[312,1956,1957],{"class":325}," useRuntimeConfig",[312,1959,330],{"class":340},[312,1961,1937],{"class":329},[312,1963,821],{"class":340},[312,1965,574],{"class":333},[312,1967,1968],{"class":329},"mcp\n",[312,1970,1971],{"class":314,"line":364},[312,1972,1714],{"emptyLinePlaceholder":1713},[312,1974,1975,1978],{"class":314,"line":375},[312,1976,1977],{"class":318},"  return",[312,1979,372],{"class":333},[312,1981,1982,1984,1986,1988,1990,1992],{"class":314,"line":393},[312,1983,378],{"class":340},[312,1985,301],{"class":333},[312,1987,1951],{"class":329},[312,1989,574],{"class":333},[312,1991,458],{"class":329},[312,1993,361],{"class":333},[312,1995,1996,1999,2001,2003,2005,2007],{"class":314,"line":399},[312,1997,1998],{"class":340},"    version",[312,2000,301],{"class":333},[312,2002,1951],{"class":329},[312,2004,574],{"class":333},[312,2006,469],{"class":329},[312,2008,361],{"class":333},[312,2010,2011,2013,2015,2017,2019,2021],{"class":314,"line":765},[312,2012,1172],{"class":340},[312,2014,301],{"class":333},[312,2016,1951],{"class":329},[312,2018,574],{"class":333},[312,2020,435],{"class":329},[312,2022,361],{"class":333},[312,2024,2025],{"class":314,"line":770},[312,2026,2027],{"class":333},"  }\n",[312,2029,2030,2032],{"class":314,"line":1479},[312,2031,402],{"class":333},[312,2033,405],{"class":329},[289,2035,2037],{"id":2036},"next-steps","Next Steps",[791,2039,2040,2045,2050,2055,2062],{},[794,2041,2042,2044],{},[568,2043,41],{"href":47}," - Learn how to create tools",[794,2046,2047,2049],{},[568,2048,71],{"href":76}," - Create resources",[794,2051,2052,2054],{},[568,2053,100],{"href":105}," - Create prompts",[794,2056,2057,2059,2060],{},[568,2058,234],{"href":235}," - Per-session state with ",[298,2061,1574],{},[794,2063,2064,2066],{},[568,2065,195],{"href":196}," - Advanced path configuration",[2068,2069,2070],"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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":308,"searchDepth":337,"depth":337,"links":2072},[2073,2074,2075,2085,2086],{"id":291,"depth":337,"text":292},{"id":411,"depth":337,"text":412},{"id":1115,"depth":337,"text":1116,"children":2076},[2077,2078,2079,2080,2082,2083,2084],{"id":1120,"depth":364,"text":1121},{"id":1200,"depth":364,"text":1201},{"id":1299,"depth":364,"text":1300},{"id":1378,"depth":364,"text":2081},"Streamable HTTP security (allowedOrigins)",{"id":1486,"depth":364,"text":1487},{"id":1578,"depth":364,"text":1579},{"id":1837,"depth":364,"text":1838},{"id":1911,"depth":337,"text":1912},{"id":2036,"depth":337,"text":2037},"Configure the Nuxt MCP module to fit your needs.","md",null,{},{"title":20,"icon":23},{"title":2093,"description":2094},"Configure the Nuxt MCP Toolkit module","All configuration options for @nuxtjs\u002Fmcp-toolkit — route, name, version, sessions, security, default handler strategy, and auto-imports with practical examples.","CGhBtrGz_jKAt-KrtasNws4FnepBEusfUBfw6mwsHyw",[2097,2099],{"title":15,"path":16,"stem":17,"description":2098,"icon":18,"children":-1},"Install and configure the Nuxt MCP module in your project.",{"title":25,"path":26,"stem":27,"description":2100,"icon":28,"children":-1},"Visual debugging tool integrated into Nuxt DevTools.",1779545574674]