Charcoal finish sounds like its parkerized? In that case go to radio shack and buy some etching solution and apply to the scratched area with a qtip. Leave on for a couple minutes and THOUROUGHLY wash with water to neutralize the acid. It should look the same as the surrounding.
Total thread hijack here...
Awesome instructable about a better alternative to Ferric Chloride: Stop using Ferric Chloride etchant! (A better etching solution.)
HCl + H2O2: much easier on Mother Nature, easier to procure, and gets stronger with use.
Back to the topic-at-hand: for small scratches, the cold-blue formulas are what you're looking for to touch up the finish. Won't be an exact match, but it will be closer than shiny bare metal, and you won't see it on a galloping horse. For rust prevention (or in the meantime), CLP or similiar is the way to go. If it's a field gun, it WILL get scratched, so don't worry too much about it. Well-used is an attractive look on machinerny.