[{"data":1,"prerenderedAt":1040},["ShallowReactive",2],{"navigation_docs":3,"-handlers-default-and-custom":282,"-handlers-default-and-custom-surround":1035},[4,40,70,99,122,156,189,253],{"title":5,"path":6,"stem":7,"children":8,"page":39},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24,29,34],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration","i-lucide-settings",{"title":25,"path":26,"stem":27,"icon":28},"Inspector","\u002Fgetting-started\u002Finspector","1.getting-started\u002F4.inspector","i-lucide-circuit-board",{"title":30,"path":31,"stem":32,"icon":33},"Connection","\u002Fgetting-started\u002Fconnection","1.getting-started\u002F5.connection","i-lucide-plug",{"title":35,"path":36,"stem":37,"icon":38},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F6.agent-skills","i-lucide-sparkles",false,{"title":41,"path":42,"stem":43,"children":44,"page":39},"Tools","\u002Ftools","2.tools",[45,50,55,60,65],{"title":46,"path":47,"stem":48,"icon":49},"Overview","\u002Ftools\u002Foverview","2.tools\u002F0.overview","i-lucide-wrench",{"title":51,"path":52,"stem":53,"icon":54},"Schema, handler & returns","\u002Ftools\u002Fschema-handler","2.tools\u002F1.schema-handler","i-lucide-braces",{"title":56,"path":57,"stem":58,"icon":59},"Annotations & input examples","\u002Ftools\u002Fannotations","2.tools\u002F2.annotations","i-lucide-badge-info",{"title":61,"path":62,"stem":63,"icon":64},"Errors & caching","\u002Ftools\u002Ferrors-caching","2.tools\u002F3.errors-caching","i-lucide-shield",{"title":66,"path":67,"stem":68,"icon":69},"Groups, files & dynamic registration","\u002Ftools\u002Fgroups-organization","2.tools\u002F4.groups-organization","i-lucide-tags",{"title":71,"path":72,"stem":73,"children":74,"page":39},"Resources","\u002Fresources","3.resources",[75,79,84,89,94],{"title":46,"path":76,"stem":77,"icon":78},"\u002Fresources\u002Foverview","3.resources\u002F0.overview","i-lucide-package",{"title":80,"path":81,"stem":82,"icon":83},"Static resources & structure","\u002Fresources\u002Fstatic-and-structure","3.resources\u002F1.static-and-structure","i-lucide-file-stack",{"title":85,"path":86,"stem":87,"icon":88},"Templates & handlers","\u002Fresources\u002Ftemplates-and-handlers","3.resources\u002F2.templates-and-handlers","i-lucide-git-branch",{"title":90,"path":91,"stem":92,"icon":93},"Metadata, content & errors","\u002Fresources\u002Fcontent-metadata-errors","3.resources\u002F3.content-metadata-errors","i-lucide-layers",{"title":95,"path":96,"stem":97,"icon":98},"Groups & organization","\u002Fresources\u002Forganization","3.resources\u002F4.organization","i-lucide-folder-tree",{"title":100,"path":101,"stem":102,"children":103,"page":39},"Prompts","\u002Fprompts","4.prompts",[104,108,113,117],{"title":46,"path":105,"stem":106,"icon":107},"\u002Fprompts\u002Foverview","4.prompts\u002F0.overview","i-lucide-message-square",{"title":109,"path":110,"stem":111,"icon":112},"Authoring & structure","\u002Fprompts\u002Fauthoring","4.prompts\u002F1.authoring","i-lucide-pen-line",{"title":114,"path":115,"stem":116,"icon":93},"Input, handler & messages","\u002Fprompts\u002Finput-handler-messages","4.prompts\u002F2.input-handler-messages",{"title":118,"path":119,"stem":120,"icon":121},"Patterns & advanced","\u002Fprompts\u002Fpatterns-advanced","4.prompts\u002F3.patterns-advanced","i-lucide-line-chart",{"title":123,"path":124,"stem":125,"children":126,"page":39},"Handlers","\u002Fhandlers","5.handlers",[127,131,136,141,146,151],{"title":46,"path":128,"stem":129,"icon":130},"\u002Fhandlers\u002Foverview","5.handlers\u002F0.overview","i-lucide-server",{"title":132,"path":133,"stem":134,"icon":135},"Default & custom handlers","\u002Fhandlers\u002Fdefault-and-custom","5.handlers\u002F1.default-and-custom","i-lucide-toggle-left",{"title":137,"path":138,"stem":139,"icon":140},"Structure & options","\u002Fhandlers\u002Fstructure-and-options","5.handlers\u002F2.structure-and-options","i-lucide-sliders-horizontal",{"title":142,"path":143,"stem":144,"icon":145},"Examples & routing","\u002Fhandlers\u002Fexamples-routing","5.handlers\u002F3.examples-routing","i-lucide-route",{"title":147,"path":148,"stem":149,"icon":150},"Sharing & practices","\u002Fhandlers\u002Fsharing-practices","5.handlers\u002F4.sharing-practices","i-lucide-share-2",{"title":152,"path":153,"stem":154,"icon":155},"Multi-handler organization","\u002Fhandlers\u002Forganization","5.handlers\u002F5.organization","i-lucide-network",{"title":157,"path":158,"stem":159,"children":160,"page":39},"Apps","\u002Fapps","6.apps",[161,165,170,175,179,184],{"title":46,"path":162,"stem":163,"icon":164},"\u002Fapps\u002Foverview","6.apps\u002F0.overview","i-lucide-app-window",{"title":166,"path":167,"stem":168,"icon":169},"Authoring & defineMcpApp","\u002Fapps\u002Fauthoring","6.apps\u002F1.authoring","i-lucide-code-2",{"title":171,"path":172,"stem":173,"icon":174},"useMcpApp() bridge","\u002Fapps\u002Fuse-mcp-app","6.apps\u002F2.use-mcp-app","i-lucide-message-circle",{"title":176,"path":177,"stem":178,"icon":64},"CSP & build pipeline","\u002Fapps\u002Fcsp-and-wiring","6.apps\u002F3.csp-and-wiring",{"title":180,"path":181,"stem":182,"icon":183},"Testing & publishing","\u002Fapps\u002Ftesting-publishing","6.apps\u002F4.testing-publishing","i-lucide-rocket",{"title":185,"path":186,"stem":187,"icon":188},"Patterns & limits","\u002Fapps\u002Fpatterns-reference","6.apps\u002F5.patterns-reference","i-lucide-book-marked",{"title":190,"path":191,"stem":192,"children":193,"page":39},"Advanced Topics","\u002Fadvanced","7.advanced",[194,199,204,209,214,218,223,228,233,238,243,248],{"title":195,"path":196,"stem":197,"icon":198},"Custom Paths","\u002Fadvanced\u002Fcustom-paths","7.advanced\u002F1.custom-paths","i-lucide-folder",{"title":200,"path":201,"stem":202,"icon":203},"Logging","\u002Fadvanced\u002Flogging","7.advanced\u002F10.logging","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"MCP Apps Internals","\u002Fadvanced\u002Fmcp-apps-internals","7.advanced\u002F11.mcp-apps-internals","i-lucide-cog",{"title":210,"path":211,"stem":212,"icon":213},"Listing Definitions","\u002Fadvanced\u002Flisting-definitions","7.advanced\u002F12.listing-definitions","i-lucide-list",{"title":215,"path":216,"stem":217,"icon":64},"Middleware","\u002Fadvanced\u002Fmiddleware","7.advanced\u002F2.middleware",{"title":219,"path":220,"stem":221,"icon":222},"TypeScript","\u002Fadvanced\u002Ftypescript","7.advanced\u002F3.typescript","i-lucide-type",{"title":224,"path":225,"stem":226,"icon":227},"Hooks","\u002Fadvanced\u002Fhooks","7.advanced\u002F4.hooks","i-lucide-webhook",{"title":229,"path":230,"stem":231,"icon":232},"MCP Evals","\u002Fadvanced\u002Fevals","7.advanced\u002F5.evals","i-lucide-flask-conical",{"title":234,"path":235,"stem":236,"icon":237},"Sessions","\u002Fadvanced\u002Fsessions","7.advanced\u002F6.sessions","i-lucide-database",{"title":239,"path":240,"stem":241,"icon":242},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","7.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":244,"path":245,"stem":246,"icon":247},"Code Mode","\u002Fadvanced\u002Fcode-mode","7.advanced\u002F8.code-mode","i-lucide-code",{"title":249,"path":250,"stem":251,"icon":252},"Elicitation","\u002Fadvanced\u002Felicitation","7.advanced\u002F9.elicitation","i-lucide-message-square-quote",{"title":254,"path":255,"stem":256,"children":257,"page":39},"Examples","\u002Fexamples","8.examples",[258,263,268,273,278],{"title":259,"path":260,"stem":261,"icon":262},"Authentication","\u002Fexamples\u002Fauthentication","8.examples\u002F1.authentication","i-lucide-shield-check",{"title":264,"path":265,"stem":266,"icon":267},"API Integration","\u002Fexamples\u002Fapi-integration","8.examples\u002F2.api-integration","i-lucide-globe",{"title":269,"path":270,"stem":271,"icon":272},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","8.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":274,"path":275,"stem":276,"icon":277},"File Operations","\u002Fexamples\u002Ffile-operations","8.examples\u002F4.file-operations","i-lucide-file",{"title":279,"path":280,"stem":281,"icon":107},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","8.examples\u002F5.prompt-examples",{"id":283,"title":132,"body":284,"description":1026,"extension":1027,"links":1028,"meta":1029,"navigation":1030,"path":133,"seo":1031,"stem":134,"__hash__":1034},"docs\u002F5.handlers\u002F1.default-and-custom.md",{"type":285,"value":286,"toc":1020},"minimark",[287,292,305,310,320,409,412,458,481,486,554,558,641,656,660,666,1016],[288,289,291],"h2",{"id":290},"default-handler","Default Handler",[293,294,295,296,300,301,304],"p",{},"By default, the module creates a single MCP endpoint at ",[297,298,299],"code",{},"\u002Fmcp"," (or your configured route) that includes all tools, resources, and prompts from the ",[297,302,303],{},"server\u002Fmcp\u002F"," directory.",[306,307,309],"h3",{"id":308},"overriding-the-default-handler","Overriding the Default Handler",[293,311,312,313,316,317,319],{},"You can override the default handler's configuration by creating an ",[297,314,315],{},"index.ts"," file in ",[297,318,303],{},":",[321,322,328],"pre",{"className":323,"code":324,"filename":325,"language":326,"meta":327,"style":327},"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","",[297,329,330,354,376,393,400],{"__ignoreMap":327},[331,332,335,339,342,346,350],"span",{"class":333,"line":334},"line",1,[331,336,338],{"class":337},"s7zQu","export",[331,340,341],{"class":337}," default",[331,343,345],{"class":344},"s2Zo4"," defineMcpHandler",[331,347,349],{"class":348},"sTEyZ","(",[331,351,353],{"class":352},"sMK4o","{\n",[331,355,357,361,363,366,370,373],{"class":333,"line":356},2,[331,358,360],{"class":359},"swJcz","  version",[331,362,319],{"class":352},[331,364,365],{"class":352}," '",[331,367,369],{"class":368},"sfazB","2.0.0",[331,371,372],{"class":352},"'",[331,374,375],{"class":352},",\n",[331,377,379,382,384,386,389,391],{"class":333,"line":378},3,[331,380,381],{"class":359},"  browserRedirect",[331,383,319],{"class":352},[331,385,365],{"class":352},[331,387,388],{"class":368},"\u002Fdocs",[331,390,372],{"class":352},[331,392,375],{"class":352},[331,394,396],{"class":333,"line":395},4,[331,397,399],{"class":398},"sHwdD","  \u002F\u002F If tools\u002Fresources\u002Fprompts not specified, uses global definitions\n",[331,401,403,406],{"class":333,"line":402},5,[331,404,405],{"class":352},"}",[331,407,408],{"class":348},")\n",[293,410,411],{},"This allows you to customize:",[413,414,415,422,428,434,447],"ul",{},[416,417,418,421],"li",{},[297,419,420],{},"version"," - Override the server version",[416,423,424,427],{},[297,425,426],{},"browserRedirect"," - Override the browser redirect URL",[416,429,430,433],{},[297,431,432],{},"name"," - Override the server name (optional)",[416,435,436,439,440,439,443,446],{},[297,437,438],{},"tools",", ",[297,441,442],{},"resources",[297,444,445],{},"prompts"," - Use specific definitions instead of global ones",[416,448,449,452,453,457],{},[297,450,451],{},"middleware"," - Add request interception for auth, logging, etc. (",[454,455,456],"a",{"href":216},"learn more",")",[459,460,463,464,467,468,472,473,476,477,480],"callout",{"color":461,"icon":462},"info","i-lucide-info","The ",[297,465,466],{},"route"," property is ",[469,470,471],"strong",{},"ignored"," for the default handler. To change the route, use ",[297,474,475],{},"mcp.route"," in your ",[297,478,479],{},"nuxt.config.ts",".",[482,483,485],"h4",{"id":484},"example-custom-version-and-redirect","Example: Custom Version and Redirect",[321,487,489],{"className":323,"code":488,"filename":325,"language":326,"meta":327,"style":327},"export default defineMcpHandler({\n  name: 'My Documentation MCP',\n  version: '1.2.0',\n  browserRedirect: '\u002Fgetting-started',\n})\n",[297,490,491,503,519,534,548],{"__ignoreMap":327},[331,492,493,495,497,499,501],{"class":333,"line":334},[331,494,338],{"class":337},[331,496,341],{"class":337},[331,498,345],{"class":344},[331,500,349],{"class":348},[331,502,353],{"class":352},[331,504,505,508,510,512,515,517],{"class":333,"line":356},[331,506,507],{"class":359},"  name",[331,509,319],{"class":352},[331,511,365],{"class":352},[331,513,514],{"class":368},"My Documentation MCP",[331,516,372],{"class":352},[331,518,375],{"class":352},[331,520,521,523,525,527,530,532],{"class":333,"line":378},[331,522,360],{"class":359},[331,524,319],{"class":352},[331,526,365],{"class":352},[331,528,529],{"class":368},"1.2.0",[331,531,372],{"class":352},[331,533,375],{"class":352},[331,535,536,538,540,542,544,546],{"class":333,"line":395},[331,537,381],{"class":359},[331,539,319],{"class":352},[331,541,365],{"class":352},[331,543,6],{"class":368},[331,545,372],{"class":352},[331,547,375],{"class":352},[331,549,550,552],{"class":333,"line":402},[331,551,405],{"class":352},[331,553,408],{"class":348},[482,555,557],{"id":556},"example-limiting-exposed-tools","Example: Limiting Exposed Tools",[321,559,561],{"className":323,"code":560,"filename":325,"language":326,"meta":327,"style":327},"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",[297,562,563,594,600,612,617,634],{"__ignoreMap":327},[331,564,565,568,571,574,577,580,583,586,588,591],{"class":333,"line":334},[331,566,567],{"class":337},"import",[331,569,570],{"class":352}," {",[331,572,573],{"class":348}," myTool",[331,575,576],{"class":352},",",[331,578,579],{"class":348}," anotherTool",[331,581,582],{"class":352}," }",[331,584,585],{"class":337}," from",[331,587,365],{"class":352},[331,589,590],{"class":368},".\u002Ftools\u002Fmy-tools",[331,592,593],{"class":352},"'\n",[331,595,596],{"class":333,"line":356},[331,597,599],{"emptyLinePlaceholder":598},true,"\n",[331,601,602,604,606,608,610],{"class":333,"line":378},[331,603,338],{"class":337},[331,605,341],{"class":337},[331,607,345],{"class":344},[331,609,349],{"class":348},[331,611,353],{"class":352},[331,613,614],{"class":333,"line":395},[331,615,616],{"class":398},"  \u002F\u002F Only expose specific tools instead of all tools in server\u002Fmcp\u002Ftools\u002F\n",[331,618,619,622,624,627,629,632],{"class":333,"line":402},[331,620,621],{"class":359},"  tools",[331,623,319],{"class":352},[331,625,626],{"class":348}," [myTool",[331,628,576],{"class":352},[331,630,631],{"class":348}," anotherTool]",[331,633,375],{"class":352},[331,635,637,639],{"class":333,"line":636},6,[331,638,405],{"class":352},[331,640,408],{"class":348},[293,642,643,644,647,648,651,652,480],{},"To let ",[469,645,646],{},"clients"," pick a subset per connection (without a custom handler), they send ",[297,649,650],{},"X-MCP-Tools",". See ",[454,653,655],{"href":654},"\u002Fgetting-started\u002Fconnection#limit-available-tools","Limit available tools",[288,657,659],{"id":658},"custom-handlers","Custom Handlers",[293,661,662,663,319],{},"Create custom handlers using ",[297,664,665],{},"defineMcpHandler",[321,667,670],{"className":323,"code":668,"filename":669,"language":326,"meta":327,"style":327},"import { z } from 'zod'\nimport { defineMcpTool, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\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    return code.replace(\u002Fv3\u002Fg, 'v4')\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",[297,671,672,692,716,720,738,753,769,786,797,833,839,865,903,908,915,920,933,949,965,982,994,1009],{"__ignoreMap":327},[331,673,674,676,678,681,683,685,687,690],{"class":333,"line":334},[331,675,567],{"class":337},[331,677,570],{"class":352},[331,679,680],{"class":348}," z",[331,682,582],{"class":352},[331,684,585],{"class":337},[331,686,365],{"class":352},[331,688,689],{"class":368},"zod",[331,691,593],{"class":352},[331,693,694,696,698,701,703,705,707,709,711,714],{"class":333,"line":356},[331,695,567],{"class":337},[331,697,570],{"class":352},[331,699,700],{"class":348}," defineMcpTool",[331,702,576],{"class":352},[331,704,345],{"class":348},[331,706,582],{"class":352},[331,708,585],{"class":337},[331,710,365],{"class":352},[331,712,713],{"class":368},"@nuxtjs\u002Fmcp-toolkit\u002Fserver",[331,715,593],{"class":352},[331,717,718],{"class":333,"line":378},[331,719,599],{"emptyLinePlaceholder":598},[331,721,722,726,729,732,734,736],{"class":333,"line":395},[331,723,725],{"class":724},"spNyl","const",[331,727,728],{"class":348}," migrationTool ",[331,730,731],{"class":352},"=",[331,733,700],{"class":344},[331,735,349],{"class":348},[331,737,353],{"class":352},[331,739,740,742,744,746,749,751],{"class":333,"line":402},[331,741,507],{"class":359},[331,743,319],{"class":352},[331,745,365],{"class":352},[331,747,748],{"class":368},"migrate-v3-to-v4",[331,750,372],{"class":352},[331,752,375],{"class":352},[331,754,755,758,760,762,765,767],{"class":333,"line":636},[331,756,757],{"class":359},"  title",[331,759,319],{"class":352},[331,761,365],{"class":352},[331,763,764],{"class":368},"Migrate v3 to v4",[331,766,372],{"class":352},[331,768,375],{"class":352},[331,770,772,775,777,779,782,784],{"class":333,"line":771},7,[331,773,774],{"class":359},"  description",[331,776,319],{"class":352},[331,778,365],{"class":352},[331,780,781],{"class":368},"Migrate code from version 3 to version 4",[331,783,372],{"class":352},[331,785,375],{"class":352},[331,787,789,792,794],{"class":333,"line":788},8,[331,790,791],{"class":359},"  inputSchema",[331,793,319],{"class":352},[331,795,796],{"class":352}," {\n",[331,798,800,803,805,807,809,812,815,817,820,822,824,827,829,831],{"class":333,"line":799},9,[331,801,802],{"class":359},"    code",[331,804,319],{"class":352},[331,806,680],{"class":348},[331,808,480],{"class":352},[331,810,811],{"class":344},"string",[331,813,814],{"class":348},"()",[331,816,480],{"class":352},[331,818,819],{"class":344},"describe",[331,821,349],{"class":348},[331,823,372],{"class":352},[331,825,826],{"class":368},"The code to migrate",[331,828,372],{"class":352},[331,830,457],{"class":348},[331,832,375],{"class":352},[331,834,836],{"class":333,"line":835},10,[331,837,838],{"class":352},"  },\n",[331,840,842,845,847,850,853,857,860,863],{"class":333,"line":841},11,[331,843,844],{"class":344},"  handler",[331,846,319],{"class":352},[331,848,849],{"class":724}," async",[331,851,852],{"class":352}," ({",[331,854,856],{"class":855},"sHdIc"," code",[331,858,859],{"class":352}," })",[331,861,862],{"class":724}," =>",[331,864,796],{"class":352},[331,866,868,871,873,875,878,880,883,886,888,892,894,896,899,901],{"class":333,"line":867},12,[331,869,870],{"class":337},"    return",[331,872,856],{"class":348},[331,874,480],{"class":352},[331,876,877],{"class":344},"replace",[331,879,349],{"class":359},[331,881,882],{"class":352},"\u002F",[331,884,885],{"class":368},"v3",[331,887,882],{"class":352},[331,889,891],{"class":890},"sbssI","g",[331,893,576],{"class":352},[331,895,365],{"class":352},[331,897,898],{"class":368},"v4",[331,900,372],{"class":352},[331,902,408],{"class":359},[331,904,906],{"class":333,"line":905},13,[331,907,838],{"class":352},[331,909,911,913],{"class":333,"line":910},14,[331,912,405],{"class":352},[331,914,408],{"class":348},[331,916,918],{"class":333,"line":917},15,[331,919,599],{"emptyLinePlaceholder":598},[331,921,923,925,927,929,931],{"class":333,"line":922},16,[331,924,338],{"class":337},[331,926,341],{"class":337},[331,928,345],{"class":344},[331,930,349],{"class":348},[331,932,353],{"class":352},[331,934,936,938,940,942,945,947],{"class":333,"line":935},17,[331,937,507],{"class":359},[331,939,319],{"class":352},[331,941,365],{"class":352},[331,943,944],{"class":368},"migration",[331,946,372],{"class":352},[331,948,375],{"class":352},[331,950,952,954,956,958,961,963],{"class":333,"line":951},18,[331,953,360],{"class":359},[331,955,319],{"class":352},[331,957,365],{"class":352},[331,959,960],{"class":368},"0.1.0",[331,962,372],{"class":352},[331,964,375],{"class":352},[331,966,968,971,973,975,978,980],{"class":333,"line":967},19,[331,969,970],{"class":359},"  route",[331,972,319],{"class":352},[331,974,365],{"class":352},[331,976,977],{"class":368},"\u002Fmcp\u002Fmigration",[331,979,372],{"class":352},[331,981,375],{"class":352},[331,983,985,987,989,992],{"class":333,"line":984},20,[331,986,621],{"class":359},[331,988,319],{"class":352},[331,990,991],{"class":348}," [migrationTool]",[331,993,375],{"class":352},[331,995,997,999,1001,1003,1005,1007],{"class":333,"line":996},21,[331,998,381],{"class":359},[331,1000,319],{"class":352},[331,1002,365],{"class":352},[331,1004,882],{"class":368},[331,1006,372],{"class":352},[331,1008,375],{"class":352},[331,1010,1012,1014],{"class":333,"line":1011},22,[331,1013,405],{"class":352},[331,1015,408],{"class":348},[1017,1018,1019],"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}",{"title":327,"searchDepth":356,"depth":356,"links":1021},[1022,1025],{"id":290,"depth":356,"text":291,"children":1023},[1024],{"id":308,"depth":378,"text":309},{"id":658,"depth":356,"text":659},"Override the default `\u002Fmcp` handler and add custom defineMcpHandler endpoints.","md",null,{},{"icon":135},{"title":1032,"description":1033},"Default & custom MCP handlers","server\u002Fmcp\u002Findex.ts override, defineMcpHandler, and custom routes.","-3I2WNKmQikKyoNyareVwyLYYF-lOst5gcc-H3REpeE",[1036,1038],{"title":46,"path":128,"stem":129,"description":1037,"icon":130,"children":-1},"Create custom MCP endpoints with their own tools, resources, and prompts.",{"title":137,"path":138,"stem":139,"description":1039,"icon":140,"children":-1},"Required fields and every defineMcpHandler option, including tools, resources, and prompts.",1787148245440]