Call Me
Your AI rings your iPhone, speaks its question, and gets your spoken answer back as text.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"call-me": {
"url": "https://serdaroztetik.com/aiphone/mcp"
}
}
}遠端端點
https://serdaroztetik.com/aiphone/mcpstreamable-http它能做什麼
工具清單
工具(6)
🟢setup
Return first-setup instructions and a clickable App Store download link when no number is available.
輸入結構描述
{
"type": "object",
"properties": {},
"title": "setupArguments"
}🔴call(question, to, from_label, session_token)
Ring the human's iPhone, speak the question aloud, and return what they say. Waits up to ~30s; if the result comes back status "ringing", follow up with poll_result. On a local client, read `to` from `~/.aiphone/config.json` → `user_number`; this hosted server cannot read that file itself. It is a Call Me app number, not a regular phone number. If missing, returns setup_required with the App Store link. Pass a previous session_token to stay in the same thread on their phone.
輸入結構描述
{
"type": "object",
"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"
}
},
"required": [
"question"
],
"title": "callArguments"
}🟢poll_result(call_id, session_token)
Check on a call that was still ringing. Waits up to ~25s for it to settle; returns the final status and transcript once the human answers, declines, or the ring times out ("missed").
輸入結構描述
{
"type": "object",
"properties": {
"call_id": {
"title": "Call Id",
"type": "integer"
},
"session_token": {
"title": "Session Token",
"type": "string"
}
},
"required": [
"call_id",
"session_token"
],
"title": "poll_resultArguments"
}🔴text(body, to, from_label, session_token)
Send a one-way text to the human's phone (push notification, no ring). On a local client, read `to` from `~/.aiphone/config.json` → `user_number`; this hosted server cannot read that file itself. If missing, returns setup_required with the App Store link. Pass a previous session_token to stay in the same thread.
輸入結構描述
{
"type": "object",
"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"
],
"title": "textArguments"
}🟢wait_for_reply(session_token, cursor, wait_s)
Wait for the human to send something back to this session — texts and voicemail transcripts arrive here. Long-polls up to wait_s (max 30s); returns {events, cursor}. Pass the returned cursor next time to only see new events. An empty events list just means nothing yet — poll again if you are still waiting.
輸入結構描述
{
"type": "object",
"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"
],
"title": "wait_for_replyArguments"
}🔴set_thread_title(session_token, title)
Name this session's conversation thread on the human's phone (e.g. the project or task you are working on). Shown as the thread title in the app.
輸入結構描述
{
"type": "object",
"properties": {
"session_token": {
"title": "Session Token",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"session_token",
"title"
],
"title": "set_thread_titleArguments"
}社群
證據