Jake Shore d25ea2031b Gold standard upgrade: greenhouse, lever, loom
- Greenhouse: 29 tools (was 18), added interviews, scorecards, organization
- Lever: 26 tools (was 13), added tags, sources, expanded opportunities/postings
- Loom: 25 tools (was 14), added analytics, privacy, search, workspace members

All servers now have:
- main.ts with env validation & graceful shutdown
- server.ts with lazy-loaded tool modules
- Zod validation on all inputs
- Rich tool descriptions (when/why to use)
- Pagination support on all list_* tools
- Updated package.json (bin field, updated deps)
- Updated README with coverage manifests
- Old index.ts renamed to index.ts.bak
- Zero TypeScript errors (npx tsc --noEmit verified)
2026-02-14 05:52:42 -05:00

159 lines
5.2 KiB
Markdown

# Twilio MCP Server
Complete MCP server for Twilio communications platform. Send SMS/MMS, make voice calls, verify phone numbers, manage conversations, and validate phone data — all via AI.
## Features
- 📱 **Messaging** - Send/receive SMS and MMS with media support
- 📞 **Voice** - Initiate and manage voice calls with TwiML
- 📋 **Phone Numbers** - Manage purchased numbers and webhook configuration
- 🎙️ **Recordings** - Access call recordings and transcriptions
- 💬 **Conversations** - Multi-channel messaging threads (SMS, WhatsApp, chat)
- 🔐 **Verify** - Phone/email verification and 2FA
- 🔍 **Lookups** - Phone number validation and carrier lookup
## Installation
```bash
npm install
npm run build
```
## Environment Variables
| Variable | Required | Description | Example |
|----------|----------|-------------|---------|
| `TWILIO_ACCOUNT_SID` | ✅ | Twilio Account SID | `ACxxxxxxxxxxxxxxx` |
| `TWILIO_AUTH_TOKEN` | ✅ | Twilio Auth Token | `your_auth_token` |
## Getting Your Credentials
1. Log in to Twilio Console: https://console.twilio.com/
2. Your **Account SID** is displayed on the dashboard
3. Click **Show** next to **Auth Token** to reveal it
4. Set environment variables:
```bash
export TWILIO_ACCOUNT_SID='ACxxxxxxxxxxxxxxx'
export TWILIO_AUTH_TOKEN='your_auth_token_here'
```
**⚠️ WARNING:** Keep your Auth Token secret! It provides full account access.
## Required API Permissions
- **Full Account Access** (default for Auth Token)
For production, consider using API Keys with scoped permissions instead of Auth Token.
## Usage
### Stdio Mode (Default)
```bash
npm start
# or
node dist/main.js
```
### With MCP Client
Add to your MCP settings:
```json
{
"mcpServers": {
"twilio": {
"command": "node",
"args": ["/path/to/servers/twilio/dist/main.js"],
"env": {
"TWILIO_ACCOUNT_SID": "ACxxxxxxxxxxxxxxx",
"TWILIO_AUTH_TOKEN": "your_auth_token_here"
}
}
}
}
```
## Available Tools (21+)
### Messaging (4)
- `list_messages` - List SMS/MMS with pagination and filters
- `get_message` - Get message details by SID
- `send_message` - Send SMS/MMS with media support
- `delete_message` - Delete message record
### Voice (5)
- `list_calls` - List calls with status/duration filters
- `get_call` - Get call details by SID
- `make_call` - Initiate outbound call with TwiML
- `update_call` - Cancel or hang up in-progress call
- `delete_call` - Delete call record
### Phone Numbers (4)
- `list_phone_numbers` - List purchased numbers
- `get_phone_number` - Get number configuration
- `update_phone_number` - Update webhook URLs and settings
- `delete_phone_number` - Release number from account
### Conversations (6)
- `twilio_list_conversations` - List conversation threads
- `twilio_get_conversation` - Get conversation details
- `twilio_create_conversation` - Create new conversation
- `twilio_add_participant` - Add user to conversation
- `twilio_list_conversation_messages` - List messages in thread
- `twilio_send_conversation_message` - Send message in conversation
### Verify (4)
- `twilio_send_verification` - Send verification code (SMS/voice/email)
- `twilio_check_verification` - Verify user-entered code
- `twilio_create_verify_service` - Create verification service
- `twilio_list_verify_services` - List verification services
### Lookups (2)
- `twilio_lookup_phone_number` - Get carrier info and validate number
- `twilio_validate_phone_number` - Quick validation (free)
### Recordings (2-3)
- Recording and transcription management tools
## Coverage Manifest
**Total Twilio API endpoints:** ~500 (Messaging, Voice, Video, Verify, Conversations, Serverless, Flex, etc.)
**Tools implemented:** 21+
**Coverage:** ~4%
### Intentionally Skipped:
- **Video** - Video calling APIs (complex real-time, better via SDK)
- **Flex** - Contact center platform (UI-heavy, admin configuration)
- **Serverless** - Functions/Assets deployment (better via CLI)
- **Studio** - Visual workflow builder (drag-drop UI tool)
- **TaskRouter** - Call routing/queueing (complex enterprise feature)
- **Sync** - Real-time data sync (runtime SDK feature)
- **Notify** - Push notifications (deprecated in favor of Conversations)
- **Autopilot** - AI assistant builder (UI-based configuration)
- **Programmable Wireless** - IoT SIM management (niche use case)
- **Proxy** - Anonymous phone forwarding (advanced feature)
Focus is on core communications: messaging, voice, verification, conversations, and phone number management — the 80% of use cases.
## Architecture
- **main.ts** - Entry point with env validation and graceful shutdown
- **server.ts** - MCP server class with lazy-loaded tool modules
- **tools/** - Domain-organized tool files (messaging, voice, phone_numbers, recordings, conversations, verify, lookups)
- **Twilio SDK** - Official `twilio` npm package for API calls
## Common Use Cases
- **2FA/OTP** - Use Verify API for phone/email verification
- **SMS Notifications** - Send alerts, reminders, confirmations
- **Voice Calls** - Automated calls, IVR systems, click-to-call
- **Customer Support** - Multi-channel conversations (SMS, WhatsApp, chat)
- **Phone Validation** - Validate user input, check carrier type
- **Call Recording** - Record and transcribe calls for compliance
## License
MIT