ContactsResourceProvider
Serves one contact per droidmcp://contacts/{id} URI as JSON — the same shape read_contact returns. Nothing is listed up front (an address book is too large and too personal to advertise); clients find ids with search_contacts and read them by template. Needs READ_CONTACTS; without it every read fails as not found. Hidden while read_contact is gated off.