install · 30 seconds

From zero to "the agent placed the call".

Three steps. One npm install, one Twilio setup, one MCP wire-up. Pick your AI host below — same package, same env, different one-liner.

step 01

Install the npm package

Global install gets you the crixin binary in every terminal — voice lives under crixin voice — plus instant access from your AI host via npx.

npm i -g crixin

# or, no global install — npx fetches on demand:
npx -y crixin voice help
step 02

Wire up Twilio credentials

Crixin doesn't ship with credentials baked in. You need a Twilio account (free trial gives you a sandbox number), then export three env vars:

export TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
export TWILIO_AUTH_TOKEN=your_auth_token
export TWILIO_PHONE_NUMBER=+15555550100

# Optional — only needed if you call transcribe_call
export DEEPGRAM_API_KEY=...
Pro tip. Use Doppler, direnv, or 1Password CLI to inject these per-shell so they're not sitting in ~/.zshrc in plain text. Whatever you use, your AI host launches from that environment.

Verify with the doctor:

crixin voice doctor
TWILIO_ACCOUNT_SID ✓ TWILIO_AUTH_TOKEN ✓ TWILIO_PHONE_NUMBER ✓ (+15555550100)
step 03

Wire it into your AI host

Same npm package, same stdio MCP transport. The host-specific config is one line each.

Claude Code

claude mcp add crixin-voice -- \
  npx -y crixin voice mcp

Restart your Claude Code session once. The agent now has make_call, send_sms, and the rest.

Cursor

// ~/.cursor/mcp.json
{
  "mcpServers": {
    "crixin/voice": {
      "command": "npx",
      "args": ["-y", "crixin", "voice", "mcp"]
    }
  }
}

Cursor auto-reloads. Open the Composer and ask: "use crixin voice to call +15555550100 and ask their hours."

Codex CLI

# ~/.codex/config.toml
[mcp_servers.crixin-voice]
command = "npx"
args = ["-y", "crixin", "voice", "mcp"]

Restart codex. codex mcp list should show crixin-voice as the entry name.

Claude Desktop

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "crixin/voice": {
      "command": "npx",
      "args": ["-y", "crixin", "voice", "mcp"]
    }
  }
}

Restart Claude Desktop. The hammer icon shows the new tools.

verify

Place the first call

Simplest possible smoke test — the CLI bypasses MCP and calls Twilio directly. Replace the destination with your own number.

crixin voice call +15555550100 "Hello, this is a test call from Crixin Voice."

You should see:

Call placed: CA94e1d8…3a02 → queued

Then ask your AI host the same question and watch it call make_call on your behalf.

troubleshooting

If something didn't work