restart.go 598 B

123456789101112131415161718192021222324
  1. package nginx
  2. import (
  3. "context"
  4. "github.com/0xJacky/Nginx-UI/internal/nginx"
  5. "github.com/mark3labs/mcp-go/mcp"
  6. )
  7. const nginxRestartToolName = "restart_nginx"
  8. var nginxRestartTool = mcp.NewTool(
  9. nginxRestartToolName,
  10. mcp.WithDescription("Perform a graceful restart of the Nginx configuration"),
  11. )
  12. func handleNginxRestart(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
  13. nginx.Restart()
  14. output, err := nginx.GetLastOutput()
  15. if err != nil {
  16. return mcp.NewToolResultError(output + "\n" + err.Error()), err
  17. }
  18. return mcp.NewToolResultText(output), nil
  19. }