-
Notifications
You must be signed in to change notification settings - Fork 26.5k
Dubbo MCP Integration #15406
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
base: 3.3
Are you sure you want to change the base?
Dubbo MCP Integration #15406
Conversation
4b00a76
to
4739e28
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## 3.3 #15406 +/- ##
============================================
- Coverage 61.02% 60.73% -0.29%
- Complexity 11685 11715 +30
============================================
Files 1923 1937 +14
Lines 87081 88612 +1531
Branches 13115 13378 +263
============================================
+ Hits 53141 53819 +678
- Misses 28488 29258 +770
- Partials 5452 5535 +83
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
4739e28
to
c1ad13b
Compare
c1ad13b
to
1eb59ac
Compare
…d optimized the port selection logic when configurations are not provided.
763676c
to
1913eb8
Compare
Add errorCode. Add unitTest
1913eb8
to
5cd8426
Compare
…g and refactor package structure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are many Chinese comments in the change commit.
18e1a2c
to
f72f378
Compare
Done.Translation completed. |
Dear Dubbo team: |
no, there are still chinese comments. i.e. McpConstant.java |
f72f378
to
7057efb
Compare
You're right. done. |
|
...o-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/core/McpApplicationDeployListener.java
Outdated
Show resolved
Hide resolved
...o-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/core/McpApplicationDeployListener.java
Show resolved
Hide resolved
dubbo-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/core/McpServiceFilter.java
Outdated
Show resolved
Hide resolved
dubbo-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/tool/DubboMcpGenericCaller.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces Model Context Protocol (MCP) integration for Dubbo, allowing Dubbo services to be exposed as MCP tools for AI agents and large language models. The implementation provides HTTP-based transport support through both Server-Sent Events (SSE) and streamable protocols.
- Adds a new
dubbo-mcp
plugin module that integrates Dubbo with the Model Context Protocol - Implements MCP transport providers supporting both SSE and streamable communication patterns
- Provides tools for automatically converting Dubbo services to MCP tool specifications using OpenAPI definitions
Reviewed Changes
Copilot reviewed 53 out of 53 changed files in this pull request and generated 6 comments.
Show a summary per file
File | Description |
---|---|
pom.xml | Adds dubbo-mcp module to build and creates conditional profiles for Java 17+ |
dubbo-plugin/dubbo-mcp/pom.xml | Defines dependencies for MCP SDK, OpenAPI support, and configuration management |
dubbo-plugin/dubbo-mcp/src/main/java/ | Core MCP implementation including service filters, transport providers, and tool registry |
dubbo-remoting/dubbo-remoting-http12/ | Adds NOT_ACCEPTABLE HTTP status and RPC context response header support |
dubbo-plugin/dubbo-qos/pom.xml | Adds log4j-api dependency |
dubbo-distribution/ | Updates BOM and all distributions to include dubbo-mcp dependency |
...bo-mcp/src/main/java/org/apache/dubbo/mcp/transport/DubboMcpStreamableTransportProvider.java
Show resolved
Hide resolved
dubbo-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/core/McpServiceFilter.java
Show resolved
Hide resolved
dubbo-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/tool/DubboServiceToolRegistry.java
Show resolved
Hide resolved
dubbo-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/tool/DubboMcpGenericCaller.java
Show resolved
Hide resolved
dubbo-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/core/McpSseServiceImpl.java
Outdated
Show resolved
Hide resolved
dubbo-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/util/TypeSchemaUtils.java
Show resolved
Hide resolved
dubbo-common/src/main/java/org/apache/dubbo/config/nested/McpConfig.java
Show resolved
Hide resolved
dubbo-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/core/McpServiceExportListener.java
Outdated
Show resolved
Hide resolved
dubbo-plugin/dubbo-mcp/src/main/java/org/apache/dubbo/mcp/core/McpServiceFilter.java
Show resolved
Hide resolved
# Conflicts: # dubbo-distribution/dubbo-all-shaded/pom.xml # dubbo-distribution/dubbo-all/pom.xml # dubbo-test/dubbo-test-modules/src/test/java/org/apache/dubbo/dependency/FileTest.java # pom.xml
What is the purpose of the change?
Ref: #15332
Checklist