shenyu icon indicating copy to clipboard operation
shenyu copied to clipboard

[Question] Inquiry about MCP (Model Context Protocol) Support for Dubbo Service Proxy

Open SpursJiang opened this issue 8 months ago • 8 comments

Question

Hello ShenYu team,

We're evaluating ShenYu for implementing an MCP (Model Context Protocol) gateway to proxy requests between MCP-server and existing Dubbo service interfaces.

We noticed the experimental MCP implementation in this branch: https://github.com/Aias00/shenyu/tree/feat/mcp @Aias00

Could you please clarify:

1.The current design approach and roadmap for Model Context Protocol support in ShenYu 2.Whether this implementation can proxy between MCP-server and Dubbo interfaces Specifically, we'd like to understand where MCP-server registers its metadata: Is it stored in external registries (like Nacos) or Maintained purely within the ShenYu gateway?

SpursJiang avatar May 23 '25 08:05 SpursJiang

  1. Shenyu is currently integrating MCP-related capabilities. The first step is to convert existing registered services into MCP plugin capabilities. As for follow-up plans, such as MCP registry, they are still being sorted out, and a roadmap will be compiled in the near future.

  2. At present, the capabilities of the Shenyu MCP plugin can convert the data already registered with Shenyu into MCP, including HTTP, Dubbo, and other RPC services.

  3. At present, the capabilities of the Shenyu MCP plugin can convert the data already registered with Shenyu into MCP, including HTTP, Dubbo, and other RPC services.

  4. At present, the capabilities of the Shenyu MCP plugin can convert the data already registered with Shenyu into MCP, including HTTP, Dubbo, and other RPC services.

Aias00 avatar May 23 '25 09:05 Aias00

@Aias00 Thank you。 I would like to confirm whether the repositories: [Aias00/shenyu feat/mcp branch](https://github.com/Aias00/shenyu/tree/feat/mcp) [apache/shenyu-dashboard](https://github.com/Aias00/shenyu-dashboard) have already implemented the capability mentioned: "At present, the capabilities of the Shenyu MCP plugin can convert the data already registered with Shenyu into MCP, including HTTP, Dubbo, and other RPC services."

If confirmed, I plan to pull the code for deployment and testing to evaluate this feature. Could you clarify: Whether this functionality is production-ready in the above repositories?

SpursJiang avatar May 23 '25 11:05 SpursJiang

@Aias00 Thank you。 I would like to confirm whether the repositories: [Aias00/shenyu feat/mcp branch](https://github.com/Aias00/shenyu/tree/feat/mcp) [apache/shenyu-dashboard](https://github.com/Aias00/shenyu-dashboard) have already implemented the capability mentioned: "At present, the capabilities of the Shenyu MCP plugin can convert the data already registered with Shenyu into MCP, including HTTP, Dubbo, and other RPC services."

If confirmed, I plan to pull the code for deployment and testing to evaluate this feature. Could you clarify: Whether this functionality is production-ready in the above repositories?

yes,the branch has this function you can try but for production-ready,that is not sure, you can try with some feedback

Aias00 avatar May 23 '25 11:05 Aias00

also, It would be even better if you are willing to join and contribute together.

Aias00 avatar May 23 '25 11:05 Aias00

@Aias00 OK,I will give it a try. If I encounter any issues or have suggestions, I will provide feedback to improve it together.

SpursJiang avatar May 23 '25 14:05 SpursJiang

I opened the ShenYu admin console, then clicked the add button, but it showed the error: 'Please add selector first.' Image

I’m not very familiar with ShenYu and haven’t been able to understand how to resolve this issue by looking at the code. I noticed that other Plugin pages have a 'SelectorList' menu.

1.What is the cause of this error? 2.Is there a brief ShenYu MCP module usage documentation?

SpursJiang avatar May 28 '25 06:05 SpursJiang

I opened the ShenYu admin console, then clicked the add button, but it showed the error: 'Please add selector first.' Image

I’m not very familiar with ShenYu and haven’t been able to understand how to resolve this issue by looking at the code. I noticed that other Plugin pages have a 'SelectorList' menu.

1.What is the cause of this error? 2.Is there a brief ShenYu MCP module usage documentation?

INSERT INTO shenyu.selector (id, plugin_id, name, match_mode, type, sort, handle, enabled, loged, continued, match_restful, namespace_id, date_created, date_updated) VALUES ('1913785244204204032', '61', '/http', 0, 0, 1, null, 1, 1, 1, 0, '649330b6-c2d7-4edc-be8e-8a54df9eb385', '2025-04-20 10:42:13.285', '2025-04-20 11:31:19.157'); sorry i missed this init sql

there is no brief ShenYu MCP module usage documentation not yet. may add docs later.

Aias00 avatar May 28 '25 07:05 Aias00

request config can refer: https://nacos.io/docs/v3.0/manual/user/mcp-template/

Aias00 avatar May 28 '25 08:05 Aias00