Calling a Dubbo service normally means having the interface's stub on the classpath. Generic invocation removes that, so a model can call a method it discovered a moment earlier with a JSON parameter map — which is the difference between this being usable from a conversation and needing a build step per interface. Everything else in the project is a management console around that idea.
A Java service framework that puts enterprise APIs behind MCP. Its distinguishing piece is Dubbo support: a model can ask what a Dubbo interface exposes and then call one of its methods through generic invocation, which is the awkward gap in most Java-shop integrations. Alongside that it manages HTTP, gRPC and SOAP service definitions and can generate Spring Boot integration code from an API description.
- Information about a Dubbo service, addressed by the fully qualified interface name — `getDubboServiceInfo`
- A Dubbo method invoked with an interface name, a method name, an optional version and JSON parameters, with type conversion handled — `invokeDubboService`
- A REST surface alongside the tools: arbitrary HTTP APIs tested with method, cookie and request body; API integration code generated and downloaded as a Spring Boot project; and CRUD management for HTTP, Dubbo, gRPC and SOAP service definitions plus registry connections
- An AI assistant layer with single-shot questions and managed chat sessions, into which MCP tools are injected dynamically
Java, and the built jar `open-mcp-server-1.0-SNAPSHOT.jar`. Launch it in stdio mode from your client with `-Dspring.ai.mcp.server.stdio=true`. Dubbo access needs a registry — the sample configuration points at `zookeeper://127.0.0.1:2181` with a 30000 ms timeout and consumer checking disabled. The bundled third-party data services take a JuHe key, passed as `juhe.news.api-key` on the launch line or set through the `juhe` block in configuration.
