crixin
The MCP toolkit for AI agents. Two MCPs in one npm package, sharing one local SQLite, installing into the same MCP-aware hosts you already use.
- Voice MCP — give your AI a phone line. Real outbound calls + SMS + transcription through your own Twilio.
- Coder MCP — give your AI a memory. Reads back every Claude Code, Codex CLI, and Cursor session you've ever had.


Local-first. Bring your own Twilio. Bring your own LLM. No SaaS in the middle.
Install
npm i -g crixin
crixin install
Escape hatches if you want one half only:
crixin voice install
crixin coder install
For Voice MCP, set Twilio creds in the env your AI host launches from:
export TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
export TWILIO_AUTH_TOKEN=your_auth_token
export TWILIO_PHONE_NUMBER=+15555550100
export DEEPGRAM_API_KEY=...
Platform mode (no Twilio account needed)
Don't want to bring your own Twilio? Grab an API key from the Crixin dashboard and set it instead — all six voice tools route through Crixin's hosted platform:
CRIXIN_API_KEY=crx_live_... npx -y crixin voice mcp
No TWILIO_* vars, no DEEPGRAM_API_KEY (transcription runs server-side). CRIXIN_API_BASE overrides the API origin if you need to. The geo-gate still runs locally — strict-consent destinations (US/UK/EU/AU) require consented: true either way.
Verify before you dial:
crixin voice doctor
For Coder MCP, ingest your AI coding history:
crixin coder ingest
Remote MCP (nothing to install)
The same six voice tools are served over Streamable HTTP by the hosted platform. Point any MCP host at the endpoint with your crx_live_… key:
claude mcp add --transport http crixin-voice https://crixin-platform.vercel.app/api/mcp \
--header "Authorization: Bearer crx_live_..."
Cursor / VS Code: add an HTTP MCP server with the same URL and Authorization header. ChatGPT: Settings → Connectors → Developer mode → add the URL. The endpoint is stateless (POST only); tool names, arguments and results are identical to the local server.
What each MCP exposes
Voice MCP — crixin-voice
make_call | Outbound voice call. to + prompt (assistant speaks it; recipient response recorded), or raw TwiML. |
get_call | Status / duration / price / timestamps for one Call SID. |
list_calls | Recent calls — filter by to / from / status / start_time_after. |
list_recordings | Recordings + auth-protected media URLs for a Call SID. |
transcribe_call | Run a recording through Deepgram. 30+ languages including Arabic. |
send_sms | SMS / MMS through Twilio. Messaging Service support. |
Coder MCP — crixin-coder
search_sessions | Full-text search across every ingested Claude Code / Codex / Cursor session. |
list_recent_sessions | Newest sessions first, with project + token counts. |
get_session | Pull a full session transcript by ID. |
stats | Aggregate counts across the local SQLite store. |
Everyday commands
crixin voice doctor
crixin voice call <to> [prompt]
crixin voice sms <to> <body>
crixin voice ingest
crixin voice wrapped --year 2026
crixin voice archetype
crixin voice mcp
crixin coder ingest
crixin coder search <query>
crixin coder dashboard
crixin coder wrapped --year 2026
crixin coder archetype
crixin coder mcp
crixin sync status
crixin sync link
crixin sync push
crixin sync pull
crixin sync inbox
Metadata only. Sync v1 shares the session index across your machines — never message bodies, transcripts, credentials, phone numbers, or free-text tags. Your code never leaves your disk.
Per-host install (manual)
claude mcp add crixin-voice -- npx -y crixin voice mcp
claude mcp add crixin-coder -- npx -y crixin coder mcp
{
"mcpServers": {
"crixin-voice": { "command": "npx", "args": ["-y","crixin","voice","mcp"] },
"crixin-coder": { "command": "npx", "args": ["-y","crixin","coder","mcp"] }
}
}
[mcp_servers.crixin-voice]
command = "npx"
args = ["-y","crixin","voice","mcp"]
[mcp_servers.crixin-coder]
command = "npx"
args = ["-y","crixin","coder","mcp"]
Or just run crixin install and let it wire everything for you.
Wrapped (the year-end receipt)
Both halves emit a self-contained HTML report.
crixin voice wrapped
crixin coder wrapped
Hour-of-day heatmaps, monthly bars, archetype reveal (Patient Listener / Hard Closer / Ducker / Cowboy / Architect / …), top destinations or top projects, top languages or top models. PII-stripped. Shareable as a screenshot. No upload.
Stack
- STT: Deepgram Nova-2 (optional —
DEEPGRAM_API_KEY).
- TTS: Twilio Polly + Google neural voices via TwiML
<Say>. (Polly.Joanna-Neural for en-US, Polly.Hala-Neural for ar-EG, Polly.Lucia-Neural for es-ES, etc.)
- LLM: none in the open-source call path — your AI host decides what to say. Pro tier can plug in hosted Wrapped + memory sync.
- Storage: local SQLite at
~/.crixin/crixin.db. Tables: voice_calls, voice_recordings, sessions, messages.
Pricing
| Open Source | Free forever | Both MCPs, all tools, all Wrapped, all archetypes. MIT-licensed. Bring your own Twilio. |
| Crixin Unlimited | $9.99/mo | Hosted calling with no Twilio account: unlimited calls, one monthly fee. Premium voice for the first 60 minutes each month, then standard, then basic — the call always gets made. One call at a time per account. Platform mode (CRIXIN_API_KEY) and the remote MCP run on this plan. |
Existing Coder Pro ($5/mo: hosted Wrapped + crixin sync) keeps working and is being folded into Unlimited.
See full pricing.
Privacy posture
- Zero servers between you and Twilio. Calls hit
api.twilio.com directly with your auth header.
- Coder MCP reads JSONLs your AI host already wrote to your disk. Nothing leaves your machine.
Privacy Policy
Full policy: https://crixin.com/legal/privacy (effective June 17, 2026). In short:
- Local mode (BYO Twilio): this package collects nothing. Calls go straight to Twilio with your credentials; call history and transcripts live in
~/.crixin/crixin.db on your machine. Your AI host sees tool results the same way it sees any other tool.
- Hosted mode (
CRIXIN_API_KEY or the remote MCP): the Crixin platform stores call metadata (numbers, timestamps, duration, status), recordings and transcripts you request, and usage counters for billing. Calls are carried by Twilio; transcription runs on Deepgram; hosted voice calls use OpenAI, Deepgram and ElevenLabs models. We do not sell data.
- Retention: account data while the account is active, deleted within 30 days of account deletion; recordings and transcripts deleted with the account; payment records as required by law.
- Contact: privacy@crixin.com (privacy requests) · help@crixin.com (support).
- Transcripts and call recordings stay in your Twilio account and your local SQLite.
- No telemetry. No upload. No analytics pixels.
Geo-gate (Voice MCP)
Outbound calls to strict-consent jurisdictions (US, Canada, UK, IE, FR, ES, IT, NL, AU, NZ) require an explicit --consented flag or consented: true in the MCP tool args. Permissive jurisdictions (Egypt, UAE, KSA, Jordan, Kuwait, Qatar, Bahrain, Oman, Lebanon, Nigeria, ZA) dial without the flag. Germany is blocked outright. Override with CRIXIN_VOICE_ALLOWED_CC.
Docs
Install · Voice MCP · Coder MCP · Wrapped · Archetype · Pricing · FAQ
License
MIT. Built by @Mrdopplereffekt.