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