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]

Reply via email to