Skip to content

Conversation

@scottslewis
Copy link
Collaborator

No description provided.

@scottslewis scottslewis self-assigned this Apr 29, 2025
@coveralls
Copy link

coveralls commented Apr 29, 2025

Coverage Status

coverage: 83.426% (+0.001%) from 83.425%
when pulling f1c49a6 on scottslewis:v3
into 1c762f3 on tcalmant:v3.

@scottslewis scottslewis requested a review from tcalmant June 1, 2025 03:07
@scottslewis
Copy link
Collaborator Author

Hi Thomas. I've been working with the Model Context Protocol, specifically the python-based servers (the FastMCP server to start). https://github.com/modelcontextprotocol/python-sdk

Using the RSA py4j provider, I've created an example that exposes mcp tools as remote services, with java-based tool annotations. The tool declaration for this example is here: https://github.com/ECF/Py4j-RemoteServicesProvider/blob/master/examples/org.eclipse.ecf.examples.ai.mcp.toolservice.api/src/org/eclipse/ecf/examples/ai/mcp/toolservice/api/ArithmeticTools.java

The impl is in this example java class https://github.com/ECF/Py4j-RemoteServicesProvider/blob/master/examples/org.eclipse.ecf.examples.ai.mcp.toolservice/src/org/eclipse/ecf/examples/ai/mcp/toolservice/impl/ArithmeticToolsImpl.java

This impl is exported (via the py4j RSA distribution provider) as a remote service imported by this new sample ipopo app.

The idea is: java based remote services are imported by a python mcp server, and all methods annotated as tools will be added to the python mcp server for availability to clients (like claude or other llms). Then when the client invokes the tool, the java service method will be invoked (via the proxy on the python server).

I'm working on documentation for starting/running the java server (via karaf probably) at https://github.com/ECF/Py4j-RemoteServicesProvider and once I have that I'll create a full tutorial for this ipopo sample app.

@scottslewis scottslewis changed the title Fix for issue #169 Added sample that uses (Java) arithmetic tools remote service for Python MCP server and Fix for issue #169 Jun 1, 2025
@scottslewis
Copy link
Collaborator Author

Hi Thomas.

I've added usage example documentation for the Java/py4j server side

https://github.com/ECF/Py4j-RemoteServicesProvider/blob/master/README.md

Next up will be to add iPOPO similar documentation for this example/sample python MCP server

@scottslewis scottslewis merged commit d3e09d8 into tcalmant:v3 Jun 1, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants