Changelog
Version 1.0 (2026-10-19)
First release: the RPC methods of an API group as MCP tools over Streamable HTTP.
Key changes
- An endpoint per route import:
api_groupis the core API group,/mcp/v2is API version 2; route names contain the group (mcp_ufo_mcp_endpoint, …). - Tools: every method of the group; titles and descriptions from the core translations (including
translations/rpc/<group>.<locale>.yaml) byAccept-Language; self-containedinputSchema/outputSchema;#[McpTool]hints. tools/callthrough the coreRpcExecutor:structuredContent: {"result": …}plus the same JSON as text; errors are the core RPC error withisError: true;rpc.post_responseafter the response is sent, once per call (also in a batch).- HTTP and security: the session-based protocol (sessions in the core cache pool) and stateless 2026-07-28 on one URL; core tokens (401/403); 404 for a disabled group or a missing version; CORS, DNS rebinding protection,
max_body_bytes. - Discovery:
server.jsonfor the MCP Registry, manifests for Claude Code, Cursor, Gemini CLI, OpenAI.
What to keep in mind
Only applies to applications that used the bundle from dev-main before 1.0.0:
- The
session_directoryoption (bundle-wide and per group) was removed, sessions live in the core cache pool; remove the key, otherwise "Unrecognized option".groupsmay now be empty. - Route names contain the group (
<group>_ufo_mcp_endpoint); a manualname_prefixin YAML imports is no longer needed. - Titles and descriptions come only from the core translations:
ToolTextResolverInterfaceandUfo\McpBundle\I18n\*were removed. - Classes moved from
Ufo\McpBundle\Services\*toServer\*,Server\Transport\*,Tool\*; the group, availability and token checks moved fromMcpControllertoEventListener\McpRequestListener.
Environment changes
- PHP >= 8.4, Symfony ^7.2 | ^8.0 (through 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.
A full description of every release with examples is in the releases folder of the bundle repository.