Model Context Protocol (MCP) server for the seven.io API. This server provides comprehensive access to seven.io's SMS, voice, RCS messaging, and account management services.
- SMS: Send and manage SMS messages
- RCS: Send Rich Communication Services messages with media and suggestions
- Voice: Send text-to-speech voice calls
- Balance: Check account balance
- Pricing: Get pricing information by country
- Analytics: View account statistics
- Format Validation: Validate phone number formats
- HLR: Home Location Register lookups (network info, roaming status)
- MNP: Mobile Number Portability lookups (carrier information)
- CNAM: Caller ID name lookups
- RCS Capabilities: Check if a number supports RCS
- Contacts: Full CRUD operations for contacts
- Groups: Manage contact groups
- Browse, purchase, and manage phone numbers
- Webhooks: Register webhooks for events
- Subaccounts: Create and manage subaccounts
- Status & Logbook: Track message delivery and view history
npm install -g @seven.io/mcp
This MCP server supports two authentication methods:
OAuth provides better security with automatic token refresh and fine-grained scopes.
- Login via CLI:
npx @seven.io/mcp login
This will:
- Open your browser to seven.io OAuth authorization
- Request necessary permissions (SMS, Voice, RCS, etc.)
- Store tokens securely in your system keychain
- Auto-refresh tokens when they expire
CLI Commands:
# Login with OAuth
npx @seven.io/mcp login
# Check authentication status
npx @seven.io/mcp status
# Logout (remove stored tokens)
npx @seven.io/mcp logout
For backwards compatibility, you can still use an API key:
export SEVEN_API_KEY="your-api-key"
Get your API key from the seven.io dashboard.
If both authentication methods are configured, OAuth takes priority.
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
With OAuth (recommended):
{
"mcpServers": {
"seven": {
"command": "npx",
"args": ["@seven.io/mcp"]
}
}
}
With API Key:
{
"mcpServers": {
"seven": {
"command": "npx",
"args": ["@seven.io/mcp"],
"env": {
"SEVEN_API_KEY": "your-api-key"
}
}
}
}
With Debug Logging:
To enable request/response logging for debugging, add the SEVEN_LOG_FILE
environment variable:
{
"mcpServers": {
"seven": {
"command": "npx",
"args": ["@seven.io/mcp"],
"env": {
"SEVEN_API_KEY": "your-api-key",
"SEVEN_LOG_FILE": "/tmp/mcp-seven-debug.log"
}
}
}
}
Then monitor the log file:
tail -f /tmp/mcp-seven-debug.log
Note: If using OAuth, run npx @seven.io/mcp login
before starting Claude Desktop.
send_sms
- Send SMS messagesdelete_sms
- Delete scheduled SMSsend_rcs
- Send RCS messagesdelete_rcs
- Delete RCS messagesrcs_events
- Handle RCS eventssend_voice
- Send voice callshangup_voice
- End active voice calls
get_balance
- Check account balanceget_pricing
- Get pricing informationget_analytics
- View account statistics
lookup_format
- Validate phone number formatlookup_hlr
- Home Location Register lookuplookup_mnp
- Mobile Number Portability lookuplookup_cnam
- Caller ID name lookuplookup_rcs
- Check RCS capabilities
get_status
- Check message delivery statusget_logbook_sent
- View sent messagesget_logbook_received
- View received SMSget_logbook_voice
- View voice call history
get_available_numbers
- List available numbersorder_number
- Purchase a phone numberget_active_numbers
- List active numbersget_number
- Get number detailsupdate_number
- Update number configurationdelete_number
- Cancel/delete number
list_contacts
- List all contactscreate_contact
- Create new contactget_contact
- Get contact by IDupdate_contact
- Update contactdelete_contact
- Delete contact
list_groups
- List all groupscreate_group
- Create new groupget_group
- Get group by IDupdate_group
- Update groupdelete_group
- Delete group
list_subaccounts
- List all subaccountscreate_subaccount
- Create new subaccountupdate_subaccount
- Update subaccount settingstransfer_credits
- Transfer credits to subaccountdelete_subaccount
- Delete subaccount
list_webhooks
- List registered webhookscreate_webhook
- Register new webhookdelete_webhook
- Delete webhook
validate_sender
- Validate sender identifiers
Once configured, you can use the tools in Claude:
Send an SMS to +1234567890 saying "Hello from seven.io!"
Check my account balance
Look up the carrier information for phone number +1234567890
npm run watch
npm run build
Run the comprehensive test suite:
npm test
Run tests in watch mode:
npm run test:watch
Generate coverage report:
npm run test:coverage
The test suite includes:
- Unit tests for all API client methods
- Tool tests for all 40+ MCP tools covering:
- RCS messaging (3 tools)
- SMS messaging (2 tools)
- Voice calls (2 tools)
- Account management (3 tools)
- Lookup services (5 tools)
- Status & Logbook (4 tools)
- Phone number management (6 tools)
- Contact management (5 tools)
- Group management (5 tools)
- Subaccount management (5 tools)
- Webhook management (3 tools)
- Sender validation (1 tool)
- Integration tests verifying all tools export correctly and have valid schemas
- Endpoint validation tests that verify API endpoint paths are correct (requires SEVEN_API_KEY)
Coverage target: 80% for branches, functions, lines, and statements.
To run endpoint validation tests that verify the API paths are correct:
SEVEN_API_KEY=your-api-key npm test
These integration tests ensure that endpoints match the seven.io API documentation and will catch issues like incorrect paths (e.g., using /logbook/received
instead of /journal/inbound
).
For detailed API documentation, visit docs.seven.io.
MIT