The online service Wahl-O-Mat is available in German and English.
You give your opinion (agree/neutral/disagree) to 38 theses, then you weight the ones you find important double, then choose up to 8 parties with which your results can be compared.
My highest match was the Pirate Party, second-highest Greens, and lowest CDU/CSU (second-lowest SDP!). I can’t vote, however, as I’m not German.