By darwincr
Make outbound phone calls via a self-hosted LiveKit + SIP stack. AI agents handle the conversation, return transcripts and summaries.
An MCP server that gives AI agents the ability to make outbound phone calls.
Choose one of three ways:
claude plugin marketplace add darwincr/sip-phone-mcp
claude plugin install sip-phone-mcp@darwincr-sip-phone-mcp
Updates are automatic. Requires Claude Code v2.1+.
Add this directly to any MCP client config. No git clone needed -- uvx fetches and runs the package from GitHub automatically:
{
"mcpServers": {
"sip-phone": {
"command": "uvx",
"args": [
"--refresh",
"--from",
"git+https://github.com/darwincr/sip-phone-mcp.git",
"sip-phone-mcp"
]
}
}
}
Remove
--refreshif you prefer faster startup over auto-updates.
git clone https://github.com/darwincr/sip-phone-mcp.git && cd sip-phone-mcp
uv tool install -e .
Then point your MCP client at the installed binary:
{
"mcpServers": {
"sip-phone": {
"command": "sip-phone-mcp"
}
}
}
# 1. Copy an example env file and fill in your values
cp .env.example .env # choose from: .env.example, .env.openai, .env.budget, .env.google, .env.low-latency
# 2. Start the Docker infrastructure
docker compose up --force-recreate -d
Example configs are also included for VS Code (.vscode/mcp.json) and OpenCode (opencode.json).
| File | Providers | API Keys Needed |
|---|---|---|
.env.example | Deepgram + OpenAI + Cartesia (best quality) | OPENAI, DEEPGRAM, CARTESIA |
.env.low-latency | Deepgram + OpenAI + Cartesia (optimized) | OPENAI, DEEPGRAM, CARTESIA |
.env.openai | All OpenAI | OPENAI |
.env.google | All Google | |
.env.budget | Deepgram + OpenAI (cost-effective) | OPENAI, DEEPGRAM |
| Tool | What it does |
|---|---|
make_call | Call a phone number, wait for it to finish, return the transcript and summary |
dispatch_voice_agent | Start a call without waiting (for parallel calls) |
get_call_status | Check if an async call is still running |
get_call_transcript | Get the transcript of a finished call |
list_recent_calls | See recent calls and their status |
hangup_call | Hang up an active call |
get_system_status | Health check for LiveKit connectivity and agent status |
get_logs | View recent logs for debugging |
"Call +15551234567 and confirm their dental appointment for next Tuesday at 3pm."
The AI uses make_call with instructions for the voice agent, waits for the call to finish, and gets back the full transcript and a summary.
AI Client ──MCP──► sip-phone-mcp ──LiveKit API──► LiveKit + SIP ──► Phone Network
(MCP server + (Docker)
voice agent)
Everything runs as a single process. When the MCP server starts, it automatically provisions the SIP trunk, runs smoke tests against your AI providers, and launches the voice agent worker. The Docker stack handles the actual telephony (SIP signaling, media routing).
On each call, the voice agent connects to a LiveKit room, dials out via SIP, and runs a voice conversation loop: STT -> LLM -> TTS. When the call ends, the transcript and an LLM-generated summary are saved.
~/.sip-phone-mcp/sip-phone-mcp.log
Override the location with the SIP_LOG_DIR env var.
External network access
Connects to servers outside your machine
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub darwincr/sip-phone-mcp --plugin sip-phone-mcpMemory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Streamline people operations — recruiting, onboarding, performance reviews, compensation analysis, and policy guidance. Maintain compliance and keep your team running smoothly.
Write feature specs, plan roadmaps, and synthesize user research faster. Keep stakeholders updated and stay ahead of the competitive landscape.
Create content, plan campaigns, and analyze performance across marketing channels. Maintain brand voice consistency, track competitors, and report on what's working.
Prospect, craft outreach, and build deal strategy faster. Prep for calls, manage your pipeline, and write personalized messaging that moves deals forward.