Extensions
Packages that extend JsonRpcBundle: new ways of delivering requests, clients and shared libraries. How to write your own extension is described on the For developers page.
Server-side
| Package |
Description |
MCP Bundle (ufo-tech/mcp-bundle) |
Exposes JSON-RPC methods as MCP tools for AI agents (Claude Code, Cursor, Gemini CLI, OpenAI) over Streamable HTTP. One MCP endpoint per API group; generates connection manifests for clients |
REST Bundle (ufo-tech/rest-bundle) |
A REST API on top of existing RPC procedures, only for the methods you need: routes, access control, OpenAPI and Postman documentation |
RPC Mercure Transport (ufo-tech/rpc-mercure-transport) |
Transport via Mercure Hub: publishes RPC requests and events for other services over SSE without a queue broker; console consumer ufo:rpc:socket:consume |
Client-side
| Package |
Description |
JSON-RPC Client SDK (ufo-tech/json-rpc-client-sdk) |
Generates a client SDK (procedure classes and DTOs) from any JSON-RPC server; extended support for JsonRpcBundle servers (special $rpc parameters, DTO responses) |
JSON-RPC SDK Bundle (ufo-tech/json-rpc-sdk-bundle) |
Client SDK integration into Symfony: SDK generation commands and autowiring of generated procedures |
RPC TS SDK (@ufotech/rpc-ts-sdk) |
Generates TypeScript interfaces from OpenRPC document schemas |
SDK async transports (ufo-tech/component-transport-contracts, ufo-tech/component-transport-amqp) |
Contracts and an AMQP implementation of asynchronous calls for the Client SDK on Symfony Messenger |
Shared libraries
Packages the core and clients are built on; you do not need to install them separately.
| Package |
Description |
ufo-tech/rpc-objects |
JSON-RPC objects (request, notification, batch, response, error), RPC attributes (#[RPC\Info], #[RPC\Cache], etc.), special $rpc parameters |
ufo-tech/rpc-exceptions |
Exceptions bound to JSON-RPC error codes, and conversion of a code to an exception |
ufo-tech/dto-transformer |
Conversion of arrays to DTOs and back, type detection from PHP and PHPDoc |