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