Call For Me

by kimjin8

145 downloads
Not rated
GitHub

About

Give your AI agent a phone. Place outbound calls to US businesses to ask about hours, book appointments, gather info, or follow up — the AI identifies itself as AI on every call. US numbers only. Free during beta, get an API key at https://call-for-me.fly.dev/register.

Details

Author
kimjin8
Downloads
145
Categories
Other

- Places outbound calls on behalf of an AI agent
- AI identifies itself as AI on every call
- Returns call status: completed, voicemail, no_answer, busy, etc.
- 5‑minute call cap and 24‑hour per‑recipient limit
- Emergency numbers (911, 988) are blocked
- Works only with US phone numbers (+1 E.164)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Call For Me
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Obtain a free beta API key at https://call-for-me.fly.dev/register, then add the server to your MCP client configuration with the URL https://call-for-me.fly.dev/mcp/ and a Authorization: Bearer cfm_<your_api_key> header. Once configured, tell your agent to make a call using the place_call tool and poll for results with get_call_status.

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.

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.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "call for me": {
            "call-for-me": {
                "url": "https://call-for-me.fly.dev/mcp/",
                "headers": {
                    "Authorization": "Bearer cfm_<your_api_key>"
                }
            }
        }
    }
}

McpServers

{
    "call-for-me": {
        "url": "https://call-for-me.fly.dev/mcp/",
        "headers": {
            "Authorization": "Bearer cfm_<your_api_key>"
        }
    }
}

What it does

Give your AI agent a phone. Call For Me places real outbound calls to US businesses and people on your agent's behalf — to ask about hours, check availability, book reservations, follow up on service requests, gather info that's not online, or handle anything else that needs a human voice on the line. The AI identifies itself as AI on every call, follows your instructions in plain English, and returns a structured outcome.

Tools

- place_call(target, instructions, output_schema?) — describe the call; returns a call_id immediately. - get_call_status(call_id) — poll until the call finishes; returns one of completed / voicemail / no_answer / rejected_ai / busy / timed_out etc., plus a free-form exit_reason and any extracted data.

Quick start

1. Get an API key (free during beta) at https://call-for-me.fly.dev/register. 2. Paste this into your MCP client config: ``json { "mcpServers": { "call-for-me": { "url": "https://call-for-me.fly.dev/mcp/", "headers": { "Authorization": "Bearer cfm_<your_api_key>" } } } } ` 3. Tell your agent to make a call.

Built-in safety

- AI identifies itself as AI on every call. - Will not commit to bookings or payments without explicit user confirmation. - 5-minute call cap by default. - Per-recipient 24-hour cap (no spam-calling the same number). - Emergency numbers (911 / 988 / etc.) are blocked.

Limitations

- US phone numbers only (E.164 starting with
+1`). International is on the roadmap.
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.