# LifeClaw (remote · api-v2.lifeclaw.agentese.ai)

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

- Trust score: 36/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `api-v2.lifeclaw.agentese.ai`: 36/100 (this document), [markdown](https://verifymcp.io/servers/ai-agentese-lifeclaw-lifeclaw/api-v2.md), [page](https://verifymcp.io/servers/ai-agentese-lifeclaw-lifeclaw/api-v2)

## Channel facts

- Endpoint: `https://api-v2.lifeclaw.agentese.ai/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 0/100
  - Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http.
- **Schema Quality & AI Usability**: 0/100
  - Schema blocked by authentication: the endpoint requires auth we don't have to read it.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Tool Safety**: 0/100
  - Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Capabilities**: 0/100
  - Capabilities blocked by authentication: the endpoint requires auth we don't have to read them.

**Unverified: 6 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the LifeClaw MCP server?

LifeClaw is a hosted endpoint at https://api-v2.lifeclaw.agentese.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http ai-agentese-lifeclaw-lifeclaw 'https://api-v2.lifeclaw.agentese.ai/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "ai-agentese-lifeclaw-lifeclaw": {
      "url": "https://api-v2.lifeclaw.agentese.ai/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ai-agentese-lifeclaw-lifeclaw": {
      "type": "http",
      "url": "https://api-v2.lifeclaw.agentese.ai/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.ai-agentese-lifeclaw-lifeclaw]
url = "https://api-v2.lifeclaw.agentese.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-agentese-lifeclaw-lifeclaw": {
      "type": "remote",
      "url": "https://api-v2.lifeclaw.agentese.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-agentese-lifeclaw-lifeclaw --url 'https://api-v2.lifeclaw.agentese.ai/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ai-agentese-lifeclaw-lifeclaw:
    url: "https://api-v2.lifeclaw.agentese.ai/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "ai-agentese-lifeclaw-lifeclaw": {
      "Transport": "http",
      "Url": "https://api-v2.lifeclaw.agentese.ai/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add ai-agentese-lifeclaw-lifeclaw -t streamable-http -u 'https://api-v2.lifeclaw.agentese.ai/mcp'
```

### Other

```json
{
  "mcpServers": {
    "ai-agentese-lifeclaw-lifeclaw": {
      "type": "http",
      "url": "https://api-v2.lifeclaw.agentese.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-15 (score 36, −21)

- [security regression] Endpoint reachability: reachable → behind authorisation
- [security regression] Tool safety: pass → unverified
- [security regression] Transport: pass → unverified
- [security improvement] Authorization: unverified → pass
- [security] First check of Authorization: partial
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-10-14 (score 57)

First indexed and scored.

## MCP tools (16)

### `search_places` (~99 tokens)

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.

Input parameters:

- `language` (string)
- `limit` (integer)
- `location` (string, required)
- `query` (string, required)

### `get_place` (~119 tokens)

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.

Input parameters:

- `cid` (string, required)
- `language` (string)
- `location` (string)
- `name` (string, required)

### `call_business` (~417 tokens)

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.

Input parameters:

- `action` (string)
- `contact_phone` (string)
- `date` (string)
- `fallback_instructions` (string)
- `idempotency_key` (string)
- `merchant_name` (string)
- `name` (string)
- `party_size` (integer)
- `phone_ref` (string, required)
- `predicted_qa`
- `purpose` (string, required)
- `reply_language` (string)
- `special_requests`
- `time_` (string)
- `wait_seconds` (integer)

### `modify_booking` (~141 tokens)

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.

Input parameters:

- `action` (string, required)
- `booking_id` (integer, required)
- `idempotency_key` (string)
- `new_date` (string)
- `new_time` (string)
- `purpose` (string, required)
- `reply_language` (string)
- `wait_seconds` (integer)

### `wait_for_call` (~68 tokens)

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.

Input parameters:

- `task_id` (integer, required)
- `wait_seconds` (integer)

### `list_bookings` (~55 tokens)

The account's bookings (confirmed, cancelled, answered inquiries).
\`status` filters: "confirmed", "cancelled", "answered", or "" for all.

Input parameters:

- `limit` (integer)
- `status` (string)

### `account_status` (~57 tokens)

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.

### `receiving_phone_status` (~66 tokens)

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.

### `caller_id_status` (~80 tokens)

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.

### `list_contacts` (~59 tokens)

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.

### `save_contact` (~102 tokens)

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.

Input parameters:

- `name` (string, required)
- `phone_number` (string, required)
- `user_confirmed` (boolean, required)

### `update_contact` (~96 tokens)

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.

Input parameters:

- `new_name` (string, required)
- `old_name` (string, required)
- `phone_number` (string, required)
- `user_confirmed` (boolean, required)

### `delete_contact` (~37 tokens)

Delete a saved contact by exact name after the user confirms deletion.

Input parameters:

- `name` (string, required)
- `user_confirmed` (boolean, required)

### `call_person` (~335 tokens)

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.

Input parameters:

- `idempotency_key` (string)
- `language` (string)
- `message` (string, required)
- `original_message` (string, required)
- `phone_number` (string, required)
- `recipient_name` (string, required)
- `reply_language` (string)
- `user_confirmed` (boolean, required)
- `wait_seconds` (integer)

### `call_contact` (~183 tokens)

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.

Input parameters:

- `contact_name` (string, required)
- `contact_ref` (string, required)
- `idempotency_key` (string)
- `language` (string)
- `message` (string, required)
- `original_message` (string, required)
- `reply_language` (string)
- `user_confirmed` (boolean, required)
- `wait_seconds` (integer)

### `call_me` (~815 tokens)

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…

Input parameters:

- `agent_name` (string)
- `idempotency_key` (string)
- `keywords`
- `language` (string)
- `message` (string, required)
- `wait_for_reply` (boolean)
- `wait_seconds` (integer)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ai-agentese-lifeclaw-lifeclaw/api-v2#diagnostics

## Score history

- 2026-11-05: 36
- 2026-11-04: 36
- 2026-11-03: 36
- 2026-11-02: 36
- 2026-11-01: 36
- 2026-10-31: 36
- 2026-10-30: 36
- 2026-10-29: 36
- 2026-10-28: 36
- 2026-10-27: 36
- 2026-10-26: 36
- 2026-10-25: 36
- 2026-10-24: 36
- 2026-10-23: 36
- 2026-10-22: 36
- 2026-10-21: 36
- 2026-10-20: 36
- 2026-10-19: 36
- 2026-10-18: 36
- 2026-10-17: 36
- 2026-10-16: 36
- 2026-10-15: 36
- 2026-10-14: 57

## Common questions

### What is the LifeClaw MCP server?

LifeClaw is an MCP server listed in the public MCP registry as ai.agentese.lifeclaw/lifeclaw. Call you, a person, or a business; find places, book or inquire by phone, and return the answer. This page covers its hosted endpoint (https://api-v2.lifeclaw.agentese.ai/mcp).

### Is the LifeClaw MCP server safe to use?

LifeClaw scores 36 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the LifeClaw MCP server expose?

LifeClaw exposes 16 tools: search_places, get_place, call_business, modify_booking, wait_for_call, and 11 more. Their descriptions and schemas cost roughly 2,729 tokens of context every time the server is loaded.

### Does the LifeClaw MCP server require authentication?

Yes. LifeClaw asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the LifeClaw MCP server still maintained?

LifeClaw is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api-v2.lifeclaw.agentese.ai/mcp
- Authorisation metadata: https://api-v2.lifeclaw.agentese.ai/.well-known/oauth-protected-resource/mcp
- Changelog RSS feed: https://verifymcp.io/servers/ai-agentese-lifeclaw-lifeclaw/api-v2.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-agentese-lifeclaw-lifeclaw/api-v2.json
- HTML version of this page: https://verifymcp.io/servers/ai-agentese-lifeclaw-lifeclaw/api-v2
