-
Notifications
You must be signed in to change notification settings - Fork 967
Implement MCP on the server side #6492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
ikhoon
wants to merge
9
commits into
line:json-rpc
Choose a base branch
from
ikhoon:mcp-integration
base: json-rpc
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Motivation:
We can easily implement other protocols such as MCP on top of
`JsonRpcService` by adding SSE support.
Modifications:
- Reorganized JSON-RPC message data types so that `JsonRpcHandler`
can handle `JsonRpcResponse` and `JsonRpcNotifcation`.
- Introduced `JsonRpcMessage` as the root interface of JSON-RPC
messages.
- `JsonRpcStreamableResponse` is newly added to allow writing multiple
JSON-RPC messages before emitting a final response.
- The streamable response is converted to SSE by `JsonRpcService`.
- `JsonRpcExceptionHandler` is added to recover an exception into a
`JsonRpcResponse`.
- Renamed `JsonRpcHandler` into `JsonRpcMehtodHandler` and the orignal
interface is used as a global handler to process any JSON-RPC
messages.
- `JsonRpcStatusFunction` maps a `JsonRpcError` into an HTTP status.
Result:
- Several handlers have been added to customize the behavior of JsonRpcService.
- You can now stream JSON-RPC messages over server-sent events.
Contributor
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## json-rpc #6492 +/- ##
===========================================
Coverage ? 74.12%
Complexity ? 23252
===========================================
Files ? 2091
Lines ? 87051
Branches ? 11426
===========================================
Hits ? 64528
Misses ? 17050
Partials ? 5473 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation:
Implemented only the transport layer using the official Java SDK for MCP.
https://github.com/modelcontextprotocol/java-sdk
Modifications:
TBU
Result:
TBU