Skip to content

动态注册的Tool,如何便捷同步到Nacos #107

Description

@tc19901016

在MCP Server中,我动态注册了Tool,代码如下:

DemoTool tool = new DemoTool();  
Method method = ReflectionUtils.findMethod(DemoTool.class, "test(", String.class);  
ToolCallback toolCallback = MethodToolCallback.builder()
    .toolDefinition(ToolDefinition.builder().name(String.format("测试Tool[%s]", input)).inputSchema(DemoTool.inputSchema()).build())
    .toolMethod(method)
    .toolObject(tool).build();
McpServerFeatures.SyncToolSpecification demoTool = McpToolUtils.toSyncToolSpecification(toolCallback);
mcpSyncServer.addTool(demoTool);

动态注册的Tool可以通过Mcp Inspector发现并测试通过,但在Nacos并没有更新MCP Server的ToolList。
我知道通过Java SDK-nacos-client能更新Mcp Server,但我想知道有没有快捷方便的方式(类似某种refresh方法),将动态注册或删除的Tool更新到Nachos上。
(毕竟McpServer初始化到Nacos只需要添加依赖spring-ai-alibaba-starter-nacos-mcp-server即可,我相信你们肯定实现了该功能)

项目信息:
JDK:21
springboot:3.4.8
springai:1.0.0
spring-ai-alibaba-starter-nacos-mcp-server: 1.0.0.2
nacos: 3.0.2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions