Історія змін
Версія 1.0 (2026-10-19)
Перший реліз: RPC-методи групи API як MCP-інструменти через Streamable HTTP.
Ключові зміни
- Ендпоінт на кожен імпорт маршрутів:
api_group— група API ядра,/mcp/v2— версія API 2; назви маршрутів містять групу (mcp_ufo_mcp_endpoint, …). - Інструменти: кожен метод групи; назви й описи з перекладів ядра (зокрема
translations/rpc/<group>.<locale>.yaml) заAccept-Language; самодостатніinputSchema/outputSchema; підказки#[McpTool]. tools/callчерезRpcExecutorядра:structuredContent: {"result": …}і той самий JSON текстом; помилки — RPC-помилка ядра зisError: true;rpc.post_responseпісля відправлення відповіді, один раз на виклик (і в batch).- HTTP і безпека: протокол із сесіями (сесії в кеш-пулі ядра) і stateless 2026-07-28 на одному URL; токени ядра (401/403); 404 для вимкненої групи чи відсутньої версії; CORS, захист від DNS rebinding,
max_body_bytes. - Discovery:
server.jsonдля MCP Registry, маніфести для Claude Code, Cursor, Gemini CLI, OpenAI.
Що врахувати
Стосується лише застосунків, що використовували бандл з dev-main до 1.0.0:
- Опцію
session_directory(загальну і для групи) прибрано — сесії в кеш-пулі ядра; приберіть ключ, інакше «Unrecognized option».groupsтепер може бути порожнім. - Назви маршрутів містять групу (
<group>_ufo_mcp_endpoint); ручнийname_prefixу YAML-імпортах не потрібен. - Назви й описи беруться лише з перекладів ядра:
ToolTextResolverInterfaceіUfo\McpBundle\I18n\*прибрано. - Класи перенесено з
Ufo\McpBundle\Services\*доServer\*,Server\Transport\*,Tool\*; перевірки групи, доступності й токена — зMcpControllerдоEventListener\McpRequestListener.
Зміни оточення
- PHP >= 8.4, Symfony ^7.2 | ^8.0 (через JsonRpcBundle).
ufo-tech/json-rpc-bundle^10.4.3,mcp/sdk^0.8.1,symfony/psr-http-message-bridge^7.2 | ^8.0,symfony/yaml^7.2 | ^8.0,nyholm/psr7^1.8.
Повний опис кожного релізу з прикладами — у теці releases репозиторію бандла.