Troubleshooting
Setup Issues
Tools icon not showing after restart
The 🔧 icon in Claude Desktop's chat input should appear once the MCP server connects. If it doesn't:
1. Confirm mcp-remote is installed
npm list -g mcp-remote
# Should show: [email protected]If missing: npm install -g mcp-remote
2. Validate your JSON config
Open your config file:
- Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
Common mistakes:
- Trailing comma after the last item in an object
- Missing closing brace }
- Unescaped double quotes inside the AUTH_HEADER string
Validate with:
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | python3 -m json.toolIf it errors, it'll show you the line number.
3. Update Claude Desktop
Go to Claude menu → Check for Updates. The MCP integration requires a recent version.
4. Check the logs
Mac: ~/Library/Logs/Claude/mcp-server-exotel.log
"Authentication failed" or 401 error
Your token is wrong or expired.
Regenerate the token:
echo -n "YOUR_API_KEY:YOUR_API_SECRET" | base64Common causes:
- Space or newline in the token string
- Copied API Key but not API Secret (or vice versa)
- Account SID doesn't match the credentials
Verify the Account SID — log into my.exotel.com → API Settings. The SID in your config must match exactly.
Check the AUTH_HEADER format — it must be a valid JSON string with all fields:
{
"token": "...",
"from_number": "...",
"caller_id": "...",
"account_sid": "...",
"api_domain": "https://api.in.exotel.com",
"exotel_portal_url": "https://my.exotel.com"
}Call Issues
Call placed but phone doesn't ring
Check outbound calling is enabled — log into the dashboard → Numbers. The number you're calling FROM needs outbound calling active.
Check account balance — prepaid accounts need credit. Dashboard → Billing.
Check the destination format — the number being called must be in international format:
- ✅ +919XXXXXXXXX
- ❌ 9XXXXXXXXX
- ❌ 09XXXXXXXXX
Call rings but no bot voice / bot goes silent immediately
Enable greeting interruption is off — if the bot cuts out right after dialing, it's likely being interrupted by silence detection or IVR prompts. Ask Claude to update the bot config:
Update my VoiceBot to disable greeting interruptionIVR screener — some mobile numbers play "record your name" before connecting. The bot needs explicit instructions to handle this. Ask Claude:
Update my VoiceBot's instructions to handle IVR screeners —
respond with name and purpose, then wait for connectionAccount balance — insufficient balance can cause the call to connect but the VoiceBot session to fail silently.
Call completed but Claude returns no transcript
The transcript takes a few seconds to appear after the call ends. Wait 10–15 seconds and ask:
Get the transcript of my last VoiceBot callIf it's still missing:
- The call may have ended before the bot said anything (destination rejected, immediate busy)
- Check the recording URL from the call details — if there's a recording, there's a transcript
Bot gives wrong answer / goes off-topic
The bot's instructions need updating. Tell Claude what the bot should do differently:
Update my VoiceBot: only ask about the delivery status,
nothing else. If asked anything else, say
"I'll pass that to the team" and end the call.SMS Issues
SMS not delivered
Check the DLT registration — in India, SMS requires DLT (Distributed Ledger Technology) registration. Templates must be pre-approved. Transactional SMS to unregistered templates will fail.
Check the number format — destination must be +91XXXXXXXXXX.
Check sender ID — your sender ID (the name that appears on the SMS) must be registered.
SMS delivered but content is wrong / truncated
SMS has a 160-character limit per segment. Longer messages are sent as multi-part SMS and may appear truncated on some handsets. Keep messages under 160 characters or confirm multi-part delivery is enabled on your account.
Region Issues
"Invalid domain" or connection errors
Make sure your api_domain matches your account type:
Account type | api_domain |
|---|---|
India-hosted | https://api.in.exotel.com |
Globally-hosted | https://api.exotel.com |
How to tell: Check your Exotel dashboard URL. If it's my.in.exotel.com you're India-hosted. If it's my.exotel.com, use the global domain. Using the wrong one will cause authentication or connection failures.
Getting More Help
Check your logs first — ~/Library/Logs/Claude/mcp-server-exotel.log often has the exact error from the API.
Exotel Developer Docs — developer.exotel.com/api/exotel-mcp-server
Exotel Support — support.exotel.com
When contacting support, include:
- Your Account SID
- The exact error message from the logs
- The tool you were trying to use