dubbo
dubbo copied to clipboard
Dubbo MCP Integration
What is the purpose of the change?
Ref: #15332
Checklist
- [x] Make sure there is a GitHub_issue field for the change.
- [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- [x] Write necessary unit-test to verify your logic correction. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
- [x] Make sure gitHub actions can pass. Why the workflow is failing and how to fix it?
Codecov Report
:x: Patch coverage is 36.83867% with 967 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 60.77%. Comparing base (dea0206) to head (6076567).
Additional details and impacted files
@@ Coverage Diff @@
## 3.3 #15406 +/- ##
============================================
- Coverage 61.06% 60.77% -0.30%
- Complexity 11700 11729 +29
============================================
Files 1924 1938 +14
Lines 87086 88617 +1531
Branches 13115 13378 +263
============================================
+ Hits 53182 53858 +676
- Misses 28460 29239 +779
- Partials 5444 5520 +76
| Flag | Coverage Δ | |
|---|---|---|
| integration-tests-java21 | 32.46% <1.37%> (-0.40%) |
:arrow_down: |
| integration-tests-java8 | 32.53% <0.39%> (-0.43%) |
:arrow_down: |
| samples-tests-java21 | 32.05% <1.17%> (-0.53%) |
:arrow_down: |
| samples-tests-java8 | 29.85% <0.19%> (-0.49%) |
:arrow_down: |
| unit-tests-java11 | 59.01% <17.64%> (-0.03%) |
:arrow_down: |
| unit-tests-java17 | 58.51% <36.51%> (-0.27%) |
:arrow_down: |
| unit-tests-java21 | 58.50% <36.51%> (-0.29%) |
:arrow_down: |
| unit-tests-java8 | 59.03% <17.64%> (+<0.01%) |
:arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
PTAL @AlbumenJ @CrazyHZM
There are many Chinese comments in the change commit.
Done.Translation completed.
Dear Dubbo team: Once a Dubbo service interface is registered as an MCP (Mesh Control Plane) tool, is its metadata stored exclusively in local memory? Furthermore, are there any plans to register MCP tools with the MCP register in Nacos version 3? Is the Streamable HTTP protocol supported?
There are many Chinese comments in the change commit.
Done.Translation completed.
no, there are still chinese comments. i.e. McpConstant.java
There are many Chinese comments in the change commit.
Done.Translation completed.
no, there are still chinese comments. i.e. McpConstant.java
You're right. done.
Dear Dubbo team: Once a Dubbo service interface is registered as an MCP (Mesh Control Plane) tool, is its metadata stored exclusively in local memory? Furthermore, are there any plans to register MCP tools with the MCP register in Nacos version 3? Is the Streamable HTTP protocol supported?
-
Is its metadata stored exclusively in local memory? Yes.
-
Furthermore, are there any plans to register MCP tools with the MCP registry in Nacos version 3? Under consideration.
-
Is the Streamable HTTP protocol supported? No, but I believe we will support it in the future.Now just sse.
Dear Dubbo team: Once a Dubbo service interface is registered as an MCP (Mesh Control Plane) tool, is its metadata stored exclusively in local memory? Furthermore, are there any plans to register MCP tools with the MCP register in Nacos version 3? Is the Streamable HTTP protocol supported?
- Is its metadata stored exclusively in local memory? Yes.
- Furthermore, are there any plans to register MCP tools with the MCP registry in Nacos version 3? Under consideration.
- Is the Streamable HTTP protocol supported? No, but I believe we will support it in the future.Now just sse.
OK👍
Since the mcp-java-sdk has not yet implemented server-side streamable support, I suggest we begin reviewing this Pull Request and proceed with using SSE as the first RC version. Once the streamable specification is implemented, we can release a second version. @AlbumenJ @zrlw @CrazyHZM @oxsean @heliang666s
Currently, this PR lacks a solution for multiple instances of MCP Server, which involves session sharing issues in cluster mode. However, the multi-instance solution is an enterprise-level solution, which can be implemented after this PR is merged
check the reviews. @RainYuY
@wcy666103 spotless:apply to fix code formatting issue.
@zrlw @AlbumenJ @CrazyHZM @songxiaosheng @heliang666s @EarthChen PTAL
A small suggestion: Disable MCP load by default
Others LGTM
Done