{"server":"/call-me","checked":"2026-11-03","tools":[{"name":"call","title":"Call the human","description":"Ring the human's phone, read `question` aloud word for word, and return\n    what they say back. It does not have to be a question: an update or a\n    summary of the day ahead works too, up to 2000 characters (about two\n    minutes of speech). Waits up to ~30s; if the result comes back status\n    \"ringing\" or \"in_call\", follow up with poll_result. On a local client, read `to` from\n    `~/.aiphone/config.json` → `user_number`; this hosted server cannot read\n    that file itself. It is a Call Me app number, not a regular phone number.\n    If missing, returns setup_required with the download links. Pass a previous\n    session_token to stay in the same thread on their phone. By default the\n    call is a conversation: after their answer the line stays up for `say`\n    until you `hang_up`; keep_open=false hangs up after one answer. `language` (\"tr\", \"de\", ...) is the language you are\n    speaking; the call's own short lines follow it. Default English.","inputSchema":{"properties":{"question":{"title":"Question","type":"string"},"to":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"To"},"from_label":{"default":"Someone's AI","title":"From Label","type":"string"},"session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Session Token"},"keep_open":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Keep Open"},"language":{"default":"","title":"Language","type":"string"}},"required":["question"],"type":"object","title":"callArguments"},"annotations":{"readOnlyHint":false,"destructiveHint":true,"openWorldHint":true}},{"name":"hang_up","title":"Hang up","description":"End a call you placed. In a keep_open conversation `goodbye` is spoken\n    first (e.g. \"Thanks, I'll get on it.\"); leave it empty to just hang up.","inputSchema":{"properties":{"call_id":{"title":"Call Id","type":"integer"},"session_token":{"title":"Session Token","type":"string"},"goodbye":{"default":"","title":"Goodbye","type":"string"}},"required":["call_id","session_token"],"type":"object","title":"hang_upArguments"},"annotations":{"readOnlyHint":false,"destructiveHint":true,"openWorldHint":true}},{"name":"poll_result","title":"Get call result","description":"Check on a call that was still ringing or in progress. Waits up to ~25s\n    for it to settle; returns the final status and transcript once the call\n    ends, the human declines, or the ring times out (\"missed\").","inputSchema":{"properties":{"call_id":{"title":"Call Id","type":"integer"},"session_token":{"title":"Session Token","type":"string"}},"required":["call_id","session_token"],"type":"object","title":"poll_resultArguments"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"say","title":"Say the next line","description":"In a call placed with keep_open=true, speak `text` to the human and\n    return what they answer, in the same shape as `call`. Only after their\n    previous answer is in. Waits up to ~30s; on \"in_call\", follow up with\n    poll_result. \"open\": false means the call has ended. Pass `language` only\n    to switch the language of the call's own lines; empty keeps it. Anything\n    they said while you were thinking comes back as \"said_while_waiting\".","inputSchema":{"properties":{"call_id":{"title":"Call Id","type":"integer"},"session_token":{"title":"Session Token","type":"string"},"text":{"title":"Text","type":"string"},"language":{"default":"","title":"Language","type":"string"}},"required":["call_id","session_token","text"],"type":"object","title":"sayArguments"},"annotations":{"readOnlyHint":false,"destructiveHint":true,"openWorldHint":true}},{"name":"set_thread_title","title":"Set thread title","description":"Name this session's conversation thread on the human's phone (e.g. the\n    project or task you are working on). Shown as the thread title in the app.","inputSchema":{"properties":{"session_token":{"title":"Session Token","type":"string"},"title":{"title":"Title","type":"string"}},"required":["session_token","title"],"type":"object","title":"set_thread_titleArguments"},"annotations":{"readOnlyHint":false,"destructiveHint":true,"openWorldHint":false}},{"name":"setup","title":"Set up Call Me","description":"Return first-setup instructions and clickable App Store and Google Play download links when no number is available.","inputSchema":{"properties":{},"type":"object","title":"setupArguments"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"text","title":"Text the human","description":"Send a one-way text to the human's phone (push notification, no ring).\n    On a local client, read `to` from `~/.aiphone/config.json` → `user_number`;\n    this hosted server cannot read that file itself. If missing, returns\n    setup_required with the download links. Pass a previous session_token to\n    stay in the same thread.","inputSchema":{"properties":{"body":{"title":"Body","type":"string"},"to":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"To"},"from_label":{"default":"Someone's AI","title":"From Label","type":"string"},"session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Session Token"}},"required":["body"],"type":"object","title":"textArguments"},"annotations":{"readOnlyHint":false,"destructiveHint":true,"openWorldHint":true}},{"name":"wait_for_reply","title":"Wait for a text reply","description":"Wait for the human to send something back to this session — texts and\n    voicemail transcripts arrive here. Long-polls up to wait_s (max 30s);\n    returns {events, cursor}. Pass the returned cursor next time to only see\n    new events. An empty events list just means nothing yet — poll again if\n    you are still waiting.","inputSchema":{"properties":{"session_token":{"title":"Session Token","type":"string"},"cursor":{"default":0,"title":"Cursor","type":"integer"},"wait_s":{"default":25,"title":"Wait S","type":"integer"}},"required":["session_token"],"type":"object","title":"wait_for_replyArguments"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}}],"resources":[],"prompts":[]}