[Feat]: Support adding new RPC methods to a JSON-RPC server application

Open
#584 1 comment 0 reactions 1 assignee View on GitHub

@lkawka is already working on this.

Since Dec 11, 2025.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
fastapi, python
Domain
api, backend

Research direction

Look at the JSONRPCApplication class and its fixed method list. Examine how A2AStarletteApplication and A2AFastAPIApplication extend it. The goal is to modify the base class to accept and register additional RPC methods. Check existing tests for JSON-RPC handling to understand the interface. 'Done' means new methods can be registered and invoked through the JSON-RPC server.

Written by the indexing model from the issue text.

Description

Is your feature request related to a problem? Please describe.

The spec for extensions defines 3 types of extensions, the last one is: "Method Extensions (Extended Skills): Adding entirely new RPC methods beyond the core set defined by the protocol"
As far as I understand, there is currently no way for enhancing my A2AStarletteApplication/A2AFastAPIApplication application with new RPC methods. (as they both extends JSONRPCApplication and it uses a fixed list of the core RPC methods that cant be extended)

Describe the solution you'd like

I would like JSONRPCApplication to allow its users to hook new JSON-RPC methods.

Describe alternatives you've considered

I'm considering using the HTTP/REST protocol instead of the JSON-RPC protocol just because its easier to extend with new methods.

Additional context

No response

Code of Conduct
  • I agree to follow this project's Code of Conduct
Dominant language
Python
Stars
2.2k
Forks
496
Avg merge
1d 23h
Merged PRs (30d)
16

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from a2aproject/a2a-python

All issues in a2aproject/a2a-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.