Bibliography style which extracts only the initials of the first names

if you can use the package biblatex, it is easy:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{demo.bib}
@book{test,
  author = {Herbert Voss},
  title  = {Me, I and myself},
  year   = 2010,
  location = {Berlin},
  url    = {http://www.myirl.org},
  urldate= {2010-03-04},
} 
\end{filecontents*}

\usepackage[style=authoryear,firstinits,url=false]{biblatex}

\bibliography{demo}

\begin{document}
A reference to~\cite{test}.

\printbibliography
\end{document} 

alt text


Edit

The problem with the example you just added, is that you have curly brackets around the first letters of the names. Remove those, and you get "Lastname, F. M.". That is, your author field should be

author = {Firstname Middlename Lastname}


Biblatex is, I gather, "the way to go", but if you want to use e.g natbib, you can try the agsm style, which is from the Harvard family of bibliography styles.

Adapting the example given by Herbert (I didn't know about the filecontentspackage, thanks):

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{demo.bib}
@book{test,
  author = {Herbert Voss},
  title  = {Me, I and myself},
  year   = 2010,
  location = {Berlin}} 
\end{filecontents*}

\usepackage{natbib}


\begin{document}
A reference to~\cite{test}.

\bibliographystyle{agsm}
\bibliography{demo}
\end{document}

Which gives as output

alt text