Search / com.callmemcp/call-me
Call Me
R0· no sign-inYour AI rings your iPhone, speaks its question, and gets your spoken answer back as text.
v1.0.0 · active · repository · website · descriptor JSON · versions
Search / com.callmemcp/call-me
R0· no sign-inYour AI rings your iPhone, speaks its question, and gets your spoken answer back as text.
v1.0.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"call-me": {
"type": "http",
"url": "https://callmemcp.com/mcp"
}
}
}claude mcp add --transport http call-me https://callmemcp.com/mcp[mcp_servers.call-me]
url = "https://callmemcp.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"call-me": {
"type": "remote",
"url": "https://callmemcp.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"call-me": {
"type": "http",
"url": "https://callmemcp.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=call-me&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY2FsbG1lbWNwLmNvbS9tY3AifQ%3D%3D"
}{
"servers": {
"call-me": {
"type": "http",
"url": "https://callmemcp.com/mcp"
}
}
}{
"mcpServers": {
"call-me": {
"httpUrl": "https://callmemcp.com/mcp"
}
}
}extensions:
"call-me":
enabled: true
name: "call-me"
type: streamable_http
uri: "https://callmemcp.com/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every useauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations8 of 8 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: say (idempotentHint); hang_up (idempotentHint); text (idempotentHint); …tools.token_costabout 1,404 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes3 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagehang_upaddedEnd a call you placed. In a keep_open conversation `goodbye` is spoken first (e.g. "Thanks, I'll get on it."); leave it empty to just hang up.
sayaddedIn a call placed with keep_open=true, speak `text` to the human and return what they answer, in the same shape as `call`. Only after their previous answer is in. Waits up to ~30s; on "in_call", follow up with poll_result. "open": false means the call has ended. Pass `language` only to switch the language of the call's own lines; empty keeps it. Anything they said while you were thinking comes back as "said_while_waiting".
callchangeddescription, input schemaRing the human's iPhone, read `question` aloud word for word, and return what they say back. It does not have to be a question: an update or a summary of the day ahead works too, up to 2000 characters (about two minutes of speech). Waits up to ~30s; if the result comes back status "ringing" or "in_call", 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.
Ring the human's iPhone, read `question` aloud word for word, and return what they say back. It does not have to be a question: an update or a summary of the day ahead works too, up to 2000 characters (about two minutes of speech). Waits up to ~30s; if the result comes back status "ringing" or "in_call", 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. keep_open=true makes it a conversation: after their answer the line stays up for `say` until you `hang_up`. `language` ("tr", "de", ...) is the language you are speaking; the call's own short lines follow it. Default English.
Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +dns-namespace +website +reachable +uptime-100% +updated-16d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://callmemcp.com/mcp streamable-http | none | yes | 100% | 347 ms | 2026-07-28 | 2026-10-20 |
calldestructive | Ring the human's iPhone, read `question` aloud word for word, and return what they say back. It does not have to be a question: an update or a summary of the day ahead works too, up to 2000 characters (about two minutes of speech). Waits up to ~30s; if the result comes back status "ringing" or "in_call", 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. keep_open=true makes it a conversation: after their answer the line stays up for `say` until you `hang_up`. `language` ("tr", "de", ...) is the language you are speaking; the call's own short lines follow it. Default English. |
hang_updestructive | End a call you placed. In a keep_open conversation `goodbye` is spoken first (e.g. "Thanks, I'll get on it."); leave it empty to just hang up. |
poll_resultread-only | Check on a call that was still ringing or in progress. Waits up to ~25s for it to settle; returns the final status and transcript once the call ends, the human declines, or the ring times out ("missed"). |
saydestructive | In a call placed with keep_open=true, speak `text` to the human and return what they answer, in the same shape as `call`. Only after their previous answer is in. Waits up to ~30s; on "in_call", follow up with poll_result. "open": false means the call has ended. Pass `language` only to switch the language of the call's own lines; empty keeps it. Anything they said while you were thinking comes back as "said_while_waiting". |
set_thread_titledestructive | 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. |
setupread-only | Return first-setup instructions and a clickable App Store download link when no number is available. |
textdestructive | 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. |
wait_for_replyread-only | 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. |
Schemas: list_tools.
{
"name": "com.callmemcp/call-me",
"title": "Call Me",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://callmemcp.com/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"repository": {
"url": "https://github.com/radres/call-me",
"source": "github"
},
"websiteUrl": "https://callmemcp.com/",
"description": "Your AI rings your iPhone, speaks its question, and gets your spoken answer back as text."
}