mcpbeat Sign in

LifeClaw MCP Server

by agentese-lifeclaw Your server? Claim it
answering

LifeClaw is answering right now. Last checked moments ago. It exposes 16 tools.

Call you, a person, or a business; find places, book or inquire by phone, and return the answer.

Uptime history 71 hours of history
71 hours agonow
100.0%
Uptime 24h
92 of 92 checks
16
Tools
read from the server
1100 ms
Response time
average over 24h
OAuth sign-in
Access
streamable-http

What changed 12

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 14 October 2026. No other catalogue keeps this.

14 Oct 12 tools changed the parameters they ask for call_business, call_contact, call_me and 9 more

Nothing serious here today

Today is the operative word: we check LifeClaw every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 0 min ago.

run in your terminal
claude mcp add lifeclaw --transport http https://api-v2.lifeclaw.agentese.ai/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "lifeclaw": {
      "url": "https://api-v2.lifeclaw.agentese.ai/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.lifeclaw]
url = "https://api-v2.lifeclaw.agentese.ai/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "lifeclaw": {
      "url": "https://api-v2.lifeclaw.agentese.ai/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "lifeclaw": {
      "url": "https://api-v2.lifeclaw.agentese.ai/mcp"
    }
  }
}

This endpoint answered with an authorization challenge. The server is running, and it signs you in through your browser: there is no API key to paste.

Available tools 16

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

call
call_business
Phone a business and wait for the outcome. `action="book"`: reserve. Required: merchant_name, date (YYYY-MM-DD), time_ (HH:MM, 24h), party_size, name; recommended: contact_phone (E.164). Both are the MERCHANT's local time. `action="inquiry"`: ask something — put the question in `purpose`; the answer comes back in `result.summary`. `reply_language` is the language of the result fields (the call itself is spoken in the merchant's language). `idempotency_key`: reuse the same key to recover this attempt; after a terminal no-answer or busy result, a deliberate new call needs a new key. Do not redial a `failed` result: its cause may be unknown. Without a key, the same arguments derive the same key for the UTC day and return the original task. For personal accounts, a verified and enabled Caller ID is shown to the business when the route permits it. Otherwise a LifeClaw number is used. Caller ID setup is optional for business calls. Returns the flat result (`result.status` is confirmed / rejected / pending / no_answer / busy / unclear / timeout / failed, plus summary, details, conditions, transcript) or `status: in_progress` with a task_id for wait_for_call. Costs 300 points per minute, minimum one minute, nothing on no answer.
call_contact
Call a saved private contact without passing their full number. First list_contacts and confirm the chosen name, masked number and exact spoken message with the user. Pass that contact_ref and user_confirmed=true. If the contact changes before dialing, re-list and confirm again. This uses call_person's screening, verified Caller ID, daily cap and strict no-platform-number-fallback policy. Check caller_id_status first. Its no-answer retry decision and idempotency rules are the same as call_person.
call_me
Ring the user's own phone, read them `message`, and bring back what they say. A phone call interrupts the user. Follow their explicit instructions about whether and when to call, including an immediate call or a call when a job finishes. Otherwise prefer chat for routine updates; call for a time-sensitive decision only they can make after chat has no explicit answer, or for a still-active important event after the workflow's chosen wait if nobody has acknowledged it. There is no fixed waiting period: use the user's timing when given, otherwise choose one appropriate to the task. For monitoring, your workflow must watch the event, wait for acknowledgment, and decide when to invoke this tool; LifeClaw cannot do those things or schedule a future call. An explicit request to call regardless of event status takes priority over the default active-and-unacknowledged condition. Consider local time and do not repeatedly ring after a missed call. A terminal no-answer is for your workflow to assess; LifeClaw will not redial it automatically. Do not redial a `failed` result because contact may have occurred. A deliberate later call needs a new idempotency_key, and only a workflow that can wait and resume can promise one. Reuse the original key to recover an uncertain request instead. Examples: (1) a deployment is blocked on a rollback decision and chat has no explicit answer; ask that one question and use `result.reply`. (2) An external monitor confirms a critical incident is still active and unacknowledged; call with that incident ID as `idempotency_key`. (3) The user asked for a call when a job finishes; call once when your workflow observes completion. Do not call for an ordinary completion the user did not ask to hear by phone. `wait_for_reply=True`: the assistant asks, listens, reads the answer back, and returns it in `result.reply`. `wait_for_reply=False`: deliver and hang up. `agent_name` ("Claude Code", "Codex") is how the assistant introduces itself. `language` is spoken on the call and used for the result; set it to the user's language. Write the message as speech: short sentences, no markdown. Do NOT greet or introduce yourself inside `message` — the call already opens with "I'm your assistant from {agent_name}" / "我是来自 {agent_name} 的 AI 助手"; a message that starts with "Hi, this is Claude Code" gets introduced twice. Start with the content ("Hotpot or sushi tonight?"). `keywords` (optional, up to 20 short terms): the words the user is likely to say back — the options you offered ("火锅", "日料"), a ticket or PR number, a product name. They steer the speech-to-text toward those spellings so `result.reply` and the transcript come back right; phone audio otherwise mishears short words (火锅 → 哥哥 on a real call). Give them whenever the answer is a choice between named things. Needs the account's voice-verified receiving number. Outbound Caller ID is separate. If this returns `error: receiving_phone_required`, send the user to the returned setup_url to select a number, answer the voice verification call, and enter its code. Capped at 4 calls per account per 10 minutes and 30 per 24 hours. Billed per minute like any call. For monitoring, pass a stable event ID as idempotency_key; a new event needs a new key.
call_person
Call one private person and relay one message from the user. Ask the user to confirm the recipient, E.164 number and exact spoken message first, then set user_confirmed=true. `original_message` is the user's unedited request; `message` is the faithful sentence spoken aloud. Both are screened. The AI identifies itself and passes on the message; this tool is not an open-ended conversation or a broadcast tool. Requires the user's verified, enabled outbound Caller ID. Call caller_id_status for readiness and setup link. Verification means answering a call and entering a code; call_me uses a separately selected receiving number. Never substitute call_business for a private recipient. If the Caller ID is refused by the carrier, the call fails without a platform-number retry. Up to 10 private calls per account per rolling 24h. Billed per minute. Reuse the same idempotency_key to recover this attempt; wait_for_call if in_progress. Only after a terminal no-answer or busy result with no contact should your workflow consider another call, using a new key and respecting the user's instructions and the recipient's local time. Do not redial a `failed` result because it does not establish that nobody was reached.
contact
delete_contact
Delete a saved contact by exact name after the user confirms deletion.
update_contact
Edit a saved contact's name and/or E.164 phone number atomically. Confirm the existing contact and proposed change with the user first. A name conflict refuses instead of overwriting another person. Return values mask the number; do not repeat a full number in chat.
account
account_status
Points balance, display name, and the selected receiving number for call_me (masked). Use receiving_phone_status for setup and caller_id_status for outbound display and outbound-display state. 300 points ≈ one minute of calling.
bookings
list_bookings
The account's bookings (confirmed, cancelled, answered inquiries). `status` filters: "confirmed", "cancelled", "answered", or "" for all.
caller
caller_id_status
Check the owner's outbound Caller ID. Verified plus enabled display enables call_person. call_me uses a separate receiving number. If setup is needed, direct the user to `setup_url`: Settings → Caller ID, bind their own phone, answer Twilio's verification call and enter its code. Then check again. Business calls do not need this setup.
contacts
list_contacts
List the token owner's saved contacts with masked phone numbers. Each contact_ref pins the current name and number for call_contact. If two names could match a request, ask the user to choose one exact name. Never repeat a full contact number in chat.
modify
modify_booking
Phone the venue to cancel or reschedule a confirmed booking from list_bookings. `action` is "cancel" or "reschedule"; reschedule needs new_date and/or new_time (merchant local). When the venue confirms, the booking record is updated for you. Same waiting and idempotency rules as call_business.
place
get_place
Full details for one place from search_places: phone, hours, rating, website, booking link. Pass the same `location` you searched with. `phone_ref` is the handle call_business needs; when it is null the place cannot be called and `phone_ref_unavailable_reason` says why — show the user `detail.phone` / `detail.booking_url` instead. Costs 15 points.
places
search_places
Search businesses (restaurants, salons, clinics, hotels…) by free text. `location` is REQUIRED and decides which country is searched — a city or country name ("Tokyo", "Singapore"). Returns up to `limit` places with a `cid` to pass to get_place. Costs 5 points.
receiving
receiving_phone_status
Check where call_me would ring (masked). A number must be explicitly selected and verified by voice; SMS login alone does not qualify. The user can set it in the web app without enabling outbound Caller ID. Direct them to setup_url if no receiving number is ready.
save
save_contact
Add or update one contact after confirming name and number with the user. phone_number must be E.164, e.g. +85291234567. This updates the same address book used by the web app. The result masks the number; do not echo the full number in a chat reply. Set user_confirmed only after agreement.
wait
wait_for_call
Keep waiting for a call that call_business / modify_booking / call_person / call_me reported as in_progress. Returns the flat result once the call ends, or in_progress again — just call it again.

