が can indicate both the subject(the person/thing that needs something) and the object(the thing that is necessary), thus, ~が必要 can mean both "~ needs something" and "(the subject) needs ~ / ~ is necessary". In the former case, を is used to indicate the object (the thing that is necessary), as in 僕が君を必要. (僕が君を必要だ is not so common, though. This structure is often used in a form 僕が君を必要としている or in an attributive clause 僕が君を必要な(わけは / ように / のに).) It's quite the same as 好き(だ). 君が好き can mean both "I love you" and (in the right context, e.g. in an attributive clause) "You love something".
As for the example sentence, it's obvious from the context that 自分(= Percy) is the person who needs the thing the speaker wants to borrow. (In fact, you interpreted so.) This is also the reason why the translator chose が. She would avoid using が if it's confusing. She used が to emphasize 自分, as I wrote previously, and she consciously or unconsciously judged that there's no problem to use が since the readers can't misinterpret 自分 as the one who is necessary.