[{"data":1,"prerenderedAt":1450},["ShallowReactive",2],{"navigation_docs":3,"-advanced-custom-paths":127,"-advanced-custom-paths-surround":1445},[4,40,68,98],{"title":5,"path":6,"stem":7,"children":8,"page":39},"Getting Started","/getting-started","1.getting-started",[9,14,19,24,29,34],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","/getting-started/introduction","1.getting-started/1.introduction","i-lucide-book-open",{"title":15,"path":16,"stem":17,"icon":18},"Installation","/getting-started/installation","1.getting-started/2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Configuration","/getting-started/configuration","1.getting-started/3.configuration","i-lucide-settings",{"title":25,"path":26,"stem":27,"icon":28},"MCP Inspector","/getting-started/inspector","1.getting-started/4.inspector","i-lucide-circuit-board",{"title":30,"path":31,"stem":32,"icon":33},"Connection","/getting-started/connection","1.getting-started/5.connection","i-lucide-plug",{"title":35,"path":36,"stem":37,"icon":38},"Agent Skills","/getting-started/agent-skills","1.getting-started/6.agent-skills","i-lucide-sparkles",false,{"title":41,"path":42,"stem":43,"children":44,"page":39},"Core Concepts","/core-concepts","2.core-concepts",[45,48,53,58,63],{"title":20,"path":46,"stem":47,"icon":23},"/core-concepts/configuration","2.core-concepts/1.configuration",{"title":49,"path":50,"stem":51,"icon":52},"Tools","/core-concepts/tools","2.core-concepts/2.tools","i-lucide-wrench",{"title":54,"path":55,"stem":56,"icon":57},"Resources","/core-concepts/resources","2.core-concepts/3.resources","i-lucide-package",{"title":59,"path":60,"stem":61,"icon":62},"Prompts","/core-concepts/prompts","2.core-concepts/4.prompts","i-lucide-message-square",{"title":64,"path":65,"stem":66,"icon":67},"Handlers","/core-concepts/handlers","2.core-concepts/5.handlers","i-lucide-server",{"title":69,"path":70,"stem":71,"children":72,"page":39},"Advanced Topics","/advanced","3.advanced",[73,78,83,88,93],{"title":74,"path":75,"stem":76,"icon":77},"Custom Paths","/advanced/custom-paths","3.advanced/1.custom-paths","i-lucide-folder",{"title":79,"path":80,"stem":81,"icon":82},"Middleware","/advanced/middleware","3.advanced/2.middleware","i-lucide-shield",{"title":84,"path":85,"stem":86,"icon":87},"TypeScript","/advanced/typescript","3.advanced/3.typescript","i-lucide-type",{"title":89,"path":90,"stem":91,"icon":92},"Hooks","/advanced/hooks","3.advanced/4.hooks","i-lucide-webhook",{"title":94,"path":95,"stem":96,"icon":97},"MCP Evals","/advanced/evals","3.advanced/5.evals","i-lucide-flask-conical",{"title":99,"path":100,"stem":101,"children":102,"page":39},"Examples","/examples","4.examples",[103,108,113,118,123],{"title":104,"path":105,"stem":106,"icon":107},"Authentication","/examples/authentication","4.examples/1.authentication","i-lucide-shield-check",{"title":109,"path":110,"stem":111,"icon":112},"API Integration","/examples/api-integration","4.examples/2.api-integration","i-lucide-globe",{"title":114,"path":115,"stem":116,"icon":117},"Common Patterns","/examples/common-patterns","4.examples/3.common-patterns","i-lucide-lightbulb",{"title":119,"path":120,"stem":121,"icon":122},"File Operations","/examples/file-operations","4.examples/4.file-operations","i-lucide-file",{"title":124,"path":125,"stem":126,"icon":62},"Prompt Examples","/examples/prompt-examples","4.examples/5.prompt-examples",{"id":128,"title":74,"body":129,"description":1437,"extension":1438,"links":1439,"meta":1440,"navigation":1441,"path":75,"seo":1442,"stem":76,"__hash__":1444},"docs/3.advanced/1.custom-paths.md",{"type":130,"value":131,"toc":1422},"minimark",[132,137,141,152,156,163,272,275,281,285,292,297,485,489,663,667,673,749,756,760,763,769,772,919,923,926,1113,1116,1146,1150,1153,1276,1280,1283,1294,1359,1363,1396,1400,1418],[133,134,136],"h2",{"id":135},"default-path-structure","Default Path Structure",[138,139,140],"p",{},"By default, the module looks for definitions in:",[142,143,148],"pre",{"className":144,"code":146,"language":147},[145],"language-text","server/\n└── mcp/\n    ├── tools/\n    │   └── # Tool definitions\n    ├── resources/\n    │   └── # Resource definitions\n    └── prompts/\n        └── # Prompt definitions\n","text",[149,150,146],"code",{"__ignoreMap":151},"",[133,153,155],{"id":154},"changing-the-base-directory","Changing the Base Directory",[138,157,158,159,162],{},"Change the base directory using the ",[149,160,161],{},"dir"," configuration option:",[142,164,169],{"className":165,"code":166,"filename":167,"language":168,"meta":151,"style":151},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['@nuxtjs/mcp-toolkit'],\n  mcp: {\n    dir: 'my-mcp', // Look in server/my-mcp/ instead of server/mcp/\n  },\n})\n","nuxt.config.ts","typescript",[149,170,171,195,223,234,257,263],{"__ignoreMap":151},[172,173,176,180,183,187,191],"span",{"class":174,"line":175},"line",1,[172,177,179],{"class":178},"s7zQu","export",[172,181,182],{"class":178}," default",[172,184,186],{"class":185},"s2Zo4"," defineNuxtConfig",[172,188,190],{"class":189},"sTEyZ","(",[172,192,194],{"class":193},"sMK4o","{\n",[172,196,198,202,205,208,211,215,217,220],{"class":174,"line":197},2,[172,199,201],{"class":200},"swJcz","  modules",[172,203,204],{"class":193},":",[172,206,207],{"class":189}," [",[172,209,210],{"class":193},"'",[172,212,214],{"class":213},"sfazB","@nuxtjs/mcp-toolkit",[172,216,210],{"class":193},[172,218,219],{"class":189},"]",[172,221,222],{"class":193},",\n",[172,224,226,229,231],{"class":174,"line":225},3,[172,227,228],{"class":200},"  mcp",[172,230,204],{"class":193},[172,232,233],{"class":193}," {\n",[172,235,237,240,242,245,248,250,253],{"class":174,"line":236},4,[172,238,239],{"class":200},"    dir",[172,241,204],{"class":193},[172,243,244],{"class":193}," '",[172,246,247],{"class":213},"my-mcp",[172,249,210],{"class":193},[172,251,252],{"class":193},",",[172,254,256],{"class":255},"sHwdD"," // Look in server/my-mcp/ instead of server/mcp/\n",[172,258,260],{"class":174,"line":259},5,[172,261,262],{"class":193},"  },\n",[172,264,266,269],{"class":174,"line":265},6,[172,267,268],{"class":193},"}",[172,270,271],{"class":189},")\n",[138,273,274],{},"This will look for definitions in:",[142,276,279],{"className":277,"code":278,"language":147},[145],"server/\n└── my-mcp/\n    ├── tools/\n    │   └── # Tool definitions\n    ├── resources/\n    │   └── # Resource definitions\n    └── prompts/\n        └── # Prompt definitions\n",[149,280,278],{"__ignoreMap":151},[133,282,284],{"id":283},"extending-paths-with-hooks","Extending Paths with Hooks",[138,286,287,288,291],{},"For more advanced use cases, use the ",[149,289,290],{},"mcp:definitions:paths"," hook to add additional directories to scan. This is useful when you want to share definitions across multiple modules or layers.",[293,294,296],"h3",{"id":295},"using-the-hook-in-nuxtconfigts","Using the Hook in nuxt.config.ts",[142,298,300],{"className":165,"code":299,"filename":167,"language":168,"meta":151,"style":151},"export default defineNuxtConfig({\n  modules: ['@nuxtjs/mcp-toolkit'],\n  hooks: {\n    'mcp:definitions:paths'(paths) {\n      // Add additional paths for tools\n      paths.tools.push('shared/tools')\n\n      // Add additional paths for resources\n      paths.resources.push('shared/resources')\n\n      // Add additional paths for prompts\n      paths.prompts.push('shared/prompts')\n    },\n  },\n})\n",[149,301,302,314,332,341,361,366,393,400,406,431,436,442,467,473,478],{"__ignoreMap":151},[172,303,304,306,308,310,312],{"class":174,"line":175},[172,305,179],{"class":178},[172,307,182],{"class":178},[172,309,186],{"class":185},[172,311,190],{"class":189},[172,313,194],{"class":193},[172,315,316,318,320,322,324,326,328,330],{"class":174,"line":197},[172,317,201],{"class":200},[172,319,204],{"class":193},[172,321,207],{"class":189},[172,323,210],{"class":193},[172,325,214],{"class":213},[172,327,210],{"class":193},[172,329,219],{"class":189},[172,331,222],{"class":193},[172,333,334,337,339],{"class":174,"line":225},[172,335,336],{"class":200},"  hooks",[172,338,204],{"class":193},[172,340,233],{"class":193},[172,342,343,346,348,350,352,356,359],{"class":174,"line":236},[172,344,345],{"class":193},"    '",[172,347,290],{"class":213},[172,349,210],{"class":193},[172,351,190],{"class":193},[172,353,355],{"class":354},"sHdIc","paths",[172,357,358],{"class":193},")",[172,360,233],{"class":193},[172,362,363],{"class":174,"line":259},[172,364,365],{"class":255},"      // Add additional paths for tools\n",[172,367,368,371,374,377,379,382,384,386,389,391],{"class":174,"line":265},[172,369,370],{"class":189},"      paths",[172,372,373],{"class":193},".",[172,375,376],{"class":189},"tools",[172,378,373],{"class":193},[172,380,381],{"class":185},"push",[172,383,190],{"class":200},[172,385,210],{"class":193},[172,387,388],{"class":213},"shared/tools",[172,390,210],{"class":193},[172,392,271],{"class":200},[172,394,396],{"class":174,"line":395},7,[172,397,399],{"emptyLinePlaceholder":398},true,"\n",[172,401,403],{"class":174,"line":402},8,[172,404,405],{"class":255},"      // Add additional paths for resources\n",[172,407,409,411,413,416,418,420,422,424,427,429],{"class":174,"line":408},9,[172,410,370],{"class":189},[172,412,373],{"class":193},[172,414,415],{"class":189},"resources",[172,417,373],{"class":193},[172,419,381],{"class":185},[172,421,190],{"class":200},[172,423,210],{"class":193},[172,425,426],{"class":213},"shared/resources",[172,428,210],{"class":193},[172,430,271],{"class":200},[172,432,434],{"class":174,"line":433},10,[172,435,399],{"emptyLinePlaceholder":398},[172,437,439],{"class":174,"line":438},11,[172,440,441],{"class":255},"      // Add additional paths for prompts\n",[172,443,445,447,449,452,454,456,458,460,463,465],{"class":174,"line":444},12,[172,446,370],{"class":189},[172,448,373],{"class":193},[172,450,451],{"class":189},"prompts",[172,453,373],{"class":193},[172,455,381],{"class":185},[172,457,190],{"class":200},[172,459,210],{"class":193},[172,461,462],{"class":213},"shared/prompts",[172,464,210],{"class":193},[172,466,271],{"class":200},[172,468,470],{"class":174,"line":469},13,[172,471,472],{"class":193},"    },\n",[172,474,476],{"class":174,"line":475},14,[172,477,262],{"class":193},[172,479,481,483],{"class":174,"line":480},15,[172,482,268],{"class":193},[172,484,271],{"class":189},[293,486,488],{"id":487},"using-the-hook-in-a-custom-module","Using the Hook in a Custom Module",[142,490,493],{"className":165,"code":491,"filename":492,"language":168,"meta":151,"style":151},"export default defineNuxtModule({\n  setup(options, nuxt) {\n    nuxt.hook('mcp:definitions:paths', (paths) => {\n      // Add additional paths for tools\n      paths.tools.push('shared/tools')\n\n      // Add additional paths for resources\n      paths.resources.push('shared/resources')\n\n      // Add additional paths for prompts\n      paths.prompts.push('shared/prompts')\n    })\n  },\n})\n","my-module.ts",[149,494,495,508,527,560,564,586,590,594,616,620,624,646,653,657],{"__ignoreMap":151},[172,496,497,499,501,504,506],{"class":174,"line":175},[172,498,179],{"class":178},[172,500,182],{"class":178},[172,502,503],{"class":185}," defineNuxtModule",[172,505,190],{"class":189},[172,507,194],{"class":193},[172,509,510,513,515,518,520,523,525],{"class":174,"line":197},[172,511,512],{"class":200},"  setup",[172,514,190],{"class":193},[172,516,517],{"class":354},"options",[172,519,252],{"class":193},[172,521,522],{"class":354}," nuxt",[172,524,358],{"class":193},[172,526,233],{"class":193},[172,528,529,532,534,537,539,541,543,545,547,550,552,554,558],{"class":174,"line":225},[172,530,531],{"class":189},"    nuxt",[172,533,373],{"class":193},[172,535,536],{"class":185},"hook",[172,538,190],{"class":200},[172,540,210],{"class":193},[172,542,290],{"class":213},[172,544,210],{"class":193},[172,546,252],{"class":193},[172,548,549],{"class":193}," (",[172,551,355],{"class":354},[172,553,358],{"class":193},[172,555,557],{"class":556},"spNyl"," =>",[172,559,233],{"class":193},[172,561,562],{"class":174,"line":236},[172,563,365],{"class":255},[172,565,566,568,570,572,574,576,578,580,582,584],{"class":174,"line":259},[172,567,370],{"class":189},[172,569,373],{"class":193},[172,571,376],{"class":189},[172,573,373],{"class":193},[172,575,381],{"class":185},[172,577,190],{"class":200},[172,579,210],{"class":193},[172,581,388],{"class":213},[172,583,210],{"class":193},[172,585,271],{"class":200},[172,587,588],{"class":174,"line":265},[172,589,399],{"emptyLinePlaceholder":398},[172,591,592],{"class":174,"line":395},[172,593,405],{"class":255},[172,595,596,598,600,602,604,606,608,610,612,614],{"class":174,"line":402},[172,597,370],{"class":189},[172,599,373],{"class":193},[172,601,415],{"class":189},[172,603,373],{"class":193},[172,605,381],{"class":185},[172,607,190],{"class":200},[172,609,210],{"class":193},[172,611,426],{"class":213},[172,613,210],{"class":193},[172,615,271],{"class":200},[172,617,618],{"class":174,"line":408},[172,619,399],{"emptyLinePlaceholder":398},[172,621,622],{"class":174,"line":433},[172,623,441],{"class":255},[172,625,626,628,630,632,634,636,638,640,642,644],{"class":174,"line":438},[172,627,370],{"class":189},[172,629,373],{"class":193},[172,631,451],{"class":189},[172,633,373],{"class":193},[172,635,381],{"class":185},[172,637,190],{"class":200},[172,639,210],{"class":193},[172,641,462],{"class":213},[172,643,210],{"class":193},[172,645,271],{"class":200},[172,647,648,651],{"class":174,"line":444},[172,649,650],{"class":193},"    }",[172,652,271],{"class":200},[172,654,655],{"class":174,"line":469},[172,656,262],{"class":193},[172,658,659,661],{"class":174,"line":475},[172,660,268],{"class":193},[172,662,271],{"class":189},[133,664,666],{"id":665},"path-structure","Path Structure",[138,668,669,670,672],{},"The ",[149,671,355],{}," object has the following structure:",[142,674,676],{"className":165,"code":675,"language":168,"meta":151,"style":151},"{\n  tools: string[]      // Array of tool directory paths\n  resources: string[]  // Array of resource directory paths\n  prompts: string[]    // Array of prompt directory paths\n  handlers: string[]   // Array of handler directory paths\n}\n",[149,677,678,682,699,714,729,744],{"__ignoreMap":151},[172,679,680],{"class":174,"line":175},[172,681,194],{"class":193},[172,683,684,688,690,693,696],{"class":174,"line":197},[172,685,687],{"class":686},"sBMFI","  tools",[172,689,204],{"class":193},[172,691,692],{"class":189}," string",[172,694,695],{"class":200},"[]      ",[172,697,698],{"class":255},"// Array of tool directory paths\n",[172,700,701,704,706,708,711],{"class":174,"line":225},[172,702,703],{"class":686},"  resources",[172,705,204],{"class":193},[172,707,692],{"class":189},[172,709,710],{"class":200},"[]  ",[172,712,713],{"class":255},"// Array of resource directory paths\n",[172,715,716,719,721,723,726],{"class":174,"line":236},[172,717,718],{"class":686},"  prompts",[172,720,204],{"class":193},[172,722,692],{"class":189},[172,724,725],{"class":200},"[]    ",[172,727,728],{"class":255},"// Array of prompt directory paths\n",[172,730,731,734,736,738,741],{"class":174,"line":259},[172,732,733],{"class":686},"  handlers",[172,735,204],{"class":193},[172,737,692],{"class":189},[172,739,740],{"class":200},"[]   ",[172,742,743],{"class":255},"// Array of handler directory paths\n",[172,745,746],{"class":174,"line":265},[172,747,748],{"class":193},"}\n",[138,750,751,752,755],{},"All paths are relative to the ",[149,753,754],{},"server/"," directory of each Nuxt layer.",[133,757,759],{"id":758},"example-shared-definitions","Example: Shared Definitions",[138,761,762],{},"Share definitions across multiple Nuxt layers:",[142,764,767],{"className":765,"code":766,"language":147},[145],"project/\n├── shared/\n│   ├── tools/\n│   │   └── common-tool.ts\n│   └── resources/\n│       └── common-resource.ts\n└── apps/\n    ├── web/\n    │   └── server/\n    │       └── mcp/\n    │           └── tools/\n    │               └── web-tool.ts\n    └── api/\n        └── server/\n            └── mcp/\n                └── tools/\n                    └── api-tool.ts\n",[149,768,766],{"__ignoreMap":151},[138,770,771],{},"Configure the hook to include shared definitions:",[142,773,775],{"className":165,"code":774,"filename":167,"language":168,"meta":151,"style":151},"export default defineNuxtConfig({\n  modules: ['@nuxtjs/mcp-toolkit'],\n  hooks: {\n    'mcp:definitions:paths'(paths) {\n      // Include shared tools from project root\n      paths.tools.push('../../shared/tools')\n      paths.resources.push('../../shared/resources')\n      paths.prompts.push('../../shared/prompts')\n    },\n  },\n})\n",[149,776,777,789,807,815,831,836,859,882,905,909,913],{"__ignoreMap":151},[172,778,779,781,783,785,787],{"class":174,"line":175},[172,780,179],{"class":178},[172,782,182],{"class":178},[172,784,186],{"class":185},[172,786,190],{"class":189},[172,788,194],{"class":193},[172,790,791,793,795,797,799,801,803,805],{"class":174,"line":197},[172,792,201],{"class":200},[172,794,204],{"class":193},[172,796,207],{"class":189},[172,798,210],{"class":193},[172,800,214],{"class":213},[172,802,210],{"class":193},[172,804,219],{"class":189},[172,806,222],{"class":193},[172,808,809,811,813],{"class":174,"line":225},[172,810,336],{"class":200},[172,812,204],{"class":193},[172,814,233],{"class":193},[172,816,817,819,821,823,825,827,829],{"class":174,"line":236},[172,818,345],{"class":193},[172,820,290],{"class":213},[172,822,210],{"class":193},[172,824,190],{"class":193},[172,826,355],{"class":354},[172,828,358],{"class":193},[172,830,233],{"class":193},[172,832,833],{"class":174,"line":259},[172,834,835],{"class":255},"      // Include shared tools from project root\n",[172,837,838,840,842,844,846,848,850,852,855,857],{"class":174,"line":265},[172,839,370],{"class":189},[172,841,373],{"class":193},[172,843,376],{"class":189},[172,845,373],{"class":193},[172,847,381],{"class":185},[172,849,190],{"class":200},[172,851,210],{"class":193},[172,853,854],{"class":213},"../../shared/tools",[172,856,210],{"class":193},[172,858,271],{"class":200},[172,860,861,863,865,867,869,871,873,875,878,880],{"class":174,"line":395},[172,862,370],{"class":189},[172,864,373],{"class":193},[172,866,415],{"class":189},[172,868,373],{"class":193},[172,870,381],{"class":185},[172,872,190],{"class":200},[172,874,210],{"class":193},[172,876,877],{"class":213},"../../shared/resources",[172,879,210],{"class":193},[172,881,271],{"class":200},[172,883,884,886,888,890,892,894,896,898,901,903],{"class":174,"line":402},[172,885,370],{"class":189},[172,887,373],{"class":193},[172,889,451],{"class":189},[172,891,373],{"class":193},[172,893,381],{"class":185},[172,895,190],{"class":200},[172,897,210],{"class":193},[172,899,900],{"class":213},"../../shared/prompts",[172,902,210],{"class":193},[172,904,271],{"class":200},[172,906,907],{"class":174,"line":408},[172,908,472],{"class":193},[172,910,911],{"class":174,"line":433},[172,912,262],{"class":193},[172,914,915,917],{"class":174,"line":438},[172,916,268],{"class":193},[172,918,271],{"class":189},[133,920,922],{"id":921},"example-multiple-source-directories","Example: Multiple Source Directories",[138,924,925],{},"Scan multiple directories for definitions:",[142,927,929],{"className":165,"code":928,"filename":167,"language":168,"meta":151,"style":151},"export default defineNuxtConfig({\n  modules: ['@nuxtjs/mcp-toolkit'],\n  mcp: {\n    dir: 'mcp', // Default directory\n  },\n  hooks: {\n    'mcp:definitions:paths'(paths) {\n      // Add additional tool directories\n      paths.tools.push('legacy-tools')\n      paths.tools.push('new-tools')\n\n      // Add additional resource directories\n      paths.resources.push('external-resources')\n    },\n  },\n})\n",[149,930,931,943,961,969,987,991,999,1015,1020,1043,1066,1070,1075,1098,1102,1106],{"__ignoreMap":151},[172,932,933,935,937,939,941],{"class":174,"line":175},[172,934,179],{"class":178},[172,936,182],{"class":178},[172,938,186],{"class":185},[172,940,190],{"class":189},[172,942,194],{"class":193},[172,944,945,947,949,951,953,955,957,959],{"class":174,"line":197},[172,946,201],{"class":200},[172,948,204],{"class":193},[172,950,207],{"class":189},[172,952,210],{"class":193},[172,954,214],{"class":213},[172,956,210],{"class":193},[172,958,219],{"class":189},[172,960,222],{"class":193},[172,962,963,965,967],{"class":174,"line":225},[172,964,228],{"class":200},[172,966,204],{"class":193},[172,968,233],{"class":193},[172,970,971,973,975,977,980,982,984],{"class":174,"line":236},[172,972,239],{"class":200},[172,974,204],{"class":193},[172,976,244],{"class":193},[172,978,979],{"class":213},"mcp",[172,981,210],{"class":193},[172,983,252],{"class":193},[172,985,986],{"class":255}," // Default directory\n",[172,988,989],{"class":174,"line":259},[172,990,262],{"class":193},[172,992,993,995,997],{"class":174,"line":265},[172,994,336],{"class":200},[172,996,204],{"class":193},[172,998,233],{"class":193},[172,1000,1001,1003,1005,1007,1009,1011,1013],{"class":174,"line":395},[172,1002,345],{"class":193},[172,1004,290],{"class":213},[172,1006,210],{"class":193},[172,1008,190],{"class":193},[172,1010,355],{"class":354},[172,1012,358],{"class":193},[172,1014,233],{"class":193},[172,1016,1017],{"class":174,"line":402},[172,1018,1019],{"class":255},"      // Add additional tool directories\n",[172,1021,1022,1024,1026,1028,1030,1032,1034,1036,1039,1041],{"class":174,"line":408},[172,1023,370],{"class":189},[172,1025,373],{"class":193},[172,1027,376],{"class":189},[172,1029,373],{"class":193},[172,1031,381],{"class":185},[172,1033,190],{"class":200},[172,1035,210],{"class":193},[172,1037,1038],{"class":213},"legacy-tools",[172,1040,210],{"class":193},[172,1042,271],{"class":200},[172,1044,1045,1047,1049,1051,1053,1055,1057,1059,1062,1064],{"class":174,"line":433},[172,1046,370],{"class":189},[172,1048,373],{"class":193},[172,1050,376],{"class":189},[172,1052,373],{"class":193},[172,1054,381],{"class":185},[172,1056,190],{"class":200},[172,1058,210],{"class":193},[172,1060,1061],{"class":213},"new-tools",[172,1063,210],{"class":193},[172,1065,271],{"class":200},[172,1067,1068],{"class":174,"line":438},[172,1069,399],{"emptyLinePlaceholder":398},[172,1071,1072],{"class":174,"line":444},[172,1073,1074],{"class":255},"      // Add additional resource directories\n",[172,1076,1077,1079,1081,1083,1085,1087,1089,1091,1094,1096],{"class":174,"line":469},[172,1078,370],{"class":189},[172,1080,373],{"class":193},[172,1082,415],{"class":189},[172,1084,373],{"class":193},[172,1086,381],{"class":185},[172,1088,190],{"class":200},[172,1090,210],{"class":193},[172,1092,1093],{"class":213},"external-resources",[172,1095,210],{"class":193},[172,1097,271],{"class":200},[172,1099,1100],{"class":174,"line":475},[172,1101,472],{"class":193},[172,1103,1104],{"class":174,"line":480},[172,1105,262],{"class":193},[172,1107,1109,1111],{"class":174,"line":1108},16,[172,1110,268],{"class":193},[172,1112,271],{"class":189},[138,1114,1115],{},"This will scan:",[1117,1118,1119,1126,1131,1136,1141],"ul",{},[1120,1121,1122,1125],"li",{},[149,1123,1124],{},"server/mcp/tools/"," (default)",[1120,1127,1128],{},[149,1129,1130],{},"server/legacy-tools/",[1120,1132,1133],{},[149,1134,1135],{},"server/new-tools/",[1120,1137,1138,1125],{},[149,1139,1140],{},"server/mcp/resources/",[1120,1142,1143],{},[149,1144,1145],{},"server/external-resources/",[133,1147,1149],{"id":1148},"example-layer-specific-paths","Example: Layer-Specific Paths",[138,1151,1152],{},"In a Nuxt layer setup, configure paths per layer:",[142,1154,1157],{"className":165,"code":1155,"filename":1156,"language":168,"meta":151,"style":151},"export default defineNuxtConfig({\n  modules: ['@nuxtjs/mcp-toolkit'],\n  hooks: {\n    'mcp:definitions:paths'(paths) {\n      // Only include API-specific tools\n      paths.tools = ['api/tools']\n      paths.resources = ['api/resources']\n    },\n  },\n})\n","layers/api/nuxt.config.ts",[149,1158,1159,1171,1189,1197,1213,1218,1241,1262,1266,1270],{"__ignoreMap":151},[172,1160,1161,1163,1165,1167,1169],{"class":174,"line":175},[172,1162,179],{"class":178},[172,1164,182],{"class":178},[172,1166,186],{"class":185},[172,1168,190],{"class":189},[172,1170,194],{"class":193},[172,1172,1173,1175,1177,1179,1181,1183,1185,1187],{"class":174,"line":197},[172,1174,201],{"class":200},[172,1176,204],{"class":193},[172,1178,207],{"class":189},[172,1180,210],{"class":193},[172,1182,214],{"class":213},[172,1184,210],{"class":193},[172,1186,219],{"class":189},[172,1188,222],{"class":193},[172,1190,1191,1193,1195],{"class":174,"line":225},[172,1192,336],{"class":200},[172,1194,204],{"class":193},[172,1196,233],{"class":193},[172,1198,1199,1201,1203,1205,1207,1209,1211],{"class":174,"line":236},[172,1200,345],{"class":193},[172,1202,290],{"class":213},[172,1204,210],{"class":193},[172,1206,190],{"class":193},[172,1208,355],{"class":354},[172,1210,358],{"class":193},[172,1212,233],{"class":193},[172,1214,1215],{"class":174,"line":259},[172,1216,1217],{"class":255},"      // Only include API-specific tools\n",[172,1219,1220,1222,1224,1226,1229,1231,1233,1236,1238],{"class":174,"line":265},[172,1221,370],{"class":189},[172,1223,373],{"class":193},[172,1225,376],{"class":189},[172,1227,1228],{"class":193}," =",[172,1230,207],{"class":200},[172,1232,210],{"class":193},[172,1234,1235],{"class":213},"api/tools",[172,1237,210],{"class":193},[172,1239,1240],{"class":200},"]\n",[172,1242,1243,1245,1247,1249,1251,1253,1255,1258,1260],{"class":174,"line":395},[172,1244,370],{"class":189},[172,1246,373],{"class":193},[172,1248,415],{"class":189},[172,1250,1228],{"class":193},[172,1252,207],{"class":200},[172,1254,210],{"class":193},[172,1256,1257],{"class":213},"api/resources",[172,1259,210],{"class":193},[172,1261,1240],{"class":200},[172,1263,1264],{"class":174,"line":402},[172,1265,472],{"class":193},[172,1267,1268],{"class":174,"line":408},[172,1269,262],{"class":193},[172,1271,1272,1274],{"class":174,"line":433},[172,1273,268],{"class":193},[172,1275,271],{"class":189},[133,1277,1279],{"id":1278},"path-resolution","Path Resolution",[138,1281,1282],{},"Paths are resolved relative to:",[1284,1285,1286,1291],"ol",{},[1120,1287,669,1288,1290],{},[149,1289,754],{}," directory of the current Nuxt layer",[1120,1292,1293],{},"The project root (for absolute paths)",[142,1295,1297],{"className":165,"code":1296,"language":168,"meta":151,"style":151},"// Relative to server/\npaths.tools.push('custom/tools')\n\n// Absolute from project root\npaths.tools.push('/absolute/path/to/tools')\n",[149,1298,1299,1304,1327,1331,1336],{"__ignoreMap":151},[172,1300,1301],{"class":174,"line":175},[172,1302,1303],{"class":255},"// Relative to server/\n",[172,1305,1306,1308,1310,1312,1314,1316,1318,1320,1323,1325],{"class":174,"line":197},[172,1307,355],{"class":189},[172,1309,373],{"class":193},[172,1311,376],{"class":189},[172,1313,373],{"class":193},[172,1315,381],{"class":185},[172,1317,190],{"class":189},[172,1319,210],{"class":193},[172,1321,1322],{"class":213},"custom/tools",[172,1324,210],{"class":193},[172,1326,271],{"class":189},[172,1328,1329],{"class":174,"line":225},[172,1330,399],{"emptyLinePlaceholder":398},[172,1332,1333],{"class":174,"line":236},[172,1334,1335],{"class":255},"// Absolute from project root\n",[172,1337,1338,1340,1342,1344,1346,1348,1350,1352,1355,1357],{"class":174,"line":259},[172,1339,355],{"class":189},[172,1341,373],{"class":193},[172,1343,376],{"class":189},[172,1345,373],{"class":193},[172,1347,381],{"class":185},[172,1349,190],{"class":189},[172,1351,210],{"class":193},[172,1353,1354],{"class":213},"/absolute/path/to/tools",[172,1356,210],{"class":193},[172,1358,271],{"class":189},[133,1360,1362],{"id":1361},"best-practices","Best Practices",[1284,1364,1365,1372,1378,1384,1390],{},[1120,1366,1367,1371],{},[1368,1369,1370],"strong",{},"Use descriptive directory names",": Make it clear what each directory contains",[1120,1373,1374,1377],{},[1368,1375,1376],{},"Keep paths organized",": Group related definitions together",[1120,1379,1380,1383],{},[1368,1381,1382],{},"Document custom paths",": Add comments explaining why custom paths are used",[1120,1385,1386,1389],{},[1368,1387,1388],{},"Test path resolution",": Ensure paths resolve correctly in all environments",[1120,1391,1392,1395],{},[1368,1393,1394],{},"Consider layer structure",": Use layers for complex multi-app setups",[133,1397,1399],{"id":1398},"next-steps","Next Steps",[1117,1401,1402,1408,1413],{},[1120,1403,1404,1407],{},[1405,1406,64],"a",{"href":65}," - Create multiple MCP endpoints",[1120,1409,1410,1412],{},[1405,1411,89],{"href":90}," - Learn more about hooks",[1120,1414,1415,1417],{},[1405,1416,20],{"href":21}," - Configure the module",[1419,1420,1421],"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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":151,"searchDepth":197,"depth":197,"links":1423},[1424,1425,1426,1430,1431,1432,1433,1434,1435,1436],{"id":135,"depth":197,"text":136},{"id":154,"depth":197,"text":155},{"id":283,"depth":197,"text":284,"children":1427},[1428,1429],{"id":295,"depth":225,"text":296},{"id":487,"depth":225,"text":488},{"id":665,"depth":197,"text":666},{"id":758,"depth":197,"text":759},{"id":921,"depth":197,"text":922},{"id":1148,"depth":197,"text":1149},{"id":1278,"depth":197,"text":1279},{"id":1361,"depth":197,"text":1362},{"id":1398,"depth":197,"text":1399},"Customize where the module looks for MCP definitions.","md",null,{},{"icon":77},{"title":74,"description":1443},"Customize the directory structure for MCP definitions.","f-MSb76rqKDnsgMyvCLVB9cbgpIZ6Bnyp3y5GVp2_Tc",[1446,1448],{"title":64,"path":65,"stem":66,"description":1447,"icon":67,"children":-1},"Create custom MCP endpoints with their own tools, resources, and prompts.",{"title":79,"path":80,"stem":81,"description":1449,"icon":82,"children":-1},"Intercept MCP requests to add authentication, logging, analytics, and more.",1773221529935]