This is very common, especially if he's just holding. This is how he'd play with his littermates and mother, so he's just socializing with you. Puppies pay attention to your emotional state, and are motivated to please their caregivers (dog or human). If you let out a loud "ouch!" and clutch your hand to your chest like you've been seriously injured, the puppy will start to see his action as harmful. After demonstrating you've been hurt, offer an open (flat) hand to the puppy (palm just in front of his nose), and say some command for licking, like "kisses," in a very gentle voice. He will pick up on the cue, even before he's learned the command, and lick your palm. At that point, give really warm praise, verbal and physical (scratching the ears, whatever he seems to like a lot). Do this each time he mouths you. He'll learn very quickly what is expected.
Now, this doesn't address the fact that puppies do need to teethe. Just like little kids, puppies lose their teeth. While those teeth are loose, they are painful. If you can give the puppy something to teethe on, that would be really helpful. Try freezing cucumbers or carrots (same thing you'd give a teething baby). An antler or other super-hard chew toy won't give the puppy a good way to wiggle his teeth loose, and might be less satisfying. So cold items they can get the tip of a tooth stuck in are probably best. Rope toys are good, too, but some puppies will eat these, so it just depends on your pup's habits.
I have read that if you pull away quickly, the dog will think you are playing and do it again for fun. You are to correct him while he is doing it with a stern voice "No!" and he should release. I hope that this helps...Best of luck!