Endpoints

URLTransportStateLatencyChecked
https://api-v2.lifeclaw.agentese.ai/mcp streamable-http sign-in 1099 ms 0 min ago

Alternatives to LifeClaw

same job, measured the same way
phoneAFriendForAgents
by rmtonmoy

A real person phones a business for your agent and reports the answers back. Ten calls a month

answering
PlaceCall
by voygr-tech

Real phone calls to US businesses: book, ask, get quotes. Returns outcome and transcript.

answering
Botphone
by griffden

Give your Muse a phone number. BotPhone answers your business line and reports every call back.

answering
BotPhone
by botphone

Give any AI agent a phone number. BotPhone answers your business line and reports every call back.

answering
Assindo
by assindo

AI phone assistant: real calls to businesses for you, plus tasks, posts and research.

answering
call4me
by skeptrunedev

Your AI agent phones businesses for you: books, reschedules, cancels, asks, and waits on hold.

answering
Oracle Jdk License Gate
by jmshinhwa

Finds the Java lines in your build that Oracle now bills for, and the free line that replaces each o

41 installs/wk local only
Calmido Phone Number Lookup
by calmido

Who is calling? Spam reports, a verdict and the business behind NL, BE and LU phone numbers.

1 tools answering

LifeClaw — questions

Answers built from our own checks of this server.

What can LifeClaw do?
It exposes 16 tools, read directly from the server on our last check. Among them: account_status, call_business, call_contact, caller_id_status, call_me, call_person and 10 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is LifeClaw mostly used for?
Its tools cluster around call and contact. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is LifeClaw working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 1100 ms. The bar chart above shows every period we have measured.
How do I connect LifeClaw?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address. You sign in through your browser once and the client keeps the session: no key to copy, and it refuses anonymous clients.
How do you sign in to LifeClaw?
No API key is involved. LifeClaw answers our knock with an OAuth challenge, so you authorise it once in your browser and the client keeps the session. That is also why we see no tool list: it will not describe itself to an anonymous client, and that is the server working as intended, not a fault.
How fast is LifeClaw?
It answers our handshake in 1100 ms on average, which is faster than 6% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.