Skip to content

Commit 9c31de7

Browse files
authored
Update README.md
Added description of 3.16.1 addtion of mcp tools support Signed-off-by: Scott Lewis <slewis@composent.com>
1 parent dede473 commit 9c31de7

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

README.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,27 @@
11
## Eclipse Communication Framework
22
ECF is a set of APIs/frameworks/types for inter-process communication
33

4-
Current version: 3.15.6
5-
Release Date: 3/15/2025
4+
Current version: 3.16.1
5+
Release Date: 5/19/2025
6+
7+
## NEW (5/19/2025) ECF adds tooling support for Model Context Protocol (MCP
8+
9+
As part of ECF 3.16.1, there is a new bundle/jar in ECF that adds annotation classes and a few utility classes. It's available in [ECF 3.16.1 p2 repo](https://download.eclipse.org/rt/ecf/latest/) and via [maven central](https://central.sonatype.com/artifact/org.eclipse.ecf/org.eclipse.ecf.ai.mcp.tools).
10+
11+
There is an example [here](https://github.com/ECF/Py4j-RemoteServicesProvider/blob/master/examples/org.eclipse.ecf.examples.ai.mcp.toolservice/src/org/eclipse/ecf/examples/ai/mcp/toolservice/ArithmeticTools.java) of using these annotations for two tools declared by a single service interface.
12+
13+
### Background ###
14+
15+
The [Model Context Protocol]() is a rapidly-being-adopted client->server protocol for integrating existing code and services in LLMs, so they can be called by the LLM (e.g. [Anthropic's Claude](https://claude.ai/new)). One integration approach is by adding Tools to MCP servers.
16+
17+
A tool for MCP is essentially a single method (in Java) or a function (in Python). When creating new tools for Python servers, usually a decorator defined in the Python SDK would be used. For example:
18+
```
19+
@mcp.tool(description='myfunct does some amazing stuff')
20+
def myfunc() {
21+
pass
22+
}
23+
```
24+
The MCP Java SDK, however does not yet have equivalent annotation classes (e.g. @Tool, @ToolParam, @ToolAnnotation, etc). ECF's [new bundle project](https://github.com/eclipse-ecf/ecf/tree/master/framework/bundles/org.eclipse.ecf.ai.mcp.tools), provides these annotation classes in Java. Although this bundle has *no* external dependencies other than Java 17 (not on other ECF classes nor any other framework), it would be better if these or some annotations were part of the MCP itself, and so we are in the process of [getting annotation classes added to the MCP Java SDK itself](https://github.com/modelcontextprotocol/java-sdk/pull/235) through [this pull request](https://github.com/modelcontextprotocol/java-sdk/pull/235). If the annotation classes are standardized and in the Java SDK itself in future MCP releases, the references in all ECF code will be updated to depend upon the sdk-provided versions.
625

726
## NEW (4/28/2025) Bndtools Template for Python.Java Remote Services Development
827

0 commit comments

Comments
 (0)