> My hunch is that any algorithm that analyzes chords in isolation (and not in the context of other chords in the song)
You can at least get much further by naming a key (what a key is, is not etched in stone either, but there are some useful enough definitions for most cases). That would be a bare minimum for a useful algorithm though. Especially if your input is just a set of notes.