To @ mention using HttpCallouts check out my post

Another way to @mention would be using Chatter REST API as follows

Use Case: Posting an @mention to a User Profile Feed

Methods Used: ConnectApi.ChatterFeeds.postFeedItem

String communityId = null; // community whih may be customer/partner community

// Initialisation
ConnectApi.FeedType feedType = ConnectApi.FeedType.UserProfile;
ConnectApi.FeedItemInput input = new ConnectApi.FeedItemInput();
ConnectApi.MessageBodyInput messageInput = new ConnectApi.MessageBodyInput();
ConnectApi.TextSegmentInput textSegment;
ConnectApi.MentionSegmentInput mentionSegment = new ConnectApi.MentionSegmentInput();
messageInput.messageSegments = new List<ConnectApi.MessageSegmentInput>();
textSegment = new ConnectApi.TextSegmentInput();

// assigning sample text
textSegment.text = 'Hey there ';
messageInput.messageSegments.add(textSegment); = '005D0000001LLO1'; // sample Id may be User/RecordId
textSegment = new ConnectApi.TextSegmentInput();

// assigning another sample text
textSegment.text = '. How are you?';
input.body = messageInput;

// Visibility for "Alluser" by Default it would be for internal Users Only
input.visibility = ConnectApi.FeedItemVisibilityType.AllUsers;

// posting feed
ConnectApi.FeedItem feedItemRep = ConnectApi.ChatterFeeds.postFeedItem(communityId, feedType, 'me', input, null);

For more info, please refer Chatter REST API