How can I tell whether my Random-Forest model is overfitting?
I think you are probably overfitting.

The issue is that while you have performed a train/test split, you are selecting your hyperparameters based on the whole dataset! This way you are feeding information to the model, about the test set, through your hyperparameter selection. To be honest I haven't seen this in such small grid searches, but to be sure you aren't overfitting you need to change:

gc = GridSearchCV(rfc, params, cv=3).fit(X, y)


to

gc = GridSearchCV(rfc, params, cv=3).fit(X_train, y_train)


Another detail I'd like to point out is that MAE isn't the proper metric for classification; it is more suited for regression problems. For example is an example belongs to class "1", predicting the class "3" isn't twice as worse than predicting class "2". They are both simply misclassifications.

If after these you are still getting high performance, then I'd say its safe to assume you aren't overfitting. If you are I'd like to point you to this answer.