Java MCP扩展工具

提供MCP协议的Java扩展功能,包括工具组管理和动态元数据更新,适用于需要灵活工具管理的开发场景。

  • by OpenMCPTools
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 OpenMCPTools/mcp_extensions_java

使用说明

Java的MCP扩展

Java MCP扩展库。

MCP规范目前不支持

ToolGroups-在服务器端创建工具组。..即相互关联的工具的分层集/集合。例如,该项目显示了算术工具组的创建/定义,该工具组涉及单个工具的加法和乘法。可以在服务器上创建和使用特定于域的工具组,并可选择将其传递给MCP客户端。与工具MCP一样,所有工具组都可以获得有关工具组的元数据(描述、标题等),这些元数据可以在服务器和/或客户端上使用。

服务器启动的动态更新-服务器对工具元数据的更新/更改(例如添加工具、删除工具、更改工具元数据)。例如,如果添加了一个工具,服务器可以向客户端发送通知,要求其调用listTools()进行完全刷新,但这效率很低,而且扩展性很差。

工具组扩展

这 组织.penmcptools.extensions.groups 该模块提供了一个MCP扩展,以支持分层服务器端工具分组。

组架构

a组的json模式

        "Group": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "parent": {
                    "$ref": "#/definitions/Group",
                },
                "description": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "_meta": {
                    "additionalProperties": {},
                    "type": "object"
                }
            },
            "required": [
                "name"
            ],
            "type": "object"
        }

此分层分组架构为 最初被提出作为MCP协议的增强对于“父”字段及其在分层工具组中的作用的具体讨论, 请查看此帖子和后续帖子.

相同的架构用于 mcp扩展_java组扩展 (Java SDK)和 mcp-extensions_python组扩展 (Python SDK)。使用相同的模式允许Java、Python和Typescript客户端和服务器之间的互操作性。

MCP原语动态更新扩展

这 org.openmcptools.extensions.update 该项目提供了一个扩展,通过服务器->客户端json2.0通知支持MCP工具元数据的增量服务器更新。通知包括服务器定义的更新内容差异。