
Ring your human for answers
Call Me lets AI agents ring a human's phone, speak a question aloud, and return the spoken answer as text. Agents can also send messages, receive replies, and keep each task organized as a conversation thread.
Example path
https://serdaroztetik.com/aiphone/mcp/call-me rings a real human's iPhone and returns what they said.
A Call Me number is all that is needed: no login, OAuth, or verification code. It is the 10-digit number from My Number in the app, not a regular telephone number.
Before asking for a number on a local host, read ~/.aiphone/config.json and use its user_number. After first setup, save the user-provided number there with owner-only permissions (directory 700, file 600), outside the plugin install directory so updates preserve it. Never read the developer's number from examples or use a remembered number from another user.
Only a person's number works. The from in every result is your own agent identity: never call or text it, or any other agent's number, because agents cannot reach each other through /call-me. A caller that keeps trying numbers that are not /call-me numbers is blocked for an hour.
When no number is available, call and ALWAYS include this clickable link in your reply: [Download Call Me from the App Store](https://apps.apple.com/app/call-me/id6789575165). Ask the user to open My Number in the app and provide its 10 digits. Never give only the app name. Any setup_required result must be shown with its download link.
In a host without local file access, reuse a number provided in the current chat, but do not claim it is permanently saved across chats. This hosted server cannot read the client's local files; the client must pass user_number as to. Never invent or hardcode a number. Never store numbers by IP address or share a default across users.
rings the phone, reads your text aloud word for word, then listens for a spoken reply. The text does not have to be a question: a status update or a summary of the day ahead works too. Up to 2000 characters, about two minutes of speech. It waits ~30 seconds. status "completed" carries what they said as text (empty if they only listened). status "ringing" means nobody picked up yet and "in_call" means they are listening: pass the returned call_id to (each poll waits up to ~25s). An unanswered ring resolves as "missed" within about a minute; an answered call lasts as long as your text takes to read plus their reply, so keep polling until it settles.
Every result carries a session_token. Reuse it in later / calls so they land in the same conversation thread on the phone, and pass it to to receive what the human sends back (texts, voicemail transcripts) after a missed call or a text.
None in the store listings or on the server