About clawcall
clawcall wraps the ClawCall REST API as MCP tools for AI agents that need to place real US phone calls. It supports call-status polling and transcripts, with both non-blocking calls and a single-call wait option.
Key features
- 01Place outbound US calls
- 02Retrieve call status and transcripts
- 03Wait for a single call to finish
- 04Share identity and API-key storage
Use cases
- 01Call businesses to ask about quotes or availability
- 02Navigate phone menus to reach an organization
- 03Review transcripts against a call task
MCP support
This stdio MCP server exposes the ClawCall REST API as tools. The README identifies it as a legacy local transport and recommends the hosted OAuth MCP connector for new integrations.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://api.clawcall.dev/mcpclaude mcp add --transport http clawcall-dev-clawcall https://api.clawcall.dev/mcp{"mcpServers":{"clawcall-dev-clawcall":{"type":"http","url":"https://api.clawcall.dev/mcp"}}}Open in Cursor{"servers":{"clawcall-dev-clawcall":{"type":"http","url":"https://api.clawcall.dev/mcp"}}}Open in VS Code{"mcpServers":{"clawcall-dev-clawcall":{"type":"http","url":"https://api.clawcall.dev/mcp"}}}{"mcpServers":{"clawcall-dev-clawcall":{"serverUrl":"https://api.clawcall.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project README@clawcall/mcp
Important
Legacy local transport. New integrations should use ClawCall's hosted OAuth MCP connector at
https://api.clawcall.dev/mcp. This stdio package remains available for existing local/API-key installations, but it is not the connector submitted to the official xAI marketplace.
MCP server wrapping the ClawCall REST API for AI-powered US phone calls.
ClawCall places real outbound phone calls in the US (+1 only). This package is a stdio
MCP server that exposes the ClawCall REST contract as tools any MCP host (Claude Code,
Claude Desktop, Cursor, Windsurf) can call. It is a stateless client over the public API
at https://api.clawcall.dev — it imports nothing from the ClawCall server.
Install / register
Add the server to your MCP client config:
{ "mcpServers": { "clawcall": { "command": "npx", "args": ["-y", "@clawcall/mcp"], "env": { "CLAWCALL_API_KEY": "optional", "CLAWCALL_BASE_URL": "https://api.clawcall.dev" } } } }
Or, for Claude Code, the one-liner:
claude mcp add clawcall -- npx -y @clawcall/mcp
The env block is optional. The ClawCall server self-provisions an API key on the
first call: an anonymous place_call auto-issues a proto-key, which this server captures
and persists. You do not need to set CLAWCALL_API_KEY to get started.
Identity sharing
This MCP server reads and writes the same ~/.config/clawcall/key.json file
({ "api_key": "...", "user_phone_number": "..." }) that the ClawCall agent skill uses.
Running both the skill and this MCP server does not fork your identity — they share one
key, one trial quota, one call history, and one balance.
If CLAWCALL_API_KEY is set in the environment, it shadows the file (an operator /
CI override). The saved file is otherwise the source of truth, and the proto-key issued on
your first call is persisted there automatically (preserving any saved user_phone_number).
The workflow
A call runs for several minutes. The load-bearing loop is:
place_call— returns acall_idimmediately. Does not block.- Poll
get_callevery 3 seconds untillifecycle === "finalized". outcomeis the phone-network result (answered / no_answer / busy / …), NOT task success. An answered call can still fail the task.- Read the transcript with
get_call_transcriptand judge it against the task you set.
Choosing a tool
place_call_and_waitis the single-foreground-call shortcut: it places the call and internally polls until finalized or a hard cap (~180 s, ceiling 240 s). On the cap it degrades to the non-blocking contract — it returns{ still_running: true, call_id, … }and you continue withget_call. Use it when you want one call's result in one shot.- Campaigns — 3–4 parallel, interchangeable, info-gathering-only calls (quotes,
availability, inventory, policy comparison) — use
place_call+get_callfan-out. Never use the blocking tool for campaigns. Never parallelize calls that book / buy / cancel / commit.
Caveats
greetingdoes NOT set the agent's first spoken line. It is outbound-opener context only. The agent's actual opening line is a hardcoded recording disclosure on the server.- 402 errors are PERMANENT gating, not retryable.
trial_exhausted,plan_required, andreserved_number_requiredmean a human must act. Forward the returnedaction.url/sign_in_urlverbatim (they are personalized and embed your proto-key). Do not retry.
Trial limits are read from the live quota object in the error envelope — they are
never hardcoded in this package, so the displayed numbers always match the server.
Environment variables
| Variable | Default | Purpose |
|---|---|---|
CLAWCALL_BASE_URL | https://api.clawcall.dev | ClawCall REST API base URL. |
CLAWCALL_FRONTEND_URL | https://clawcall.dev | Frontend base used to build sign-in / account-link URLs. |
CLAWCALL_API_KEY | (unset) | Optional operator override. Shadows the saved key file. |
CLAWCALL_WAIT_DEFAULT | 180 | Default cap (seconds) for place_call_and_wait. |
CLAWCALL_WAIT_CEILING | 240 | Maximum allowed cap (seconds) for place_call_and_wait. |
More
skill-companion/MCP-COMPANION.md— companion note for the ClawCall skill describing how the two share identity and workflow.../skill/SKILL.md— the ClawCall agent skill (the procedural layer; this MCP server is the connectivity layer over the same REST API).
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.