CallForMe, Phone Calls For Your Agent
Jake MarshIn this post
There’s a whole category of errand my agent couldn’t touch: anything that needs a phone call. Getting a brake quote, booking a table at the place that doesn’t do online reservations, sitting on hold with an airline. My agent could find the number and tell me what to say, and then I’d still be the one dialing.
So I made CallForMe. It gives the agent you already use (Claude, ChatGPT, Codex, Cursor, anything that speaks MCP) a phone. Your agent says who to call and what to get done, a voice assistant places the call, and your agent gets back the answers and a transcript.
Your Agent Stays the Brain#
The most important decision was what CallForMe doesn’t do. It doesn’t have its own chat app or its own idea of who you are. Your agent already knows your name, your car, your calendar and what you were talking about five minutes ago, so it stays in charge. CallForMe is the phone, and the tools are shaped around that:
find_businesslooks up a number, today’s hours and whether a place is open right nowplan_callis a free preview: the opening line, what the business will probably ask that you haven’t provided yet, and whether they’re openplace_callstarts the call and returns right away with a call idget_callfollows it, waiting up to 45 seconds at a time and returning early whenever there’s something to act onanswer_questionsends a message into the live callredial,hang_upandshare_callcover the rest
plan_call turned out to matter a lot. Most of what goes wrong on a call is the business asking for something nobody thought to mention, like the year of the car or a callback number. Catching that before dialing means your agent can ask you while you’re still sitting there.
Questions In the Middle of a Call#
Even with a good plan, businesses ask things you can’t predict. This was the hardest part to get right, and it’s my favorite part of how it works.
When the person on the line asks something the voice assistant doesn’t know, it doesn’t guess. It raises a pending_question, and your agent sees it on its next get_call. Your agent answers from what it already knows, or asks you, and answer_question drops the answer into the live call within a couple of seconds. The business hears “Sure, it’s under Marsh” and the call keeps going.

You can steer a call the same way without being asked anything. “Make it 6 people instead of 4” or “don’t book, just get the price” goes through answer_question too. And if you already know your answers, if_asked lets your agent pre-approve decisions up front (“if 7:30 is taken, 8 is fine”).
The other half of this is keeping the voice side from making things up. A lot of the prompt work went into teaching it to stay quiet when it should: through a whole phone menu before pressing anything, on hold, and when someone says “hang on.” When it doesn’t know your answer, it waits for your agent instead of inventing one. If nobody answers within about 45 seconds, it tells the business you’ll follow up rather than filling the silence with something wrong.
Menus, Hold and Patching You In#
Phone trees are their own little puzzle. The assistant listens to the entire menu before choosing, since menus pause between options and a pause isn’t the end. It presses digits or says the option word without narrating what it’s doing, and it waits out hold music without chatting at it.
For the calls where you need to be on the line yourself, like a bank or a carrier that has to verify the account holder, there’s transfer_to. “Sit on hold with the airline and call me when a person picks up” is one tool call: it gets through the menu, waits out the hold, and patches you in once a real person answers.
Calling Around#
Some errands are really four phone calls. Ask for brake quotes from the four closest shops and your agent finds them with find_business, places all four calls at once, and follows them together with a single get_call that takes a list of call ids. When they’re done, you get a table of prices and earliest slots.

If one of the shops asks a question mid-call, that call’s pending_question comes back in the same get_call, so your agent can answer each one while the others keep going.
Being Straight With the Business#
Somebody on the other end of these calls is doing their job, and I wanted CallForMe to be easy to deal with. The assistant opens by saying who it’s calling for and that the call is recorded. If anyone asks whether they’re talking to a real person, it tells the truth. It only calls businesses, never personal numbers, and emergency and service numbers like 911 are blocked outright. If a business calls our number back, an assistant answers, takes a message and passes it along to your agent.
Connecting Asks For Nothing#
Setup is one URL, https://callforme.tel/mcp, or one claude mcp add line. When your agent connects, OAuth creates a guest account behind the scenes and sends it right back. No email, no form.
Payment comes up once, at your first real call. Your agent shows you a link, you add a card, and wait_for_setup places the call as soon as you’re done, so you never have to come back and say “ok, I did it.” After that your agent doesn’t need to ask again.
If you want to see it before any of that, there are free demo businesses at callforme.tel/demo: a pizza place, three auto shops and a gym, all fictional and all free to call. Ask your agent for brake quotes from all three shops and leave out what car you drive. Each shop asks for it mid-call, and you get to watch your agent answer.