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/mcpThis 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 loginThis 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 logoutFor 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.logNote: 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 watchnpm run buildRun the comprehensive test suite:
npm testRun tests in watch mode:
npm run test:watchGenerate coverage report:
npm run test:coverageThe 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 testThese 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