[{"data":1,"prerenderedAt":2168},["ShallowReactive",2],{"navigation_docs":3,"-advanced-elicitation":282,"-advanced-elicitation-surround":2163},[4,40,70,99,122,156,189,253],{"title":5,"path":6,"stem":7,"children":8,"page":39},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24,29,34],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration","i-lucide-settings",{"title":25,"path":26,"stem":27,"icon":28},"Inspector","\u002Fgetting-started\u002Finspector","1.getting-started\u002F4.inspector","i-lucide-circuit-board",{"title":30,"path":31,"stem":32,"icon":33},"Connection","\u002Fgetting-started\u002Fconnection","1.getting-started\u002F5.connection","i-lucide-plug",{"title":35,"path":36,"stem":37,"icon":38},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F6.agent-skills","i-lucide-sparkles",false,{"title":41,"path":42,"stem":43,"children":44,"page":39},"Tools","\u002Ftools","2.tools",[45,50,55,60,65],{"title":46,"path":47,"stem":48,"icon":49},"Overview","\u002Ftools\u002Foverview","2.tools\u002F0.overview","i-lucide-wrench",{"title":51,"path":52,"stem":53,"icon":54},"Schema, handler & returns","\u002Ftools\u002Fschema-handler","2.tools\u002F1.schema-handler","i-lucide-braces",{"title":56,"path":57,"stem":58,"icon":59},"Annotations & input examples","\u002Ftools\u002Fannotations","2.tools\u002F2.annotations","i-lucide-badge-info",{"title":61,"path":62,"stem":63,"icon":64},"Errors & caching","\u002Ftools\u002Ferrors-caching","2.tools\u002F3.errors-caching","i-lucide-shield",{"title":66,"path":67,"stem":68,"icon":69},"Groups, files & dynamic registration","\u002Ftools\u002Fgroups-organization","2.tools\u002F4.groups-organization","i-lucide-tags",{"title":71,"path":72,"stem":73,"children":74,"page":39},"Resources","\u002Fresources","3.resources",[75,79,84,89,94],{"title":46,"path":76,"stem":77,"icon":78},"\u002Fresources\u002Foverview","3.resources\u002F0.overview","i-lucide-package",{"title":80,"path":81,"stem":82,"icon":83},"Static resources & structure","\u002Fresources\u002Fstatic-and-structure","3.resources\u002F1.static-and-structure","i-lucide-file-stack",{"title":85,"path":86,"stem":87,"icon":88},"Templates & handlers","\u002Fresources\u002Ftemplates-and-handlers","3.resources\u002F2.templates-and-handlers","i-lucide-git-branch",{"title":90,"path":91,"stem":92,"icon":93},"Metadata, content & errors","\u002Fresources\u002Fcontent-metadata-errors","3.resources\u002F3.content-metadata-errors","i-lucide-layers",{"title":95,"path":96,"stem":97,"icon":98},"Groups & organization","\u002Fresources\u002Forganization","3.resources\u002F4.organization","i-lucide-folder-tree",{"title":100,"path":101,"stem":102,"children":103,"page":39},"Prompts","\u002Fprompts","4.prompts",[104,108,113,117],{"title":46,"path":105,"stem":106,"icon":107},"\u002Fprompts\u002Foverview","4.prompts\u002F0.overview","i-lucide-message-square",{"title":109,"path":110,"stem":111,"icon":112},"Authoring & structure","\u002Fprompts\u002Fauthoring","4.prompts\u002F1.authoring","i-lucide-pen-line",{"title":114,"path":115,"stem":116,"icon":93},"Input, handler & messages","\u002Fprompts\u002Finput-handler-messages","4.prompts\u002F2.input-handler-messages",{"title":118,"path":119,"stem":120,"icon":121},"Patterns & advanced","\u002Fprompts\u002Fpatterns-advanced","4.prompts\u002F3.patterns-advanced","i-lucide-line-chart",{"title":123,"path":124,"stem":125,"children":126,"page":39},"Handlers","\u002Fhandlers","5.handlers",[127,131,136,141,146,151],{"title":46,"path":128,"stem":129,"icon":130},"\u002Fhandlers\u002Foverview","5.handlers\u002F0.overview","i-lucide-server",{"title":132,"path":133,"stem":134,"icon":135},"Default & custom handlers","\u002Fhandlers\u002Fdefault-and-custom","5.handlers\u002F1.default-and-custom","i-lucide-toggle-left",{"title":137,"path":138,"stem":139,"icon":140},"Structure & options","\u002Fhandlers\u002Fstructure-and-options","5.handlers\u002F2.structure-and-options","i-lucide-sliders-horizontal",{"title":142,"path":143,"stem":144,"icon":145},"Examples & routing","\u002Fhandlers\u002Fexamples-routing","5.handlers\u002F3.examples-routing","i-lucide-route",{"title":147,"path":148,"stem":149,"icon":150},"Sharing & practices","\u002Fhandlers\u002Fsharing-practices","5.handlers\u002F4.sharing-practices","i-lucide-share-2",{"title":152,"path":153,"stem":154,"icon":155},"Multi-handler organization","\u002Fhandlers\u002Forganization","5.handlers\u002F5.organization","i-lucide-network",{"title":157,"path":158,"stem":159,"children":160,"page":39},"Apps","\u002Fapps","6.apps",[161,165,170,175,179,184],{"title":46,"path":162,"stem":163,"icon":164},"\u002Fapps\u002Foverview","6.apps\u002F0.overview","i-lucide-app-window",{"title":166,"path":167,"stem":168,"icon":169},"Authoring & defineMcpApp","\u002Fapps\u002Fauthoring","6.apps\u002F1.authoring","i-lucide-code-2",{"title":171,"path":172,"stem":173,"icon":174},"useMcpApp() bridge","\u002Fapps\u002Fuse-mcp-app","6.apps\u002F2.use-mcp-app","i-lucide-message-circle",{"title":176,"path":177,"stem":178,"icon":64},"CSP & build pipeline","\u002Fapps\u002Fcsp-and-wiring","6.apps\u002F3.csp-and-wiring",{"title":180,"path":181,"stem":182,"icon":183},"Testing & publishing","\u002Fapps\u002Ftesting-publishing","6.apps\u002F4.testing-publishing","i-lucide-rocket",{"title":185,"path":186,"stem":187,"icon":188},"Patterns & limits","\u002Fapps\u002Fpatterns-reference","6.apps\u002F5.patterns-reference","i-lucide-book-marked",{"title":190,"path":191,"stem":192,"children":193,"page":39},"Advanced Topics","\u002Fadvanced","7.advanced",[194,199,204,209,214,218,223,228,233,238,243,248],{"title":195,"path":196,"stem":197,"icon":198},"Custom Paths","\u002Fadvanced\u002Fcustom-paths","7.advanced\u002F1.custom-paths","i-lucide-folder",{"title":200,"path":201,"stem":202,"icon":203},"Logging","\u002Fadvanced\u002Flogging","7.advanced\u002F10.logging","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"MCP Apps Internals","\u002Fadvanced\u002Fmcp-apps-internals","7.advanced\u002F11.mcp-apps-internals","i-lucide-cog",{"title":210,"path":211,"stem":212,"icon":213},"Listing Definitions","\u002Fadvanced\u002Flisting-definitions","7.advanced\u002F12.listing-definitions","i-lucide-list",{"title":215,"path":216,"stem":217,"icon":64},"Middleware","\u002Fadvanced\u002Fmiddleware","7.advanced\u002F2.middleware",{"title":219,"path":220,"stem":221,"icon":222},"TypeScript","\u002Fadvanced\u002Ftypescript","7.advanced\u002F3.typescript","i-lucide-type",{"title":224,"path":225,"stem":226,"icon":227},"Hooks","\u002Fadvanced\u002Fhooks","7.advanced\u002F4.hooks","i-lucide-webhook",{"title":229,"path":230,"stem":231,"icon":232},"MCP Evals","\u002Fadvanced\u002Fevals","7.advanced\u002F5.evals","i-lucide-flask-conical",{"title":234,"path":235,"stem":236,"icon":237},"Sessions","\u002Fadvanced\u002Fsessions","7.advanced\u002F6.sessions","i-lucide-database",{"title":239,"path":240,"stem":241,"icon":242},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","7.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":244,"path":245,"stem":246,"icon":247},"Code Mode","\u002Fadvanced\u002Fcode-mode","7.advanced\u002F8.code-mode","i-lucide-code",{"title":249,"path":250,"stem":251,"icon":252},"Elicitation","\u002Fadvanced\u002Felicitation","7.advanced\u002F9.elicitation","i-lucide-message-square-quote",{"title":254,"path":255,"stem":256,"children":257,"page":39},"Examples","\u002Fexamples","8.examples",[258,263,268,273,278],{"title":259,"path":260,"stem":261,"icon":262},"Authentication","\u002Fexamples\u002Fauthentication","8.examples\u002F1.authentication","i-lucide-shield-check",{"title":264,"path":265,"stem":266,"icon":267},"API Integration","\u002Fexamples\u002Fapi-integration","8.examples\u002F2.api-integration","i-lucide-globe",{"title":269,"path":270,"stem":271,"icon":272},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","8.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":274,"path":275,"stem":276,"icon":277},"File Operations","\u002Fexamples\u002Ffile-operations","8.examples\u002F4.file-operations","i-lucide-file",{"title":279,"path":280,"stem":281,"icon":107},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","8.examples\u002F5.prompt-examples",{"id":283,"title":284,"body":285,"description":2154,"extension":2155,"links":2156,"meta":2157,"navigation":2158,"path":250,"seo":2159,"stem":251,"__hash__":2162},"docs\u002F7.advanced\u002F9.elicitation.md","Request input from users with elicitation",{"type":286,"value":287,"toc":2141},"minimark",[288,293,302,323,388,392,469,479,485,488,1040,1047,1052,1121,1137,1141,1152,1155,1198,1201,1229,1234,1238,1489,1503,1507,1518,1801,1811,1815,1818,1886,1904,2066,2070,2096,2100,2137],[289,290,292],"h2",{"id":291},"what-is-elicitation","What is Elicitation?",[294,295,296,297,301],"p",{},"Elicitation lets a server ask the connected client for additional information ",[298,299,300],"strong",{},"mid-request",". The MCP spec defines two modes:",[303,304,305,312],"ul",{},[306,307,308,311],"li",{},[298,309,310],{},"Form mode"," — present a structured form to the user and validate the response against a schema you define.",[306,313,314,317,318,322],{},[298,315,316],{},"URL mode"," ",[319,320,321],"em",{},"(spec 2025-11-25)"," — redirect the user to an external page (sign-in, payment, account verification, …) and resume once they come back.",[324,325,328,331,379],"prompt",{":actions":326,"description":327,"icon":252},"[\"copy\",\"cursor\",\"windsurf\"]","Add MCP elicitation (form & URL)",[294,329,330],{},"Add elicitation to my Nuxt MCP server (@nuxtjs\u002Fmcp-toolkit).",[303,332,333,336,347,350,353,363,370,376],{},[306,334,335],{},"Use useMcpElicitation() inside a tool handler (auto-imported)",[306,337,338,339,343,344],{},"Form mode: pass a Zod raw shape via ",[340,341,342],"code",{},"schema"," and a human-readable ",[340,345,346],{},"message",[306,348,349],{},"The shape must be flat — primitives, single-\u002Fmulti-select enums only (spec restriction)",[306,351,352],{},"Always check the action: 'accept' | 'decline' | 'cancel' before reading content",[306,354,355,356,359,360,362],{},"URL mode: pass a ",[340,357,358],{},"url"," and ",[340,361,346],{},"; client opens the URL and reports back",[306,364,365,366,369],{},"Use ",[340,367,368],{},"confirm(message)"," for a quick yes\u002Fno prompt",[306,371,365,372,375],{},[340,373,374],{},"supports('form' | 'url')"," before calling to gate cleanly when the client doesn't support it",[306,377,378],{},"Wrap in try\u002Fcatch and check for McpElicitationError (codes: 'unsupported', 'invalid-schema', 'invalid-response')",[294,380,381,382],{},"Docs: ",[383,384,385],"a",{"href":385,"rel":386},"https:\u002F\u002Fmcp-toolkit.nuxt.dev\u002Fadvanced\u002Felicitation",[387],"nofollow",[289,389,391],{"id":390},"when-to-use-elicitation","When to Use Elicitation",[393,394,395,408],"table",{},[396,397,398],"thead",{},[399,400,401,405],"tr",{},[402,403,404],"th",{},"Use Case",[402,406,407],{},"Mode",[409,410,411,423,433,442,451,460],"tbody",{},[399,412,413,417],{},[414,415,416],"td",{},"Disambiguate input (\"which project did you mean?\")",[414,418,419,422],{},[340,420,421],{},"form"," with an enum",[399,424,425,428],{},[414,426,427],{},"Confirm a destructive action before running it",[414,429,430],{},[340,431,432],{},"confirm",[399,434,435,438],{},[414,436,437],{},"Collect missing required parameters interactively",[414,439,440],{},[340,441,421],{},[399,443,444,447],{},[414,445,446],{},"Gather optional metadata (priority, tags, …) before submitting",[414,448,449],{},[340,450,421],{},[399,452,453,456],{},[414,454,455],{},"Prompt for sign-in or payment via an external page",[414,457,458],{},[340,459,358],{},[399,461,462,465],{},[414,463,464],{},"Trigger an OAuth consent flow",[414,466,467],{},[340,468,358],{},[470,471,474,475,478],"callout",{"color":472,"icon":473},"info","i-lucide-info","Elicitation is ",[298,476,477],{},"client-driven",". Even when you call it server-side, the client is the one rendering the form or opening the URL. Always handle the case where the user declines or the client doesn't support the requested mode.",[289,480,482],{"id":481},"usemcpelicitation",[340,483,484],{},"useMcpElicitation()",[294,486,487],{},"Auto-imported. Must be called inside a tool, resource, or prompt handler.",[489,490,496],"pre",{"className":491,"code":492,"filename":493,"language":494,"meta":495,"style":495},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  name: 'create_release',\n  description: 'Create a new release after asking for the channel',\n  inputSchema: {\n    name: z.string(),\n  },\n  handler: async ({ name }) => {\n    const elicit = useMcpElicitation()\n\n    const result = await elicit.form({\n      message: `Pick a release channel for \"${name}\"`,\n      schema: {\n        channel: z.enum(['stable', 'beta', 'canary']).describe('Release channel'),\n        notify: z.boolean().default(true).describe('Notify subscribers'),\n      },\n    })\n\n    if (result.action !== 'accept') {\n      return `Release cancelled (${result.action}).`\n    }\n\n    return `Created \"${name}\" on ${result.content.channel} (notify=${result.content.notify}).`\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Frelease.ts","typescript","",[340,497,498,531,552,559,577,598,615,626,647,653,680,698,703,726,757,767,833,880,886,895,900,932,959,965,970,1028,1033],{"__ignoreMap":495},[499,500,503,507,511,515,518,521,524,528],"span",{"class":501,"line":502},"line",1,[499,504,506],{"class":505},"s7zQu","import",[499,508,510],{"class":509},"sMK4o"," {",[499,512,514],{"class":513},"sTEyZ"," z",[499,516,517],{"class":509}," }",[499,519,520],{"class":505}," from",[499,522,523],{"class":509}," '",[499,525,527],{"class":526},"sfazB","zod",[499,529,530],{"class":509},"'\n",[499,532,534,536,538,541,543,545,547,550],{"class":501,"line":533},2,[499,535,506],{"class":505},[499,537,510],{"class":509},[499,539,540],{"class":513}," defineMcpTool",[499,542,517],{"class":509},[499,544,520],{"class":505},[499,546,523],{"class":509},[499,548,549],{"class":526},"@nuxtjs\u002Fmcp-toolkit\u002Fserver",[499,551,530],{"class":509},[499,553,555],{"class":501,"line":554},3,[499,556,558],{"emptyLinePlaceholder":557},true,"\n",[499,560,562,565,568,571,574],{"class":501,"line":561},4,[499,563,564],{"class":505},"export",[499,566,567],{"class":505}," default",[499,569,540],{"class":570},"s2Zo4",[499,572,573],{"class":513},"(",[499,575,576],{"class":509},"{\n",[499,578,580,584,587,589,592,595],{"class":501,"line":579},5,[499,581,583],{"class":582},"swJcz","  name",[499,585,586],{"class":509},":",[499,588,523],{"class":509},[499,590,591],{"class":526},"create_release",[499,593,594],{"class":509},"'",[499,596,597],{"class":509},",\n",[499,599,601,604,606,608,611,613],{"class":501,"line":600},6,[499,602,603],{"class":582},"  description",[499,605,586],{"class":509},[499,607,523],{"class":509},[499,609,610],{"class":526},"Create a new release after asking for the channel",[499,612,594],{"class":509},[499,614,597],{"class":509},[499,616,618,621,623],{"class":501,"line":617},7,[499,619,620],{"class":582},"  inputSchema",[499,622,586],{"class":509},[499,624,625],{"class":509}," {\n",[499,627,629,632,634,636,639,642,645],{"class":501,"line":628},8,[499,630,631],{"class":582},"    name",[499,633,586],{"class":509},[499,635,514],{"class":513},[499,637,638],{"class":509},".",[499,640,641],{"class":570},"string",[499,643,644],{"class":513},"()",[499,646,597],{"class":509},[499,648,650],{"class":501,"line":649},9,[499,651,652],{"class":509},"  },\n",[499,654,656,659,661,665,668,672,675,678],{"class":501,"line":655},10,[499,657,658],{"class":570},"  handler",[499,660,586],{"class":509},[499,662,664],{"class":663},"spNyl"," async",[499,666,667],{"class":509}," ({",[499,669,671],{"class":670},"sHdIc"," name",[499,673,674],{"class":509}," })",[499,676,677],{"class":663}," =>",[499,679,625],{"class":509},[499,681,683,686,689,692,695],{"class":501,"line":682},11,[499,684,685],{"class":663},"    const",[499,687,688],{"class":513}," elicit",[499,690,691],{"class":509}," =",[499,693,694],{"class":570}," useMcpElicitation",[499,696,697],{"class":582},"()\n",[499,699,701],{"class":501,"line":700},12,[499,702,558],{"emptyLinePlaceholder":557},[499,704,706,708,711,713,716,718,720,722,724],{"class":501,"line":705},13,[499,707,685],{"class":663},[499,709,710],{"class":513}," result",[499,712,691],{"class":509},[499,714,715],{"class":505}," await",[499,717,688],{"class":513},[499,719,638],{"class":509},[499,721,421],{"class":570},[499,723,573],{"class":582},[499,725,576],{"class":509},[499,727,729,732,734,737,740,743,746,749,752,755],{"class":501,"line":728},14,[499,730,731],{"class":582},"      message",[499,733,586],{"class":509},[499,735,736],{"class":509}," `",[499,738,739],{"class":526},"Pick a release channel for \"",[499,741,742],{"class":509},"${",[499,744,745],{"class":513},"name",[499,747,748],{"class":509},"}",[499,750,751],{"class":526},"\"",[499,753,754],{"class":509},"`",[499,756,597],{"class":509},[499,758,760,763,765],{"class":501,"line":759},15,[499,761,762],{"class":582},"      schema",[499,764,586],{"class":509},[499,766,625],{"class":509},[499,768,770,773,775,777,779,782,785,787,790,792,795,797,800,802,804,806,809,811,814,816,819,821,823,826,828,831],{"class":501,"line":769},16,[499,771,772],{"class":582},"        channel",[499,774,586],{"class":509},[499,776,514],{"class":513},[499,778,638],{"class":509},[499,780,781],{"class":570},"enum",[499,783,784],{"class":582},"([",[499,786,594],{"class":509},[499,788,789],{"class":526},"stable",[499,791,594],{"class":509},[499,793,794],{"class":509},",",[499,796,523],{"class":509},[499,798,799],{"class":526},"beta",[499,801,594],{"class":509},[499,803,794],{"class":509},[499,805,523],{"class":509},[499,807,808],{"class":526},"canary",[499,810,594],{"class":509},[499,812,813],{"class":582},"])",[499,815,638],{"class":509},[499,817,818],{"class":570},"describe",[499,820,573],{"class":582},[499,822,594],{"class":509},[499,824,825],{"class":526},"Release channel",[499,827,594],{"class":509},[499,829,830],{"class":582},")",[499,832,597],{"class":509},[499,834,836,839,841,843,845,848,850,852,855,857,861,863,865,867,869,871,874,876,878],{"class":501,"line":835},17,[499,837,838],{"class":582},"        notify",[499,840,586],{"class":509},[499,842,514],{"class":513},[499,844,638],{"class":509},[499,846,847],{"class":570},"boolean",[499,849,644],{"class":582},[499,851,638],{"class":509},[499,853,854],{"class":570},"default",[499,856,573],{"class":582},[499,858,860],{"class":859},"sfNiH","true",[499,862,830],{"class":582},[499,864,638],{"class":509},[499,866,818],{"class":570},[499,868,573],{"class":582},[499,870,594],{"class":509},[499,872,873],{"class":526},"Notify subscribers",[499,875,594],{"class":509},[499,877,830],{"class":582},[499,879,597],{"class":509},[499,881,883],{"class":501,"line":882},18,[499,884,885],{"class":509},"      },\n",[499,887,889,892],{"class":501,"line":888},19,[499,890,891],{"class":509},"    }",[499,893,894],{"class":582},")\n",[499,896,898],{"class":501,"line":897},20,[499,899,558],{"emptyLinePlaceholder":557},[499,901,903,906,909,912,914,917,920,922,925,927,930],{"class":501,"line":902},21,[499,904,905],{"class":505},"    if",[499,907,908],{"class":582}," (",[499,910,911],{"class":513},"result",[499,913,638],{"class":509},[499,915,916],{"class":513},"action",[499,918,919],{"class":509}," !==",[499,921,523],{"class":509},[499,923,924],{"class":526},"accept",[499,926,594],{"class":509},[499,928,929],{"class":582},") ",[499,931,576],{"class":509},[499,933,935,938,940,943,945,947,949,951,953,956],{"class":501,"line":934},22,[499,936,937],{"class":505},"      return",[499,939,736],{"class":509},[499,941,942],{"class":526},"Release cancelled (",[499,944,742],{"class":509},[499,946,911],{"class":513},[499,948,638],{"class":509},[499,950,916],{"class":513},[499,952,748],{"class":509},[499,954,955],{"class":526},").",[499,957,958],{"class":509},"`\n",[499,960,962],{"class":501,"line":961},23,[499,963,964],{"class":509},"    }\n",[499,966,968],{"class":501,"line":967},24,[499,969,558],{"emptyLinePlaceholder":557},[499,971,973,976,978,981,983,985,987,990,992,994,996,999,1001,1004,1006,1009,1011,1013,1015,1017,1019,1022,1024,1026],{"class":501,"line":972},25,[499,974,975],{"class":505},"    return",[499,977,736],{"class":509},[499,979,980],{"class":526},"Created \"",[499,982,742],{"class":509},[499,984,745],{"class":513},[499,986,748],{"class":509},[499,988,989],{"class":526},"\" on ",[499,991,742],{"class":509},[499,993,911],{"class":513},[499,995,638],{"class":509},[499,997,998],{"class":513},"content",[499,1000,638],{"class":509},[499,1002,1003],{"class":513},"channel",[499,1005,748],{"class":509},[499,1007,1008],{"class":526}," (notify=",[499,1010,742],{"class":509},[499,1012,911],{"class":513},[499,1014,638],{"class":509},[499,1016,998],{"class":513},[499,1018,638],{"class":509},[499,1020,1021],{"class":513},"notify",[499,1023,748],{"class":509},[499,1025,955],{"class":526},[499,1027,958],{"class":509},[499,1029,1031],{"class":501,"line":1030},26,[499,1032,652],{"class":509},[499,1034,1036,1038],{"class":501,"line":1035},27,[499,1037,748],{"class":509},[499,1039,894],{"class":513},[294,1041,1042,1043,1046],{},"The Zod shape is converted to the spec-restricted JSON Schema, the response is validated against the same shape, and ",[340,1044,1045],{},"result.content"," is fully typed.",[1048,1049,1051],"h3",{"id":1050},"api","API",[393,1053,1054,1064],{},[396,1055,1056],{},[399,1057,1058,1061],{},[402,1059,1060],{},"Method",[402,1062,1063],{},"Description",[409,1065,1066,1086,1099,1113],{},[399,1067,1068,1073],{},[414,1069,1070],{},[340,1071,1072],{},"form({ message, schema })",[414,1074,1075,1076,1078,1079,1082,1083,638],{},"Ask for structured input. ",[340,1077,342],{}," is a Zod raw shape (same format as ",[340,1080,1081],{},"inputSchema","). Returns ",[340,1084,1085],{},"{ action, content? }",[399,1087,1088,1093],{},[414,1089,1090],{},[340,1091,1092],{},"url({ message, url })",[414,1094,1095,1096,638],{},"Open an external URL. Returns ",[340,1097,1098],{},"{ action }",[399,1100,1101,1105],{},[414,1102,1103],{},[340,1104,368],{},[414,1106,1107,1108,908,1110,1112],{},"Convenience yes\u002Fno prompt. Returns ",[340,1109,847],{},[340,1111,860],{}," only when the user accepts and confirms).",[399,1114,1115,1118],{},[414,1116,1117],{},"`supports('form'",[414,1119,1120],{},"'url')`",[294,1122,1123,1124,1126,1127,1130,1131,1133,1134,638],{},"The ",[340,1125,916],{}," is one of ",[340,1128,1129],{},"'accept' | 'decline' | 'cancel'",". The ",[340,1132,998],{}," field is only present when ",[340,1135,1136],{},"action === 'accept'",[289,1138,1140],{"id":1139},"schema-restrictions-form-mode","Schema Restrictions (Form Mode)",[294,1142,1143,1144,1147,1148,1151],{},"The MCP spec restricts elicitation requests to ",[298,1145,1146],{},"flat objects with primitive properties"," so any client can render them as a form. The toolkit enforces this at request time and throws ",[340,1149,1150],{},"McpElicitationError('invalid-schema')"," when you violate it.",[294,1153,1154],{},"Allowed:",[303,1156,1157,1175,1181,1187],{},[306,1158,1159,1162,1163,1162,1166,1162,1169,1162,1172],{},[340,1160,1161],{},"z.string()",", ",[340,1164,1165],{},"z.number()",[340,1167,1168],{},"z.boolean()",[340,1170,1171],{},"z.string().email()",[340,1173,1174],{},"z.number().int()",[306,1176,1177,1180],{},[340,1178,1179],{},"z.enum([...])"," — single-select dropdown",[306,1182,1183,1186],{},[340,1184,1185],{},"z.array(z.enum([...]))"," — multi-select",[306,1188,1189,1162,1192,1162,1195],{},[340,1190,1191],{},".describe(...)",[340,1193,1194],{},".default(...)",[340,1196,1197],{},".optional()",[294,1199,1200],{},"Not allowed:",[303,1202,1203,1209,1215],{},[306,1204,1205,1206],{},"Nested ",[340,1207,1208],{},"z.object({ ... })",[306,1210,1211,1214],{},[340,1212,1213],{},"z.array(z.number())"," or any array of non-string-enums",[306,1216,1217,1162,1220,1162,1223,1162,1226],{},[340,1218,1219],{},"z.record(...)",[340,1221,1222],{},"z.tuple(...)",[340,1224,1225],{},"z.union(...)",[340,1227,1228],{},"z.discriminatedUnion(...)",[294,1230,1231,1232,638],{},"Need richer input? Split into multiple elicitation calls or take the data via the regular ",[340,1233,1081],{},[289,1235,1237],{"id":1236},"confirm-helper","Confirm Helper",[489,1239,1242],{"className":491,"code":1240,"filename":1241,"language":494,"meta":495,"style":495},"import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  name: 'delete_project',\n  description: 'Delete a project after confirming with the user',\n  inputSchema: { id: z.string() },\n  handler: async ({ id }) => {\n    const elicit = useMcpElicitation()\n\n    if (!await elicit.confirm(`Permanently delete project ${id}?`)) {\n      return 'Aborted.'\n    }\n\n    await deleteProject(id)\n    return `Deleted ${id}.`\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fdelete-project.ts",[340,1243,1244,1262,1280,1284,1296,1311,1326,1351,1369,1381,1385,1427,1438,1442,1446,1460,1479,1483],{"__ignoreMap":495},[499,1245,1246,1248,1250,1252,1254,1256,1258,1260],{"class":501,"line":502},[499,1247,506],{"class":505},[499,1249,510],{"class":509},[499,1251,514],{"class":513},[499,1253,517],{"class":509},[499,1255,520],{"class":505},[499,1257,523],{"class":509},[499,1259,527],{"class":526},[499,1261,530],{"class":509},[499,1263,1264,1266,1268,1270,1272,1274,1276,1278],{"class":501,"line":533},[499,1265,506],{"class":505},[499,1267,510],{"class":509},[499,1269,540],{"class":513},[499,1271,517],{"class":509},[499,1273,520],{"class":505},[499,1275,523],{"class":509},[499,1277,549],{"class":526},[499,1279,530],{"class":509},[499,1281,1282],{"class":501,"line":554},[499,1283,558],{"emptyLinePlaceholder":557},[499,1285,1286,1288,1290,1292,1294],{"class":501,"line":561},[499,1287,564],{"class":505},[499,1289,567],{"class":505},[499,1291,540],{"class":570},[499,1293,573],{"class":513},[499,1295,576],{"class":509},[499,1297,1298,1300,1302,1304,1307,1309],{"class":501,"line":579},[499,1299,583],{"class":582},[499,1301,586],{"class":509},[499,1303,523],{"class":509},[499,1305,1306],{"class":526},"delete_project",[499,1308,594],{"class":509},[499,1310,597],{"class":509},[499,1312,1313,1315,1317,1319,1322,1324],{"class":501,"line":600},[499,1314,603],{"class":582},[499,1316,586],{"class":509},[499,1318,523],{"class":509},[499,1320,1321],{"class":526},"Delete a project after confirming with the user",[499,1323,594],{"class":509},[499,1325,597],{"class":509},[499,1327,1328,1330,1332,1334,1337,1339,1341,1343,1345,1348],{"class":501,"line":617},[499,1329,620],{"class":582},[499,1331,586],{"class":509},[499,1333,510],{"class":509},[499,1335,1336],{"class":582}," id",[499,1338,586],{"class":509},[499,1340,514],{"class":513},[499,1342,638],{"class":509},[499,1344,641],{"class":570},[499,1346,1347],{"class":513},"() ",[499,1349,1350],{"class":509},"},\n",[499,1352,1353,1355,1357,1359,1361,1363,1365,1367],{"class":501,"line":628},[499,1354,658],{"class":570},[499,1356,586],{"class":509},[499,1358,664],{"class":663},[499,1360,667],{"class":509},[499,1362,1336],{"class":670},[499,1364,674],{"class":509},[499,1366,677],{"class":663},[499,1368,625],{"class":509},[499,1370,1371,1373,1375,1377,1379],{"class":501,"line":649},[499,1372,685],{"class":663},[499,1374,688],{"class":513},[499,1376,691],{"class":509},[499,1378,694],{"class":570},[499,1380,697],{"class":582},[499,1382,1383],{"class":501,"line":655},[499,1384,558],{"emptyLinePlaceholder":557},[499,1386,1387,1389,1391,1394,1397,1399,1401,1403,1405,1407,1410,1412,1415,1417,1420,1422,1425],{"class":501,"line":682},[499,1388,905],{"class":505},[499,1390,908],{"class":582},[499,1392,1393],{"class":509},"!",[499,1395,1396],{"class":505},"await",[499,1398,688],{"class":513},[499,1400,638],{"class":509},[499,1402,432],{"class":570},[499,1404,573],{"class":582},[499,1406,754],{"class":509},[499,1408,1409],{"class":526},"Permanently delete project ",[499,1411,742],{"class":509},[499,1413,1414],{"class":513},"id",[499,1416,748],{"class":509},[499,1418,1419],{"class":526},"?",[499,1421,754],{"class":509},[499,1423,1424],{"class":582},")) ",[499,1426,576],{"class":509},[499,1428,1429,1431,1433,1436],{"class":501,"line":700},[499,1430,937],{"class":505},[499,1432,523],{"class":509},[499,1434,1435],{"class":526},"Aborted.",[499,1437,530],{"class":509},[499,1439,1440],{"class":501,"line":705},[499,1441,964],{"class":509},[499,1443,1444],{"class":501,"line":728},[499,1445,558],{"emptyLinePlaceholder":557},[499,1447,1448,1451,1454,1456,1458],{"class":501,"line":759},[499,1449,1450],{"class":505},"    await",[499,1452,1453],{"class":570}," deleteProject",[499,1455,573],{"class":582},[499,1457,1414],{"class":513},[499,1459,894],{"class":582},[499,1461,1462,1464,1466,1469,1471,1473,1475,1477],{"class":501,"line":769},[499,1463,975],{"class":505},[499,1465,736],{"class":509},[499,1467,1468],{"class":526},"Deleted ",[499,1470,742],{"class":509},[499,1472,1414],{"class":513},[499,1474,748],{"class":509},[499,1476,638],{"class":526},[499,1478,958],{"class":509},[499,1480,1481],{"class":501,"line":835},[499,1482,652],{"class":509},[499,1484,1485,1487],{"class":501,"line":882},[499,1486,748],{"class":509},[499,1488,894],{"class":513},[294,1490,1491,1494,1495,1498,1499,1502],{},[340,1492,1493],{},"confirm()"," builds on ",[340,1496,1497],{},"form()"," with a single ",[340,1500,1501],{},"confirm: z.boolean()"," field, so it inherits the same capability checks and decline handling.",[289,1504,1506],{"id":1505},"url-mode","URL Mode",[294,1508,1509,1510,1513,1514,1517],{},"URL mode is opt-in per the spec — clients must declare ",[340,1511,1512],{},"elicitation.url"," in their capabilities. Use ",[340,1515,1516],{},"supports('url')"," to branch cleanly:",[489,1519,1522],{"className":491,"code":1520,"filename":1521,"language":494,"meta":495,"style":495},"import { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  name: 'connect_github',\n  description: 'Connect the user GitHub account',\n  inputSchema: {},\n  handler: async () => {\n    const elicit = useMcpElicitation()\n\n    if (!elicit.supports('url')) {\n      return 'Open https:\u002F\u002Fapp.example.com\u002Fsettings\u002Fgithub to connect your account, then try again.'\n    }\n\n    const result = await elicit.url({\n      message: 'Authorize the integration',\n      url: 'https:\u002F\u002Fapp.example.com\u002Foauth\u002Fgithub\u002Fstart',\n    })\n\n    return result.action === 'accept'\n      ? 'GitHub connected.'\n      : `User did not complete the flow (${result.action}).`\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fconnect-github.ts",[340,1523,1524,1542,1546,1558,1573,1588,1597,1612,1624,1628,1656,1667,1671,1675,1695,1710,1726,1732,1736,1755,1767,1791,1795],{"__ignoreMap":495},[499,1525,1526,1528,1530,1532,1534,1536,1538,1540],{"class":501,"line":502},[499,1527,506],{"class":505},[499,1529,510],{"class":509},[499,1531,540],{"class":513},[499,1533,517],{"class":509},[499,1535,520],{"class":505},[499,1537,523],{"class":509},[499,1539,549],{"class":526},[499,1541,530],{"class":509},[499,1543,1544],{"class":501,"line":533},[499,1545,558],{"emptyLinePlaceholder":557},[499,1547,1548,1550,1552,1554,1556],{"class":501,"line":554},[499,1549,564],{"class":505},[499,1551,567],{"class":505},[499,1553,540],{"class":570},[499,1555,573],{"class":513},[499,1557,576],{"class":509},[499,1559,1560,1562,1564,1566,1569,1571],{"class":501,"line":561},[499,1561,583],{"class":582},[499,1563,586],{"class":509},[499,1565,523],{"class":509},[499,1567,1568],{"class":526},"connect_github",[499,1570,594],{"class":509},[499,1572,597],{"class":509},[499,1574,1575,1577,1579,1581,1584,1586],{"class":501,"line":579},[499,1576,603],{"class":582},[499,1578,586],{"class":509},[499,1580,523],{"class":509},[499,1582,1583],{"class":526},"Connect the user GitHub account",[499,1585,594],{"class":509},[499,1587,597],{"class":509},[499,1589,1590,1592,1594],{"class":501,"line":600},[499,1591,620],{"class":582},[499,1593,586],{"class":509},[499,1595,1596],{"class":509}," {},\n",[499,1598,1599,1601,1603,1605,1608,1610],{"class":501,"line":617},[499,1600,658],{"class":570},[499,1602,586],{"class":509},[499,1604,664],{"class":663},[499,1606,1607],{"class":509}," ()",[499,1609,677],{"class":663},[499,1611,625],{"class":509},[499,1613,1614,1616,1618,1620,1622],{"class":501,"line":628},[499,1615,685],{"class":663},[499,1617,688],{"class":513},[499,1619,691],{"class":509},[499,1621,694],{"class":570},[499,1623,697],{"class":582},[499,1625,1626],{"class":501,"line":649},[499,1627,558],{"emptyLinePlaceholder":557},[499,1629,1630,1632,1634,1636,1639,1641,1644,1646,1648,1650,1652,1654],{"class":501,"line":655},[499,1631,905],{"class":505},[499,1633,908],{"class":582},[499,1635,1393],{"class":509},[499,1637,1638],{"class":513},"elicit",[499,1640,638],{"class":509},[499,1642,1643],{"class":570},"supports",[499,1645,573],{"class":582},[499,1647,594],{"class":509},[499,1649,358],{"class":526},[499,1651,594],{"class":509},[499,1653,1424],{"class":582},[499,1655,576],{"class":509},[499,1657,1658,1660,1662,1665],{"class":501,"line":682},[499,1659,937],{"class":505},[499,1661,523],{"class":509},[499,1663,1664],{"class":526},"Open https:\u002F\u002Fapp.example.com\u002Fsettings\u002Fgithub to connect your account, then try again.",[499,1666,530],{"class":509},[499,1668,1669],{"class":501,"line":700},[499,1670,964],{"class":509},[499,1672,1673],{"class":501,"line":705},[499,1674,558],{"emptyLinePlaceholder":557},[499,1676,1677,1679,1681,1683,1685,1687,1689,1691,1693],{"class":501,"line":728},[499,1678,685],{"class":663},[499,1680,710],{"class":513},[499,1682,691],{"class":509},[499,1684,715],{"class":505},[499,1686,688],{"class":513},[499,1688,638],{"class":509},[499,1690,358],{"class":570},[499,1692,573],{"class":582},[499,1694,576],{"class":509},[499,1696,1697,1699,1701,1703,1706,1708],{"class":501,"line":759},[499,1698,731],{"class":582},[499,1700,586],{"class":509},[499,1702,523],{"class":509},[499,1704,1705],{"class":526},"Authorize the integration",[499,1707,594],{"class":509},[499,1709,597],{"class":509},[499,1711,1712,1715,1717,1719,1722,1724],{"class":501,"line":769},[499,1713,1714],{"class":582},"      url",[499,1716,586],{"class":509},[499,1718,523],{"class":509},[499,1720,1721],{"class":526},"https:\u002F\u002Fapp.example.com\u002Foauth\u002Fgithub\u002Fstart",[499,1723,594],{"class":509},[499,1725,597],{"class":509},[499,1727,1728,1730],{"class":501,"line":835},[499,1729,891],{"class":509},[499,1731,894],{"class":582},[499,1733,1734],{"class":501,"line":882},[499,1735,558],{"emptyLinePlaceholder":557},[499,1737,1738,1740,1742,1744,1746,1749,1751,1753],{"class":501,"line":888},[499,1739,975],{"class":505},[499,1741,710],{"class":513},[499,1743,638],{"class":509},[499,1745,916],{"class":513},[499,1747,1748],{"class":509}," ===",[499,1750,523],{"class":509},[499,1752,924],{"class":526},[499,1754,530],{"class":509},[499,1756,1757,1760,1762,1765],{"class":501,"line":897},[499,1758,1759],{"class":509},"      ?",[499,1761,523],{"class":509},[499,1763,1764],{"class":526},"GitHub connected.",[499,1766,530],{"class":509},[499,1768,1769,1772,1774,1777,1779,1781,1783,1785,1787,1789],{"class":501,"line":902},[499,1770,1771],{"class":509},"      :",[499,1773,736],{"class":509},[499,1775,1776],{"class":526},"User did not complete the flow (",[499,1778,742],{"class":509},[499,1780,911],{"class":513},[499,1782,638],{"class":509},[499,1784,916],{"class":513},[499,1786,748],{"class":509},[499,1788,955],{"class":526},[499,1790,958],{"class":509},[499,1792,1793],{"class":501,"line":934},[499,1794,652],{"class":509},[499,1796,1797,1799],{"class":501,"line":961},[499,1798,748],{"class":509},[499,1800,894],{"class":513},[470,1802,1804,1805,1810],{"color":1803,"icon":64},"warning","URL-mode elicitation triggers a redirect on the user's machine — only use it for trusted endpoints. The MCP spec recommends pairing it with ",[383,1806,1809],{"href":1807,"rel":1808},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fbasic\u002Fauthorization",[387],"origin\u002Fscheme validation"," on your callback.",[289,1812,1814],{"id":1813},"capability-checks","Capability Checks",[294,1816,1817],{},"Always handle the case where the client doesn't declare the elicitation capability — many clients (and self-hosted relays) advertise tools without it.",[489,1819,1821],{"className":491,"code":1820,"language":494,"meta":495,"style":495},"const elicit = useMcpElicitation()\n\nif (!elicit.supports('form')) {\n  return 'This tool needs an interactive client (Cursor, Claude Desktop, …).'\n}\n",[340,1822,1823,1838,1842,1869,1881],{"__ignoreMap":495},[499,1824,1825,1828,1831,1834,1836],{"class":501,"line":502},[499,1826,1827],{"class":663},"const",[499,1829,1830],{"class":513}," elicit ",[499,1832,1833],{"class":509},"=",[499,1835,694],{"class":570},[499,1837,697],{"class":513},[499,1839,1840],{"class":501,"line":533},[499,1841,558],{"emptyLinePlaceholder":557},[499,1843,1844,1847,1849,1851,1853,1855,1857,1859,1861,1863,1865,1867],{"class":501,"line":554},[499,1845,1846],{"class":505},"if",[499,1848,908],{"class":513},[499,1850,1393],{"class":509},[499,1852,1638],{"class":513},[499,1854,638],{"class":509},[499,1856,1643],{"class":570},[499,1858,573],{"class":513},[499,1860,594],{"class":509},[499,1862,421],{"class":526},[499,1864,594],{"class":509},[499,1866,1424],{"class":513},[499,1868,576],{"class":509},[499,1870,1871,1874,1876,1879],{"class":501,"line":561},[499,1872,1873],{"class":505},"  return",[499,1875,523],{"class":509},[499,1877,1878],{"class":526},"This tool needs an interactive client (Cursor, Claude Desktop, …).",[499,1880,530],{"class":509},[499,1882,1883],{"class":501,"line":579},[499,1884,1885],{"class":509},"}\n",[294,1887,1888,1889,1891,1892,1895,1896,1899,1900,1903],{},"When you call ",[340,1890,1497],{}," or ",[340,1893,1894],{},"url()"," against an unsupported client, the composable throws ",[340,1897,1898],{},"McpElicitationError"," with ",[340,1901,1902],{},"code: 'unsupported'"," so you can recover gracefully:",[489,1905,1907],{"className":491,"code":1906,"language":494,"meta":495,"style":495},"import { McpElicitationError } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\ntry {\n  await elicit.form({ message: '…', schema: { … } })\n}\ncatch (err) {\n  if (err instanceof McpElicitationError && err.code === 'unsupported') {\n    return 'Client does not support elicitation — falling back to defaults.'\n  }\n  throw err\n}\n",[340,1908,1909,1928,1932,1939,1985,1989,1999,2038,2049,2054,2062],{"__ignoreMap":495},[499,1910,1911,1913,1915,1918,1920,1922,1924,1926],{"class":501,"line":502},[499,1912,506],{"class":505},[499,1914,510],{"class":509},[499,1916,1917],{"class":513}," McpElicitationError",[499,1919,517],{"class":509},[499,1921,520],{"class":505},[499,1923,523],{"class":509},[499,1925,549],{"class":526},[499,1927,530],{"class":509},[499,1929,1930],{"class":501,"line":533},[499,1931,558],{"emptyLinePlaceholder":557},[499,1933,1934,1937],{"class":501,"line":554},[499,1935,1936],{"class":505},"try",[499,1938,625],{"class":509},[499,1940,1941,1944,1946,1948,1950,1952,1955,1958,1960,1962,1965,1967,1969,1972,1974,1976,1979,1981,1983],{"class":501,"line":561},[499,1942,1943],{"class":505},"  await",[499,1945,688],{"class":513},[499,1947,638],{"class":509},[499,1949,421],{"class":570},[499,1951,573],{"class":582},[499,1953,1954],{"class":509},"{",[499,1956,1957],{"class":582}," message",[499,1959,586],{"class":509},[499,1961,523],{"class":509},[499,1963,1964],{"class":526},"…",[499,1966,594],{"class":509},[499,1968,794],{"class":509},[499,1970,1971],{"class":582}," schema",[499,1973,586],{"class":509},[499,1975,510],{"class":509},[499,1977,1978],{"class":582}," … ",[499,1980,748],{"class":509},[499,1982,517],{"class":509},[499,1984,894],{"class":582},[499,1986,1987],{"class":501,"line":579},[499,1988,1885],{"class":509},[499,1990,1991,1994,1997],{"class":501,"line":600},[499,1992,1993],{"class":505},"catch",[499,1995,1996],{"class":513}," (err) ",[499,1998,576],{"class":509},[499,2000,2001,2004,2006,2009,2012,2015,2018,2021,2023,2025,2027,2029,2032,2034,2036],{"class":501,"line":617},[499,2002,2003],{"class":505},"  if",[499,2005,908],{"class":582},[499,2007,2008],{"class":513},"err",[499,2010,2011],{"class":509}," instanceof",[499,2013,1917],{"class":2014},"sBMFI",[499,2016,2017],{"class":509}," &&",[499,2019,2020],{"class":513}," err",[499,2022,638],{"class":509},[499,2024,340],{"class":513},[499,2026,1748],{"class":509},[499,2028,523],{"class":509},[499,2030,2031],{"class":526},"unsupported",[499,2033,594],{"class":509},[499,2035,929],{"class":582},[499,2037,576],{"class":509},[499,2039,2040,2042,2044,2047],{"class":501,"line":628},[499,2041,975],{"class":505},[499,2043,523],{"class":509},[499,2045,2046],{"class":526},"Client does not support elicitation — falling back to defaults.",[499,2048,530],{"class":509},[499,2050,2051],{"class":501,"line":649},[499,2052,2053],{"class":509},"  }\n",[499,2055,2056,2059],{"class":501,"line":655},[499,2057,2058],{"class":505},"  throw",[499,2060,2061],{"class":513}," err\n",[499,2063,2064],{"class":501,"line":682},[499,2065,1885],{"class":509},[289,2067,2069],{"id":2068},"requirements","Requirements",[470,2071,2073,2078],{"color":1803,"icon":2072},"i-lucide-triangle-alert",[294,2074,2075,2077],{},[340,2076,484],{}," requires:",[303,2079,2080,2089],{},[306,2081,2082,2085,2086,2088],{},[340,2083,2084],{},"nitro.experimental.asyncContext"," set to ",[340,2087,860],{}," (default since Nuxt 3.8+)",[306,2090,2091,2092,2095],{},"A client that declared the ",[340,2093,2094],{},"elicitation"," capability during initialization",[289,2097,2099],{"id":2098},"next-steps","Next Steps",[303,2101,2102,2107,2112,2122],{},[306,2103,2104,2106],{},[383,2105,234],{"href":235}," — store the user's elicitation answers across subsequent tool calls.",[306,2108,2109,2111],{},[383,2110,215],{"href":216}," — gate which tools require elicitation based on context.",[306,2113,2114,2117,2118,2121],{},[383,2115,2116],{"href":240},"Dynamic definitions"," — hide tools behind ",[340,2119,2120],{},"enabled"," guards instead of asking interactively.",[306,2123,2124,2126,2127,2129,2130,2129,2133,2136],{},[383,2125,200],{"href":201}," — record elicitation outcomes (",[340,2128,924],{}," \u002F ",[340,2131,2132],{},"decline",[340,2134,2135],{},"cancel",") on the wide event.",[2138,2139,2140],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html .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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":495,"searchDepth":533,"depth":533,"links":2142},[2143,2144,2145,2148,2149,2150,2151,2152,2153],{"id":291,"depth":533,"text":292},{"id":390,"depth":533,"text":391},{"id":481,"depth":533,"text":484,"children":2146},[2147],{"id":1050,"depth":554,"text":1051},{"id":1139,"depth":533,"text":1140},{"id":1236,"depth":533,"text":1237},{"id":1505,"depth":533,"text":1506},{"id":1813,"depth":533,"text":1814},{"id":2068,"depth":533,"text":2069},{"id":2098,"depth":533,"text":2099},"Ask the user for structured input or send them to a URL with useMcpElicitation().","md",null,{},{"title":249,"icon":252},{"title":2160,"description":2161},"MCP Elicitation","Request structured input from the user (form mode) or redirect them to a URL (URL mode) from your MCP tools, prompts, and resources.","wMs34mi7apR4HIgsPzBaitojvsSRLFOu5giQwglj3aE",[2164,2166],{"title":244,"path":245,"stem":246,"description":2165,"icon":247,"children":-1},"Let LLMs orchestrate multiple tool calls in a single JavaScript execution.",{"title":259,"path":260,"stem":261,"description":2167,"icon":262,"children":-1},"Secure your MCP endpoints with Bearer token authentication.",1779145056434]