Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
作者による説明(英語の原文)
Voice Calls, SMS, and WhatsApp for Claude Code with cross-channel context sharing.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
BETTERCALLCLAUDE_PHONE_PROVIDER, BETTERCALLCLAUDE_PHONE_NUMBER, BETTERCALLCLAUDE_PHONE_ACCOUNT_SID, BETTERCALLCLAUDE_PHONE_AUTH_TOKEN, BETTERCALLCLAUDE_USER_PHONE_NUMBER, BETTERCALLCLAUDE_OPENAI_API_KEY, BETTERCALLCLAUDE_WHATSAPP_NUMBER, BETTERCALLCLAUDE_PORT, TAILSCALE_HOSTNAME, BETTERCALLCLAUDE_WHATSAPP_PROVIDER, BETTERCALLCLAUDE_BAILEYS_AUTH_DIR, BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"better-call-claude": {
"command": "npx",
"args": [
"-y",
"better-call-claude"
],
"env": {
"BETTERCALLCLAUDE_PHONE_PROVIDER": "your-value",
"BETTERCALLCLAUDE_PHONE_NUMBER": "your-value",
"BETTERCALLCLAUDE_PHONE_ACCOUNT_SID": "your-value",
"BETTERCALLCLAUDE_PHONE_AUTH_TOKEN": "your-value",
"BETTERCALLCLAUDE_USER_PHONE_NUMBER": "your-value",
"BETTERCALLCLAUDE_OPENAI_API_KEY": "your-value",
"BETTERCALLCLAUDE_WHATSAPP_NUMBER": "your-value",
"BETTERCALLCLAUDE_PORT": "your-value",
"TAILSCALE_HOSTNAME": "your-value",
"BETTERCALLCLAUDE_WHATSAPP_PROVIDER": "your-value",
"BETTERCALLCLAUDE_BAILEYS_AUTH_DIR": "your-value",
"BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add better-call-claude --env BETTERCALLCLAUDE_PHONE_PROVIDER=your-value --env BETTERCALLCLAUDE_PHONE_NUMBER=your-value --env BETTERCALLCLAUDE_PHONE_ACCOUNT_SID=your-value --env BETTERCALLCLAUDE_PHONE_AUTH_TOKEN=your-value --env BETTERCALLCLAUDE_USER_PHONE_NUMBER=your-value --env BETTERCALLCLAUDE_OPENAI_API_KEY=your-value --env BETTERCALLCLAUDE_WHATSAPP_NUMBER=your-value --env BETTERCALLCLAUDE_PORT=your-value --env TAILSCALE_HOSTNAME=your-value --env BETTERCALLCLAUDE_WHATSAPP_PROVIDER=your-value --env BETTERCALLCLAUDE_BAILEYS_AUTH_DIR=your-value --env BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE=your-value -- npx -y better-call-claude動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"better-call-claude": {
"command": "npx",
"args": [
"-y",
"better-call-claude"
],
"env": {
"BETTERCALLCLAUDE_PHONE_PROVIDER": "your-value",
"BETTERCALLCLAUDE_PHONE_NUMBER": "your-value",
"BETTERCALLCLAUDE_PHONE_ACCOUNT_SID": "your-value",
"BETTERCALLCLAUDE_PHONE_AUTH_TOKEN": "your-value",
"BETTERCALLCLAUDE_USER_PHONE_NUMBER": "your-value",
"BETTERCALLCLAUDE_OPENAI_API_KEY": "your-value",
"BETTERCALLCLAUDE_WHATSAPP_NUMBER": "your-value",
"BETTERCALLCLAUDE_PORT": "your-value",
"TAILSCALE_HOSTNAME": "your-value",
"BETTERCALLCLAUDE_WHATSAPP_PROVIDER": "your-value",
"BETTERCALLCLAUDE_BAILEYS_AUTH_DIR": "your-value",
"BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"better-call-claude": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"better-call-claude"
],
"env": {
"BETTERCALLCLAUDE_PHONE_PROVIDER": "your-value",
"BETTERCALLCLAUDE_PHONE_NUMBER": "your-value",
"BETTERCALLCLAUDE_PHONE_ACCOUNT_SID": "your-value",
"BETTERCALLCLAUDE_PHONE_AUTH_TOKEN": "your-value",
"BETTERCALLCLAUDE_USER_PHONE_NUMBER": "your-value",
"BETTERCALLCLAUDE_OPENAI_API_KEY": "your-value",
"BETTERCALLCLAUDE_WHATSAPP_NUMBER": "your-value",
"BETTERCALLCLAUDE_PORT": "your-value",
"TAILSCALE_HOSTNAME": "your-value",
"BETTERCALLCLAUDE_WHATSAPP_PROVIDER": "your-value",
"BETTERCALLCLAUDE_BAILEYS_AUTH_DIR": "your-value",
"BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
BETTERCALLCLAUDE_WHATSAPP_NUMBER envBETTERCALLCLAUDE_PORT envTAILSCALE_HOSTNAME envBETTERCALLCLAUDE_WHATSAPP_PROVIDER envBETTERCALLCLAUDE_BAILEYS_AUTH_DIR envBETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント sns45 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:BETTERCALLCLAUDE_PHONE_PROVIDER, BETTERCALLCLAUDE_PHONE_NUMBER, BETTERCALLCLAUDE_PHONE_ACCOUNT_SID, BETTERCALLCLAUDE_PHONE_AUTH_TOKEN, BETTERCALLCLAUDE_USER_PHONE_NUMBER, BETTERCALLCLAUDE_OPENAI_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(3.1.3)がレジストリに届いたのは4 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Vexa, emailmd, MCP WhatsApp Cloud
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Bi-directional communication for Claude Code via Voice Calls, SMS, and WhatsApp.
Call Claude from your phone to start tasks, and receive callbacks when Claude needs input or wants to share status.
📞 "Hey Claude, refactor the auth module and call me when you're done or need a decision."
*[20 minutes later, phone rings]*
🤖 "I've finished the refactor but found a security issue. Should I fix it now or create a ticket?"
💬 *Or via SMS/WhatsApp:*
You: "Claude, how's the deployment going?"
Claude: "Deployment complete. 3 services updated, all health checks passing."
### ⚠️ Testing Status
| Channel | Provider | Status |
|---------|----------|--------|
| Voice | Twilio | ✅ Tested & Working |
| WhatsApp | Twilio Sandbox | ✅ Tested & Working |
| SMS | Twilio | ⏳ Pending A2P 10DLC verification |
| Voice | Telnyx | 🔬 Not yet tested |
| SMS | Telnyx | 🔬 Not yet tested |
| WhatsApp | Telnyx | 🔬 Not yet tested |
| WhatsApp | Baileys (free) | 🔬 New - testing welcome |
*Contributions welcome for testing other provider/channel combinations!*
| Setup | What You Get | Cost | Accounts Needed |
|---|---|---|---|
| Baileys only | WhatsApp messaging | Free | None |
| Twilio/Telnyx | Voice + SMS + WhatsApp | ~$1/mo + usage | Twilio/Telnyx + OpenAI |
| Hybrid | Voice + SMS (Twilio) + WhatsApp (Baileys) | ~$1/mo + voice usage | Twilio/Telnyx + OpenAI |
Just want WhatsApp? Skip to Option C: Baileys — no accounts, no API keys, completely free.
Option A: Telnyx (Recommended - 50% cheaper)
/webhook/telnyx/inbound/webhook/telnyx/sms/webhook/telnyx/whatsappOption B: Twilio
/webhook/twilio/inbound/webhook/twilio/sms/webhook/twilio/whatsappOption C: Baileys (Free WhatsApp — no API provider needed)
Baileys connects directly to WhatsApp's Web protocol via WebSocket. It uses your personal WhatsApp account — no business verification, no API costs, no Twilio/Telnyx required.
How it works: Same as WhatsApp Web — you link a device by scanning a QR code.
Step 1: Clone and install
git clone https://github.com/sns45/better-call-claude
cd better-call-claude bun install
Step 2: Pair your WhatsApp
bun run baileys:pair
Your session is saved in data/baileys-auth/ — you won't need to scan again.
Step 3: Add to Claude Code (~/.claude.json or ~/.claude/settings.json):
{
"mcpServers": { "better-call-claude": { "command": "bun", "args": ["run", "/path/to/better-call-claude/src/index.ts"], "env": { "BETTERCALLCLAUDE_WHATSAPP_PROVIDER": "baileys", "BETTERCALLCLAUDE_USER_PHONE_NUMBER": "+1234567890" } } } }
That's it! No Tailscale, no Twilio, no OpenAI keys needed.
Step 4: Restart Claude Code and test
Send a WhatsApp message to yourself (or have someone message you) — Baileys receives it and spawns a Claude task. Or ask Claude to send you a WhatsApp:
"Send me a WhatsApp saying hello"
Option D: Hybrid (Twilio/Telnyx voice + Baileys WhatsApp)
Get the best of both worlds: Twilio/Telnyx handles voice calls and SMS, Baileys handles WhatsApp for free.
bun run baileys:pair to pair your WhatsApp{
"env": { "BETTERCALLCLAUDE_PHONE_PROVIDER": "twilio", "BETTERCALLCLAUDE_WHATSAPP_PROVIDER": "baileys", "BETTERCALLCLAUDE_PHONE_ACCOUNT_SID": "your-account-sid", "BETTERCALLCLAUDE_PHONE_AUTH_TOKEN": "your-auth-token", "BETTERCALLCLAUDE_PHONE_NUMBER": "+15551234567", "BETTERCALLCLAUDE_USER_PHONE_NUMBER": "+15559876543", "BETTERCALLCLAUDE_OPENAI_API_KEY": "sk-..." } }
Voice calls and SMS go through Twilio. WhatsApp goes through Baileys (free).
Skip this step if you're using Baileys-only mode (Option C). Baileys doesn't need webhooks.
Tailscale Funnel provides free, stable public URLs for receiving webhooks from your phone provider.
Why Tailscale? Free unlimited tunnels, stable URLs (no random subdomains), enterprise-grade security.
Path: Better Call Claude uses
/bccpath (e.g.,https://your-hostname.ts.net/bcc) to avoid conflicts with other services.
First-time setup (automated):
When you first start the MCP server, it will guide you through setup:
# macOS
brew install tailscale
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up and open your browserThat's it! The server handles the rest automatically.
# Quick start with bunx (recommended)
bunx better-call-claude
bun install -g better-call-claude better-call-claude
Add to ~/.claude/settings.json:
{
"mcpServers": { "better-call-claude": { "command": "bunx", "args": ["better-call-claude"], "env": { "BETTERCALLCLAUDE_PHONE_PROVIDER": "telnyx", "BETTERCALLCLAUDE_PHONE_ACCOUNT_SID": "your-connection-id", "BETTERCALLCLAUDE_PHONE_AUTH_TOKEN": "your-api-key", "BETTERCALLCLAUDE_PHONE_NUMBER": "+15551234567", "BETTERCALLCLAUDE_USER_PHONE_NUMBER": "+15559876543", "BETTERCALLCLAUDE_OPENAI_API_KEY": "sk-..." } } } }
Note: Tailscale setup is automatic on first run. The server will guide you through installation and authentication if needed.
Restart Claude Code. Done!
| Variable | Description |
|---|---|
BETTERCALLCLAUDE_PHONE_PROVIDER | telnyx or twilio |
BETTERCALLCLAUDE_PHONE_ACCOUNT_SID | Provider account/connection ID |
BETTERCALLCLAUDE_PHONE_AUTH_TOKEN | Provider API key/auth token |
BETTERCALLCLAUDE_PHONE_NUMBER | Your Telnyx/Twilio phone number (E.164) |
BETTERCALLCLAUDE_WHATSAPP_NUMBER | WhatsApp number if different (e.g., Twilio Sandbox) |
BETTERCALLCLAUDE_USER_PHONE_NUMBER | Your personal phone number |
BETTERCALLCLAUDE_OPENAI_API_KEY | OpenAI API key for TTS/STT |
| Variable | Default | Description |
|---|---|---|
BETTERCALLCLAUDE_WHATSAPP_PROVIDER | *(unset)* | Set to baileys to enable free WhatsApp |
BETTERCALLCLAUDE_BAILEYS_AUTH_DIR | data/baileys-auth | Session credential directory |
Baileys-only mode: When
WHATSAPP_PROVIDER=baileysand no Twilio/Telnyx credentials are set, onlyUSER_PHONE_NUMBERis required. No Tailscale, no OpenAI key needed.
| Variable | Default | Description |
|---|---|---|
TAILSCALE_HOSTNAME | auto-detected | Override Tailscale hostname |
| Variable | Default | Description |
|---|---|---|
BETTERCALLCLAUDE_TTS_VOICE | onyx | OpenAI voice (alloy, echo, fable, onyx, nova, shimmer) |
BETTERCALLCLAUDE_PORT | 3333 | Local HTTP server port |
BETTERCALLCLAUDE_TRANSCRIPT_TIMEOUT_MS | 180000 | Speech timeout (3 min) |
BETTERCALLCLAUDE_STT_SILENCE_DURATION_MS | 800 | End-of-speech detection |
Call your Telnyx/Twilio phone number from your personal phone:
📱 "Hey Claude, I need you to write unit tests for the payment module. Call me when you're done."
Claude will acknowledge and start working. When done, it calls you back.
Claude can initiate calls when it needs your input:
🤖 "I found 3 different approaches for the caching layer. Want me to explain them so you can choose?"
Text your Telnyx/Twilio number:
💬 "Hey Claude, what's the status of the deployment?"
Claude will respond via SMS:
🤖 "Deployment is 80% complete. Running integration tests now. ETA: 5 minutes."
Claude can send you text updates:
🤖 "Build failed on line 42 of auth.ts. Reply with 'fix' to auto-fix or 'skip' to continue."
Send a WhatsApp message to your business number:
💬 "Show me the error logs from the last hour"
Claude responds in WhatsApp:
🤖 "Found 3 errors:\n1. Co
冒頭だけを表示しています。続きはリポジトリで読めます