feat(mcp): advertise the MCP Apps extension when a resource serves an app
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start by reading the MCP bundle Loader and the referenced McpAppPass::extensionAlreadyEnabled() logic, then check how the SDK defines McpApps::MIME_TYPE and McpApps::URI_SCHEME. Trace how registered resources and tools expose those values and how server capabilities are built. Done means app resources or tool metadata enable the extension once per server, including when #[AsMcpApp] is also used.
由索引模型根据 Issue 内容生成。
描述
When an McpResource serves an MCP App (mimeType: 'text/html;profile=mcp-app', ui:// uri) or an McpTool points to one through meta: ['ui' => ['resourceUri' => 'ui://...']], the server should advertise the io.modelcontextprotocol/ui extension in its capabilities. Today we don't, so every app ends up with its own compiler pass:
$container->getDefinition('mcp.server.garage.builder')
->addMethodCall('enableExtension', [new Definition(McpApps::class)]);
The bundle already does this for #[AsMcpApp] (Symfony\AI\McpBundle\DependencyInjection\McpAppPass, see extensionAlreadyEnabled()), and since 2026-07-28 extensions are negotiated through capabilities.extensions, so a host that doesn't see it may not render the app at all.
I think the Loader (or a compiler pass in the bundle integration) could check the operations it registers and call enableExtension(new McpApps()) once per server when one of them is an app, reusing McpApps::MIME_TYPE / McpApps::URI_SCHEME from the sdk. We'd also need to not enable it twice when #[AsMcpApp] is used next to API Platform resources.
Thoughts?
- 主要语言
- PHP
- 星标
- 2.6k
- 派生
- 988
- 平均合并
- 4 天 16 小时
- 30 天内合并 PR
- 118
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
api-platform/core 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
api-platform/core#8835 ·
维护者通常 2 天内回复
-
API Platform ignores array shapes in the JSON Schema可能已有人在做 @afraca 于 14 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
api-platform/core#8766 ·
维护者通常 2 天内回复
-
JSON:API: resource schemas (`*.jsonapi`) have `properties` but no `type: object`可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1 小时以内 新手友好度 80/100
api-platform/core#8701 ·
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 57/100
api-platform/core#8834 ·
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 55/100
api-platform/core#8816 ·
维护者通常 2 天内回复
查看 api-platform/core 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
-
bug SH_K
难度 2/5 1-3 小时 新手友好度 72/100
McNamara84/ernie#1540 ·
维护者通常 1 天内回复
-
Перевод устарел
难度 2/5 1-3 小时 新手友好度 75/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 68/100
php/frankenphp#2829 ·
维护者通常 1 天内回复
-
30-minutes algorithm any-language beginner-friendly c community cpp csharp data-structures go good first issue hacktoberfest help wanted kotlin learning leetcode php ruby rust swift
难度 2/5 1 小时以内 新手友好度 85/100
Huerte/algo-solutions-python#211 ·
维护者通常 1 天内回复