Documentation Index
Fetch the complete documentation index at: https://orbit-docs.devotel.io/llms.txt
Use this file to discover all available pages before exploring further.
Connect Orbit to Claude and Cursor via MCP
The Orbit MCP server exposes every core CPaaS capability as a tool that any Model Context Protocol client can call. You can send an SMS, initiate a voice call, trigger a campaign, or check delivery analytics with a single natural-language prompt — without leaving your IDE or the Claude chat window. Twilio has no MCP server as of May 2026. Orbit’s is the first production-grade CPaaS MCP server with write-heavy agentic coverage (send, dial, campaign, journey, agent handoff) rather than just read-only lookups.Prerequisites
- An Orbit account at orbit.devotel.io
- An API key from Dashboard → Settings → API Keys (live:
dv_live_sk_*; sandbox:dv_test_sk_*) - Node.js 18 or later on your local machine (required to run
npx)
Claude Desktop
-
Open or create
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows). -
Add the
orbitserver block:
- Restart Claude Desktop. The Orbit tools appear in the tool selector on the next conversation.
-
Verify the connection: type “List my Orbit campaigns” in a new chat.
Claude calls
list_campaignsand returns your campaign list.
Cursor
-
Open Cursor Settings → Features → MCP → Add new MCP server and fill in:
Field Value Name orbitType commandCommand npx -y @devotel/mcp-serverEnv ORBIT_API_KEY=dv_live_sk_xxxxxxxxxxxxxxxx -
Alternatively, add
.cursor/mcp.jsonto your project root:
@orbit in Cursor AI chat:
“Using orbit, send an SMS to +14155551234 saying ‘Hello from Cursor’.”
Claude Code (CLI)
Add to your project’s.claude/settings.json:
Sandbox mode
Use a sandbox key (dv_test_sk_*) to exercise every tool without incurring
real charges. Sandbox calls are logged in Orbit under Settings → API Logs →
sandbox but no SMS is actually sent, no call is dialled, and no number is
purchased.
Available tools (29)
| Tool | What it does |
|---|---|
send_sms | Send an SMS on any registered number |
send_whatsapp | Send a WhatsApp message (template or freeform) |
send_email | Send a transactional email |
send_template | Send an approved template on any channel |
voice_call | Initiate an outbound voice call |
purchase_number | Buy a phone number (auto-attaches compliance profile) |
search_numbers | Browse available DIDs by country / type / pattern |
list_campaigns | List campaigns (filter by status) |
start_campaign | Kick off a draft or scheduled campaign |
start_journey | Enrol a contact or list into a published flow |
list_agents | List deployed AI agents |
agent_handoff_to_human | Escalate an AI conversation to a human agent |
lookup_contact | Find a contact by phone, email, or free-text |
create_contact | Create or upsert a contact record |
list_segments | List contact segments with counts |
create_segment_from_prompt | Build a segment from a natural-language description |
list_templates | List approved templates for a channel |
get_message_status | Check delivery status of a sent message |
analytics_summary | Aggregated delivery KPIs for a time window |
check_balance | Current account credit balance |
kb_query | Semantic search of the tenant’s knowledge base |
analyze_text | Sentiment / language / intent / PII analysis |
create_support_ticket | Open a helpdesk ticket (Zendesk / Intercom) |
create_calendar_event | Schedule a calendar event |
add_memory | Store a memory item for an agent + contact pair |
search_memory | Semantic search over stored memories |
list_memories | List all memories for an agent + contact pair |
delete_memory | Delete a single memory item |
delete_contact_memories | Delete all memories for a contact (GDPR Art 17) |
Example prompts
Send a quick SMS:“Using Orbit, send an SMS to +44 7700 900 123 saying ‘Your order has shipped.’”Initiate a test call:
“Using Orbit, call +14155551234 from my primary number and record it.”Campaign health check:
“Using Orbit, show me the analytics for the last 7 days and list any running campaigns.”Agent + segment workflow:
“Using Orbit, create a segment called ‘VIP Europe’ for customers in Germany who haven’t ordered in 60 days, then send them the ‘reactivation_v2’ WhatsApp template.”
Security
- Read-only mode: set
MCP_TOOLS_ALLOW_LISTto only the GET tools to prevent any writes from the LLM session. - Budget cap: set
MCP_TOOLS_BUDGET_LIMIT_USD=5to refuse chargeable calls that would exceed $5 in the session. - Deny specific tools:
MCP_TOOLS_DENY_LIST=purchase_number,voice_callto block high-impact tools while keeping all others available.
Troubleshooting
| Symptom | Fix |
|---|---|
ORBIT_API_KEY rejected by API | Key is invalid or was generated for a different environment. Regenerate in Dashboard → Settings → API Keys. |
| Tools not showing in Claude Desktop | Config JSON is invalid (trailing comma, wrong path). Validate with cat + jq. Restart Claude Desktop after fixing. |
voice_call returns 403 | The API key lacks voice:write scope. Re-generate with all scopes enabled. |
| Double-charges on retry | This should not happen — the MCP server attaches an Idempotency-Key on every chargeable POST. File a bug at github.com/dddFEDDDDDd/devotel-cpaas/issues. |