warp-mcp
MCP server for the Ringer WARP platform โ SIP trunking, phone numbers, porting, messaging/10DLC, billing, and CDR analytics.
Gives AI agents (Claude, Cursor, Copilot, Codex, ChatGPT) full access to the WARP Customer API: 135 tools covering trunk provisioning, number search and ordering, port-in lifecycle, 10DLC brand/campaign registration, SMS sending, invoices, and call-detail analytics.
Quick Start
npm install -g warp-mcp
npx -y warp-mcp setup
The wizard validates your API key, stores it in ~/.warp-mcp/config.json, and registers the server with every MCP client it detects (Claude Code, Claude Desktop, Cursor, Codex, GitHub Copilot, ChatGPT Desktop).
You need a WARP API key (rk_...) โ mint one in the WARP portal under Settings โ API Keys.
One-command installs
Claude Code
claude mcp add -s user warp -e WARP_API_TOKEN=rk_your_key -- npx -y warp-mcp
Cursor โ click to install (then replace YOUR_WARP_API_KEY)
Manual (any MCP client)
{
"mcpServers": {
"warp": {
"command": "npx",
"args": ["-y", "warp-mcp"],
"env": { "WARP_API_TOKEN": "rk_your_key" }
}
}
}
See INSTALL.md for per-client walkthroughs, troubleshooting, and uninstall steps.
Hosted endpoint
No local install needed โ connect straight to https://mcp.warp.ringer.tel/ (Streamable HTTP).
Desktop connectors (claude.ai, ChatGPT): add a custom connector with that URL and
sign in with your WARP account when prompted โ the hosted endpoint authenticates via
OAuth 2.1 and grants your customer-scoped permissions (excluding admin surfaces, Buzz,
and API-key management โ those stay in the portal).
Developer / CLI clients: authenticate with a bearer rk_ key instead:
claude mcp add --transport http warp https://mcp.warp.ringer.tel/ \
--header "Authorization: Bearer $WARP_API_KEY"
{
"mcpServers": {
"warp": {
"type": "http",
"url": "https://mcp.warp.ringer.tel/",
"headers": { "Authorization": "Bearer rk_your_key_here" }
}
}
}
Keys are minted in the WARP portal under Settings โ API Keys.
| Prefix | Group | Tools | What it does |
|---|
trunk_ | SIP Trunks | 24 | Trunk CRUD, SIP credentials, endpoints, IP ACLs, registrations |
port_ | Porting | 33 | Port-in requests end to end: draft โ validate โ submit โ activate, documents, TIN compliance |
msg_ | Messaging | 33 | Send SMS, message history, 10DLC brands/campaigns, number enrollment, TCR reference data |
num_ | Numbers | 15 | Search, order, release DIDs; per-TN voice/SMS config; port-out PINs |
team_ | Team | 9 | Members and RBAC roles |
bill_ | Billing | 5 | Balance, ledger, invoices (JSON + HTML) |
cdr_ | Analytics | 5 | Call detail records, statistics, trends, CSV export |
acct_ / net_ / key_ | Account | 10 | Capacity, utilization, scopes, WARP network IPs, API-key audit |
warp_status | Diagnostics | 1 | Config + connectivity check |
The server also ships a warp-guide prompt (and server instructions) with deep WARP domain knowledge โ workflows, concepts, and common mistakes.
Environment variables
| Variable | Default | Purpose |
|---|
WARP_API_TOKEN | โ | API key (rk_...). Overrides ~/.warp-mcp/config.json |
WARP_API_BASE_URL | https://api.warp.ringer.tel | API base URL override |
WARP_REQUEST_TIMEOUT_MS | 30000 | Per-request timeout |
Token resolution order: env var โ ~/.warp-mcp/config.json โ unauthenticated (tools return guidance to run setup).
Development
npm ci --ignore-scripts
npm run build
npm test
npm run dev
Releases are published from CI: npm version patch|minor|major, push with --follow-tags, create a GitHub release โ the workflow publishes to npm (OIDC trusted publishing with provenance) and to the MCP Registry (io.github.ringer/warp). Do not run npm publish locally after the initial release.
License
MIT ยฉ Ringer