io.github.kimjin8/call-for-me
Official2 toolsCall For Me
Give your AI agent a phone. Place outbound calls to US businesses to ask, book, or confirm.
Make outbound phone calls to US businesses for inquiries, bookings, and confirmations.
Captured live from the server via tools/list.
place_call
Place an outbound phone call to a US business or person. The A.I. assistant on the call will identify itself as A.I., follow your instructions, and return a structured outcome via get_call_status. USE THIS TOOL WHEN: the user wants to make a phone call, contact a business by phone, ask about hours/pricing/availability, book a reservation, gather info that's not online, follow up on a service request, or do any task that requires talking to a human on the phone. LIMITATIONS: - US phone numbers only (E.164 starting with +1). International is not yet supported. - English language only. - Cannot call emergency services (911, 988, etc.) — these will be rejected. - The A.I. will NOT commit to bookings/payments without user confirmation unless safety.must_confirm_with_user is explicitly set to false. - Default 5-minute call duration cap. Returns immediately with a call_id. Poll get_call_status(call_id) for the result.
Parameters (6)
- useranyrequired
- targetanyrequired
- instructionsstringrequired
The conversation goals/script the AI should follow. Agent owns this. We wrap it with mandatory safety layer (disclosure, hangup, voicemail, graceful-exit rubric). Be specific — what to ask, what tone, what to do if recipient declines.
- output_schemaany
JSON Schema for the structured outcome you want extracted from the transcript.
- safetyany
- idempotency_keystringrequired
get_call_status
Poll the status of a call previously placed with place_call. Returns a CallOutcome with one of these statuses (in roughly likely order): queued/placing/ringing/connected — call still in progress, poll again in a few seconds completed — call finished cleanly, structured result available partial — call finished but some questions unanswered voicemail — recipient was voicemail; identified message left no_answer — recipient never picked up busy — recipient line was busy invalid_number — number is not in service rejected_ai — recipient declined to talk to A.I. (do not retry) needs_user_input — recipient needs info only the user can provide online_only — recipient said the task can only be done online timed_out — call exceeded max duration carrier_failure — telephony provider error (safe to retry later) api_error — internal failure (safe to retry) Always carries a free-form `exit_reason` string suitable for showing the user.
Parameters (1)
- call_idstringrequired
The call_id returned by place_call.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"call-for-me": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://call-for-me.fly.dev/mcp/"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.