[{"data":1,"prerenderedAt":4970},["ShallowReactive",2],{"navigation_docs":3,"-core-concepts-handlers":139,"-core-concepts-handlers-surround":4965},[4,40,65,110],{"title":5,"path":6,"stem":7,"children":8,"page":39},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24,29,34],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration","i-lucide-settings",{"title":25,"path":26,"stem":27,"icon":28},"MCP Inspector","\u002Fgetting-started\u002Finspector","1.getting-started\u002F4.inspector","i-lucide-circuit-board",{"title":30,"path":31,"stem":32,"icon":33},"Connection","\u002Fgetting-started\u002Fconnection","1.getting-started\u002F5.connection","i-lucide-plug",{"title":35,"path":36,"stem":37,"icon":38},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F6.agent-skills","i-lucide-sparkles",false,{"title":41,"path":42,"stem":43,"children":44,"page":39},"Core Concepts","\u002Fcore-concepts","2.core-concepts",[45,50,55,60],{"title":46,"path":47,"stem":48,"icon":49},"Tools","\u002Fcore-concepts\u002Ftools","2.core-concepts\u002F2.tools","i-lucide-wrench",{"title":51,"path":52,"stem":53,"icon":54},"Resources","\u002Fcore-concepts\u002Fresources","2.core-concepts\u002F3.resources","i-lucide-package",{"title":56,"path":57,"stem":58,"icon":59},"Prompts","\u002Fcore-concepts\u002Fprompts","2.core-concepts\u002F4.prompts","i-lucide-message-square",{"title":61,"path":62,"stem":63,"icon":64},"Handlers","\u002Fcore-concepts\u002Fhandlers","2.core-concepts\u002F5.handlers","i-lucide-server",{"title":66,"path":67,"stem":68,"children":69,"page":39},"Advanced Topics","\u002Fadvanced","3.advanced",[70,75,80,85,90,95,100,105],{"title":71,"path":72,"stem":73,"icon":74},"Custom Paths","\u002Fadvanced\u002Fcustom-paths","3.advanced\u002F1.custom-paths","i-lucide-folder",{"title":76,"path":77,"stem":78,"icon":79},"Middleware","\u002Fadvanced\u002Fmiddleware","3.advanced\u002F2.middleware","i-lucide-shield",{"title":81,"path":82,"stem":83,"icon":84},"TypeScript","\u002Fadvanced\u002Ftypescript","3.advanced\u002F3.typescript","i-lucide-type",{"title":86,"path":87,"stem":88,"icon":89},"Hooks","\u002Fadvanced\u002Fhooks","3.advanced\u002F4.hooks","i-lucide-webhook",{"title":91,"path":92,"stem":93,"icon":94},"MCP Evals","\u002Fadvanced\u002Fevals","3.advanced\u002F5.evals","i-lucide-flask-conical",{"title":96,"path":97,"stem":98,"icon":99},"Sessions","\u002Fadvanced\u002Fsessions","3.advanced\u002F6.sessions","i-lucide-database",{"title":101,"path":102,"stem":103,"icon":104},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","3.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":106,"path":107,"stem":108,"icon":109},"Code Mode","\u002Fadvanced\u002Fcode-mode","3.advanced\u002F8.code-mode","i-lucide-code",{"title":111,"path":112,"stem":113,"children":114,"page":39},"Examples","\u002Fexamples","4.examples",[115,120,125,130,135],{"title":116,"path":117,"stem":118,"icon":119},"Authentication","\u002Fexamples\u002Fauthentication","4.examples\u002F1.authentication","i-lucide-shield-check",{"title":121,"path":122,"stem":123,"icon":124},"API Integration","\u002Fexamples\u002Fapi-integration","4.examples\u002F2.api-integration","i-lucide-globe",{"title":126,"path":127,"stem":128,"icon":129},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","4.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":131,"path":132,"stem":133,"icon":134},"File Operations","\u002Fexamples\u002Ffile-operations","4.examples\u002F4.file-operations","i-lucide-file",{"title":136,"path":137,"stem":138,"icon":59},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","4.examples\u002F5.prompt-examples",{"id":140,"title":61,"body":141,"description":4957,"extension":4958,"links":4959,"meta":4960,"navigation":4961,"path":62,"seo":4962,"stem":63,"__hash__":4964},"docs\u002F2.core-concepts\u002F5.handlers.md",{"type":142,"value":143,"toc":4918},"minimark",[144,149,158,161,174,178,190,195,205,294,297,341,363,368,436,440,523,527,533,959,963,966,1252,1256,1262,1271,1335,1341,1344,1419,1424,1429,1445,1524,1529,1534,1610,1615,1618,1727,1735,1741,1751,1847,1853,1858,1861,2208,2217,2224,2229,2232,2360,2364,2367,3437,3441,3444,3450,3453,3528,3603,3607,3620,3646,3649,3728,3732,3846,3850,3854,3857,3939,4023,4027,4030,4136,4242,4246,4249,4333,4412,4416,4419,4635,4729,4820,4824,4830,4836,4841,4845,4878,4882,4914],[145,146,148],"h2",{"id":147},"what-are-handlers","What are Handlers?",[150,151,152,153,157],"p",{},"Handlers allow you to create ",[154,155,156],"strong",{},"multiple MCP endpoints"," in a single Nuxt application. Each handler has its own route, name, version, and can include its own set of tools, resources, and prompts.",[150,159,160],{},"This is useful when you want to:",[162,163,164,168,171],"ul",{},[165,166,167],"li",{},"Separate different MCP functionalities into different endpoints",[165,169,170],{},"Create versioned MCP APIs",[165,172,173],{},"Organize tools\u002Fresources by domain or feature",[145,175,177],{"id":176},"default-handler","Default Handler",[150,179,180,181,185,186,189],{},"By default, the module creates a single MCP endpoint at ",[182,183,184],"code",{},"\u002Fmcp"," (or your configured route) that includes all tools, resources, and prompts from the ",[182,187,188],{},"server\u002Fmcp\u002F"," directory.",[191,192,194],"h3",{"id":193},"overriding-the-default-handler","Overriding the Default Handler",[150,196,197,198,201,202,204],{},"You can override the default handler's configuration by creating an ",[182,199,200],{},"index.ts"," file in ",[182,203,188],{},":",[206,207,213],"pre",{"className":208,"code":209,"filename":210,"language":211,"meta":212,"style":212},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineMcpHandler({\n  version: '2.0.0',\n  browserRedirect: '\u002Fdocs',\n  \u002F\u002F If tools\u002Fresources\u002Fprompts not specified, uses global definitions\n})\n","server\u002Fmcp\u002Findex.ts","typescript","",[182,214,215,239,261,278,285],{"__ignoreMap":212},[216,217,220,224,227,231,235],"span",{"class":218,"line":219},"line",1,[216,221,223],{"class":222},"s7zQu","export",[216,225,226],{"class":222}," default",[216,228,230],{"class":229},"s2Zo4"," defineMcpHandler",[216,232,234],{"class":233},"sTEyZ","(",[216,236,238],{"class":237},"sMK4o","{\n",[216,240,242,246,248,251,255,258],{"class":218,"line":241},2,[216,243,245],{"class":244},"swJcz","  version",[216,247,204],{"class":237},[216,249,250],{"class":237}," '",[216,252,254],{"class":253},"sfazB","2.0.0",[216,256,257],{"class":237},"'",[216,259,260],{"class":237},",\n",[216,262,264,267,269,271,274,276],{"class":218,"line":263},3,[216,265,266],{"class":244},"  browserRedirect",[216,268,204],{"class":237},[216,270,250],{"class":237},[216,272,273],{"class":253},"\u002Fdocs",[216,275,257],{"class":237},[216,277,260],{"class":237},[216,279,281],{"class":218,"line":280},4,[216,282,284],{"class":283},"sHwdD","  \u002F\u002F If tools\u002Fresources\u002Fprompts not specified, uses global definitions\n",[216,286,288,291],{"class":218,"line":287},5,[216,289,290],{"class":237},"}",[216,292,293],{"class":233},")\n",[150,295,296],{},"This allows you to customize:",[162,298,299,305,311,317,330],{},[165,300,301,304],{},[182,302,303],{},"version"," - Override the server version",[165,306,307,310],{},[182,308,309],{},"browserRedirect"," - Override the browser redirect URL",[165,312,313,316],{},[182,314,315],{},"name"," - Override the server name (optional)",[165,318,319,322,323,322,326,329],{},[182,320,321],{},"tools",", ",[182,324,325],{},"resources",[182,327,328],{},"prompts"," - Use specific definitions instead of global ones",[165,331,332,335,336,340],{},[182,333,334],{},"middleware"," - Add request interception for auth, logging, etc. (",[337,338,339],"a",{"href":77},"learn more",")",[342,343,346,347,350,351,354,355,358,359,362],"callout",{"color":344,"icon":345},"info","i-lucide-info","The ",[182,348,349],{},"route"," property is ",[154,352,353],{},"ignored"," for the default handler. To change the route, use ",[182,356,357],{},"mcp.route"," in your ",[182,360,361],{},"nuxt.config.ts",".",[364,365,367],"h4",{"id":366},"example-custom-version-and-redirect","Example: Custom Version and Redirect",[206,369,371],{"className":208,"code":370,"filename":210,"language":211,"meta":212,"style":212},"export default defineMcpHandler({\n  name: 'My Documentation MCP',\n  version: '1.2.0',\n  browserRedirect: '\u002Fgetting-started',\n})\n",[182,372,373,385,401,416,430],{"__ignoreMap":212},[216,374,375,377,379,381,383],{"class":218,"line":219},[216,376,223],{"class":222},[216,378,226],{"class":222},[216,380,230],{"class":229},[216,382,234],{"class":233},[216,384,238],{"class":237},[216,386,387,390,392,394,397,399],{"class":218,"line":241},[216,388,389],{"class":244},"  name",[216,391,204],{"class":237},[216,393,250],{"class":237},[216,395,396],{"class":253},"My Documentation MCP",[216,398,257],{"class":237},[216,400,260],{"class":237},[216,402,403,405,407,409,412,414],{"class":218,"line":263},[216,404,245],{"class":244},[216,406,204],{"class":237},[216,408,250],{"class":237},[216,410,411],{"class":253},"1.2.0",[216,413,257],{"class":237},[216,415,260],{"class":237},[216,417,418,420,422,424,426,428],{"class":218,"line":280},[216,419,266],{"class":244},[216,421,204],{"class":237},[216,423,250],{"class":237},[216,425,6],{"class":253},[216,427,257],{"class":237},[216,429,260],{"class":237},[216,431,432,434],{"class":218,"line":287},[216,433,290],{"class":237},[216,435,293],{"class":233},[364,437,439],{"id":438},"example-limiting-exposed-tools","Example: Limiting Exposed Tools",[206,441,443],{"className":208,"code":442,"filename":210,"language":211,"meta":212,"style":212},"import { myTool, anotherTool } from '.\u002Ftools\u002Fmy-tools'\n\nexport default defineMcpHandler({\n  \u002F\u002F Only expose specific tools instead of all tools in server\u002Fmcp\u002Ftools\u002F\n  tools: [myTool, anotherTool],\n})\n",[182,444,445,476,482,494,499,516],{"__ignoreMap":212},[216,446,447,450,453,456,459,462,465,468,470,473],{"class":218,"line":219},[216,448,449],{"class":222},"import",[216,451,452],{"class":237}," {",[216,454,455],{"class":233}," myTool",[216,457,458],{"class":237},",",[216,460,461],{"class":233}," anotherTool",[216,463,464],{"class":237}," }",[216,466,467],{"class":222}," from",[216,469,250],{"class":237},[216,471,472],{"class":253},".\u002Ftools\u002Fmy-tools",[216,474,475],{"class":237},"'\n",[216,477,478],{"class":218,"line":241},[216,479,481],{"emptyLinePlaceholder":480},true,"\n",[216,483,484,486,488,490,492],{"class":218,"line":263},[216,485,223],{"class":222},[216,487,226],{"class":222},[216,489,230],{"class":229},[216,491,234],{"class":233},[216,493,238],{"class":237},[216,495,496],{"class":218,"line":280},[216,497,498],{"class":283},"  \u002F\u002F Only expose specific tools instead of all tools in server\u002Fmcp\u002Ftools\u002F\n",[216,500,501,504,506,509,511,514],{"class":218,"line":287},[216,502,503],{"class":244},"  tools",[216,505,204],{"class":237},[216,507,508],{"class":233}," [myTool",[216,510,458],{"class":237},[216,512,513],{"class":233}," anotherTool]",[216,515,260],{"class":237},[216,517,519,521],{"class":218,"line":518},6,[216,520,290],{"class":237},[216,522,293],{"class":233},[145,524,526],{"id":525},"custom-handlers","Custom Handlers",[150,528,529,530,204],{},"Create custom handlers using ",[182,531,532],{},"defineMcpHandler",[206,534,537],{"className":208,"code":535,"filename":536,"language":211,"meta":212,"style":212},"import { z } from 'zod'\nimport { defineMcpTool, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nconst migrationTool = defineMcpTool({\n  name: 'migrate-v3-to-v4',\n  title: 'Migrate v3 to v4',\n  description: 'Migrate code from version 3 to version 4',\n  inputSchema: {\n    code: z.string().describe('The code to migrate'),\n  },\n  handler: async ({ code }) => {\n    const migrated = code.replace(\u002Fv3\u002Fg, 'v4')\n    return {\n      content: [{\n        type: 'text',\n        text: migrated,\n      }],\n    }\n  },\n})\n\nexport default defineMcpHandler({\n  name: 'migration',\n  version: '0.1.0',\n  route: '\u002Fmcp\u002Fmigration',\n  tools: [migrationTool],\n  browserRedirect: '\u002F',\n})\n","server\u002Fmcp\u002Fmigration.ts",[182,538,539,559,586,590,608,623,639,656,667,703,709,735,779,787,800,817,829,840,846,851,858,863,876,892,908,925,937,952],{"__ignoreMap":212},[216,540,541,543,545,548,550,552,554,557],{"class":218,"line":219},[216,542,449],{"class":222},[216,544,452],{"class":237},[216,546,547],{"class":233}," z",[216,549,464],{"class":237},[216,551,467],{"class":222},[216,553,250],{"class":237},[216,555,556],{"class":253},"zod",[216,558,475],{"class":237},[216,560,561,563,565,568,570,572,574,576,578,581,583],{"class":218,"line":241},[216,562,449],{"class":222},[216,564,452],{"class":237},[216,566,567],{"class":233}," defineMcpTool",[216,569,458],{"class":237},[216,571,230],{"class":233},[216,573,464],{"class":237},[216,575,467],{"class":222},[216,577,250],{"class":237},[216,579,580],{"class":253},"@nuxtjs\u002Fmcp-toolkit\u002Fserver",[216,582,257],{"class":237},[216,584,585],{"class":283}," \u002F\u002F optional\n",[216,587,588],{"class":218,"line":263},[216,589,481],{"emptyLinePlaceholder":480},[216,591,592,596,599,602,604,606],{"class":218,"line":280},[216,593,595],{"class":594},"spNyl","const",[216,597,598],{"class":233}," migrationTool ",[216,600,601],{"class":237},"=",[216,603,567],{"class":229},[216,605,234],{"class":233},[216,607,238],{"class":237},[216,609,610,612,614,616,619,621],{"class":218,"line":287},[216,611,389],{"class":244},[216,613,204],{"class":237},[216,615,250],{"class":237},[216,617,618],{"class":253},"migrate-v3-to-v4",[216,620,257],{"class":237},[216,622,260],{"class":237},[216,624,625,628,630,632,635,637],{"class":218,"line":518},[216,626,627],{"class":244},"  title",[216,629,204],{"class":237},[216,631,250],{"class":237},[216,633,634],{"class":253},"Migrate v3 to v4",[216,636,257],{"class":237},[216,638,260],{"class":237},[216,640,642,645,647,649,652,654],{"class":218,"line":641},7,[216,643,644],{"class":244},"  description",[216,646,204],{"class":237},[216,648,250],{"class":237},[216,650,651],{"class":253},"Migrate code from version 3 to version 4",[216,653,257],{"class":237},[216,655,260],{"class":237},[216,657,659,662,664],{"class":218,"line":658},8,[216,660,661],{"class":244},"  inputSchema",[216,663,204],{"class":237},[216,665,666],{"class":237}," {\n",[216,668,670,673,675,677,679,682,685,687,690,692,694,697,699,701],{"class":218,"line":669},9,[216,671,672],{"class":244},"    code",[216,674,204],{"class":237},[216,676,547],{"class":233},[216,678,362],{"class":237},[216,680,681],{"class":229},"string",[216,683,684],{"class":233},"()",[216,686,362],{"class":237},[216,688,689],{"class":229},"describe",[216,691,234],{"class":233},[216,693,257],{"class":237},[216,695,696],{"class":253},"The code to migrate",[216,698,257],{"class":237},[216,700,340],{"class":233},[216,702,260],{"class":237},[216,704,706],{"class":218,"line":705},10,[216,707,708],{"class":237},"  },\n",[216,710,712,715,717,720,723,727,730,733],{"class":218,"line":711},11,[216,713,714],{"class":229},"  handler",[216,716,204],{"class":237},[216,718,719],{"class":594}," async",[216,721,722],{"class":237}," ({",[216,724,726],{"class":725},"sHdIc"," code",[216,728,729],{"class":237}," })",[216,731,732],{"class":594}," =>",[216,734,666],{"class":237},[216,736,738,741,744,747,749,751,754,756,759,762,764,768,770,772,775,777],{"class":218,"line":737},12,[216,739,740],{"class":594},"    const",[216,742,743],{"class":233}," migrated",[216,745,746],{"class":237}," =",[216,748,726],{"class":233},[216,750,362],{"class":237},[216,752,753],{"class":229},"replace",[216,755,234],{"class":244},[216,757,758],{"class":237},"\u002F",[216,760,761],{"class":253},"v3",[216,763,758],{"class":237},[216,765,767],{"class":766},"sbssI","g",[216,769,458],{"class":237},[216,771,250],{"class":237},[216,773,774],{"class":253},"v4",[216,776,257],{"class":237},[216,778,293],{"class":244},[216,780,782,785],{"class":218,"line":781},13,[216,783,784],{"class":222},"    return",[216,786,666],{"class":237},[216,788,790,793,795,798],{"class":218,"line":789},14,[216,791,792],{"class":244},"      content",[216,794,204],{"class":237},[216,796,797],{"class":244}," [",[216,799,238],{"class":237},[216,801,803,806,808,810,813,815],{"class":218,"line":802},15,[216,804,805],{"class":244},"        type",[216,807,204],{"class":237},[216,809,250],{"class":237},[216,811,812],{"class":253},"text",[216,814,257],{"class":237},[216,816,260],{"class":237},[216,818,820,823,825,827],{"class":218,"line":819},16,[216,821,822],{"class":244},"        text",[216,824,204],{"class":237},[216,826,743],{"class":233},[216,828,260],{"class":237},[216,830,832,835,838],{"class":218,"line":831},17,[216,833,834],{"class":237},"      }",[216,836,837],{"class":244},"]",[216,839,260],{"class":237},[216,841,843],{"class":218,"line":842},18,[216,844,845],{"class":237},"    }\n",[216,847,849],{"class":218,"line":848},19,[216,850,708],{"class":237},[216,852,854,856],{"class":218,"line":853},20,[216,855,290],{"class":237},[216,857,293],{"class":233},[216,859,861],{"class":218,"line":860},21,[216,862,481],{"emptyLinePlaceholder":480},[216,864,866,868,870,872,874],{"class":218,"line":865},22,[216,867,223],{"class":222},[216,869,226],{"class":222},[216,871,230],{"class":229},[216,873,234],{"class":233},[216,875,238],{"class":237},[216,877,879,881,883,885,888,890],{"class":218,"line":878},23,[216,880,389],{"class":244},[216,882,204],{"class":237},[216,884,250],{"class":237},[216,886,887],{"class":253},"migration",[216,889,257],{"class":237},[216,891,260],{"class":237},[216,893,895,897,899,901,904,906],{"class":218,"line":894},24,[216,896,245],{"class":244},[216,898,204],{"class":237},[216,900,250],{"class":237},[216,902,903],{"class":253},"0.1.0",[216,905,257],{"class":237},[216,907,260],{"class":237},[216,909,911,914,916,918,921,923],{"class":218,"line":910},25,[216,912,913],{"class":244},"  route",[216,915,204],{"class":237},[216,917,250],{"class":237},[216,919,920],{"class":253},"\u002Fmcp\u002Fmigration",[216,922,257],{"class":237},[216,924,260],{"class":237},[216,926,928,930,932,935],{"class":218,"line":927},26,[216,929,503],{"class":244},[216,931,204],{"class":237},[216,933,934],{"class":233}," [migrationTool]",[216,936,260],{"class":237},[216,938,940,942,944,946,948,950],{"class":218,"line":939},27,[216,941,266],{"class":244},[216,943,204],{"class":237},[216,945,250],{"class":237},[216,947,758],{"class":253},[216,949,257],{"class":237},[216,951,260],{"class":237},[216,953,955,957],{"class":218,"line":954},28,[216,956,290],{"class":237},[216,958,293],{"class":233},[145,960,962],{"id":961},"handler-structure","Handler Structure",[150,964,965],{},"A handler definition consists of:",[967,968,969,1035],"code-group",{},[206,970,973],{"className":208,"code":971,"filename":972,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'handler-name',  \u002F\u002F Unique identifier\n})\n","Required Fields",[182,974,975,995,999,1011,1029],{"__ignoreMap":212},[216,976,977,979,981,983,985,987,989,991,993],{"class":218,"line":219},[216,978,449],{"class":222},[216,980,452],{"class":237},[216,982,230],{"class":233},[216,984,464],{"class":237},[216,986,467],{"class":222},[216,988,250],{"class":237},[216,990,580],{"class":253},[216,992,257],{"class":237},[216,994,585],{"class":283},[216,996,997],{"class":218,"line":241},[216,998,481],{"emptyLinePlaceholder":480},[216,1000,1001,1003,1005,1007,1009],{"class":218,"line":263},[216,1002,223],{"class":222},[216,1004,226],{"class":222},[216,1006,230],{"class":229},[216,1008,234],{"class":233},[216,1010,238],{"class":237},[216,1012,1013,1015,1017,1019,1022,1024,1026],{"class":218,"line":280},[216,1014,389],{"class":244},[216,1016,204],{"class":237},[216,1018,250],{"class":237},[216,1020,1021],{"class":253},"handler-name",[216,1023,257],{"class":237},[216,1025,458],{"class":237},[216,1027,1028],{"class":283},"  \u002F\u002F Unique identifier\n",[216,1030,1031,1033],{"class":218,"line":287},[216,1032,290],{"class":237},[216,1034,293],{"class":233},[206,1036,1039],{"className":208,"code":1037,"filename":1038,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'handler-name',\n  version: '1.0.0',              \u002F\u002F Handler version\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",[182,1040,1041,1061,1065,1077,1091,1109,1127,1144,1174,1194,1212,1230,1246],{"__ignoreMap":212},[216,1042,1043,1045,1047,1049,1051,1053,1055,1057,1059],{"class":218,"line":219},[216,1044,449],{"class":222},[216,1046,452],{"class":237},[216,1048,230],{"class":233},[216,1050,464],{"class":237},[216,1052,467],{"class":222},[216,1054,250],{"class":237},[216,1056,580],{"class":253},[216,1058,257],{"class":237},[216,1060,585],{"class":283},[216,1062,1063],{"class":218,"line":241},[216,1064,481],{"emptyLinePlaceholder":480},[216,1066,1067,1069,1071,1073,1075],{"class":218,"line":263},[216,1068,223],{"class":222},[216,1070,226],{"class":222},[216,1072,230],{"class":229},[216,1074,234],{"class":233},[216,1076,238],{"class":237},[216,1078,1079,1081,1083,1085,1087,1089],{"class":218,"line":280},[216,1080,389],{"class":244},[216,1082,204],{"class":237},[216,1084,250],{"class":237},[216,1086,1021],{"class":253},[216,1088,257],{"class":237},[216,1090,260],{"class":237},[216,1092,1093,1095,1097,1099,1102,1104,1106],{"class":218,"line":287},[216,1094,245],{"class":244},[216,1096,204],{"class":237},[216,1098,250],{"class":237},[216,1100,1101],{"class":253},"1.0.0",[216,1103,257],{"class":237},[216,1105,458],{"class":237},[216,1107,1108],{"class":283},"              \u002F\u002F Handler version\n",[216,1110,1111,1113,1115,1117,1120,1122,1124],{"class":218,"line":518},[216,1112,913],{"class":244},[216,1114,204],{"class":237},[216,1116,250],{"class":237},[216,1118,1119],{"class":253},"\u002Fmcp\u002Fcustom",[216,1121,257],{"class":237},[216,1123,458],{"class":237},[216,1125,1126],{"class":283},"          \u002F\u002F Custom route\n",[216,1128,1129,1131,1133,1135,1137,1139,1141],{"class":218,"line":641},[216,1130,266],{"class":244},[216,1132,204],{"class":237},[216,1134,250],{"class":237},[216,1136,758],{"class":253},[216,1138,257],{"class":237},[216,1140,458],{"class":237},[216,1142,1143],{"class":283},"          \u002F\u002F Browser redirect URL\n",[216,1145,1146,1149,1151,1153,1156,1159,1161,1163,1165,1168,1171],{"class":218,"line":658},[216,1147,1148],{"class":229},"  middleware",[216,1150,204],{"class":237},[216,1152,719],{"class":594},[216,1154,1155],{"class":237}," (",[216,1157,1158],{"class":725},"event",[216,1160,340],{"class":237},[216,1162,732],{"class":594},[216,1164,452],{"class":237},[216,1166,1167],{"class":237}," ...",[216,1169,1170],{"class":237}," },",[216,1172,1173],{"class":283}," \u002F\u002F Request interception\n",[216,1175,1176,1178,1180,1183,1186,1189,1191],{"class":218,"line":669},[216,1177,503],{"class":244},[216,1179,204],{"class":237},[216,1181,1182],{"class":233}," [ ",[216,1184,1185],{"class":237},"...",[216,1187,1188],{"class":233}," ]",[216,1190,458],{"class":237},[216,1192,1193],{"class":283},"                 \u002F\u002F Array of tools\n",[216,1195,1196,1199,1201,1203,1205,1207,1209],{"class":218,"line":705},[216,1197,1198],{"class":244},"  resources",[216,1200,204],{"class":237},[216,1202,1182],{"class":233},[216,1204,1185],{"class":237},[216,1206,1188],{"class":233},[216,1208,458],{"class":237},[216,1210,1211],{"class":283},"            \u002F\u002F Array of resources\n",[216,1213,1214,1217,1219,1221,1223,1225,1227],{"class":218,"line":711},[216,1215,1216],{"class":244},"  prompts",[216,1218,204],{"class":237},[216,1220,1182],{"class":233},[216,1222,1185],{"class":237},[216,1224,1188],{"class":233},[216,1226,458],{"class":237},[216,1228,1229],{"class":283},"               \u002F\u002F Array of prompts\n",[216,1231,1232,1235,1237,1241,1243],{"class":218,"line":737},[216,1233,1234],{"class":244},"  experimental_codeMode",[216,1236,204],{"class":237},[216,1238,1240],{"class":1239},"sfNiH"," true",[216,1242,458],{"class":237},[216,1244,1245],{"class":283},"    \u002F\u002F Enable code mode (experimental)\n",[216,1247,1248,1250],{"class":218,"line":781},[216,1249,290],{"class":237},[216,1251,293],{"class":233},[145,1253,1255],{"id":1254},"handler-options","Handler Options",[191,1257,1259,1261],{"id":1258},"name-required",[182,1260,315],{}," (required)",[150,1263,1264,1265,1267,1268,362],{},"Unique identifier for the handler. The ",[182,1266,315],{}," determines where the handler will be mounted. By default, the handler will be accessible at ",[182,1269,1270],{},"\u002Fmcp\u002F:name",[206,1272,1274],{"className":208,"code":1273,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'migration', \u002F\u002F Handler mounted at \u002Fmcp\u002Fmigration\n})\n",[182,1275,1276,1296,1300,1312,1329],{"__ignoreMap":212},[216,1277,1278,1280,1282,1284,1286,1288,1290,1292,1294],{"class":218,"line":219},[216,1279,449],{"class":222},[216,1281,452],{"class":237},[216,1283,230],{"class":233},[216,1285,464],{"class":237},[216,1287,467],{"class":222},[216,1289,250],{"class":237},[216,1291,580],{"class":253},[216,1293,257],{"class":237},[216,1295,585],{"class":283},[216,1297,1298],{"class":218,"line":241},[216,1299,481],{"emptyLinePlaceholder":480},[216,1301,1302,1304,1306,1308,1310],{"class":218,"line":263},[216,1303,223],{"class":222},[216,1305,226],{"class":222},[216,1307,230],{"class":229},[216,1309,234],{"class":233},[216,1311,238],{"class":237},[216,1313,1314,1316,1318,1320,1322,1324,1326],{"class":218,"line":280},[216,1315,389],{"class":244},[216,1317,204],{"class":237},[216,1319,250],{"class":237},[216,1321,887],{"class":253},[216,1323,257],{"class":237},[216,1325,458],{"class":237},[216,1327,1328],{"class":283}," \u002F\u002F Handler mounted at \u002Fmcp\u002Fmigration\n",[216,1330,1331,1333],{"class":218,"line":287},[216,1332,290],{"class":237},[216,1334,293],{"class":233},[191,1336,1338,1340],{"id":1337},"version-optional",[182,1339,303],{}," (optional)",[150,1342,1343],{},"Version of the handler. Defaults to the module's configured version.",[206,1345,1347],{"className":208,"code":1346,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'migration',\n  version: '2.0.0',\n})\n",[182,1348,1349,1369,1373,1385,1399,1413],{"__ignoreMap":212},[216,1350,1351,1353,1355,1357,1359,1361,1363,1365,1367],{"class":218,"line":219},[216,1352,449],{"class":222},[216,1354,452],{"class":237},[216,1356,230],{"class":233},[216,1358,464],{"class":237},[216,1360,467],{"class":222},[216,1362,250],{"class":237},[216,1364,580],{"class":253},[216,1366,257],{"class":237},[216,1368,585],{"class":283},[216,1370,1371],{"class":218,"line":241},[216,1372,481],{"emptyLinePlaceholder":480},[216,1374,1375,1377,1379,1381,1383],{"class":218,"line":263},[216,1376,223],{"class":222},[216,1378,226],{"class":222},[216,1380,230],{"class":229},[216,1382,234],{"class":233},[216,1384,238],{"class":237},[216,1386,1387,1389,1391,1393,1395,1397],{"class":218,"line":280},[216,1388,389],{"class":244},[216,1390,204],{"class":237},[216,1392,250],{"class":237},[216,1394,887],{"class":253},[216,1396,257],{"class":237},[216,1398,260],{"class":237},[216,1400,1401,1403,1405,1407,1409,1411],{"class":218,"line":287},[216,1402,245],{"class":244},[216,1404,204],{"class":237},[216,1406,250],{"class":237},[216,1408,254],{"class":253},[216,1410,257],{"class":237},[216,1412,260],{"class":237},[216,1414,1415,1417],{"class":218,"line":518},[216,1416,290],{"class":237},[216,1418,293],{"class":233},[191,1420,1422,1340],{"id":1421},"route-optional",[182,1423,349],{},[150,1425,1426,1427,362],{},"Custom route for the handler. Defaults to ",[182,1428,1270],{},[342,1430,1431,1432,1435,1436,1438,1439,1441,1442,1444],{"color":344,"icon":345},"This option is only used for ",[154,1433,1434],{},"custom handlers",". For the default handler override (",[182,1437,200],{},"), use ",[182,1440,357],{}," in ",[182,1443,361],{}," instead.",[206,1446,1448],{"className":208,"code":1447,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'migration',\n  route: '\u002Fapi\u002Fmcp\u002Fmigration', \u002F\u002F Custom route\n})\n",[182,1449,1450,1470,1474,1486,1500,1518],{"__ignoreMap":212},[216,1451,1452,1454,1456,1458,1460,1462,1464,1466,1468],{"class":218,"line":219},[216,1453,449],{"class":222},[216,1455,452],{"class":237},[216,1457,230],{"class":233},[216,1459,464],{"class":237},[216,1461,467],{"class":222},[216,1463,250],{"class":237},[216,1465,580],{"class":253},[216,1467,257],{"class":237},[216,1469,585],{"class":283},[216,1471,1472],{"class":218,"line":241},[216,1473,481],{"emptyLinePlaceholder":480},[216,1475,1476,1478,1480,1482,1484],{"class":218,"line":263},[216,1477,223],{"class":222},[216,1479,226],{"class":222},[216,1481,230],{"class":229},[216,1483,234],{"class":233},[216,1485,238],{"class":237},[216,1487,1488,1490,1492,1494,1496,1498],{"class":218,"line":280},[216,1489,389],{"class":244},[216,1491,204],{"class":237},[216,1493,250],{"class":237},[216,1495,887],{"class":253},[216,1497,257],{"class":237},[216,1499,260],{"class":237},[216,1501,1502,1504,1506,1508,1511,1513,1515],{"class":218,"line":287},[216,1503,913],{"class":244},[216,1505,204],{"class":237},[216,1507,250],{"class":237},[216,1509,1510],{"class":253},"\u002Fapi\u002Fmcp\u002Fmigration",[216,1512,257],{"class":237},[216,1514,458],{"class":237},[216,1516,1517],{"class":283}," \u002F\u002F Custom route\n",[216,1519,1520,1522],{"class":218,"line":518},[216,1521,290],{"class":237},[216,1523,293],{"class":233},[191,1525,1527,1340],{"id":1526},"browserredirect-optional",[182,1528,309],{},[150,1530,1531,1532,362],{},"URL to redirect browsers when they access the handler endpoint. Defaults to the module's configured ",[182,1533,309],{},[206,1535,1537],{"className":208,"code":1536,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'migration',\n  browserRedirect: '\u002Fdocs\u002Fmigration',\n})\n",[182,1538,1539,1559,1563,1575,1589,1604],{"__ignoreMap":212},[216,1540,1541,1543,1545,1547,1549,1551,1553,1555,1557],{"class":218,"line":219},[216,1542,449],{"class":222},[216,1544,452],{"class":237},[216,1546,230],{"class":233},[216,1548,464],{"class":237},[216,1550,467],{"class":222},[216,1552,250],{"class":237},[216,1554,580],{"class":253},[216,1556,257],{"class":237},[216,1558,585],{"class":283},[216,1560,1561],{"class":218,"line":241},[216,1562,481],{"emptyLinePlaceholder":480},[216,1564,1565,1567,1569,1571,1573],{"class":218,"line":263},[216,1566,223],{"class":222},[216,1568,226],{"class":222},[216,1570,230],{"class":229},[216,1572,234],{"class":233},[216,1574,238],{"class":237},[216,1576,1577,1579,1581,1583,1585,1587],{"class":218,"line":280},[216,1578,389],{"class":244},[216,1580,204],{"class":237},[216,1582,250],{"class":237},[216,1584,887],{"class":253},[216,1586,257],{"class":237},[216,1588,260],{"class":237},[216,1590,1591,1593,1595,1597,1600,1602],{"class":218,"line":287},[216,1592,266],{"class":244},[216,1594,204],{"class":237},[216,1596,250],{"class":237},[216,1598,1599],{"class":253},"\u002Fdocs\u002Fmigration",[216,1601,257],{"class":237},[216,1603,260],{"class":237},[216,1605,1606,1608],{"class":218,"line":518},[216,1607,290],{"class":237},[216,1609,293],{"class":233},[191,1611,1613,1340],{"id":1612},"middleware-optional",[182,1614,334],{},[150,1616,1617],{},"Function to intercept requests before\u002Fafter they are processed. Useful for authentication, logging, and setting context.",[206,1619,1622],{"className":208,"code":1620,"filename":1621,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'custom',\n  middleware: async (event) => {\n    event.context.userId = 'user-123'\n  },\n})\n","server\u002Fmcp\u002Fcustom.ts",[182,1623,1624,1644,1648,1660,1675,1693,1717,1721],{"__ignoreMap":212},[216,1625,1626,1628,1630,1632,1634,1636,1638,1640,1642],{"class":218,"line":219},[216,1627,449],{"class":222},[216,1629,452],{"class":237},[216,1631,230],{"class":233},[216,1633,464],{"class":237},[216,1635,467],{"class":222},[216,1637,250],{"class":237},[216,1639,580],{"class":253},[216,1641,257],{"class":237},[216,1643,585],{"class":283},[216,1645,1646],{"class":218,"line":241},[216,1647,481],{"emptyLinePlaceholder":480},[216,1649,1650,1652,1654,1656,1658],{"class":218,"line":263},[216,1651,223],{"class":222},[216,1653,226],{"class":222},[216,1655,230],{"class":229},[216,1657,234],{"class":233},[216,1659,238],{"class":237},[216,1661,1662,1664,1666,1668,1671,1673],{"class":218,"line":280},[216,1663,389],{"class":244},[216,1665,204],{"class":237},[216,1667,250],{"class":237},[216,1669,1670],{"class":253},"custom",[216,1672,257],{"class":237},[216,1674,260],{"class":237},[216,1676,1677,1679,1681,1683,1685,1687,1689,1691],{"class":218,"line":287},[216,1678,1148],{"class":229},[216,1680,204],{"class":237},[216,1682,719],{"class":594},[216,1684,1155],{"class":237},[216,1686,1158],{"class":725},[216,1688,340],{"class":237},[216,1690,732],{"class":594},[216,1692,666],{"class":237},[216,1694,1695,1698,1700,1703,1705,1708,1710,1712,1715],{"class":218,"line":518},[216,1696,1697],{"class":233},"    event",[216,1699,362],{"class":237},[216,1701,1702],{"class":233},"context",[216,1704,362],{"class":237},[216,1706,1707],{"class":233},"userId",[216,1709,746],{"class":237},[216,1711,250],{"class":237},[216,1713,1714],{"class":253},"user-123",[216,1716,475],{"class":237},[216,1718,1719],{"class":218,"line":641},[216,1720,708],{"class":237},[216,1722,1723,1725],{"class":218,"line":658},[216,1724,290],{"class":237},[216,1726,293],{"class":233},[342,1728,1730,1731,1734],{"color":1729,"icon":13},"primary","See the ",[337,1732,1733],{"href":77},"Middleware guide"," for detailed documentation and examples.",[191,1736,1738,1340],{"id":1737},"experimental_codemode-optional",[182,1739,1740],{},"experimental_codeMode",[150,1742,1743,1744,1746,1747,1750],{},"Enable ",[337,1745,106],{"href":107}," to let LLMs orchestrate multiple tool calls in a single JavaScript execution. Pass ",[182,1748,1749],{},"true"," for defaults or an options object:",[206,1752,1754],{"className":208,"code":1753,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'custom',\n  experimental_codeMode: {\n    progressive: true,\n    memoryLimit: 128,\n  },\n})\n",[182,1755,1756,1776,1780,1792,1806,1814,1825,1837,1841],{"__ignoreMap":212},[216,1757,1758,1760,1762,1764,1766,1768,1770,1772,1774],{"class":218,"line":219},[216,1759,449],{"class":222},[216,1761,452],{"class":237},[216,1763,230],{"class":233},[216,1765,464],{"class":237},[216,1767,467],{"class":222},[216,1769,250],{"class":237},[216,1771,580],{"class":253},[216,1773,257],{"class":237},[216,1775,585],{"class":283},[216,1777,1778],{"class":218,"line":241},[216,1779,481],{"emptyLinePlaceholder":480},[216,1781,1782,1784,1786,1788,1790],{"class":218,"line":263},[216,1783,223],{"class":222},[216,1785,226],{"class":222},[216,1787,230],{"class":229},[216,1789,234],{"class":233},[216,1791,238],{"class":237},[216,1793,1794,1796,1798,1800,1802,1804],{"class":218,"line":280},[216,1795,389],{"class":244},[216,1797,204],{"class":237},[216,1799,250],{"class":237},[216,1801,1670],{"class":253},[216,1803,257],{"class":237},[216,1805,260],{"class":237},[216,1807,1808,1810,1812],{"class":218,"line":287},[216,1809,1234],{"class":244},[216,1811,204],{"class":237},[216,1813,666],{"class":237},[216,1815,1816,1819,1821,1823],{"class":218,"line":518},[216,1817,1818],{"class":244},"    progressive",[216,1820,204],{"class":237},[216,1822,1240],{"class":1239},[216,1824,260],{"class":237},[216,1826,1827,1830,1832,1835],{"class":218,"line":641},[216,1828,1829],{"class":244},"    memoryLimit",[216,1831,204],{"class":237},[216,1833,1834],{"class":766}," 128",[216,1836,260],{"class":237},[216,1838,1839],{"class":218,"line":658},[216,1840,708],{"class":237},[216,1842,1843,1845],{"class":218,"line":669},[216,1844,290],{"class":237},[216,1846,293],{"class":233},[342,1848,1730,1849,1852],{"color":1729,"icon":13},[337,1850,1851],{"href":107},"Code Mode guide"," for full documentation, security details, and configuration options.",[191,1854,1856,1340],{"id":1855},"tools-optional",[182,1857,321],{},[150,1859,1860],{},"Array of tool definitions specific to this handler, or a function that returns tools dynamically based on request context:",[967,1862,1863,1992],{},[206,1864,1867],{"className":208,"code":1865,"filename":1866,"language":211,"meta":212,"style":212},"import { defineMcpTool, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nconst tool1 = defineMcpTool({ ... })\nconst tool2 = defineMcpTool({ ... })\n\nexport default defineMcpHandler({\n  name: 'custom',\n  tools: [tool1, tool2],\n})\n","Static array",[182,1868,1869,1893,1897,1919,1940,1944,1956,1970,1986],{"__ignoreMap":212},[216,1870,1871,1873,1875,1877,1879,1881,1883,1885,1887,1889,1891],{"class":218,"line":219},[216,1872,449],{"class":222},[216,1874,452],{"class":237},[216,1876,567],{"class":233},[216,1878,458],{"class":237},[216,1880,230],{"class":233},[216,1882,464],{"class":237},[216,1884,467],{"class":222},[216,1886,250],{"class":237},[216,1888,580],{"class":253},[216,1890,257],{"class":237},[216,1892,585],{"class":283},[216,1894,1895],{"class":218,"line":241},[216,1896,481],{"emptyLinePlaceholder":480},[216,1898,1899,1901,1904,1906,1908,1910,1913,1915,1917],{"class":218,"line":263},[216,1900,595],{"class":594},[216,1902,1903],{"class":233}," tool1 ",[216,1905,601],{"class":237},[216,1907,567],{"class":229},[216,1909,234],{"class":233},[216,1911,1912],{"class":237},"{",[216,1914,1167],{"class":237},[216,1916,464],{"class":237},[216,1918,293],{"class":233},[216,1920,1921,1923,1926,1928,1930,1932,1934,1936,1938],{"class":218,"line":280},[216,1922,595],{"class":594},[216,1924,1925],{"class":233}," tool2 ",[216,1927,601],{"class":237},[216,1929,567],{"class":229},[216,1931,234],{"class":233},[216,1933,1912],{"class":237},[216,1935,1167],{"class":237},[216,1937,464],{"class":237},[216,1939,293],{"class":233},[216,1941,1942],{"class":218,"line":287},[216,1943,481],{"emptyLinePlaceholder":480},[216,1945,1946,1948,1950,1952,1954],{"class":218,"line":518},[216,1947,223],{"class":222},[216,1949,226],{"class":222},[216,1951,230],{"class":229},[216,1953,234],{"class":233},[216,1955,238],{"class":237},[216,1957,1958,1960,1962,1964,1966,1968],{"class":218,"line":641},[216,1959,389],{"class":244},[216,1961,204],{"class":237},[216,1963,250],{"class":237},[216,1965,1670],{"class":253},[216,1967,257],{"class":237},[216,1969,260],{"class":237},[216,1971,1972,1974,1976,1979,1981,1984],{"class":218,"line":658},[216,1973,503],{"class":244},[216,1975,204],{"class":237},[216,1977,1978],{"class":233}," [tool1",[216,1980,458],{"class":237},[216,1982,1983],{"class":233}," tool2]",[216,1985,260],{"class":237},[216,1987,1988,1990],{"class":218,"line":669},[216,1989,290],{"class":237},[216,1991,293],{"class":233},[206,1993,1996],{"className":208,"code":1994,"filename":1995,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'custom',\n  middleware: async (event) => {\n    event.context.user = await getUser(event)\n  },\n  tools: async (event) => {\n    const base = [publicTool]\n    if (event.context.user?.role === 'admin') {\n      base.push(adminTool)\n    }\n    return base\n  },\n})\n","Dynamic function",[182,1997,1998,2018,2022,2034,2048,2066,2093,2097,2115,2132,2170,2187,2191,2198,2202],{"__ignoreMap":212},[216,1999,2000,2002,2004,2006,2008,2010,2012,2014,2016],{"class":218,"line":219},[216,2001,449],{"class":222},[216,2003,452],{"class":237},[216,2005,230],{"class":233},[216,2007,464],{"class":237},[216,2009,467],{"class":222},[216,2011,250],{"class":237},[216,2013,580],{"class":253},[216,2015,257],{"class":237},[216,2017,585],{"class":283},[216,2019,2020],{"class":218,"line":241},[216,2021,481],{"emptyLinePlaceholder":480},[216,2023,2024,2026,2028,2030,2032],{"class":218,"line":263},[216,2025,223],{"class":222},[216,2027,226],{"class":222},[216,2029,230],{"class":229},[216,2031,234],{"class":233},[216,2033,238],{"class":237},[216,2035,2036,2038,2040,2042,2044,2046],{"class":218,"line":280},[216,2037,389],{"class":244},[216,2039,204],{"class":237},[216,2041,250],{"class":237},[216,2043,1670],{"class":253},[216,2045,257],{"class":237},[216,2047,260],{"class":237},[216,2049,2050,2052,2054,2056,2058,2060,2062,2064],{"class":218,"line":287},[216,2051,1148],{"class":229},[216,2053,204],{"class":237},[216,2055,719],{"class":594},[216,2057,1155],{"class":237},[216,2059,1158],{"class":725},[216,2061,340],{"class":237},[216,2063,732],{"class":594},[216,2065,666],{"class":237},[216,2067,2068,2070,2072,2074,2076,2079,2081,2084,2087,2089,2091],{"class":218,"line":518},[216,2069,1697],{"class":233},[216,2071,362],{"class":237},[216,2073,1702],{"class":233},[216,2075,362],{"class":237},[216,2077,2078],{"class":233},"user",[216,2080,746],{"class":237},[216,2082,2083],{"class":222}," await",[216,2085,2086],{"class":229}," getUser",[216,2088,234],{"class":244},[216,2090,1158],{"class":233},[216,2092,293],{"class":244},[216,2094,2095],{"class":218,"line":641},[216,2096,708],{"class":237},[216,2098,2099,2101,2103,2105,2107,2109,2111,2113],{"class":218,"line":658},[216,2100,503],{"class":229},[216,2102,204],{"class":237},[216,2104,719],{"class":594},[216,2106,1155],{"class":237},[216,2108,1158],{"class":725},[216,2110,340],{"class":237},[216,2112,732],{"class":594},[216,2114,666],{"class":237},[216,2116,2117,2119,2122,2124,2126,2129],{"class":218,"line":669},[216,2118,740],{"class":594},[216,2120,2121],{"class":233}," base",[216,2123,746],{"class":237},[216,2125,797],{"class":244},[216,2127,2128],{"class":233},"publicTool",[216,2130,2131],{"class":244},"]\n",[216,2133,2134,2137,2139,2141,2143,2145,2147,2149,2152,2155,2158,2160,2163,2165,2168],{"class":218,"line":705},[216,2135,2136],{"class":222},"    if",[216,2138,1155],{"class":244},[216,2140,1158],{"class":233},[216,2142,362],{"class":237},[216,2144,1702],{"class":233},[216,2146,362],{"class":237},[216,2148,2078],{"class":233},[216,2150,2151],{"class":237},"?.",[216,2153,2154],{"class":233},"role",[216,2156,2157],{"class":237}," ===",[216,2159,250],{"class":237},[216,2161,2162],{"class":253},"admin",[216,2164,257],{"class":237},[216,2166,2167],{"class":244},") ",[216,2169,238],{"class":237},[216,2171,2172,2175,2177,2180,2182,2185],{"class":218,"line":711},[216,2173,2174],{"class":233},"      base",[216,2176,362],{"class":237},[216,2178,2179],{"class":229},"push",[216,2181,234],{"class":244},[216,2183,2184],{"class":233},"adminTool",[216,2186,293],{"class":244},[216,2188,2189],{"class":218,"line":737},[216,2190,845],{"class":237},[216,2192,2193,2195],{"class":218,"line":781},[216,2194,784],{"class":222},[216,2196,2197],{"class":233}," base\n",[216,2199,2200],{"class":218,"line":789},[216,2201,708],{"class":237},[216,2203,2204,2206],{"class":218,"line":802},[216,2205,290],{"class":237},[216,2207,293],{"class":233},[342,2209,1730,2210,2212,2213,2216],{"color":1729,"icon":13},[337,2211,101],{"href":102}," guide for details on auth-based filtering and the ",[182,2214,2215],{},"enabled"," guard.",[206,2218,2222],{"className":2219,"code":2221,"language":812},[2220],"language-text","\n### `resources` (optional)\n\nArray of resource definitions specific to this handler.\n\n```typescript\nimport { defineMcpResource, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nconst resource1 = defineMcpResource({ ... })\nconst resource2 = defineMcpResource({ ... })\n\nexport default defineMcpHandler({\n  name: 'custom',\n  resources: [resource1, resource2],\n})\n",[182,2223,2221],{"__ignoreMap":212},[191,2225,2227,1340],{"id":2226},"prompts-optional",[182,2228,328],{},[150,2230,2231],{},"Array of prompt definitions specific to this handler.",[206,2233,2235],{"className":208,"code":2234,"language":211,"meta":212,"style":212},"import { defineMcpPrompt, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nconst prompt1 = defineMcpPrompt({ ... })\nconst prompt2 = defineMcpPrompt({ ... })\n\nexport default defineMcpHandler({\n  name: 'custom',\n  prompts: [prompt1, prompt2],\n})\n",[182,2236,2237,2262,2266,2287,2308,2312,2324,2338,2354],{"__ignoreMap":212},[216,2238,2239,2241,2243,2246,2248,2250,2252,2254,2256,2258,2260],{"class":218,"line":219},[216,2240,449],{"class":222},[216,2242,452],{"class":237},[216,2244,2245],{"class":233}," defineMcpPrompt",[216,2247,458],{"class":237},[216,2249,230],{"class":233},[216,2251,464],{"class":237},[216,2253,467],{"class":222},[216,2255,250],{"class":237},[216,2257,580],{"class":253},[216,2259,257],{"class":237},[216,2261,585],{"class":283},[216,2263,2264],{"class":218,"line":241},[216,2265,481],{"emptyLinePlaceholder":480},[216,2267,2268,2270,2273,2275,2277,2279,2281,2283,2285],{"class":218,"line":263},[216,2269,595],{"class":594},[216,2271,2272],{"class":233}," prompt1 ",[216,2274,601],{"class":237},[216,2276,2245],{"class":229},[216,2278,234],{"class":233},[216,2280,1912],{"class":237},[216,2282,1167],{"class":237},[216,2284,464],{"class":237},[216,2286,293],{"class":233},[216,2288,2289,2291,2294,2296,2298,2300,2302,2304,2306],{"class":218,"line":280},[216,2290,595],{"class":594},[216,2292,2293],{"class":233}," prompt2 ",[216,2295,601],{"class":237},[216,2297,2245],{"class":229},[216,2299,234],{"class":233},[216,2301,1912],{"class":237},[216,2303,1167],{"class":237},[216,2305,464],{"class":237},[216,2307,293],{"class":233},[216,2309,2310],{"class":218,"line":287},[216,2311,481],{"emptyLinePlaceholder":480},[216,2313,2314,2316,2318,2320,2322],{"class":218,"line":518},[216,2315,223],{"class":222},[216,2317,226],{"class":222},[216,2319,230],{"class":229},[216,2321,234],{"class":233},[216,2323,238],{"class":237},[216,2325,2326,2328,2330,2332,2334,2336],{"class":218,"line":641},[216,2327,389],{"class":244},[216,2329,204],{"class":237},[216,2331,250],{"class":237},[216,2333,1670],{"class":253},[216,2335,257],{"class":237},[216,2337,260],{"class":237},[216,2339,2340,2342,2344,2347,2349,2352],{"class":218,"line":658},[216,2341,1216],{"class":244},[216,2343,204],{"class":237},[216,2345,2346],{"class":233}," [prompt1",[216,2348,458],{"class":237},[216,2350,2351],{"class":233}," prompt2]",[216,2353,260],{"class":237},[216,2355,2356,2358],{"class":218,"line":669},[216,2357,290],{"class":237},[216,2359,293],{"class":233},[145,2361,2363],{"id":2362},"complete-example","Complete Example",[150,2365,2366],{},"Here's a complete example of a custom handler:",[206,2368,2371],{"className":208,"code":2369,"filename":2370,"language":211,"meta":212,"style":212},"import { z } from 'zod'\nimport { defineMcpTool, defineMcpResource, defineMcpPrompt, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\n\u002F\u002F Define tools for this handler\nconst getUserTool = defineMcpTool({\n  name: 'get-user',\n  description: 'Get user information',\n  inputSchema: {\n    userId: z.string(),\n  },\n  handler: async ({ userId }) => {\n    const user = await db.users.find(userId)\n    return {\n      content: [{\n        type: 'text',\n        text: JSON.stringify(user),\n      }],\n    }\n  },\n})\n\nconst createUserTool = defineMcpTool({\n  name: 'create-user',\n  description: 'Create a new user',\n  inputSchema: {\n    name: z.string(),\n    email: z.string().email(),\n  },\n  handler: async ({ name, email }) => {\n    const user = await db.users.create({ name, email })\n    return {\n      content: [{\n        type: 'text',\n        text: `User created: ${user.id}`,\n      }],\n    }\n  },\n})\n\n\u002F\u002F Define resources for this handler\nconst userResource = defineMcpResource({\n  name: 'user',\n  uri: 'api:\u002F\u002Fusers\u002F{id}',\n  handler: async (uri, variables) => {\n    const id = variables.id as string\n    const user = await db.users.find(id)\n    return {\n      contents: [{\n        uri: uri.toString(),\n        mimeType: 'application\u002Fjson',\n        text: JSON.stringify(user),\n      }],\n    }\n  },\n})\n\n\u002F\u002F Define prompts for this handler\nconst userPrompt = defineMcpPrompt({\n  name: 'user-help',\n  description: 'Get help with user operations',\n  handler: async () => {\n    return {\n      messages: [{\n        role: 'user',\n        content: {\n          type: 'text',\n          text: 'How can I manage users?',\n        },\n      }],\n    }\n  },\n})\n\n\u002F\u002F Export the handler\nexport default defineMcpHandler({\n  name: 'api',\n  version: '1.0.0',\n  route: '\u002Fmcp\u002Fapi',\n  tools: [getUserTool, createUserTool],\n  resources: [userResource],\n  prompts: [userPrompt],\n  browserRedirect: '\u002Fdocs\u002Fapi',\n})\n","server\u002Fmcp\u002Fapi-handler.ts",[182,2372,2373,2391,2424,2428,2433,2448,2463,2478,2486,2503,2507,2526,2556,2562,2572,2586,2608,2616,2620,2624,2630,2634,2649,2664,2679,2687,2704,2728,2732,2757,2793,2800,2811,2826,2854,2863,2868,2873,2880,2885,2891,2907,2922,2939,2964,2987,3014,3021,3033,3053,3070,3091,3100,3105,3110,3117,3122,3128,3144,3160,3176,3192,3199,3211,3227,3237,3253,3270,3276,3285,3290,3295,3302,3307,3313,3326,3342,3357,3373,3390,3402,3414,3430],{"__ignoreMap":212},[216,2374,2375,2377,2379,2381,2383,2385,2387,2389],{"class":218,"line":219},[216,2376,449],{"class":222},[216,2378,452],{"class":237},[216,2380,547],{"class":233},[216,2382,464],{"class":237},[216,2384,467],{"class":222},[216,2386,250],{"class":237},[216,2388,556],{"class":253},[216,2390,475],{"class":237},[216,2392,2393,2395,2397,2399,2401,2404,2406,2408,2410,2412,2414,2416,2418,2420,2422],{"class":218,"line":241},[216,2394,449],{"class":222},[216,2396,452],{"class":237},[216,2398,567],{"class":233},[216,2400,458],{"class":237},[216,2402,2403],{"class":233}," defineMcpResource",[216,2405,458],{"class":237},[216,2407,2245],{"class":233},[216,2409,458],{"class":237},[216,2411,230],{"class":233},[216,2413,464],{"class":237},[216,2415,467],{"class":222},[216,2417,250],{"class":237},[216,2419,580],{"class":253},[216,2421,257],{"class":237},[216,2423,585],{"class":283},[216,2425,2426],{"class":218,"line":263},[216,2427,481],{"emptyLinePlaceholder":480},[216,2429,2430],{"class":218,"line":280},[216,2431,2432],{"class":283},"\u002F\u002F Define tools for this handler\n",[216,2434,2435,2437,2440,2442,2444,2446],{"class":218,"line":287},[216,2436,595],{"class":594},[216,2438,2439],{"class":233}," getUserTool ",[216,2441,601],{"class":237},[216,2443,567],{"class":229},[216,2445,234],{"class":233},[216,2447,238],{"class":237},[216,2449,2450,2452,2454,2456,2459,2461],{"class":218,"line":518},[216,2451,389],{"class":244},[216,2453,204],{"class":237},[216,2455,250],{"class":237},[216,2457,2458],{"class":253},"get-user",[216,2460,257],{"class":237},[216,2462,260],{"class":237},[216,2464,2465,2467,2469,2471,2474,2476],{"class":218,"line":641},[216,2466,644],{"class":244},[216,2468,204],{"class":237},[216,2470,250],{"class":237},[216,2472,2473],{"class":253},"Get user information",[216,2475,257],{"class":237},[216,2477,260],{"class":237},[216,2479,2480,2482,2484],{"class":218,"line":658},[216,2481,661],{"class":244},[216,2483,204],{"class":237},[216,2485,666],{"class":237},[216,2487,2488,2491,2493,2495,2497,2499,2501],{"class":218,"line":669},[216,2489,2490],{"class":244},"    userId",[216,2492,204],{"class":237},[216,2494,547],{"class":233},[216,2496,362],{"class":237},[216,2498,681],{"class":229},[216,2500,684],{"class":233},[216,2502,260],{"class":237},[216,2504,2505],{"class":218,"line":705},[216,2506,708],{"class":237},[216,2508,2509,2511,2513,2515,2517,2520,2522,2524],{"class":218,"line":711},[216,2510,714],{"class":229},[216,2512,204],{"class":237},[216,2514,719],{"class":594},[216,2516,722],{"class":237},[216,2518,2519],{"class":725}," userId",[216,2521,729],{"class":237},[216,2523,732],{"class":594},[216,2525,666],{"class":237},[216,2527,2528,2530,2533,2535,2537,2540,2542,2545,2547,2550,2552,2554],{"class":218,"line":737},[216,2529,740],{"class":594},[216,2531,2532],{"class":233}," user",[216,2534,746],{"class":237},[216,2536,2083],{"class":222},[216,2538,2539],{"class":233}," db",[216,2541,362],{"class":237},[216,2543,2544],{"class":233},"users",[216,2546,362],{"class":237},[216,2548,2549],{"class":229},"find",[216,2551,234],{"class":244},[216,2553,1707],{"class":233},[216,2555,293],{"class":244},[216,2557,2558,2560],{"class":218,"line":781},[216,2559,784],{"class":222},[216,2561,666],{"class":237},[216,2563,2564,2566,2568,2570],{"class":218,"line":789},[216,2565,792],{"class":244},[216,2567,204],{"class":237},[216,2569,797],{"class":244},[216,2571,238],{"class":237},[216,2573,2574,2576,2578,2580,2582,2584],{"class":218,"line":802},[216,2575,805],{"class":244},[216,2577,204],{"class":237},[216,2579,250],{"class":237},[216,2581,812],{"class":253},[216,2583,257],{"class":237},[216,2585,260],{"class":237},[216,2587,2588,2590,2592,2595,2597,2600,2602,2604,2606],{"class":218,"line":819},[216,2589,822],{"class":244},[216,2591,204],{"class":237},[216,2593,2594],{"class":233}," JSON",[216,2596,362],{"class":237},[216,2598,2599],{"class":229},"stringify",[216,2601,234],{"class":244},[216,2603,2078],{"class":233},[216,2605,340],{"class":244},[216,2607,260],{"class":237},[216,2609,2610,2612,2614],{"class":218,"line":831},[216,2611,834],{"class":237},[216,2613,837],{"class":244},[216,2615,260],{"class":237},[216,2617,2618],{"class":218,"line":842},[216,2619,845],{"class":237},[216,2621,2622],{"class":218,"line":848},[216,2623,708],{"class":237},[216,2625,2626,2628],{"class":218,"line":853},[216,2627,290],{"class":237},[216,2629,293],{"class":233},[216,2631,2632],{"class":218,"line":860},[216,2633,481],{"emptyLinePlaceholder":480},[216,2635,2636,2638,2641,2643,2645,2647],{"class":218,"line":865},[216,2637,595],{"class":594},[216,2639,2640],{"class":233}," createUserTool ",[216,2642,601],{"class":237},[216,2644,567],{"class":229},[216,2646,234],{"class":233},[216,2648,238],{"class":237},[216,2650,2651,2653,2655,2657,2660,2662],{"class":218,"line":878},[216,2652,389],{"class":244},[216,2654,204],{"class":237},[216,2656,250],{"class":237},[216,2658,2659],{"class":253},"create-user",[216,2661,257],{"class":237},[216,2663,260],{"class":237},[216,2665,2666,2668,2670,2672,2675,2677],{"class":218,"line":894},[216,2667,644],{"class":244},[216,2669,204],{"class":237},[216,2671,250],{"class":237},[216,2673,2674],{"class":253},"Create a new user",[216,2676,257],{"class":237},[216,2678,260],{"class":237},[216,2680,2681,2683,2685],{"class":218,"line":910},[216,2682,661],{"class":244},[216,2684,204],{"class":237},[216,2686,666],{"class":237},[216,2688,2689,2692,2694,2696,2698,2700,2702],{"class":218,"line":927},[216,2690,2691],{"class":244},"    name",[216,2693,204],{"class":237},[216,2695,547],{"class":233},[216,2697,362],{"class":237},[216,2699,681],{"class":229},[216,2701,684],{"class":233},[216,2703,260],{"class":237},[216,2705,2706,2709,2711,2713,2715,2717,2719,2721,2724,2726],{"class":218,"line":939},[216,2707,2708],{"class":244},"    email",[216,2710,204],{"class":237},[216,2712,547],{"class":233},[216,2714,362],{"class":237},[216,2716,681],{"class":229},[216,2718,684],{"class":233},[216,2720,362],{"class":237},[216,2722,2723],{"class":229},"email",[216,2725,684],{"class":233},[216,2727,260],{"class":237},[216,2729,2730],{"class":218,"line":954},[216,2731,708],{"class":237},[216,2733,2735,2737,2739,2741,2743,2746,2748,2751,2753,2755],{"class":218,"line":2734},29,[216,2736,714],{"class":229},[216,2738,204],{"class":237},[216,2740,719],{"class":594},[216,2742,722],{"class":237},[216,2744,2745],{"class":725}," name",[216,2747,458],{"class":237},[216,2749,2750],{"class":725}," email",[216,2752,729],{"class":237},[216,2754,732],{"class":594},[216,2756,666],{"class":237},[216,2758,2760,2762,2764,2766,2768,2770,2772,2774,2776,2779,2781,2783,2785,2787,2789,2791],{"class":218,"line":2759},30,[216,2761,740],{"class":594},[216,2763,2532],{"class":233},[216,2765,746],{"class":237},[216,2767,2083],{"class":222},[216,2769,2539],{"class":233},[216,2771,362],{"class":237},[216,2773,2544],{"class":233},[216,2775,362],{"class":237},[216,2777,2778],{"class":229},"create",[216,2780,234],{"class":244},[216,2782,1912],{"class":237},[216,2784,2745],{"class":233},[216,2786,458],{"class":237},[216,2788,2750],{"class":233},[216,2790,464],{"class":237},[216,2792,293],{"class":244},[216,2794,2796,2798],{"class":218,"line":2795},31,[216,2797,784],{"class":222},[216,2799,666],{"class":237},[216,2801,2803,2805,2807,2809],{"class":218,"line":2802},32,[216,2804,792],{"class":244},[216,2806,204],{"class":237},[216,2808,797],{"class":244},[216,2810,238],{"class":237},[216,2812,2814,2816,2818,2820,2822,2824],{"class":218,"line":2813},33,[216,2815,805],{"class":244},[216,2817,204],{"class":237},[216,2819,250],{"class":237},[216,2821,812],{"class":253},[216,2823,257],{"class":237},[216,2825,260],{"class":237},[216,2827,2829,2831,2833,2836,2839,2842,2844,2846,2849,2852],{"class":218,"line":2828},34,[216,2830,822],{"class":244},[216,2832,204],{"class":237},[216,2834,2835],{"class":237}," `",[216,2837,2838],{"class":253},"User created: ",[216,2840,2841],{"class":237},"${",[216,2843,2078],{"class":233},[216,2845,362],{"class":237},[216,2847,2848],{"class":233},"id",[216,2850,2851],{"class":237},"}`",[216,2853,260],{"class":237},[216,2855,2857,2859,2861],{"class":218,"line":2856},35,[216,2858,834],{"class":237},[216,2860,837],{"class":244},[216,2862,260],{"class":237},[216,2864,2866],{"class":218,"line":2865},36,[216,2867,845],{"class":237},[216,2869,2871],{"class":218,"line":2870},37,[216,2872,708],{"class":237},[216,2874,2876,2878],{"class":218,"line":2875},38,[216,2877,290],{"class":237},[216,2879,293],{"class":233},[216,2881,2883],{"class":218,"line":2882},39,[216,2884,481],{"emptyLinePlaceholder":480},[216,2886,2888],{"class":218,"line":2887},40,[216,2889,2890],{"class":283},"\u002F\u002F Define resources for this handler\n",[216,2892,2894,2896,2899,2901,2903,2905],{"class":218,"line":2893},41,[216,2895,595],{"class":594},[216,2897,2898],{"class":233}," userResource ",[216,2900,601],{"class":237},[216,2902,2403],{"class":229},[216,2904,234],{"class":233},[216,2906,238],{"class":237},[216,2908,2910,2912,2914,2916,2918,2920],{"class":218,"line":2909},42,[216,2911,389],{"class":244},[216,2913,204],{"class":237},[216,2915,250],{"class":237},[216,2917,2078],{"class":253},[216,2919,257],{"class":237},[216,2921,260],{"class":237},[216,2923,2925,2928,2930,2932,2935,2937],{"class":218,"line":2924},43,[216,2926,2927],{"class":244},"  uri",[216,2929,204],{"class":237},[216,2931,250],{"class":237},[216,2933,2934],{"class":253},"api:\u002F\u002Fusers\u002F{id}",[216,2936,257],{"class":237},[216,2938,260],{"class":237},[216,2940,2942,2944,2946,2948,2950,2953,2955,2958,2960,2962],{"class":218,"line":2941},44,[216,2943,714],{"class":229},[216,2945,204],{"class":237},[216,2947,719],{"class":594},[216,2949,1155],{"class":237},[216,2951,2952],{"class":725},"uri",[216,2954,458],{"class":237},[216,2956,2957],{"class":725}," variables",[216,2959,340],{"class":237},[216,2961,732],{"class":594},[216,2963,666],{"class":237},[216,2965,2967,2969,2972,2974,2976,2978,2980,2983],{"class":218,"line":2966},45,[216,2968,740],{"class":594},[216,2970,2971],{"class":233}," id",[216,2973,746],{"class":237},[216,2975,2957],{"class":233},[216,2977,362],{"class":237},[216,2979,2848],{"class":233},[216,2981,2982],{"class":222}," as",[216,2984,2986],{"class":2985},"sBMFI"," string\n",[216,2988,2990,2992,2994,2996,2998,3000,3002,3004,3006,3008,3010,3012],{"class":218,"line":2989},46,[216,2991,740],{"class":594},[216,2993,2532],{"class":233},[216,2995,746],{"class":237},[216,2997,2083],{"class":222},[216,2999,2539],{"class":233},[216,3001,362],{"class":237},[216,3003,2544],{"class":233},[216,3005,362],{"class":237},[216,3007,2549],{"class":229},[216,3009,234],{"class":244},[216,3011,2848],{"class":233},[216,3013,293],{"class":244},[216,3015,3017,3019],{"class":218,"line":3016},47,[216,3018,784],{"class":222},[216,3020,666],{"class":237},[216,3022,3024,3027,3029,3031],{"class":218,"line":3023},48,[216,3025,3026],{"class":244},"      contents",[216,3028,204],{"class":237},[216,3030,797],{"class":244},[216,3032,238],{"class":237},[216,3034,3036,3039,3041,3044,3046,3049,3051],{"class":218,"line":3035},49,[216,3037,3038],{"class":244},"        uri",[216,3040,204],{"class":237},[216,3042,3043],{"class":233}," uri",[216,3045,362],{"class":237},[216,3047,3048],{"class":229},"toString",[216,3050,684],{"class":244},[216,3052,260],{"class":237},[216,3054,3056,3059,3061,3063,3066,3068],{"class":218,"line":3055},50,[216,3057,3058],{"class":244},"        mimeType",[216,3060,204],{"class":237},[216,3062,250],{"class":237},[216,3064,3065],{"class":253},"application\u002Fjson",[216,3067,257],{"class":237},[216,3069,260],{"class":237},[216,3071,3073,3075,3077,3079,3081,3083,3085,3087,3089],{"class":218,"line":3072},51,[216,3074,822],{"class":244},[216,3076,204],{"class":237},[216,3078,2594],{"class":233},[216,3080,362],{"class":237},[216,3082,2599],{"class":229},[216,3084,234],{"class":244},[216,3086,2078],{"class":233},[216,3088,340],{"class":244},[216,3090,260],{"class":237},[216,3092,3094,3096,3098],{"class":218,"line":3093},52,[216,3095,834],{"class":237},[216,3097,837],{"class":244},[216,3099,260],{"class":237},[216,3101,3103],{"class":218,"line":3102},53,[216,3104,845],{"class":237},[216,3106,3108],{"class":218,"line":3107},54,[216,3109,708],{"class":237},[216,3111,3113,3115],{"class":218,"line":3112},55,[216,3114,290],{"class":237},[216,3116,293],{"class":233},[216,3118,3120],{"class":218,"line":3119},56,[216,3121,481],{"emptyLinePlaceholder":480},[216,3123,3125],{"class":218,"line":3124},57,[216,3126,3127],{"class":283},"\u002F\u002F Define prompts for this handler\n",[216,3129,3131,3133,3136,3138,3140,3142],{"class":218,"line":3130},58,[216,3132,595],{"class":594},[216,3134,3135],{"class":233}," userPrompt ",[216,3137,601],{"class":237},[216,3139,2245],{"class":229},[216,3141,234],{"class":233},[216,3143,238],{"class":237},[216,3145,3147,3149,3151,3153,3156,3158],{"class":218,"line":3146},59,[216,3148,389],{"class":244},[216,3150,204],{"class":237},[216,3152,250],{"class":237},[216,3154,3155],{"class":253},"user-help",[216,3157,257],{"class":237},[216,3159,260],{"class":237},[216,3161,3163,3165,3167,3169,3172,3174],{"class":218,"line":3162},60,[216,3164,644],{"class":244},[216,3166,204],{"class":237},[216,3168,250],{"class":237},[216,3170,3171],{"class":253},"Get help with user operations",[216,3173,257],{"class":237},[216,3175,260],{"class":237},[216,3177,3179,3181,3183,3185,3188,3190],{"class":218,"line":3178},61,[216,3180,714],{"class":229},[216,3182,204],{"class":237},[216,3184,719],{"class":594},[216,3186,3187],{"class":237}," ()",[216,3189,732],{"class":594},[216,3191,666],{"class":237},[216,3193,3195,3197],{"class":218,"line":3194},62,[216,3196,784],{"class":222},[216,3198,666],{"class":237},[216,3200,3202,3205,3207,3209],{"class":218,"line":3201},63,[216,3203,3204],{"class":244},"      messages",[216,3206,204],{"class":237},[216,3208,797],{"class":244},[216,3210,238],{"class":237},[216,3212,3214,3217,3219,3221,3223,3225],{"class":218,"line":3213},64,[216,3215,3216],{"class":244},"        role",[216,3218,204],{"class":237},[216,3220,250],{"class":237},[216,3222,2078],{"class":253},[216,3224,257],{"class":237},[216,3226,260],{"class":237},[216,3228,3230,3233,3235],{"class":218,"line":3229},65,[216,3231,3232],{"class":244},"        content",[216,3234,204],{"class":237},[216,3236,666],{"class":237},[216,3238,3240,3243,3245,3247,3249,3251],{"class":218,"line":3239},66,[216,3241,3242],{"class":244},"          type",[216,3244,204],{"class":237},[216,3246,250],{"class":237},[216,3248,812],{"class":253},[216,3250,257],{"class":237},[216,3252,260],{"class":237},[216,3254,3256,3259,3261,3263,3266,3268],{"class":218,"line":3255},67,[216,3257,3258],{"class":244},"          text",[216,3260,204],{"class":237},[216,3262,250],{"class":237},[216,3264,3265],{"class":253},"How can I manage users?",[216,3267,257],{"class":237},[216,3269,260],{"class":237},[216,3271,3273],{"class":218,"line":3272},68,[216,3274,3275],{"class":237},"        },\n",[216,3277,3279,3281,3283],{"class":218,"line":3278},69,[216,3280,834],{"class":237},[216,3282,837],{"class":244},[216,3284,260],{"class":237},[216,3286,3288],{"class":218,"line":3287},70,[216,3289,845],{"class":237},[216,3291,3293],{"class":218,"line":3292},71,[216,3294,708],{"class":237},[216,3296,3298,3300],{"class":218,"line":3297},72,[216,3299,290],{"class":237},[216,3301,293],{"class":233},[216,3303,3305],{"class":218,"line":3304},73,[216,3306,481],{"emptyLinePlaceholder":480},[216,3308,3310],{"class":218,"line":3309},74,[216,3311,3312],{"class":283},"\u002F\u002F Export the handler\n",[216,3314,3316,3318,3320,3322,3324],{"class":218,"line":3315},75,[216,3317,223],{"class":222},[216,3319,226],{"class":222},[216,3321,230],{"class":229},[216,3323,234],{"class":233},[216,3325,238],{"class":237},[216,3327,3329,3331,3333,3335,3338,3340],{"class":218,"line":3328},76,[216,3330,389],{"class":244},[216,3332,204],{"class":237},[216,3334,250],{"class":237},[216,3336,3337],{"class":253},"api",[216,3339,257],{"class":237},[216,3341,260],{"class":237},[216,3343,3345,3347,3349,3351,3353,3355],{"class":218,"line":3344},77,[216,3346,245],{"class":244},[216,3348,204],{"class":237},[216,3350,250],{"class":237},[216,3352,1101],{"class":253},[216,3354,257],{"class":237},[216,3356,260],{"class":237},[216,3358,3360,3362,3364,3366,3369,3371],{"class":218,"line":3359},78,[216,3361,913],{"class":244},[216,3363,204],{"class":237},[216,3365,250],{"class":237},[216,3367,3368],{"class":253},"\u002Fmcp\u002Fapi",[216,3370,257],{"class":237},[216,3372,260],{"class":237},[216,3374,3376,3378,3380,3383,3385,3388],{"class":218,"line":3375},79,[216,3377,503],{"class":244},[216,3379,204],{"class":237},[216,3381,3382],{"class":233}," [getUserTool",[216,3384,458],{"class":237},[216,3386,3387],{"class":233}," createUserTool]",[216,3389,260],{"class":237},[216,3391,3393,3395,3397,3400],{"class":218,"line":3392},80,[216,3394,1198],{"class":244},[216,3396,204],{"class":237},[216,3398,3399],{"class":233}," [userResource]",[216,3401,260],{"class":237},[216,3403,3405,3407,3409,3412],{"class":218,"line":3404},81,[216,3406,1216],{"class":244},[216,3408,204],{"class":237},[216,3410,3411],{"class":233}," [userPrompt]",[216,3413,260],{"class":237},[216,3415,3417,3419,3421,3423,3426,3428],{"class":218,"line":3416},82,[216,3418,266],{"class":244},[216,3420,204],{"class":237},[216,3422,250],{"class":237},[216,3424,3425],{"class":253},"\u002Fdocs\u002Fapi",[216,3427,257],{"class":237},[216,3429,260],{"class":237},[216,3431,3433,3435],{"class":218,"line":3432},83,[216,3434,290],{"class":237},[216,3436,293],{"class":233},[145,3438,3440],{"id":3439},"multiple-handlers","Multiple Handlers",[150,3442,3443],{},"You can create multiple handlers in your application:",[206,3445,3448],{"className":3446,"code":3447,"language":812},[2220],"server\u002F\n└── mcp\u002F\n    ├── migration.ts          # Migration handler\n    ├── api-handler.ts        # API handler\n    ├── admin-handler.ts      # Admin handler\n    ├── tools\u002F\n    │   └── echo.ts           # Default handler tools\n    ├── resources\u002F\n    │   └── readme.ts         # Default handler resources\n    └── prompts\u002F\n        └── greeting.ts       # Default handler prompts\n",[182,3449,3447],{"__ignoreMap":212},[150,3451,3452],{},"Each handler file should export a default handler definition:",[206,3454,3456],{"className":208,"code":3455,"filename":536,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'migration',\n  tools: [ ... ],\n})\n",[182,3457,3458,3478,3482,3494,3508,3522],{"__ignoreMap":212},[216,3459,3460,3462,3464,3466,3468,3470,3472,3474,3476],{"class":218,"line":219},[216,3461,449],{"class":222},[216,3463,452],{"class":237},[216,3465,230],{"class":233},[216,3467,464],{"class":237},[216,3469,467],{"class":222},[216,3471,250],{"class":237},[216,3473,580],{"class":253},[216,3475,257],{"class":237},[216,3477,585],{"class":283},[216,3479,3480],{"class":218,"line":241},[216,3481,481],{"emptyLinePlaceholder":480},[216,3483,3484,3486,3488,3490,3492],{"class":218,"line":263},[216,3485,223],{"class":222},[216,3487,226],{"class":222},[216,3489,230],{"class":229},[216,3491,234],{"class":233},[216,3493,238],{"class":237},[216,3495,3496,3498,3500,3502,3504,3506],{"class":218,"line":280},[216,3497,389],{"class":244},[216,3499,204],{"class":237},[216,3501,250],{"class":237},[216,3503,887],{"class":253},[216,3505,257],{"class":237},[216,3507,260],{"class":237},[216,3509,3510,3512,3514,3516,3518,3520],{"class":218,"line":287},[216,3511,503],{"class":244},[216,3513,204],{"class":237},[216,3515,1182],{"class":233},[216,3517,1185],{"class":237},[216,3519,1188],{"class":233},[216,3521,260],{"class":237},[216,3523,3524,3526],{"class":218,"line":518},[216,3525,290],{"class":237},[216,3527,293],{"class":233},[206,3529,3531],{"className":208,"code":3530,"filename":2370,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'api',\n  tools: [ ... ],\n})\n",[182,3532,3533,3553,3557,3569,3583,3597],{"__ignoreMap":212},[216,3534,3535,3537,3539,3541,3543,3545,3547,3549,3551],{"class":218,"line":219},[216,3536,449],{"class":222},[216,3538,452],{"class":237},[216,3540,230],{"class":233},[216,3542,464],{"class":237},[216,3544,467],{"class":222},[216,3546,250],{"class":237},[216,3548,580],{"class":253},[216,3550,257],{"class":237},[216,3552,585],{"class":283},[216,3554,3555],{"class":218,"line":241},[216,3556,481],{"emptyLinePlaceholder":480},[216,3558,3559,3561,3563,3565,3567],{"class":218,"line":263},[216,3560,223],{"class":222},[216,3562,226],{"class":222},[216,3564,230],{"class":229},[216,3566,234],{"class":233},[216,3568,238],{"class":237},[216,3570,3571,3573,3575,3577,3579,3581],{"class":218,"line":280},[216,3572,389],{"class":244},[216,3574,204],{"class":237},[216,3576,250],{"class":237},[216,3578,3337],{"class":253},[216,3580,257],{"class":237},[216,3582,260],{"class":237},[216,3584,3585,3587,3589,3591,3593,3595],{"class":218,"line":287},[216,3586,503],{"class":244},[216,3588,204],{"class":237},[216,3590,1182],{"class":233},[216,3592,1185],{"class":237},[216,3594,1188],{"class":233},[216,3596,260],{"class":237},[216,3598,3599,3601],{"class":218,"line":518},[216,3600,290],{"class":237},[216,3602,293],{"class":233},[145,3604,3606],{"id":3605},"handler-routes","Handler Routes",[150,3608,3609,3610,3612,3613,3615,3616,3619],{},"The handler's ",[182,3611,315],{}," determines where it will be mounted. By default, handlers are accessible at ",[182,3614,1270],{}," where ",[182,3617,3618],{},":name"," is the handler's name:",[162,3621,3622,3631,3638],{},[165,3623,3624,3625,3628,3629],{},"Handler with ",[182,3626,3627],{},"name: 'migration'"," → mounted at ",[182,3630,920],{},[165,3632,3624,3633,3628,3636],{},[182,3634,3635],{},"name: 'api'",[182,3637,3368],{},[165,3639,3624,3640,3628,3643],{},[182,3641,3642],{},"name: 'admin'",[182,3644,3645],{},"\u002Fmcp\u002Fadmin",[150,3647,3648],{},"You can also specify a custom route to override the default:",[206,3650,3652],{"className":208,"code":3651,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'api',\n  route: '\u002Fapi\u002Fmcp\u002Fv1', \u002F\u002F Custom route instead of \u002Fmcp\u002Fapi\n})\n",[182,3653,3654,3674,3678,3690,3704,3722],{"__ignoreMap":212},[216,3655,3656,3658,3660,3662,3664,3666,3668,3670,3672],{"class":218,"line":219},[216,3657,449],{"class":222},[216,3659,452],{"class":237},[216,3661,230],{"class":233},[216,3663,464],{"class":237},[216,3665,467],{"class":222},[216,3667,250],{"class":237},[216,3669,580],{"class":253},[216,3671,257],{"class":237},[216,3673,585],{"class":283},[216,3675,3676],{"class":218,"line":241},[216,3677,481],{"emptyLinePlaceholder":480},[216,3679,3680,3682,3684,3686,3688],{"class":218,"line":263},[216,3681,223],{"class":222},[216,3683,226],{"class":222},[216,3685,230],{"class":229},[216,3687,234],{"class":233},[216,3689,238],{"class":237},[216,3691,3692,3694,3696,3698,3700,3702],{"class":218,"line":280},[216,3693,389],{"class":244},[216,3695,204],{"class":237},[216,3697,250],{"class":237},[216,3699,3337],{"class":253},[216,3701,257],{"class":237},[216,3703,260],{"class":237},[216,3705,3706,3708,3710,3712,3715,3717,3719],{"class":218,"line":287},[216,3707,913],{"class":244},[216,3709,204],{"class":237},[216,3711,250],{"class":237},[216,3713,3714],{"class":253},"\u002Fapi\u002Fmcp\u002Fv1",[216,3716,257],{"class":237},[216,3718,458],{"class":237},[216,3720,3721],{"class":283}," \u002F\u002F Custom route instead of \u002Fmcp\u002Fapi\n",[216,3723,3724,3726],{"class":218,"line":518},[216,3725,290],{"class":237},[216,3727,293],{"class":233},[145,3729,3731],{"id":3730},"default-vs-custom-handlers","Default vs Custom Handlers",[3733,3734,3735,3755],"table",{},[3736,3737,3738],"thead",{},[3739,3740,3741,3745,3747,3752],"tr",{},[3742,3743,3744],"th",{},"Feature",[3742,3746,177],{},[3742,3748,3749,3750,340],{},"Default Handler Override (",[182,3751,200],{},[3742,3753,3754],{},"Custom Handler",[3756,3757,3758,3778,3794,3807,3820,3834],"tbody",{},[3739,3759,3760,3764,3769,3773],{},[3761,3762,3763],"td",{},"Route",[3761,3765,3766,3768],{},[182,3767,184],{}," (via config)",[3761,3770,3771,3768],{},[182,3772,184],{},[3761,3774,3775,3777],{},[182,3776,1270],{}," (or custom route)",[3739,3779,3780,3782,3788,3791],{},[3761,3781,46],{},[3761,3783,3784,3785],{},"From ",[182,3786,3787],{},"server\u002Fmcp\u002Ftools\u002F",[3761,3789,3790],{},"Custom or global",[3761,3792,3793],{},"Defined in handler",[3739,3795,3796,3798,3803,3805],{},[3761,3797,51],{},[3761,3799,3784,3800],{},[182,3801,3802],{},"server\u002Fmcp\u002Fresources\u002F",[3761,3804,3790],{},[3761,3806,3793],{},[3739,3808,3809,3811,3816,3818],{},[3761,3810,56],{},[3761,3812,3784,3813],{},[182,3814,3815],{},"server\u002Fmcp\u002Fprompts\u002F",[3761,3817,3790],{},[3761,3819,3793],{},[3739,3821,3822,3825,3828,3831],{},[3761,3823,3824],{},"Name",[3761,3826,3827],{},"From config",[3761,3829,3830],{},"Custom or config",[3761,3832,3833],{},"Handler name (required)",[3739,3835,3836,3839,3841,3843],{},[3761,3837,3838],{},"Version",[3761,3840,3827],{},[3761,3842,3830],{},[3761,3844,3845],{},"Handler version",[145,3847,3849],{"id":3848},"use-cases","Use Cases",[191,3851,3853],{"id":3852},"_1-feature-separation","1. Feature Separation",[150,3855,3856],{},"Separate different features into different handlers:",[206,3858,3861],{"className":208,"code":3859,"filename":3860,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'users',\n  tools: [getUserTool, createUserTool, updateUserTool],\n})\n","server\u002Fmcp\u002Fuser-management.ts",[182,3862,3863,3883,3887,3899,3913,3933],{"__ignoreMap":212},[216,3864,3865,3867,3869,3871,3873,3875,3877,3879,3881],{"class":218,"line":219},[216,3866,449],{"class":222},[216,3868,452],{"class":237},[216,3870,230],{"class":233},[216,3872,464],{"class":237},[216,3874,467],{"class":222},[216,3876,250],{"class":237},[216,3878,580],{"class":253},[216,3880,257],{"class":237},[216,3882,585],{"class":283},[216,3884,3885],{"class":218,"line":241},[216,3886,481],{"emptyLinePlaceholder":480},[216,3888,3889,3891,3893,3895,3897],{"class":218,"line":263},[216,3890,223],{"class":222},[216,3892,226],{"class":222},[216,3894,230],{"class":229},[216,3896,234],{"class":233},[216,3898,238],{"class":237},[216,3900,3901,3903,3905,3907,3909,3911],{"class":218,"line":280},[216,3902,389],{"class":244},[216,3904,204],{"class":237},[216,3906,250],{"class":237},[216,3908,2544],{"class":253},[216,3910,257],{"class":237},[216,3912,260],{"class":237},[216,3914,3915,3917,3919,3921,3923,3926,3928,3931],{"class":218,"line":287},[216,3916,503],{"class":244},[216,3918,204],{"class":237},[216,3920,3382],{"class":233},[216,3922,458],{"class":237},[216,3924,3925],{"class":233}," createUserTool",[216,3927,458],{"class":237},[216,3929,3930],{"class":233}," updateUserTool]",[216,3932,260],{"class":237},[216,3934,3935,3937],{"class":218,"line":518},[216,3936,290],{"class":237},[216,3938,293],{"class":233},[206,3940,3943],{"className":208,"code":3941,"filename":3942,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'content',\n  tools: [createPostTool, updatePostTool, deletePostTool],\n})\n","server\u002Fmcp\u002Fcontent-management.ts",[182,3944,3945,3965,3969,3981,3996,4017],{"__ignoreMap":212},[216,3946,3947,3949,3951,3953,3955,3957,3959,3961,3963],{"class":218,"line":219},[216,3948,449],{"class":222},[216,3950,452],{"class":237},[216,3952,230],{"class":233},[216,3954,464],{"class":237},[216,3956,467],{"class":222},[216,3958,250],{"class":237},[216,3960,580],{"class":253},[216,3962,257],{"class":237},[216,3964,585],{"class":283},[216,3966,3967],{"class":218,"line":241},[216,3968,481],{"emptyLinePlaceholder":480},[216,3970,3971,3973,3975,3977,3979],{"class":218,"line":263},[216,3972,223],{"class":222},[216,3974,226],{"class":222},[216,3976,230],{"class":229},[216,3978,234],{"class":233},[216,3980,238],{"class":237},[216,3982,3983,3985,3987,3989,3992,3994],{"class":218,"line":280},[216,3984,389],{"class":244},[216,3986,204],{"class":237},[216,3988,250],{"class":237},[216,3990,3991],{"class":253},"content",[216,3993,257],{"class":237},[216,3995,260],{"class":237},[216,3997,3998,4000,4002,4005,4007,4010,4012,4015],{"class":218,"line":287},[216,3999,503],{"class":244},[216,4001,204],{"class":237},[216,4003,4004],{"class":233}," [createPostTool",[216,4006,458],{"class":237},[216,4008,4009],{"class":233}," updatePostTool",[216,4011,458],{"class":237},[216,4013,4014],{"class":233}," deletePostTool]",[216,4016,260],{"class":237},[216,4018,4019,4021],{"class":218,"line":518},[216,4020,290],{"class":237},[216,4022,293],{"class":233},[191,4024,4026],{"id":4025},"_2-versioned-apis","2. Versioned APIs",[150,4028,4029],{},"Create versioned handlers:",[206,4031,4034],{"className":208,"code":4032,"filename":4033,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'api-v1',\n  version: '1.0.0',\n  route: '\u002Fapi\u002Fv1\u002Fmcp',\n  tools: [ ... ],\n})\n","server\u002Fmcp\u002Fapi-v1.ts",[182,4035,4036,4056,4060,4072,4087,4101,4116,4130],{"__ignoreMap":212},[216,4037,4038,4040,4042,4044,4046,4048,4050,4052,4054],{"class":218,"line":219},[216,4039,449],{"class":222},[216,4041,452],{"class":237},[216,4043,230],{"class":233},[216,4045,464],{"class":237},[216,4047,467],{"class":222},[216,4049,250],{"class":237},[216,4051,580],{"class":253},[216,4053,257],{"class":237},[216,4055,585],{"class":283},[216,4057,4058],{"class":218,"line":241},[216,4059,481],{"emptyLinePlaceholder":480},[216,4061,4062,4064,4066,4068,4070],{"class":218,"line":263},[216,4063,223],{"class":222},[216,4065,226],{"class":222},[216,4067,230],{"class":229},[216,4069,234],{"class":233},[216,4071,238],{"class":237},[216,4073,4074,4076,4078,4080,4083,4085],{"class":218,"line":280},[216,4075,389],{"class":244},[216,4077,204],{"class":237},[216,4079,250],{"class":237},[216,4081,4082],{"class":253},"api-v1",[216,4084,257],{"class":237},[216,4086,260],{"class":237},[216,4088,4089,4091,4093,4095,4097,4099],{"class":218,"line":287},[216,4090,245],{"class":244},[216,4092,204],{"class":237},[216,4094,250],{"class":237},[216,4096,1101],{"class":253},[216,4098,257],{"class":237},[216,4100,260],{"class":237},[216,4102,4103,4105,4107,4109,4112,4114],{"class":218,"line":518},[216,4104,913],{"class":244},[216,4106,204],{"class":237},[216,4108,250],{"class":237},[216,4110,4111],{"class":253},"\u002Fapi\u002Fv1\u002Fmcp",[216,4113,257],{"class":237},[216,4115,260],{"class":237},[216,4117,4118,4120,4122,4124,4126,4128],{"class":218,"line":641},[216,4119,503],{"class":244},[216,4121,204],{"class":237},[216,4123,1182],{"class":233},[216,4125,1185],{"class":237},[216,4127,1188],{"class":233},[216,4129,260],{"class":237},[216,4131,4132,4134],{"class":218,"line":658},[216,4133,290],{"class":237},[216,4135,293],{"class":233},[206,4137,4140],{"className":208,"code":4138,"filename":4139,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'api-v2',\n  version: '2.0.0',\n  route: '\u002Fapi\u002Fv2\u002Fmcp',\n  tools: [ ... ],\n})\n","server\u002Fmcp\u002Fapi-v2.ts",[182,4141,4142,4162,4166,4178,4193,4207,4222,4236],{"__ignoreMap":212},[216,4143,4144,4146,4148,4150,4152,4154,4156,4158,4160],{"class":218,"line":219},[216,4145,449],{"class":222},[216,4147,452],{"class":237},[216,4149,230],{"class":233},[216,4151,464],{"class":237},[216,4153,467],{"class":222},[216,4155,250],{"class":237},[216,4157,580],{"class":253},[216,4159,257],{"class":237},[216,4161,585],{"class":283},[216,4163,4164],{"class":218,"line":241},[216,4165,481],{"emptyLinePlaceholder":480},[216,4167,4168,4170,4172,4174,4176],{"class":218,"line":263},[216,4169,223],{"class":222},[216,4171,226],{"class":222},[216,4173,230],{"class":229},[216,4175,234],{"class":233},[216,4177,238],{"class":237},[216,4179,4180,4182,4184,4186,4189,4191],{"class":218,"line":280},[216,4181,389],{"class":244},[216,4183,204],{"class":237},[216,4185,250],{"class":237},[216,4187,4188],{"class":253},"api-v2",[216,4190,257],{"class":237},[216,4192,260],{"class":237},[216,4194,4195,4197,4199,4201,4203,4205],{"class":218,"line":287},[216,4196,245],{"class":244},[216,4198,204],{"class":237},[216,4200,250],{"class":237},[216,4202,254],{"class":253},[216,4204,257],{"class":237},[216,4206,260],{"class":237},[216,4208,4209,4211,4213,4215,4218,4220],{"class":218,"line":518},[216,4210,913],{"class":244},[216,4212,204],{"class":237},[216,4214,250],{"class":237},[216,4216,4217],{"class":253},"\u002Fapi\u002Fv2\u002Fmcp",[216,4219,257],{"class":237},[216,4221,260],{"class":237},[216,4223,4224,4226,4228,4230,4232,4234],{"class":218,"line":641},[216,4225,503],{"class":244},[216,4227,204],{"class":237},[216,4229,1182],{"class":233},[216,4231,1185],{"class":237},[216,4233,1188],{"class":233},[216,4235,260],{"class":237},[216,4237,4238,4240],{"class":218,"line":658},[216,4239,290],{"class":237},[216,4241,293],{"class":233},[191,4243,4245],{"id":4244},"_3-domain-specific-handlers","3. Domain-Specific Handlers",[150,4247,4248],{},"Organize by domain:",[206,4250,4253],{"className":208,"code":4251,"filename":4252,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'ecommerce',\n  tools: [addToCartTool, checkoutTool, getProductsTool],\n})\n","server\u002Fmcp\u002Fecommerce.ts",[182,4254,4255,4275,4279,4291,4306,4327],{"__ignoreMap":212},[216,4256,4257,4259,4261,4263,4265,4267,4269,4271,4273],{"class":218,"line":219},[216,4258,449],{"class":222},[216,4260,452],{"class":237},[216,4262,230],{"class":233},[216,4264,464],{"class":237},[216,4266,467],{"class":222},[216,4268,250],{"class":237},[216,4270,580],{"class":253},[216,4272,257],{"class":237},[216,4274,585],{"class":283},[216,4276,4277],{"class":218,"line":241},[216,4278,481],{"emptyLinePlaceholder":480},[216,4280,4281,4283,4285,4287,4289],{"class":218,"line":263},[216,4282,223],{"class":222},[216,4284,226],{"class":222},[216,4286,230],{"class":229},[216,4288,234],{"class":233},[216,4290,238],{"class":237},[216,4292,4293,4295,4297,4299,4302,4304],{"class":218,"line":280},[216,4294,389],{"class":244},[216,4296,204],{"class":237},[216,4298,250],{"class":237},[216,4300,4301],{"class":253},"ecommerce",[216,4303,257],{"class":237},[216,4305,260],{"class":237},[216,4307,4308,4310,4312,4315,4317,4320,4322,4325],{"class":218,"line":287},[216,4309,503],{"class":244},[216,4311,204],{"class":237},[216,4313,4314],{"class":233}," [addToCartTool",[216,4316,458],{"class":237},[216,4318,4319],{"class":233}," checkoutTool",[216,4321,458],{"class":237},[216,4323,4324],{"class":233}," getProductsTool]",[216,4326,260],{"class":237},[216,4328,4329,4331],{"class":218,"line":518},[216,4330,290],{"class":237},[216,4332,293],{"class":233},[206,4334,4337],{"className":208,"code":4335,"filename":4336,"language":211,"meta":212,"style":212},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'analytics',\n  tools: [getStatsTool, generateReportTool],\n})\n","server\u002Fmcp\u002Fanalytics.ts",[182,4338,4339,4359,4363,4375,4390,4406],{"__ignoreMap":212},[216,4340,4341,4343,4345,4347,4349,4351,4353,4355,4357],{"class":218,"line":219},[216,4342,449],{"class":222},[216,4344,452],{"class":237},[216,4346,230],{"class":233},[216,4348,464],{"class":237},[216,4350,467],{"class":222},[216,4352,250],{"class":237},[216,4354,580],{"class":253},[216,4356,257],{"class":237},[216,4358,585],{"class":283},[216,4360,4361],{"class":218,"line":241},[216,4362,481],{"emptyLinePlaceholder":480},[216,4364,4365,4367,4369,4371,4373],{"class":218,"line":263},[216,4366,223],{"class":222},[216,4368,226],{"class":222},[216,4370,230],{"class":229},[216,4372,234],{"class":233},[216,4374,238],{"class":237},[216,4376,4377,4379,4381,4383,4386,4388],{"class":218,"line":280},[216,4378,389],{"class":244},[216,4380,204],{"class":237},[216,4382,250],{"class":237},[216,4384,4385],{"class":253},"analytics",[216,4387,257],{"class":237},[216,4389,260],{"class":237},[216,4391,4392,4394,4396,4399,4401,4404],{"class":218,"line":287},[216,4393,503],{"class":244},[216,4395,204],{"class":237},[216,4397,4398],{"class":233}," [getStatsTool",[216,4400,458],{"class":237},[216,4402,4403],{"class":233}," generateReportTool]",[216,4405,260],{"class":237},[216,4407,4408,4410],{"class":218,"line":518},[216,4409,290],{"class":237},[216,4411,293],{"class":233},[145,4413,4415],{"id":4414},"sharing-tools-between-handlers","Sharing Tools Between Handlers",[150,4417,4418],{},"You can share tool definitions between handlers by exporting them from a separate file:",[206,4420,4423],{"className":208,"code":4421,"filename":4422,"language":211,"meta":212,"style":212},"import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport const sharedTool = defineMcpTool({\n  name: 'shared-tool',\n  description: 'A shared tool',\n  inputSchema: {\n    input: z.string(),\n  },\n  handler: async ({ input }) => {\n    return {\n      content: [{\n        type: 'text',\n        text: `Shared: ${input}`,\n      }],\n    }\n  },\n})\n","server\u002Fmcp\u002Fshared-tools.ts",[182,4424,4425,4443,4463,4467,4485,4500,4515,4523,4540,4544,4563,4569,4579,4593,4613,4621,4625,4629],{"__ignoreMap":212},[216,4426,4427,4429,4431,4433,4435,4437,4439,4441],{"class":218,"line":219},[216,4428,449],{"class":222},[216,4430,452],{"class":237},[216,4432,547],{"class":233},[216,4434,464],{"class":237},[216,4436,467],{"class":222},[216,4438,250],{"class":237},[216,4440,556],{"class":253},[216,4442,475],{"class":237},[216,4444,4445,4447,4449,4451,4453,4455,4457,4459,4461],{"class":218,"line":241},[216,4446,449],{"class":222},[216,4448,452],{"class":237},[216,4450,567],{"class":233},[216,4452,464],{"class":237},[216,4454,467],{"class":222},[216,4456,250],{"class":237},[216,4458,580],{"class":253},[216,4460,257],{"class":237},[216,4462,585],{"class":283},[216,4464,4465],{"class":218,"line":263},[216,4466,481],{"emptyLinePlaceholder":480},[216,4468,4469,4471,4474,4477,4479,4481,4483],{"class":218,"line":280},[216,4470,223],{"class":222},[216,4472,4473],{"class":594}," const",[216,4475,4476],{"class":233}," sharedTool ",[216,4478,601],{"class":237},[216,4480,567],{"class":229},[216,4482,234],{"class":233},[216,4484,238],{"class":237},[216,4486,4487,4489,4491,4493,4496,4498],{"class":218,"line":287},[216,4488,389],{"class":244},[216,4490,204],{"class":237},[216,4492,250],{"class":237},[216,4494,4495],{"class":253},"shared-tool",[216,4497,257],{"class":237},[216,4499,260],{"class":237},[216,4501,4502,4504,4506,4508,4511,4513],{"class":218,"line":518},[216,4503,644],{"class":244},[216,4505,204],{"class":237},[216,4507,250],{"class":237},[216,4509,4510],{"class":253},"A shared tool",[216,4512,257],{"class":237},[216,4514,260],{"class":237},[216,4516,4517,4519,4521],{"class":218,"line":641},[216,4518,661],{"class":244},[216,4520,204],{"class":237},[216,4522,666],{"class":237},[216,4524,4525,4528,4530,4532,4534,4536,4538],{"class":218,"line":658},[216,4526,4527],{"class":244},"    input",[216,4529,204],{"class":237},[216,4531,547],{"class":233},[216,4533,362],{"class":237},[216,4535,681],{"class":229},[216,4537,684],{"class":233},[216,4539,260],{"class":237},[216,4541,4542],{"class":218,"line":669},[216,4543,708],{"class":237},[216,4545,4546,4548,4550,4552,4554,4557,4559,4561],{"class":218,"line":705},[216,4547,714],{"class":229},[216,4549,204],{"class":237},[216,4551,719],{"class":594},[216,4553,722],{"class":237},[216,4555,4556],{"class":725}," input",[216,4558,729],{"class":237},[216,4560,732],{"class":594},[216,4562,666],{"class":237},[216,4564,4565,4567],{"class":218,"line":711},[216,4566,784],{"class":222},[216,4568,666],{"class":237},[216,4570,4571,4573,4575,4577],{"class":218,"line":737},[216,4572,792],{"class":244},[216,4574,204],{"class":237},[216,4576,797],{"class":244},[216,4578,238],{"class":237},[216,4580,4581,4583,4585,4587,4589,4591],{"class":218,"line":781},[216,4582,805],{"class":244},[216,4584,204],{"class":237},[216,4586,250],{"class":237},[216,4588,812],{"class":253},[216,4590,257],{"class":237},[216,4592,260],{"class":237},[216,4594,4595,4597,4599,4601,4604,4606,4609,4611],{"class":218,"line":789},[216,4596,822],{"class":244},[216,4598,204],{"class":237},[216,4600,2835],{"class":237},[216,4602,4603],{"class":253},"Shared: ",[216,4605,2841],{"class":237},[216,4607,4608],{"class":233},"input",[216,4610,2851],{"class":237},[216,4612,260],{"class":237},[216,4614,4615,4617,4619],{"class":218,"line":802},[216,4616,834],{"class":237},[216,4618,837],{"class":244},[216,4620,260],{"class":237},[216,4622,4623],{"class":218,"line":819},[216,4624,845],{"class":237},[216,4626,4627],{"class":218,"line":831},[216,4628,708],{"class":237},[216,4630,4631,4633],{"class":218,"line":842},[216,4632,290],{"class":237},[216,4634,293],{"class":233},[206,4636,4639],{"className":208,"code":4637,"filename":4638,"language":211,"meta":212,"style":212},"import { sharedTool } from '.\u002Fshared-tools'\nimport { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'handler1',\n  tools: [sharedTool],\n})\n","server\u002Fmcp\u002Fhandler1.ts",[182,4640,4641,4661,4681,4685,4697,4712,4723],{"__ignoreMap":212},[216,4642,4643,4645,4647,4650,4652,4654,4656,4659],{"class":218,"line":219},[216,4644,449],{"class":222},[216,4646,452],{"class":237},[216,4648,4649],{"class":233}," sharedTool",[216,4651,464],{"class":237},[216,4653,467],{"class":222},[216,4655,250],{"class":237},[216,4657,4658],{"class":253},".\u002Fshared-tools",[216,4660,475],{"class":237},[216,4662,4663,4665,4667,4669,4671,4673,4675,4677,4679],{"class":218,"line":241},[216,4664,449],{"class":222},[216,4666,452],{"class":237},[216,4668,230],{"class":233},[216,4670,464],{"class":237},[216,4672,467],{"class":222},[216,4674,250],{"class":237},[216,4676,580],{"class":253},[216,4678,257],{"class":237},[216,4680,585],{"class":283},[216,4682,4683],{"class":218,"line":263},[216,4684,481],{"emptyLinePlaceholder":480},[216,4686,4687,4689,4691,4693,4695],{"class":218,"line":280},[216,4688,223],{"class":222},[216,4690,226],{"class":222},[216,4692,230],{"class":229},[216,4694,234],{"class":233},[216,4696,238],{"class":237},[216,4698,4699,4701,4703,4705,4708,4710],{"class":218,"line":287},[216,4700,389],{"class":244},[216,4702,204],{"class":237},[216,4704,250],{"class":237},[216,4706,4707],{"class":253},"handler1",[216,4709,257],{"class":237},[216,4711,260],{"class":237},[216,4713,4714,4716,4718,4721],{"class":218,"line":518},[216,4715,503],{"class":244},[216,4717,204],{"class":237},[216,4719,4720],{"class":233}," [sharedTool]",[216,4722,260],{"class":237},[216,4724,4725,4727],{"class":218,"line":641},[216,4726,290],{"class":237},[216,4728,293],{"class":233},[206,4730,4733],{"className":208,"code":4731,"filename":4732,"language":211,"meta":212,"style":212},"import { sharedTool } from '.\u002Fshared-tools'\nimport { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpHandler({\n  name: 'handler2',\n  tools: [sharedTool],\n})\n","server\u002Fmcp\u002Fhandler2.ts",[182,4734,4735,4753,4773,4777,4789,4804,4814],{"__ignoreMap":212},[216,4736,4737,4739,4741,4743,4745,4747,4749,4751],{"class":218,"line":219},[216,4738,449],{"class":222},[216,4740,452],{"class":237},[216,4742,4649],{"class":233},[216,4744,464],{"class":237},[216,4746,467],{"class":222},[216,4748,250],{"class":237},[216,4750,4658],{"class":253},[216,4752,475],{"class":237},[216,4754,4755,4757,4759,4761,4763,4765,4767,4769,4771],{"class":218,"line":241},[216,4756,449],{"class":222},[216,4758,452],{"class":237},[216,4760,230],{"class":233},[216,4762,464],{"class":237},[216,4764,467],{"class":222},[216,4766,250],{"class":237},[216,4768,580],{"class":253},[216,4770,257],{"class":237},[216,4772,585],{"class":283},[216,4774,4775],{"class":218,"line":263},[216,4776,481],{"emptyLinePlaceholder":480},[216,4778,4779,4781,4783,4785,4787],{"class":218,"line":280},[216,4780,223],{"class":222},[216,4782,226],{"class":222},[216,4784,230],{"class":229},[216,4786,234],{"class":233},[216,4788,238],{"class":237},[216,4790,4791,4793,4795,4797,4800,4802],{"class":218,"line":287},[216,4792,389],{"class":244},[216,4794,204],{"class":237},[216,4796,250],{"class":237},[216,4798,4799],{"class":253},"handler2",[216,4801,257],{"class":237},[216,4803,260],{"class":237},[216,4805,4806,4808,4810,4812],{"class":218,"line":518},[216,4807,503],{"class":244},[216,4809,204],{"class":237},[216,4811,4720],{"class":233},[216,4813,260],{"class":237},[216,4815,4816,4818],{"class":218,"line":641},[216,4817,290],{"class":237},[216,4819,293],{"class":233},[145,4821,4823],{"id":4822},"file-organization","File Organization",[150,4825,4826,4827,4829],{},"Organize handlers in your ",[182,4828,188],{}," directory:",[206,4831,4834],{"className":4832,"code":4833,"language":812},[2220],"server\u002F\n└── mcp\u002F\n    ├── index.ts              # Default handler override (optional)\n    ├── migration.ts          # Custom handler\n    ├── api-handler.ts        # Custom handler\n    ├── admin.ts              # Custom handler\n    ├── shared-tools.ts       # Shared tool definitions\n    ├── tools\u002F\n    │   └── # Tools for default handler\n    ├── resources\u002F\n    │   └── # Resources for default handler\n    └── prompts\u002F\n        └── # Prompts for default handler\n",[182,4835,4833],{"__ignoreMap":212},[342,4837,346,4838,4840],{"color":1729,"icon":129},[182,4839,200],{}," file is special - it overrides the default handler configuration instead of creating a new custom handler.",[145,4842,4844],{"id":4843},"best-practices","Best Practices",[4846,4847,4848,4854,4860,4866,4872],"ol",{},[165,4849,4850,4853],{},[154,4851,4852],{},"Use descriptive names",": Make handler names clear and specific",[165,4855,4856,4859],{},[154,4857,4858],{},"Group related functionality",": Put related tools\u002Fresources together",[165,4861,4862,4865],{},[154,4863,4864],{},"Version your handlers",": Use semantic versioning for handler versions",[165,4867,4868,4871],{},[154,4869,4870],{},"Document your handlers",": Add comments explaining what each handler does",[165,4873,4874,4877],{},[154,4875,4876],{},"Keep handlers focused",": Each handler should have a clear, single purpose",[145,4879,4881],{"id":4880},"next-steps","Next Steps",[162,4883,4884,4889,4894,4899,4904,4909],{},[165,4885,4886,4888],{},[337,4887,106],{"href":107}," - Orchestrate tools with LLM-generated JavaScript",[165,4890,4891,4893],{},[337,4892,76],{"href":77}," - Add authentication and logging",[165,4895,4896,4898],{},[337,4897,101],{"href":102}," - Conditionally register definitions",[165,4900,4901,4903],{},[337,4902,20],{"href":21}," - Configure the default handler",[165,4905,4906,4908],{},[337,4907,46],{"href":47}," - Create tools for your handlers",[165,4910,4911,4913],{},[337,4912,111],{"href":127}," - See more handler examples",[4915,4916,4917],"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 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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":212,"searchDepth":241,"depth":241,"links":4919},[4920,4921,4924,4925,4926,4944,4945,4946,4947,4948,4953,4954,4955,4956],{"id":147,"depth":241,"text":148},{"id":176,"depth":241,"text":177,"children":4922},[4923],{"id":193,"depth":263,"text":194},{"id":525,"depth":241,"text":526},{"id":961,"depth":241,"text":962},{"id":1254,"depth":241,"text":1255,"children":4927},[4928,4930,4932,4934,4936,4938,4940,4942],{"id":1258,"depth":263,"text":4929},"name (required)",{"id":1337,"depth":263,"text":4931},"version (optional)",{"id":1421,"depth":263,"text":4933},"route (optional)",{"id":1526,"depth":263,"text":4935},"browserRedirect (optional)",{"id":1612,"depth":263,"text":4937},"middleware (optional)",{"id":1737,"depth":263,"text":4939},"experimental_codeMode (optional)",{"id":1855,"depth":263,"text":4941},"tools (optional)",{"id":2226,"depth":263,"text":4943},"prompts (optional)",{"id":2362,"depth":241,"text":2363},{"id":3439,"depth":241,"text":3440},{"id":3605,"depth":241,"text":3606},{"id":3730,"depth":241,"text":3731},{"id":3848,"depth":241,"text":3849,"children":4949},[4950,4951,4952],{"id":3852,"depth":263,"text":3853},{"id":4025,"depth":263,"text":4026},{"id":4244,"depth":263,"text":4245},{"id":4414,"depth":241,"text":4415},{"id":4822,"depth":241,"text":4823},{"id":4843,"depth":241,"text":4844},{"id":4880,"depth":241,"text":4881},"Create custom MCP endpoints with their own tools, resources, and prompts.","md",null,{},{"icon":64},{"title":61,"description":4963},"Create custom MCP endpoints with defineMcpHandler for multiple MCP servers in one application.","Hv8Y9AEGEE_aRHlwMu4BV6DeYWCxmZ4IH_O5dZyQAdo",[4966,4968],{"title":56,"path":57,"stem":58,"description":4967,"icon":59,"children":-1},"Create reusable prompts for AI assistants with optional arguments.",{"title":71,"path":72,"stem":73,"description":4969,"icon":74,"children":-1},"Customize where the module looks for MCP definitions.",1773932610219]