[{"data":1,"prerenderedAt":872},["ShallowReactive",2],{"navigation_docs":3,"-apps-patterns-reference":282,"-apps-patterns-reference-surround":867},[4,40,70,99,122,156,189,253],{"title":5,"path":6,"stem":7,"children":8,"page":39},"入门指南","\u002Fgetting-started","1.getting-started",[9,14,19,24,29,34],{"title":10,"path":11,"stem":12,"icon":13},"简介","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":15,"path":16,"stem":17,"icon":18},"安装","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"配置","\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},"工具","\u002Ftools","2.tools",[45,50,55,60,65],{"title":46,"path":47,"stem":48,"icon":49},"概览","\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},"注释与输入示例","\u002Ftools\u002Fannotations","2.tools\u002F2.annotations","i-lucide-badge-info",{"title":61,"path":62,"stem":63,"icon":64},"错误与缓存","\u002Ftools\u002Ferrors-caching","2.tools\u002F3.errors-caching","i-lucide-shield",{"title":66,"path":67,"stem":68,"icon":69},"分组、文件与动态注册","\u002Ftools\u002Fgroups-organization","2.tools\u002F4.groups-organization","i-lucide-tags",{"title":71,"path":72,"stem":73,"children":74,"page":39},"资源","\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},"静态资源与结构","\u002Fresources\u002Fstatic-and-structure","3.resources\u002F1.static-and-structure","i-lucide-file-stack",{"title":85,"path":86,"stem":87,"icon":88},"模板与处理程序","\u002Fresources\u002Ftemplates-and-handlers","3.resources\u002F2.templates-and-handlers","i-lucide-git-branch",{"title":90,"path":91,"stem":92,"icon":93},"元数据、内容与错误","\u002Fresources\u002Fcontent-metadata-errors","3.resources\u002F3.content-metadata-errors","i-lucide-layers",{"title":95,"path":96,"stem":97,"icon":98},"分组与组织","\u002Fresources\u002Forganization","3.resources\u002F4.organization","i-lucide-folder-tree",{"title":100,"path":101,"stem":102,"children":103,"page":39},"提示词","\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},"编写与结构","\u002Fprompts\u002Fauthoring","4.prompts\u002F1.authoring","i-lucide-pen-line",{"title":114,"path":115,"stem":116,"icon":93},"输入、处理器与消息","\u002Fprompts\u002Finput-handler-messages","4.prompts\u002F2.input-handler-messages",{"title":118,"path":119,"stem":120,"icon":121},"模式与高级用法","\u002Fprompts\u002Fpatterns-advanced","4.prompts\u002F3.patterns-advanced","i-lucide-line-chart",{"title":123,"path":124,"stem":125,"children":126,"page":39},"处理器","\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},"默认与自定义处理器","\u002Fhandlers\u002Fdefault-and-custom","5.handlers\u002F1.default-and-custom","i-lucide-toggle-left",{"title":137,"path":138,"stem":139,"icon":140},"结构与选项","\u002Fhandlers\u002Fstructure-and-options","5.handlers\u002F2.structure-and-options","i-lucide-sliders-horizontal",{"title":142,"path":143,"stem":144,"icon":145},"示例与路由","\u002Fhandlers\u002Fexamples-routing","5.handlers\u002F3.examples-routing","i-lucide-route",{"title":147,"path":148,"stem":149,"icon":150},"分享与实践","\u002Fhandlers\u002Fsharing-practices","5.handlers\u002F4.sharing-practices","i-lucide-share-2",{"title":152,"path":153,"stem":154,"icon":155},"多处理器组织","\u002Fhandlers\u002Forganization","5.handlers\u002F5.organization","i-lucide-network",{"title":157,"path":158,"stem":159,"children":160,"page":39},"应用","\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},"编写与 defineMcpApp","\u002Fapps\u002Fauthoring","6.apps\u002F1.authoring","i-lucide-code-2",{"title":171,"path":172,"stem":173,"icon":174},"useMcpApp() 桥接","\u002Fapps\u002Fuse-mcp-app","6.apps\u002F2.use-mcp-app","i-lucide-message-circle",{"title":176,"path":177,"stem":178,"icon":64},"CSP 与构建流水线","\u002Fapps\u002Fcsp-and-wiring","6.apps\u002F3.csp-and-wiring",{"title":180,"path":181,"stem":182,"icon":183},"测试与发布","\u002Fapps\u002Ftesting-publishing","6.apps\u002F4.testing-publishing","i-lucide-rocket",{"title":185,"path":186,"stem":187,"icon":188},"模式与限制","\u002Fapps\u002Fpatterns-reference","6.apps\u002F5.patterns-reference","i-lucide-book-marked",{"title":190,"path":191,"stem":192,"children":193,"page":39},"进阶主题","\u002Fadvanced","7.advanced",[194,199,204,209,214,218,223,228,233,238,243,248],{"title":195,"path":196,"stem":197,"icon":198},"自定义路径","\u002Fadvanced\u002Fcustom-paths","7.advanced\u002F1.custom-paths","i-lucide-folder",{"title":200,"path":201,"stem":202,"icon":203},"日志","\u002Fadvanced\u002Flogging","7.advanced\u002F10.logging","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"MCP Apps 内部机制","\u002Fadvanced\u002Fmcp-apps-internals","7.advanced\u002F11.mcp-apps-internals","i-lucide-cog",{"title":210,"path":211,"stem":212,"icon":213},"列出定义","\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 评估","\u002Fadvanced\u002Fevals","7.advanced\u002F5.evals","i-lucide-flask-conical",{"title":234,"path":235,"stem":236,"icon":237},"会话","\u002Fadvanced\u002Fsessions","7.advanced\u002F6.sessions","i-lucide-database",{"title":239,"path":240,"stem":241,"icon":242},"动态定义","\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},"启发式询问","\u002Fadvanced\u002Felicitation","7.advanced\u002F9.elicitation","i-lucide-message-square-quote",{"title":254,"path":255,"stem":256,"children":257,"page":39},"示例","\u002Fexamples","8.examples",[258,263,268,273,278],{"title":259,"path":260,"stem":261,"icon":262},"身份验证","\u002Fexamples\u002Fauthentication","8.examples\u002F1.authentication","i-lucide-shield-check",{"title":264,"path":265,"stem":266,"icon":267},"API 集成","\u002Fexamples\u002Fapi-integration","8.examples\u002F2.api-integration","i-lucide-globe",{"title":269,"path":270,"stem":271,"icon":272},"常见模式","\u002Fexamples\u002Fcommon-patterns","8.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":274,"path":275,"stem":276,"icon":277},"文件操作","\u002Fexamples\u002Ffile-operations","8.examples\u002F4.file-operations","i-lucide-file",{"title":279,"path":280,"stem":281,"icon":107},"提示词示例","\u002Fexamples\u002Fprompt-examples","8.examples\u002F5.prompt-examples",{"id":283,"title":185,"body":284,"description":858,"extension":859,"links":860,"meta":861,"navigation":862,"path":186,"seo":863,"stem":187,"__hash__":866},"docs\u002F6.apps\u002F5.patterns-reference.md",{"type":285,"value":286,"toc":847},"minimark",[287,291,300,314,421,424,427,494,497,504,570,573,577,585,588,595,638,641,689,699,702,833,843],[288,289,290],"h2",{"id":290},"模式",[292,293,295,299],"h3",{"id":294},"calltool-期间的骨架屏",[296,297,298],"code",{},"callTool"," 期间的骨架屏",[301,302,303,306,307,309,310,313],"p",{},[296,304,305],{},"pending"," 仅在进行中的 ",[296,308,298],{}," 调用期间会切换为 ",[296,311,312],{},"true"," —— 非常适合在不丢失先前数据的情况下进行局部 UI 更新：",[315,316,321],"pre",{"className":317,"code":318,"language":319,"meta":320,"style":320},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cbutton :disabled=\"pending\" @click=\"callTool('color-picker', { base: nextBase })\">\n  {{ pending ? '正在混合…' : '试试这个颜色' }}\n\u003C\u002Fbutton>\n","vue","",[296,322,323,405,411],{"__ignoreMap":320},[324,325,328,332,336,339,343,346,349,352,354,357,360,362,364,367,370,373,377,379,382,385,388,391,394,397,400,402],"span",{"class":326,"line":327},"line",1,[324,329,331],{"class":330},"sMK4o","\u003C",[324,333,335],{"class":334},"swJcz","button",[324,337,338],{"class":330}," :",[324,340,342],{"class":341},"spNyl","disabled",[324,344,345],{"class":330},"=",[324,347,348],{"class":330},"\"",[324,350,305],{"class":351},"sTEyZ",[324,353,348],{"class":330},[324,355,356],{"class":330}," @",[324,358,359],{"class":341},"click",[324,361,345],{"class":330},[324,363,348],{"class":330},[324,365,298],{"class":366},"s2Zo4",[324,368,369],{"class":351},"(",[324,371,372],{"class":330},"'",[324,374,376],{"class":375},"sfazB","color-picker",[324,378,372],{"class":330},[324,380,381],{"class":330},",",[324,383,384],{"class":330}," {",[324,386,387],{"class":334}," base",[324,389,390],{"class":330},":",[324,392,393],{"class":351}," nextBase ",[324,395,396],{"class":330},"}",[324,398,399],{"class":351},")",[324,401,348],{"class":330},[324,403,404],{"class":330},">\n",[324,406,408],{"class":326,"line":407},2,[324,409,410],{"class":351},"  {{ pending ? '正在混合…' : '试试这个颜色' }}\n",[324,412,414,417,419],{"class":326,"line":413},3,[324,415,416],{"class":330},"\u003C\u002F",[324,418,335],{"class":334},[324,420,404],{"class":330},[292,422,423],{"id":423},"适配全屏与内联",[301,425,426],{},"宿主可以将你的应用以内联方式挂载（较小），或将其展开为全屏。切换布局原语：",[315,428,430],{"className":317,"code":429,"language":319,"meta":320,"style":320},"\u003Csection :class=\"['rail', isFullscreen && 'rail-grid']\">\n  \u003C!-- 内联时水平滚动，全屏时使用 CSS grid -->\n\u003C\u002Fsection>\n",[296,431,432,481,486],{"__ignoreMap":320},[324,433,434,436,439,441,444,446,448,451,453,456,458,460,463,466,469,472,474,477,479],{"class":326,"line":327},[324,435,331],{"class":330},[324,437,438],{"class":334},"section",[324,440,338],{"class":330},[324,442,443],{"class":341},"class",[324,445,345],{"class":330},[324,447,348],{"class":330},[324,449,450],{"class":351},"[",[324,452,372],{"class":330},[324,454,455],{"class":375},"rail",[324,457,372],{"class":330},[324,459,381],{"class":330},[324,461,462],{"class":351}," isFullscreen ",[324,464,465],{"class":330},"&&",[324,467,468],{"class":330}," '",[324,470,471],{"class":375},"rail-grid",[324,473,372],{"class":330},[324,475,476],{"class":351},"]",[324,478,348],{"class":330},[324,480,404],{"class":330},[324,482,483],{"class":326,"line":407},[324,484,485],{"class":351},"  \u003C!-- 内联时水平滚动，全屏时使用 CSS grid -->\n",[324,487,488,490,492],{"class":326,"line":413},[324,489,416],{"class":330},[324,491,438],{"class":334},[324,493,404],{"class":330},[292,495,496],{"id":496},"应用到应用的工作流",[301,498,499,500,503],{},"在应用 A 中使用 ",[296,501,502],{},"sendPrompt","，并让 LLM 将请求分发到应用 B。用户会感知到平滑的过渡；LLM 仍然在流程中，并且可以携带参数继续传递：",[315,505,507],{"className":317,"code":506,"language":319,"meta":320,"style":320},"\u003Cbutton @click=\"sendPrompt(`Generate a typography scale for ${swatch.hex}.`)\">\n  与字体搭配\n\u003C\u002Fbutton>\n",[296,508,509,557,562],{"__ignoreMap":320},[324,510,511,513,515,517,519,521,523,525,527,530,533,536,539,542,545,547,549,551,553,555],{"class":326,"line":327},[324,512,331],{"class":330},[324,514,335],{"class":334},[324,516,356],{"class":330},[324,518,359],{"class":341},[324,520,345],{"class":330},[324,522,348],{"class":330},[324,524,502],{"class":366},[324,526,369],{"class":351},[324,528,529],{"class":330},"`",[324,531,532],{"class":375},"Generate a typography scale for ",[324,534,535],{"class":330},"${",[324,537,538],{"class":351},"swatch",[324,540,541],{"class":330},".",[324,543,544],{"class":351},"hex",[324,546,396],{"class":330},[324,548,541],{"class":375},[324,550,529],{"class":330},[324,552,399],{"class":351},[324,554,348],{"class":330},[324,556,404],{"class":330},[324,558,559],{"class":326,"line":407},[324,560,561],{"class":351},"  与字体搭配\n",[324,563,564,566,568],{"class":326,"line":413},[324,565,416],{"class":330},[324,567,335],{"class":334},[324,569,404],{"class":330},[301,571,572],{},"LLM 会从提示中选择正确的工具——保持名称可预测。",[292,574,576],{"id":575},"css-共置","CSS 共置",[301,578,579,580,584],{},"使用 scoped styles 或任何会输出内联样式的 CSS-in-JS 方案。打包器会将所有样式内联到 HTML 中；",[581,582,583],"strong",{},"不会从 iframe 发起外部 CSS 请求","。",[288,586,587],{"id":587},"你目前无法做的事",[301,589,590,591,594],{},"MCP 应用运行在一个隔离的 ",[296,592,593],{},"iframe"," 中，无法访问你的 Nuxt 运行时上下文。这意味着：",[596,597,598,606,626,632],"ul",{},[599,600,601,602,605],"li",{},"❌ ",[581,603,604],{},"Nuxt UI \u002F Nuxt Image \u002F NuxtLink"," —— 它们需要父 Nuxt 应用的运行时。",[599,607,601,608,611,612,615,616,615,619,615,622,625],{},[581,609,610],{},"自动导入的 Nuxt composables","（",[296,613,614],{},"useFetch","、",[296,617,618],{},"useState",[296,620,621],{},"useRoute",[296,623,624],{},"useNuxtApp","、…）。",[599,627,601,628,631],{},[581,629,630],{},"Pinia store 或应用级插件"," —— 模块图不同。",[599,633,601,634,637],{},[581,635,636],{},"来自父页面的 cookies、headers、session"," —— 沙盒化的 origin。",[301,639,640],{},"你可以使用的有：",[596,642,643,658,665,675,686],{},[599,644,645,646,615,649,615,652,615,655,625],{},"✅ Vue 3 + Composition API（自动导入：",[296,647,648],{},"ref",[296,650,651],{},"computed",[296,653,654],{},"watch",[296,656,657],{},"onMounted",[599,659,660,661,664],{},"✅ ",[296,662,663],{},"useMcpApp()"," —— iframe 中唯一的工具包 composable。",[599,666,660,667,670,671,674],{},[296,668,669],{},"handler"," 内部的 ",[296,672,673],{},"$fetch","（服务端）—— 调用任何 Nuxt API。",[599,676,677,678,681,682,685],{},"✅ 与 SFC 相邻的共置 ",[296,679,680],{},".ts"," \u002F ",[296,683,684],{},".css"," 辅助文件（打包器会将它们内联）。",[599,687,688],{},"✅ 无头 UI 库（Reka UI、Headless UI Vue、Floating UI）—— 它们与框架无关。",[690,691,694,695,698],"callout",{"color":692,"icon":693},"info","i-lucide-info","需要丰富组件？可以在你的 apps 目录中构建一个小型共置设计系统，例如 ",[296,696,697],{},"app\u002Fmcp\u002F_components\u002F"," —— 任何导入它的应用都会将其打包进去。或者引入一个不依赖宿主运行时的无头库。",[288,700,701],{"id":701},"参考",[703,704,705,721],"table",{},[706,707,708],"thead",{},[709,710,711,715,718],"tr",{},[712,713,714],"th",{},"API",[712,716,717],{},"位置",[712,719,720],{},"作用",[722,723,724,740,770,785,808],"tbody",{},[709,725,726,732,737],{},[727,728,729],"td",{},[296,730,731],{},"defineMcpApp()",[727,733,734],{},[296,735,736],{},"\u003Cscript setup>",[727,738,739],{},"声明工具、schema、handler、CSP。从浏览器 bundle 中移除。",[709,741,742,747,750],{},[727,743,744],{},[296,745,746],{},"useMcpApp\u003CT>()",[727,748,749],{},"SFC body",[727,751,752,753,681,756,681,759,762,763,615,765,615,767,584],{},"响应式 ",[296,754,755],{},"data",[296,757,758],{},"loading",[296,760,761],{},"hostContext"," + ",[296,764,298],{},[296,766,502],{},[296,768,769],{},"openLink",[709,771,772,777,782],{},[727,773,774],{},[296,775,776],{},"csp.resourceDomains",[727,778,779],{},[296,780,781],{},"defineMcpApp",[727,783,784],{},"图像 \u002F 字体 \u002F 样式来源白名单。",[709,786,787,792,796],{},[727,788,789],{},[296,790,791],{},"csp.connectDomains",[727,793,794],{},[296,795,781],{},[727,797,798,681,801,681,804,807],{},[296,799,800],{},"fetch",[296,802,803],{},"XHR",[296,805,806],{},"WebSocket"," 来源白名单。",[709,809,810,815,819],{},[727,811,812],{},[296,813,814],{},"_meta",[727,816,817],{},[296,818,781],{},[727,820,821,822,825,826,829,830,832],{},"除 ",[296,823,824],{},"ui.resourceUri"," 和 ",[296,827,828],{},"ui.csp"," 之外，随 ",[296,831,814],{}," 一同向宿主暴露的额外字段。",[301,834,835,836,825,840,584],{},"在寻找底层工具 \u002F 资源 API？请参阅 ",[837,838,839],"a",{"href":47},"Tools",[837,841,842],{"href":76},"Resources",[844,845,846],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}",{"title":320,"searchDepth":407,"depth":407,"links":848},[849,856,857],{"id":290,"depth":407,"text":290,"children":850},[851,853,854,855],{"id":294,"depth":413,"text":852},"callTool 期间的骨架屏",{"id":423,"depth":413,"text":423},{"id":496,"depth":413,"text":496},{"id":575,"depth":413,"text":576},{"id":587,"depth":407,"text":587},{"id":701,"depth":407,"text":701},"UI 模式、iframe 中不受支持的 Nuxt 功能，以及 API 参考。","md",null,{},{"icon":188},{"title":864,"description":865},"MCP 应用 — 模式与参考","布局模式、iframe 限制，以及 defineMcpApp \u002F useMcpApp 参考。","jpSI6Zx2yMmTCy3p3qruDtnz3SW6uiHvWEMqLqdhh4M",[868,870],{"title":180,"path":181,"stem":182,"description":869,"icon":183,"children":-1},"在本地测试 MCP Apps，选择兼容的宿主，并为 ChatGPT、Claude 和 IDE 客户端部署 HTTPS 端点。",{"title":195,"path":196,"stem":197,"description":871,"icon":198,"children":-1},"自定义模块查找 MCP 定义的位置。",1778659578962]