Changelog

← Changelog

Ashterix

docs: rewrite JsonRpcBundle docs, add SDK docs, move them under docs/api

en/docs/api/mcp-bundle/change_log/README.md new file +4 −0

Changelog

<include>(latest.md)

A full description of every release with examples is in the releases folder of the bundle repository.

en/docs/api/mcp-bundle/change_log/latest.md new file +1 −0

<include>(1.0.0.md)

en/docs/api/mcp-bundle/change_log/1.0.0.md new file +25 −0

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_group is the core API group, /mcp/v2 is 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) by Accept-Language; self-contained inputSchema / outputSchema; #[McpTool] hints.
  • tools/call through the core RpcExecutor: structuredContent: {"result": …} plus the same JSON as text; errors are the core RPC error with isError: true; rpc.post_response after 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.json for 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_directory option (bundle-wide and per group) was removed, sessions live in the core cache pool; remove the key, otherwise "Unrecognized option". groups may now be empty.
  • Route names contain the group (<group>_ufo_mcp_endpoint); a manual name_prefix in YAML imports is no longer needed.
  • Titles and descriptions come only from the core translations: ToolTextResolverInterface and Ufo\McpBundle\I18n\* were removed.
  • Classes moved from Ufo\McpBundle\Services\* to Server\*, Server\Transport\*, Tool\*; the group, availability and token checks moved from McpController to EventListener\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.