| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package tools
- import (
- "context"
- "encoding/json"
- "fmt"
- "github.com/mark3labs/mcp-go/mcp"
- "github.com/mark3labs/mcp-go/server"
- "fwh-toolbox-server/services"
- )
- func RegisterAlarmTools(s *server.MCPServer) {
- s.AddTool(
- mcp.NewTool("query_alarm_statistics",
- mcp.WithDescription("查询告警统计数据(按日期汇总各类告警数量)"),
- mcp.WithString("date", mcp.Description("统计日期,格式 yyyy-MM-dd(不传则查最新)")),
- ),
- handleQueryAlarmStatistics,
- )
- }
- func handleQueryAlarmStatistics(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) {
- date := req.GetString("date", "")
- var datePtr *string
- if date != "" {
- datePtr = &date
- }
- data, err := services.GetAlarmStatistics(datePtr)
- if err != nil {
- return mcp.NewToolResultError(fmt.Sprintf("查询告警统计失败: %v", err)), nil
- }
- jsonBytes, _ := json.MarshalIndent(data, "", " ")
- return mcp.NewToolResultText(string(jsonBytes)), nil
- }
|