| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package service
- import (
- "context"
- "github.com/mark3labs/mcp-go/mcp"
- "github.com/mark3labs/mcp-go/server"
- "fwh-toolbox-server/cmd/mcp/tools/helper"
- "fwh-toolbox-server/services"
- )
- func registerMonitorTools(s *server.MCPServer) {
- s.AddTool(
- mcp.NewTool("service_monitor_alarm_stats",
- mcp.WithDescription("查询告警统计数据(按日期汇总各类告警数量)"),
- mcp.WithString("date", mcp.Description("统计日期,格式 yyyy-MM-dd(不传则查最新)")),
- ),
- handleAlarmStats,
- )
- s.AddTool(
- mcp.NewTool("service_monitor_shutdown_stats",
- mcp.WithDescription("查询停机统计数据(按日期汇总停机站点信息)"),
- mcp.WithString("date", mcp.Description("统计日期,格式 yyyy-MM-dd(不传则查最新)")),
- ),
- handleShutdownStats,
- )
- }
- func handleAlarmStats(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 helper.ServiceError("查询告警统计", err), nil
- }
- return helper.JSONResultOrFileAuto(data), nil
- }
- func handleShutdownStats(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) {
- date := req.GetString("date", "")
- var datePtr *string
- if date != "" {
- datePtr = &date
- }
- data, err := services.GetShutdownStatistics(datePtr)
- if err != nil {
- return helper.ServiceError("查询停机统计", err), nil
- }
- return helper.JSONResultOrFileAuto(data), nil
- }
|