awesome-claude-call
Give Claude Code a phone number — outbound, inbound, and ring-when-done voice calls via Twilio + Patter. A Claude Code plugin.
Install / Use
claude mcp add PatterAI -- npx -y github:PatterAI/awesome-claude-callIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
OtherSupported Platforms
Our assessment of awesome-claude-call
awesome-claude-call scores 78/100 on our quality scale, 212th of 241 Other skills we index.
Its MCP Server is 9.4 KB long, well organised into 11 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 5 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 95/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
awesome-claude-call compared with similar skills
All 4 of these similar skills score higher than awesome-claude-call; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| awesome-claude-call (this skill)by PatterAI | 78 | 10 | 5mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 96.4k | 4d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.1k | 1d ago | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.4k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 87.0k | 1d ago | MCP Server |
Frequently asked questions
- How do I install awesome-claude-call?
- Run
claude mcp add PatterAI -- npx -y github:PatterAI/awesome-claude-call. The install tabs above show the steps for each supported agent. - Which AI agents does awesome-claude-call work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is awesome-claude-call safe to use?
- It is MIT-licensed and scores 95/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is awesome-claude-call still maintained?
- The repository was last updated about 5 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubWhat it does
Three flows, one plugin install, real phone calls.
| Flow | What happens | Example |
|---|---|---|
| Claude → third party | Outbound. Claude dials, negotiates against an objective, and returns a structured outcome. | /claude-call:call-me +15555550200 book a table for 2 at 8pm Saturday |
| Claude → you | Stop hook. When the long task finishes, Claude rings you with a summary you can talk back to. | /claude-call:notify-me +15555550100 |
| You → Claude | Inbound. Dial your Twilio number from anywhere, drop straight into a voice conversation with the active session. | /claude-call:serve-me |
Every outbound prompt includes a hard-coded AI disclosure on the first turn, every phone number is redacted to last-4 in logs, and every credential lives in a mode-0600 file in your home directory.
Requirements
| Requirement | Why |
|---|---|
| Twilio Account SID, Auth Token, and a phone number you own | Carrier — this is how the call leaves your machine. |
| OpenAI API key | Default openai_realtime voice engine. |
| Claude Code 2.0+, Node 20+, macOS or Linux | Runtime. Windows via WSL is untested. |
Optional alternatives, pick at most one:
- ElevenLabs ConvAI — needs
ELEVENLABS_API_KEYandELEVENLABS_AGENT_ID. - Pipeline mode — Deepgram STT, ElevenLabs TTS, OpenAI LLM (all three keys).
Install
Open any Claude Code session (terminal, desktop app, or IDE extension) and run:
/plugin marketplace add https://github.com/PatterAI/awesome-claude-call
/plugin install claude-call@claude-call
/claude-call:setup
/exit
That is the entire setup. The four steps:
- Add the marketplace. Clones this repo into
~/.claude/plugins/. - Install the plugin. Registers the bundled MCP server, slash commands, hooks, and the
phone-agentsubagent. Nonpm installis required — the server ships with pre-builtdist/files. - Configure credentials. The wizard asks for Twilio Account SID, Auth Token, phone number, and an OpenAI key. If a
.envalready has those, it can import them directly. Credentials land in~/.claude-call/credentials(mode0600) and are never stored anywhere else. - Restart the session. The bundled MCP server picks up the new credentials on the next
claudelaunch.
Then place a call:
/claude-call:call-me +15551234567 say hello and confirm the line works
The Cloudflare tunnel spins up lazily on the first outbound call — no manual webhook setup, no ngrok.
Already have credentials? Skip to step 4. Updating an existing install? Re-run
/claude-call:setup, then/exit.
Quick start
> /claude-call:call-me +15555550200 ask if there is a table for 2 at 8pm tonight
Claude dispatches the phone-agent subagent, dials, has the conversation, and reports back:
Confirmed. Table for 2 at 20:00 tonight, under "Smith".
Transcript: 4 turns - Duration: 28s - Cost: $0.04
Slash commands
| Command | Behavior |
|---|---|
| /claude-call:call-me <number> <objective> | Outbound call to a third party with autonomous goal pursuit. |
| /claude-call:notify-me <number> | Arms a Stop hook. Claude calls you when the current task finishes. |
| /claude-call:notify-me-cancel | Disarms /claude-call:notify-me. |
| /claude-call:dial-me-on-blocked <number> | Arms a Notification hook. Claude calls you whenever it stalls on permission or idle prompts. |
| /claude-call:dial-me-on-blocked-cancel | Disarms /claude-call:dial-me-on-blocked. |
| /claude-call:calls | Lists recent calls (status, duration, cost). |
| /claude-call:serve-me | Arms the inbound voice agent — callers reach Claude. |
| /claude-call:serve-me-cancel | Disarms inbound. |
Numbers must be E.164, e.g. +15555550100.
How it works
Claude Code session
/claude-call:* slash commands phone-agent subagent Stop / Notification / SessionStart hooks
\ | /
\ | /
v v v
stdio MCP transport
|
v
bundled server (server/, ~800 LOC TS)
make_call - call_third_party - get_calls - get_transcript
|
v
Patter SDK + Cloudflare tunnel (lazy, first call)
|
v
Twilio - PSTN
The plugin layer is roughly 700 lines of shell and markdown. The bundled server in server/ is roughly 800 lines of TypeScript that wraps the getpatter SDK directly — no external patter-mcp repo required.
Port discovery probes a range ([8002, 8099] by default) and picks one that is bindable on 127.0.0.1 and silent on ::1. The dual check is load-bearing — probing only IPv4 would miss a Docker IPv6 hijack; probing only IPv6 would miss a stray IPv4 conflict.
Configuration
| Path or var | Default | Purpose |
|---|---|---|
| ~/.claude-call/credentials | — | Telephony credentials (mode 0600). Managed by /claude-call:setup. |
| ~/.claude-call/calls.ndjson | — | Append-only call history. |
| ~/.claude-call/log.ndjson | — | Append-only event log (phone numbers redacted). |
| ~/.claude-call/inbound-armed | — | Flag file. Created by /claude-call:serve-me, removed by its cancel command. |
| CLAUDE_CALL_STATE_DIR | ~/.claude-call/state | Flag-file directory for armed hooks. |
| CLAUDE_CALL_LOG | ~/.claude-call/log.ndjson | Override the log path. |
Privacy and security
| Guarantee | How it's enforced |
|---|---|
| AI disclosure on every outbound call | Hard-coded into outbound system prompts on the first turn. Non-overridable in v0.2. |
| Phone numbers redacted to last-4 in all logs | cc_redact_phone runs on every log line that touches a number. |
| Credentials file mode 0600 | Server refuses to start if the file is world- or group-readable. |
| State directory mode 0700 | Created with mkdir -m 0700 — owner-only. |
| No surprise outbound HTTP from the plugin | Only Twilio, OpenAI / ElevenLabs / Deepgram, and Cloudflare's tunnel control plane (when serving inbound or after the first outbound call). |
| Rate limits and budget caps | Enforced upstream by Patter. |
Development
make install-dev # verify bats + jq + node are installed
make ci # full CI: server build + typecheck + test + bats
make server-test # bundled server tests only
make test # bats tests only
make lint # shellcheck (best-effort)
GitHub Actions CI runs on every push and PR (Ubuntu and macOS matrix). Manual end-to-end smoke tests live in tests/e2e.md and require real Twilio credentials.
Project docs
| Doc | What's in it |
|---|---|
| CHANGELOG.md | Versioned change log. |
| tests/e2e.md | Manual end-to-end smoke-test checklist. |
| SECURITY.md | How to report a security issue. |
| CITATION.cff | Cite this work. |
License
Related Skills
Agent-Reach
96.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
75.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.4kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
87.0k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
