Does a Key-Value type table still needs a auto increment key?
Always start by identifying your natural keys, in this case key. If these are too complex (too many columns) or not stable enough (changes to often), consider adding a surrogate key (such as the ID column you mention). The criteria I use for keys are:

- unique
- stable
- irreducible
- complexity
- familiarity 


In many situations there will be a conflict between these criteria, and one have to compromise. There is nothing wrong with adding a surrogate key under certain circumstances, but sadly many people design by auto-pilot and blindly add surrogate keys no matter what.