metoro-mcp-server

Official
package tools import ( "context" "fmt" mcpgolang "github.com/metoro-io/mcp-golang" "github.com/metoro-io/metoro-mcp-server/model" "github.com/metoro-io/metoro-mcp-server/utils" ) type GetNodeAttributesHandlerArgs struct { TimeConfig utils.TimeConfig `json:"timeConfig" jsonschema:"required,description=The time range to get the node attributes for"` } func GetNodeAttributesHandler(ctx context.Context, arguments GetNodeAttributesHandlerArgs) (*mcpgolang.ToolResponse, error) { startTime, endTime, err := utils.CalculateTimeRange(arguments.TimeConfig) if err != nil { return nil, fmt.Errorf("error calculating time range: %v", err) } request := model.MetricAttributesRequest{ StartTime: startTime, EndTime: endTime, MetricName: "node_info", FilterAttributes: map[string][]string{}, } response, err := getMetricAttributesMetoroCall(ctx, request) if err != nil { return nil, fmt.Errorf("error calling Metoro API: %v", err) } return mcpgolang.NewToolResponse(mcpgolang.NewTextContent(fmt.Sprintf("%s", string(response)))), nil }