# io.github.ClawCall-Dev/clawcall (npm · @clawcall/mcp)

MCP server for ClawCall — AI-powered US phone calling.

- Trust score: 68/100 (medium)
- Change this week: +22
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@clawcall/mcp`: 68/100 (this document), [markdown](https://verifymcp.io/servers/clawcall-dev-clawcall/clawcall-mcp.md), [page](https://verifymcp.io/servers/clawcall-dev-clawcall/clawcall-mcp)

## Channel facts

- Registry: `npm`
- Package: `@clawcall/mcp`
- Version: `0.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, 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-08-03.

- **Supply Chain Security**: 83/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known medium-severity CVE affects @hono/node-server 1.19.17, reached via @modelcontextprotocol/sdk > @hono/node-server. A fixed version is available.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 56 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1095 tokens (~109/item across 10 items; 10 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add clawcall-dev-clawcall -- npx -y @clawcall/mcp
```

### Codex

```bash
codex mcp add clawcall-dev-clawcall -- npx -y @clawcall/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "clawcall-dev-clawcall": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@clawcall/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add clawcall-dev-clawcall --command npx --arg -y --arg @clawcall/mcp
```

### Hermes

```yaml
mcp_servers:
  clawcall-dev-clawcall:
    command: "npx"
    args: ["-y", "@clawcall/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "clawcall-dev-clawcall": {
      "command": "npx",
      "args": [
        "-y",
        "@clawcall/mcp"
      ]
    }
  }
}
```

## 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-08-02 (score 68, +63)

- [security regression] GHSA-frvp-7c67-39w9 affects this package: medium
- [security regression] Provenance: unverified → fail
- [security regression] Known CVEs: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Tool coverage: unverified → 100
- [functional] Licence: MIT

### 2026-08-01 (score 5, −23)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 28, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (10)

### `place_call` (~288 tokens)

Place an outbound US phone call. THE canonical write; non-blocking, returns immediately. After placing a call, poll get_call every 3s until lifecycle === 'finalized'. The outcome field is the PHONE-NETWORK result (answered/no_answer/busy/…), NOT task success — read the transcript (get_call_transcript) and judge it against the task yourself. A call that reached voicemail still finalizes as answered or no_answer — detect it from the transcript, not the outcome. For 3-4 parallel interchangeable info-gathering calls, call place_call directly per number and fan-out get_call. Do NOT use place_call_and_wait for campaigns.

Input parameters:

- `bridge_number` (string): Optional US E.164; enables mid-call loop_in_user handoff to this number
- `greeting` (string): Optional outbound opener context. Does NOT set the agent's first spoken line — the opener is hardcoded server-side to a recording disclosure.
- `personality` (string): Optional reusable style/tone. Do NOT put one-call facts here
- `task` (string, required): Full briefing memo — the agent's ONLY knowledge of the call's purpose and context
- `to` (string, required): US phone number in E.164, +1XXXXXXXXXX
- `voice` (string): Optional voice: jessica (default), sarah, chris, or eric

### `place_call_and_wait` (~284 tokens)

OPTIONAL convenience for a SINGLE foreground call. Internally polls until finalized or a ~180s hard cap, then degrades to the non-blocking contract (returns call_id to keep polling). NOT for campaigns. 402 errors (trial_exhausted / plan_required / reserved_number_required) are PERMANENT gating, not retryable. Surface action.url and action.sign_in_url to the user verbatim. Do not retry. Trial limits come from the live quota object in the error envelope — never assume a fixed number.

Input parameters:

- `bridge_number` (string): Optional US E.164; enables mid-call loop_in_user handoff to this number
- `greeting` (string): Optional outbound opener context. Does NOT set the agent's first spoken line — the opener is hardcoded server-side to a recording disclosure.
- `max_wait_seconds` (integer): Seconds to wait before degrading to poll. Default 180, ceiling 240.
- `personality` (string): Optional reusable style/tone. Do NOT put one-call facts here
- `task` (string, required): Full briefing memo — the agent's ONLY knowledge of the call's purpose and context
- `to` (string, required): US phone number in E.164, +1XXXXXXXXXX
- `voice` (string): Optional voice: jessica (default), sarah, chris, or eric

### `get_call` (~133 tokens)

Poll primitive; context-cheap. Returns lifecycle + a short transcript_tail, NOT the full transcript (use get_call_transcript for that). After placing a call, poll get_call every 3s until lifecycle === 'finalized'. The outcome field is the PHONE-NETWORK result (answered/no_answer/busy/…), NOT task success — read the transcript (get_call_transcript) and judge it against the task yourself. A call that reached voicemail still finalizes as answered or no_answer — detect it from the transcript, not the outcome.

Input parameters:

- `call_id` (string, required): The call_id returned by place_call

### `get_call_transcript` (~43 tokens)

Full turn-by-turn transcript array. Split out so get_call stays cheap for frequent polling.

Input parameters:

- `call_id` (string, required): The call_id returned by place_call

### `hangup_call` (~57 tokens)

Cancel or hang up a call you initiated. Idempotent — already-finalized is a no-op success. Use for mid-call control during your own poll loop.

Input parameters:

- `call_id` (string, required): The call_id returned by place_call

### `list_calls` (~87 tokens)

List call history. Requires account linking (a proto-key with no linked user returns 401 — call get_account_link_url). Inbound history requires a reserved-number plan.

Input parameters:

- `direction` (string): Optional: inbound or outbound
- `limit` (integer): Max results, default 25, 1-200
- `since` (string): Optional ISO 8601 timestamp lower bound

### `get_recording` (~54 tokens)

Durable recording access (no 10-minute window). Returns a URL, never inline audio. A 404 may be a permission denial, not absence.

Input parameters:

- `call_id` (string, required): The call_id returned by place_call

### `get_balance` (~30 tokens)

Cheap balance/tier status. Do NOT pre-check before every call — just place the call and handle errors.

### `get_account_link_url` (~56 tokens)

Build the browser sign-in link to attach this agent's key, calls, balance, and history to a ClawCall account. Reads the saved key; mints nothing. If no key is saved, place a call first.

### `set_api_key` (~63 tokens)

Save a user-supplied ClawCall API key (clawcall_sk_...) to the shared config file. Overrides any saved key. Never echoes the key back.

Input parameters:

- `api_key` (string, required): A ClawCall API key starting with clawcall_sk_

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/clawcall-dev-clawcall/clawcall-mcp#diagnostics

## Score history

- 2026-08-03: 68
- 2026-08-02: 68
- 2026-08-01: 5
- 2026-07-31: 28
- 2026-07-30: 46
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/@clawcall/mcp
- Socket report: https://socket.dev/npm/package/@clawcall/mcp
- Repository: https://github.com/ClawCall-Dev/clawcall
- Changelog RSS feed: https://verifymcp.io/servers/clawcall-dev-clawcall/clawcall-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/clawcall-dev-clawcall/clawcall-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/clawcall-dev-clawcall/clawcall-mcp
