Extensions

← Extensions

Ashterix

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

en/docs/api/json-rpc-bundle/developers/extensions.md new file +30 −0

1 + # Extensions
2 +
3 + 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](/docs/api/json-rpc-bundle/developers) page.
4 +
5 + ## Server-side
6 +
7 + | Package | Description |
8 + | --- | --- |
9 + | [MCP Bundle](/docs/api/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 |
10 + | [REST Bundle](/docs/api/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 |
11 + | [RPC Mercure Transport](/docs/api/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` |
12 +
13 + ## Client-side
14 +
15 + | Package | Description |
16 + | --- | --- |
17 + | [JSON-RPC Client SDK](/docs/api/sdk/client) (`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) |
18 + | [JSON-RPC SDK Bundle](/docs/api/sdk/bundle) (`ufo-tech/json-rpc-sdk-bundle`) | Client SDK integration into Symfony: SDK generation commands and autowiring of generated procedures |
19 + | [RPC TS SDK](/docs/api/sdk/ts) (`@ufotech/rpc-ts-sdk`) | Generates TypeScript interfaces from OpenRPC document schemas |
20 + | [SDK async transports](/docs/api/sdk/client/async) (`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 |
21 +
22 + ## Shared libraries
23 +
24 + Packages the core and clients are built on; you do not need to install them separately.
25 +
26 + | Package | Description |
27 + | --- | --- |
28 + | `ufo-tech/rpc-objects` | JSON-RPC objects (request, notification, batch, response, error), RPC attributes (`#[RPC\Info]`, `#[RPC\Cache]`, etc.), special `$rpc` parameters |
29 + | `ufo-tech/rpc-exceptions` | Exceptions bound to JSON-RPC error codes, and conversion of a code to an exception |
30 + | `ufo-tech/dto-transformer` | Conversion of arrays to DTOs and back, type detection from PHP and PHPDoc |