[Feat]: Support adding new RPC methods to a JSON-RPC server application
@lkawka is already working on this.
Since Dec 11, 2025.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from a2aproject/a2a-python
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
a2aproject/a2a-python#1261 ·
-
component: server status:awaiting response
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1237 · 1 comment · 1 assignee ·
-
component: server status:awaiting response status:stale
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1215 · 2 comments · 1 assignee ·
-
component: server status:awaiting response status:stale
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1205 · 3 comments · 1 assignee ·
-
component: server status:awaiting response status:stale
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1204 · 2 comments · 1 assignee ·
All issues in a2aproject/a2a-python
Similar issues
-
documentation help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
simonw/sqlite-utils#872 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100