Skip to content

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

@tc19901016

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

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