This is an automated email from the ASF dual-hosted git repository. zqr10159 pushed a commit to branch 2.0.0 in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
commit 2b16b47a0ab719193bc5d8b42c0d3a66d804aef0 Author: Yang Chen <[email protected]> AuthorDate: Mon Jul 27 00:50:35 2026 +0800 feat(ai): expose additional MCP tools --- .../ai/gateway/tool/mcp/AgentMcpToolConfiguration.java | 14 ++++++++++---- .../tool/mcp/AgentMcpToolConfigurationTest.java | 18 +++++++++++++++++- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/hertzbeat-ai-gateway/src/main/java/org/apache/hertzbeat/ai/gateway/tool/mcp/AgentMcpToolConfiguration.java b/hertzbeat-ai-gateway/src/main/java/org/apache/hertzbeat/ai/gateway/tool/mcp/AgentMcpToolConfiguration.java index c7d72d20b3..85757f50c4 100644 --- a/hertzbeat-ai-gateway/src/main/java/org/apache/hertzbeat/ai/gateway/tool/mcp/AgentMcpToolConfiguration.java +++ b/hertzbeat-ai-gateway/src/main/java/org/apache/hertzbeat/ai/gateway/tool/mcp/AgentMcpToolConfiguration.java @@ -17,12 +17,15 @@ package org.apache.hertzbeat.ai.gateway.tool.mcp; +import org.apache.hertzbeat.ai.gateway.tool.alert.AgentAlertAnalysisPolicyToolService; import org.apache.hertzbeat.ai.gateway.tool.alert.AgentAlertRuleToolService; +import org.apache.hertzbeat.ai.gateway.tool.alert.AgentAlertSilenceToolService; import org.apache.hertzbeat.ai.gateway.tool.alert.AgentAlertToolService; +import org.apache.hertzbeat.ai.gateway.tool.collector.AgentCollectorToolService; import org.apache.hertzbeat.ai.gateway.tool.database.AgentDatabaseDiagnosticService; +import org.apache.hertzbeat.ai.gateway.tool.log.AgentLogToolService; import org.apache.hertzbeat.ai.gateway.tool.metrics.AgentMetricsToolService; import org.apache.hertzbeat.ai.gateway.tool.monitor.AgentMonitorToolService; -import org.apache.hertzbeat.ai.gateway.tool.collector.AgentCollectorToolService; import org.springframework.ai.tool.ToolCallbackProvider; import org.springframework.ai.tool.method.MethodToolCallbackProvider; import org.springframework.context.annotation.Bean; @@ -38,12 +41,15 @@ public class AgentMcpToolConfiguration { public ToolCallbackProvider hertzbeatMcpTools(AgentMonitorToolService monitorTools, AgentAlertToolService alertTools, AgentAlertRuleToolService alertRuleTools, + AgentAlertSilenceToolService alertSilenceTools, + AgentAlertAnalysisPolicyToolService alertAnalysisPolicyTools, + AgentLogToolService logTools, AgentMetricsToolService metricsTools, AgentDatabaseDiagnosticService databaseTools, AgentCollectorToolService collectorTools) { - return MethodToolCallbackProvider.builder() - .toolObjects(monitorTools, alertTools, alertRuleTools, - metricsTools, databaseTools, collectorTools) + return MethodToolCallbackProvider.builder().toolObjects( + monitorTools, alertTools, alertRuleTools, alertSilenceTools, alertAnalysisPolicyTools, + logTools, metricsTools, databaseTools, collectorTools) .build(); } } diff --git a/hertzbeat-ai-gateway/src/test/java/org/apache/hertzbeat/ai/gateway/tool/mcp/AgentMcpToolConfigurationTest.java b/hertzbeat-ai-gateway/src/test/java/org/apache/hertzbeat/ai/gateway/tool/mcp/AgentMcpToolConfigurationTest.java index 8d882b6566..c49d02343b 100644 --- a/hertzbeat-ai-gateway/src/test/java/org/apache/hertzbeat/ai/gateway/tool/mcp/AgentMcpToolConfigurationTest.java +++ b/hertzbeat-ai-gateway/src/test/java/org/apache/hertzbeat/ai/gateway/tool/mcp/AgentMcpToolConfigurationTest.java @@ -23,12 +23,15 @@ import static org.mockito.Mockito.mock; import java.util.Arrays; import java.util.Set; import java.util.stream.Collectors; +import org.apache.hertzbeat.ai.gateway.tool.alert.AgentAlertAnalysisPolicyToolService; import org.apache.hertzbeat.ai.gateway.tool.alert.AgentAlertRuleToolService; +import org.apache.hertzbeat.ai.gateway.tool.alert.AgentAlertSilenceToolService; import org.apache.hertzbeat.ai.gateway.tool.alert.AgentAlertToolService; +import org.apache.hertzbeat.ai.gateway.tool.collector.AgentCollectorToolService; import org.apache.hertzbeat.ai.gateway.tool.database.AgentDatabaseDiagnosticService; +import org.apache.hertzbeat.ai.gateway.tool.log.AgentLogToolService; import org.apache.hertzbeat.ai.gateway.tool.metrics.AgentMetricsToolService; import org.apache.hertzbeat.ai.gateway.tool.monitor.AgentMonitorToolService; -import org.apache.hertzbeat.ai.gateway.tool.collector.AgentCollectorToolService; import org.junit.jupiter.api.Test; import org.springframework.ai.tool.ToolCallbackProvider; @@ -43,6 +46,9 @@ class AgentMcpToolConfigurationTest { mock(AgentMonitorToolService.class), mock(AgentAlertToolService.class), mock(AgentAlertRuleToolService.class), + mock(AgentAlertSilenceToolService.class), + mock(AgentAlertAnalysisPolicyToolService.class), + mock(AgentLogToolService.class), mock(AgentMetricsToolService.class), mock(AgentDatabaseDiagnosticService.class), mock(AgentCollectorToolService.class)); @@ -55,6 +61,16 @@ class AgentMcpToolConfigurationTest { assertTrue(names.contains("monitor.create")); assertTrue(names.contains("alert.query")); assertTrue(names.contains("alert_rule.create")); + assertTrue(names.contains("alert_silence.list")); + assertTrue(names.contains("alert_silence.get")); + assertTrue(names.contains("alert_silence.create_once")); + assertTrue(names.contains("alert_silence.toggle")); + assertTrue(names.contains("alert_silence.delete")); + assertTrue(names.contains("alert_analysis_policy.create")); + assertTrue(names.contains("alert_analysis_policy.list")); + assertTrue(names.contains("alert_analysis_policy.toggle")); + assertTrue(names.contains("alert_analysis_policy.delete")); + assertTrue(names.contains("logs.query")); assertTrue(names.contains("metrics.realtime")); assertTrue(names.contains("database.explain_query")); assertTrue(names.contains("collector.collect_once")); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
