googleapis/mcp-toolbox · error

failed to open listener for %q. Use `--port=<number>` to spe

Error message

failed to open listener for %q. Use `--port=<number>` to specify a different port: %w

What it means

Error "failed to open listener for %q. Use `--port=<number>` to specify a different port: %w" thrown in googleapis/mcp-toolbox.

Source

Thrown at internal/server/server.go:694

			next.ServeHTTP(w, r)
		})
	}
}

// Listen starts a listener for the given Server instance.
func (s *Server) Listen(ctx context.Context, certFile, keyFile string) error {
	ctx, cancel := context.WithCancel(ctx)
	defer cancel()

	if s.listener != nil {
		return fmt.Errorf("server is already listening: %s", s.listener.Addr().String())
	}
	lc := net.ListenConfig{KeepAlive: 30 * time.Second}
	ln, err := lc.Listen(ctx, "tcp", s.srv.Addr)
	if err != nil {
		if errors.Is(err, syscall.EADDRINUSE) {
			return fmt.Errorf("failed to open listener for %q. Use `--port=<number>` to specify a different port: %w", s.srv.Addr, err)
		}
		return fmt.Errorf("failed to open listener for %q: %w", s.srv.Addr, err)
	}

	if certFile != "" || keyFile != "" {
		// Load the certificates
		cert, err := tls.LoadX509KeyPair(certFile, keyFile)
		if err != nil {
			ln.Close()
			return fmt.Errorf("failed to load TLS key pair (cert: %q, key: %q): %w", certFile, keyFile, err)
		}
		// Wrap the listener with TLS
		config := &tls.Config{Certificates: []tls.Certificate{cert}, MinVersion: tls.VersionTLS12}
		s.listener = tls.NewListener(ln, config)
		s.logger.DebugContext(ctx, fmt.Sprintf("secure server listening on %s", s.srv.Addr))
	} else {
		s.listener = ln
		s.logger.DebugContext(ctx, fmt.Sprintf("server listening on %s", s.srv.Addr))

View on GitHub (pinned to 8cc6e09de2)

When it happens

Trigger: Thrown at internal/server/server.go:694 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of googleapis/mcp-toolbox@8cc6e09de2 (2026-09-05). Data as JSON: /api/errors/bfc1ad45bbaa4ed2. Report an issue: GitHub.